Content originally posted in LPCWare by S3rd on Mon Feb 28 19:32:42 MST 2011
Hi all,
I have a issue with USB connection failing if interrupts are active during the first 400ms or so of the connection.
I am using a EA LPC1343 Quickstart board, and have implemented a single read only file MSC device using the internal USB ROM drivers. All this seemed to work fine until I enabled the Timer32B0 capture input and interrupt to process a real world signal. The signal has frequency of 100Hz and the interrupt is about 4us in duration, so not much CPU time used at all.
It seems that the only way I can get the USB MSC device to connect correctly is to remove the input signal or disable the interrupt during the first 500ms of USB connection. After that the file can be opened fine.
I'm guessing that there is some poled timing going on in the USB ROM code that is getting out of sync during initial negotiation if time is lost in other interrupts?
Can anyone provide any clarifaction on how this ROM code works? And whether I need to always make sure interrupts are disabled during initial USB negotiation?
Best Regards
Simon