TC3xx MCMCAN MCAL配置注意项

Based on EB tresos

1、波特率及采样点

其中,CAN时钟分频在Mcal Mcu Clock Config中已进行,如下图所示



因此BaudRate中,Fasyn/(DBRP + 1)项为40MHz,其余介绍如下:

1、SynCseg同步段,标准1个Tq

2、Propseg传播段,在mcal中对应Can设置为CanControllerPropSeg,单位Tq

3、Phaseseg1相位缓冲段1,在mcal中对应Can设置为CancontrollerSeg1,单位Tq

4、Phaseseg2相位缓冲段2,在mcal中对应Can设置为CancontrollerSeg2,单位Tq

这些变量与波特率和采样点有关,下面是典型配置,供参考,can采样点80%,canfd仲裁段80%,数据段70%





其中mcal还可配置一个参数,CanControllerSyncJumpWidth,该值用于相位缓冲器加长或缩短量的上限,由于再同步,传播段和相位缓冲段1可能会延长或者相位缓冲段2可能会缩短,为了使得采样点能存在容错的配置项,需要在系统级测试时进行标定处理,这里配置成典型值4

2、Canfd第二采样点

CAN总线节点在发送过程中,是要对输入信号进行回采的,以进行总线仲裁以及错误判断。如果在一定时间内没有回采到预期值,则会出现位错误。该时间阈值取决于CAN时钟频率。

当使用CANFD时,由于可变波特率,CAN位时间发生了变化,会导致该延时阈值较短,也就是需要硬件在更短的时间进行回读,但硬件的延时相对较为固定,这个时候就容易误报位错误。也就是实际该帧发送正常,但是硬件回读时间大于阈值。

在mcal中,可配置项在配置canfd数据段波特率时可选





配置时可根据mcal can um中描述的进行配置,由于波特率和CAN时钟频率都与例子一致,因此配置成16

3、CanHwObject

CanHwObject,下文简称为邮箱。

在使用mcal配置can模块时,应该碰见过CanHwObject和Cancontroller的顺序导致的报错,要注意配置CanHwObject时要按照,CanController的Id的顺序,并按照RECEIVE在前,TRANSFER在后的循序进行配置CanHwObject的Id

4、CanHwFilter

对于ObjectType为RECEIVE的邮箱,不管是FULL CAN还是BASIC CAN,都需要配置过滤器,过滤器用于过滤该邮箱所不需要的报文,降低由于无用报文导致的程序频繁进入接收中断,或加入RXFIFO,对CpuLoad造成影响;在配置时需要注意,mcal中有两个配置,一个FilterCode,一个FilterMask,Mask界定哪些位进行过滤,Code则标注目标值;假设需要过滤一个报文,id为0x456,那么配置Mask为0x7FF,Code为0x456即可;假设要过滤0x4xx的报文,那么Mask不能配置0xXX的配置,可以设为0x700,code配置为0x400即可(以上均为标准帧,id最大为0x7ff)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

您猜我猜不猜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值