Can someone familiar with the LPC210x look over my PCB design and tell me where I went wrong?
here's the SVN for the eagle project:
http://www.realityshards.com/eagle/eagle_projects/lpc210x/lpc210x_dust/
(lpc210x_v1d.zip is the one I submitted to BatchPCB).
Datasheets for components:
LPC2103FBD48,151LPC2103FBD48,151: http://www.nxp.com/documents/data_sheet/LPC2101_02_03.pdf
AP1121 (3.3v + 1.8v power regulator): http://www.diodes.com/datasheets/AP1121.pdf
10mhz Crystal: http://www.ecsxtal.com/store/pdf/ecx_53b.pdf
I have made an attempt to create a breakout/dev board for the LPC2103FBD48,151LPC2103FBD48,151, I know there are others out there but I want to create one for myself so I have a foundation for future projects that will have that chip on board. I am mainly interested in the SPI and I2C connections then anything else, most of the projects I have will be connecting a whole string of components using those buses.
I have a friend who does plenty of PCB and SMD work and consulted with him for much of the standard PCB/SMD issues and decisions, but as he worked with AVR chips he had no input for the requirements of the LPC and if I was meeting them properly.
The situation now is that I decided to go for it and put an order in for a couple of the boards, ordered all the parts, and put it together... and got nothing.
I have double checked all the pins, I'm getting power where I want power, I'm getting ground where I want ground (after soldering a wire to pin 19, for some reason the PCB didn't run that connection). I've checked all the other pins and made sure they are going where they should, checked for solder bridges and there are none.
I'm getting 1.75v for the 1.8v inputs (within good limits) 3.2v on the 3.3v input (again within good limits), the DBGSEL and RTCK pins are pulled high, oscillator output is looking right (checked using scope).
I'm using the olimex ARM-USB-TINY from spark fun to connect to it. I'm getting "JTAG scan chain interrogation failed: all ones" (using OpenOCD 0.6.0, installed on OSX 10.7.4 using MacPorts, using the following command: "openocd -f olimex-jtag-tiny.cfg -f LPC2103FBD48,151LPC2103FBD48,151.cfg", with the LPC2103FBD48,151LPC2103FBD48,151 config adjusted to a 10Mhz clock). Also, I never seem to see any signal coming out of RTCK pin, from what I understand that should be outputting the clock signal the chip is receiving to assist with JTAG timing.
So, the question is, where did I fail?
I used the following source as a reference design for my pcb:
http://www.microbuilder.eu/Images/Projects/lpc2103refdesign_schematic.png
Deviations from that build:
Only one processor 3.3v capacitor (had one power feed line for the processor that ran underneath and was fed from one cap)
Don't have the pull-up resisters on P0.2, P0.3, P0.7, P0.17, P0.18, P0.21 (I couldn't find the justification for them at the time).
Didn't setup anything to hold reset until power is stable, or a reset button (will be adding that in v2)
No crystal on the RTXC1 & RTXC2, I'm not using the RTC and according to the user manual, if not using the RTC clock input, leave the pins floating to reduce power consumption. (page 69 of LPC2103FBD48,151LPC2103FBD48,151 user manual, note 8)
No battery running the VBAT input, it's getting 3.3v from the same source as everyone else (not using the RTC)
Some notes that I will be working on for round 2 (if I can figure out and solve the faults for round 1):
Capacitors on each 3.3v pin on the processor (no longer routed underneath).
100uf cap on supply input: I couldn't find a ceramic cap for that footprint and rated more than 6.3v, so it's empty right now... I will be updating it to a can on the next revision.
Reset button: I don't know why I decided not to put one on...
Reset hold until power stable (MCP130) not sure if it exactly hurts not having, but it sounds like a good idea.
I would be very grateful for any assistance, and once I have a PCB design that actually works it'll be up on BatchPCB marketplace with the BOM from digikey and links to the eagle schematics/etc so others can play with it as well.
I did run across another reference design for the LPC2103FBD48,151LPC2103FBD48,151 that uses different values for just about every resister and capacitor on the board... this has caused me to start going back and forth between the two reference designs trying to figure out why they are different and what the significance of the differences are...
https://www.olimex.com/Products/ARM/NXP/LPC-H2103/resources/LPC-H2103-sch.gif
In the end I'm lost, I can't see any glaring omissions, and the only help I've gotten on other forums are "you have errors, use this design instead". I can't recognize the differences that are causing the failure between the reference design and the design I put together. I'd really like someone pointing out where the faults are before I make another attempt, making more green coasters with the exact same flaw doesn't sound like fun.
Thank you for your time!
Erik