SOF Timing Problem with MCF5445x USB

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

SOF Timing Problem with MCF5445x USB

1,476 次查看
Thad
Contributor III
I am using the internal USB tranceiver on a coldfire MCF54455 to talk to a full speed USB device.  I can get the device to connect and get partway through the enumeration process but will eventually fail with non-ACKed packets.  A trace with a USB protocol analyzer shows that coldfire is sending out SOF packets every 900 microseconds instead of every 1000.  When I run linux on this same hardware I see the correct timing, so I know the hardware is fine.  I can't find anything obviously different between how I've configured the part compared to how Linux is doing it or what the ref docs say.  Can anyone point me in the right direction?  What would be causing the TT put out start of frame packets with incorrect timing like this?

Thanks,
 
Thad

标签 (1)
0 项奖励
回复
1 回复

728 次查看
Thad
Contributor III
OK, after a bit of digging I've answered my own question.  Seems I had the MISCCR register configured to supply internal clock to the USB core, but with our clock speed the PLL can't supply 60MHz.  I need to supply an external clock source via the USB_CLKIN GPIO.

0 项奖励
回复