USB dies after corrupt ISO transfer from computer. How do I clear/reset the error?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

USB dies after corrupt ISO transfer from computer. How do I clear/reset the error?

220 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by mark_thompson on Sat Nov 03 17:17:34 MST 2012
I have a LPC1343 unit setup to have a BULK out endpoint and ISO out endpoint.

Everything works fine until a corrupt ISO packet is sent out (I can see this occur via a hardware USB sniffer I borrowed). This generally occurs when I tax the cpu of the computer that's sending out these packets.

After this occurs, the LPC1343 continues to run (verified by the fact a led that toggles 1/2 a second in the main loop continues to blink) but USB seems to die.

- I can see ISO transfers going out still via the USB sniffer, but the led on the LPC1343 indicating a SOF frame occurs does not toggle anymore.
- The LPC1343 does not ACK any BULK packet I send it


In the event of a bad ISO transfer, do I need to clear some flag before I can continue to receive data? I've gone through the UM twice now, but I must be missing something!

I'm using the Keil USB stack that is available for download from the lpcxpresso site.

Thanks
0 Kudos
1 Reply

202 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by mark_thompson on Sat Nov 03 18:09:21 MST 2012
Hah, like most problems as soon as I asked for help, I figure it out :)

I was only calling this if there was valid data...
        LPC_USB->Ctrl = 0;

Since I have to open this endpoint buffer at the start of each SOF to determine if there is ISO data, that means I have to release read buffer too. Doh!
0 Kudos