Another hardware engineer and I were working back in January on trying to get the USB RESET detect circuitry on the ZOOM SDK working with the LH7A400 card engine.
The problem was that when the USB cable is unplugged, the ARM gets stuck in an infinite loop in the interrupt handler for UIR:URINT (bus reset detect).
We finally figured out the problem. For some reason we don't understand, the designers of the SDK wired the gate of the P-channel MOSFET, which controls the pull-up on the USB DP line, to the output of a 2-input NAND gate, for input A of the NAND gate connected the USB bus power, and for input B of the gate they wired in UARTDCD2 from the card engine.
UARTDCD2 is an INPUT to the ARM, so it makes no sense that it is being used as an OUTPUT from the ARM to the NAND gate.
Doing a simple continuity check we discovered that in fact UARTDCD2 is not even connected to the NAND gate after all, like the schematic shows.
We see that on both of our ZOOM SDK boards, inputs A and B on the NAND gate are actually shorted together with a solder blob.
Anyway, we corrected all these problems simply by depopulating the NAND part altogether, and blue-wiring the gate of the MOSFET to one of the GPIO pins of the ARM.
Has anyone else encountered problems getting USB function working on this ZOOM SDK, and if so, how did you get it working?
I tried to contact LogicPD through the "contact us" form on the web site, but I only got the automated response back and nothing from their engineers or anyone else in over a month.
|