偶在调试STM32F103VBT6的CAN总线的时候,外部使用晶体为8MHz,
当设置系统时钟=8MHz,APB1=4MHz,BS1=8tq,BS2=7tq,Prescaler=5,得到波特率为50K,两个板子之间CAN收发完全正常。
当设置系统时钟使用PLL,设置为72Mhz,APB1=36Mhz,BS1=6tq,BS2=5tq,Prescaler=3,理论上波特率应该为1Mhz,两个板子之间的CAN通信却无法完成,总是提示出错。
我把系统时钟设置为36Mhz,APB1=18Mhz,BS1=6tq,BS2=5tq,Prescaler=3,理论上波特率应该为500Khz,两个板子之间的CAN通信同样无法完成,总是提示出错。
请问使用CAN通信的时候对时钟有要求么??
can速度问题
各位路过的能帮忙看一下,分析一下原因么?
先谢了。
CAN速度问题
请各位帮忙看看,
1、板子在8M的系统时钟下,当CAN总线时钟为4M或8M的时候,在CAN波特率设置为50k,100k,125k的情况下,通信都正常。
2、板子在72M的系统时钟下,当CAN总线时钟为36M的时候,在波特率为任何情况下,通信都不能正常完成。
请各位路过的帮忙看一下,问题出在哪里,我用的CAN收发器时Mcp2551,总线上只连接了2个节点。
一点提示
一点提示,当APB时钟为36M时,会有不能整除的问题,我前几天碰到过,要注意一下。另外,波特率不对,应该用示波器看。
CAN问题
我把APB1时钟设为36M的时候,BS1=6tq,BS2=5tq,Prescaler=3,是可以整除的,而且可以方便的1MHz,500KHz,250KHz等不同频率。
波特率我看过了,没有问题的,
就是不知道问题出在哪里?不知道与硬件是否有关系??
CAN问题
4楼的哥们,能不能说的仔细些,如果方便,能不能把您的关于时钟和CAN部分设置发给我看看,谢谢!邮箱时daliqi@yahoo.com.cn
CAN问题
回7楼的,我看了你的关于波特率的参数设置,谢谢!
回8楼的,你说的“MS”这个参数是关于什么的,在数据手册中找不到,望指教。
回9楼的,的确没有加终端电阻,我加上再试试。
继续测试。
CAN问题
刚测试过,把2个节点的120欧姆终端电阻焊接上后,测试从1M的速度到10K的速度,通信全部正常。
谢谢大家。
不错,准备用STM32上的CAN,正可以参考一下
谢谢分享~~
CAN的120欧终端电阻
一般一个CAN网络最多用2个120欧终端电阻。