|
发表于 2011-6-11 20:59:18
|
显示全部楼层
回复【7楼】hotyong
stm32的usb频率是48m,系统时钟低于48m就不能用,且只有48m和72m才能用,因为usb时钟预分频只有1和1.5
降频到24mhzusb肯定不能用了。。
-----------------------------------------------------------------------
这位童鞋肯定没看datasheet:
The USB peripheral logic uses a dedicated clock. The frequency of this dedicated
clock is fixed by the requirements of the USB standard at 48 MHz, and this can be different
from the clock used for the interface to the APB1 bus. Different clock configurations are
possible where the APB1 clock frequency can be higher or lower than the USB peripheral
one.
Note: Due to USB data rate and packet memory interface requirements, the APB1 clock frequency
must be greater than 8 MHz to avoid data overrun/underrun problems.
上面这段的大意是USB外设使用独立的48MHz时钟,它可以和APB1时钟不同,APB1比48MHz高或低都可以,但APB1必须大于8MHz才有足够的速度收发USB数据。
至于我说的24MHz限制,是印象中Errata里面提到的一个芯片bug,后来查了一下证实是我记错了,真正的bug是APB1低于13MHz时可能有问题:
2.15 USB packet buffer memory: over/underrun or COUNTn_RX[9:0] field reporting incorrect number if APB1 frequency is below 13 MHz |
|