Hi,
I am using USB CDC ACM class for data transfer from sensor device. In my configuration Am335x is acting as USB Host and MCU acts as USB device where in sensor is connected.
I am using USB data transfer type as Bulk transfer in FullSpeed mode. Host will request sensor data every 30 ms from Device. The data transfer size is more than 4K around approx 4236 Bytes.
In the lowest physical layer of USB Host will always request for Data from Device in following fashion.
Host try to get 4236 Bytes of Data from Device as mentioned below, Will receive 64 Bytes of data for 66 times and last transfer remaining left over 12 Bytes. i.e 66 *64 Bytes +12 Bytes = 4236 Bytes.
But some times the gap or delay for next 64 Bytes request from Host is taking more time. i.e eg: Delay or Gap between Transfer 5 and Transfer 6 is more. Not sure Why?
for some transfers Host is taking more time to request for next 64 Bytes? Is there any Max limit or expected values related to delay between 64 Bytes Transfers?
Data Transfer Format in physical layer:
Transfer 1: ||Sync|| PID IN|| ADDR || ENDP|| CRC5|| EOP|| ||Sync|| PID Data0|| Data64 Bytes|| CRC16|| EOP|| ||Sync|| PID ACK|| EOP||
:
Transfer 5: ||Sync|| PID IN|| ADDR || ENDP|| CRC5|| EOP|| ||Sync|| PID Data0|| Data64 Bytes|| CRC16|| EOP|| ||Sync|| PID ACK|| EOP||
Transfer 6: ||Sync|| PID IN|| ADDR || ENDP|| CRC5|| EOP|| ||Sync|| PID Data0|| Data64 Bytes|| CRC16|| EOP|| ||Sync|| PID ACK|| EOP||
:
Transfer 66: ||Sync|| PID IN|| ADDR || ENDP|| CRC5|| EOP|| ||Sync|| PID Data0|| Data64 Bytes|| CRC16|| EOP|| ||Sync|| PID ACK|| EOP||
Last Transfer 67: ||Sync|| PID IN|| ADDR || ENDP|| CRC5|| EOP|| ||Sync|| PID Data0|| Data12 Bytes|| CRC16|| EOP|| ||Sync|| PID ACK|| EOP||
Thanks & Regards
Durga Prasad.
 
				 
		 
					 
                           
				
