I'm using i.MX25 USBOH as full speed "device".
Please see the attached file, it is a timing diagram of our USB function.
USB controller execute a specific "data receive function" when detect receive interrupt, and wait next receive interrupt after that.
Then, the cycle from "USB receive interrupt" to "waiting data receive" is about 20 usec.
In other words, USB controller ready in 20 usec to receive the next interrupt after receiveing a interrup.
However, receiving interrupt is NOT generated in less than 1 msec cycle because USB controller send NAK to out token from USB host.
Then, please see my questions below.
Why USB controller send NACK even though software ready for receiving a interrupt?
Could you let me know the condition for USB controller send NAK?
Could you let me know the condition to generate a receive interrupt by USB controller?
USB controller judge the end of data receiving?
Especially, I want to know in the case that receive data is multiple of MaxPacketSize.