本帖最后由 imdx 于 2022-3-22 09:57 编辑
CAN外设从寄存器接口来看非常像SJA1000,SJA1000应用中通常都是使用16M时钟,而STC32G的CAN外设使用MCU主时钟,意味着使用CAN的C251内核也要使用16M时钟,这个频率不在ISP工具的默认频率列表里面,而且本身偏低,限制了C251的性能,固定的时钟频率在希望提高主频提高性能或者降低主频减少功耗的情况下就很不好用,并且16M时UART使用115200波特率误差到0.8%稍高了一些。
USB外设需要专门的48M时钟,STC32G内部有一个IRC48M给USB外设用,这个IRC48M完全可以分频以后给CAN模块使用,增加2位分频系数,进行1/2/3/4分频分别得到48M/24M/16M/12M四个频点即可,默认3分频16M是CAN外设最常用的频率。修改方法如图:
顺便问一下这个IRC48M时钟的频率稳定性,是否可以满足USB FS要求的0.25%精度要求,手册中没有找到。
|