选择这块单片机的原因是因为性价比高,带两路CANFD,价格只有10米出头。看了下微芯的那块canfd接口芯片都得了10元左右。所已选这块,由于是第一次开发canfd,特此记录!
首先是波特率方面的注意事项:
canfd的波特率是可变,网上很多开发说明,一帧数据直接使用同一种波特率,那就失去了canfd的意义。我们这边采用仲裁段500k,数据段2M的波特率进行实验。
使用MX配置CANFD的配置表如下:
CANFD时钟设置
仲裁段波特率计算公式
数据段波特率计算公式
除了波特率,还有一些参数需要计算一下,比如采样点
采样点设置推荐:波特率大于800K时设置为75%,大于500K时设置为80%,小于等于500K时设置为87.5%
SJW选择说明:若CAN系统时钟误差较大,可以适当调大SJW值,我们这边使用的是内部时钟,误差会比较大。
通过波特率计算工具,计算出一下参数
参数就计算出来了。不懂有没有大神解释下数据预分频器为什么必须是1或2。
根据计算的参数我们来设置cube的参数
。。。后续代码还在调试,调试后更新。