学习记录-CAN通信配置

发布时间 2023-12-05 13:34:28作者: 一支铅笔芯

CAN通信配置

1、MCU时钟配置

在MCU配置里面点击“+”进行添加时钟,这里我选择配置的CAN5通信口,时钟频率为2.4E7,可添加分频,更改时钟频率

 2、Port-IO口配置

在原理图中找到CAN5对应的IO口,在软甲中,直接勾选CAN口,做映射处理即可。

 

3、CAN配置

点击“+”添加一个CAN口,我这里选择对应的CAN5口

 Can BusOff Processing、Can Rx Type、Can Tx Type 此处均选为中断类型;重要参数:Can Controller Default Baudrate 、Can CPU Module Reference Clock、Can CPU Function Reference Clock   波特率由我们自行添加下一栏解释,对于Module clock 选择系统自带的时钟,Function clock选择我们在MCU中配置好的CAN5时钟

 对于CAN口波特率的设置如下图所示:自行添加一个波特率,然后添加参数即可。

主要参数解析:Can Module Clock 此参数为我们选取的CAN5时钟频率,Controller BaudRate设置为广泛运用的500,CanController Prescaller分频系数可随意设置(注意:不可设置过小);Tq number:此参数的计算方法为:BaudRate =  时钟源 /(Prescaller x Tq number)

Can Module Clock (Hz):此参数为在CAN口配置的时钟频率CAN5

Can Controller BaudRate (Kbps)  :CAN通信波特率默认为500

Can Controller BaudRate Config ID:ID默认为0

Can Controller Prescaller:分频系数

Can Total Needed Tq number:Tq number系数是由时钟,分频系数,波特率计算出来的,计算公式:BaudRate =  时钟源 /(Prescaller x Tq number)

Can Synchronization Segment (1 -> 1) :CAN同步段,设置为1。

Can Propagation Segment :CAN传播段

Can Phase Segment 1-2:CAN阶段1和2

Can Resynch Jump Width:同步跳跃宽度设置为1

Can Sample Point:采样点

说明:采样点 = (Synchronization Segment + Propagation Segment  +  Phase Segment 1)/ Tq number;且Synchronization Segment + Propagation Segment + Phase Segment 1 +  Phase Segment 2 = Can Total Needed Tq number。

 

 

 对于CAN FD的配置和CAN的配置相似,如果需要使能CAN FD,记得在CAN通信功能中勾选上即可

 4、发送与接收硬件通道配置

在HardwareObject中进行添加我们配置的CAN5的发送与接收,注意点:为发送和接收的CAN ID需要顺序给值,如果不按顺序可能会引发报错等情况。

 接收配置:Can Inplementtation Type配置为BASIC CAN,也可设置为FULL CAN  区别在于BASIC范围报文,FULL单个报文;MB Type选择REVICE即可,Can Controller Reference 选择我们新建立的CAN5通信即可。注意点:如果选择BASIC CAN模式的话,需要开启过滤,不开过滤器会报错。

发送配置:Can Inplementtation Type配置为BASIC CAN,也可设置为FULL CAN  区别在于BASIC范围报文,FULL单个报文;MB Type选择TRANSMIT即可,Can Controller Reference 选择我们新建立的CAN5通信即可。注意点:如果选择BASIC CAN模式的话,需要开启过滤,不开过滤器会报错。