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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

686件の閲覧回数
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 件の賞賛
返信
1 返信

668件の閲覧回数
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 件の賞賛
返信