GD32USB移植时钟问题
在GD32F450Z官方例程中USB键盘例程中,工程在system_gd32f4xx.c设置为系统时钟为168MHz_25MHz,在对USB延时上使用TIMER2进行实现,预分频为(6+1),微秒级延时计数值为(11+1),毫秒级计数值(11999+1)。我对这个没有疑问。但是问题在于当我将system_gd32f4xx.c中的系统时钟改为200MHz_25MHz后,将TIMER2的预分频值改为(9+1),微秒级延时计数值为(9+1),毫秒级计数值(9999+1),却无法实现功能。我单独在200MHz测试定时器功能,正常延时,有哪位老哥知道原因。可以找GD的技术支持 CK_PLLVCOSRC = 1M,CK_PLLVCO = 400M,CK_PLLP = 200M,PLLQ = 400 / 9 = 44.4444M, 和48M有误差。要想200M的PLLP和48M的PLLQ同时成立,则PLLVCO最小要设置到1200M,而PLLVCO的范围是100MHz 到 500MHz 之间,所以当200M频率需求时,无法使用PLL48M模式
pq113_6 发表于 2022-9-2 13:31
CK_PLLVCOSRC = 1M,CK_PLLVCO = 400M,CK_PLLP = 200M,PLLQ = 400 / 9 = 44.4444M, 和48M有误差。要想200 ...
您好,感谢您之前的解答,确是我之前未了解的知识点。按照您说的,我有查看了官方例程,确实使用的PLL48模式。
按照这个思路,我在200MHz_25MHz的前提下,改为使用内部IRC48MHz,但是仍无法使用,请问是什么原因?望您不吝赐教 RuiKwok 发表于 2022-9-2 15:53
您好,感谢您之前的解答,确是我之前未了解的知识点。按照您说的,我有查看了官方例程,确实使用的PLL48 ...
设置选择IRC48M后还需要CTC校准 USB时钟必须是48M,200M怎么分频到48M,无法实现呀 RuiKwok 发表于 2022-9-2 15:53
您好,感谢您之前的解答,确是我之前未了解的知识点。按照您说的,我有查看了官方例程,确实使用的PLL48 ...
按照官方例程使用IRC48M,没有进行CTC校准,我这边是可以正常使用。
请问您是在CTC校准后才正常的,还是改了别的地方正常的? sagade 发表于 2022-9-3 11:46
按照官方例程使用IRC48M,没有进行CTC校准,我这边是可以正常使用。
请问您是在CTC校准后才正常的,还是 ...
我是忘开时钟了
页:
[1]