CAN总线的位定时

描述

对一般的开发者来说,CAN总线的位定时概念并不常见。不过,如果给整车厂做过零部件,经受过他们的CAN通信测试考验,您可能就知道,这也是比较重要的一个知识点。 

CAN报文由七个不同的场/段组成。

位定时

一个位,由同步段+传播段+相位缓冲段1+相位缓冲段2组成。 

这四个段的时间均为基本时间单位“时间份额”的若干倍,时间份额Tq派生于振荡器周期,可以由振荡器进行分频。 

由这张图可以看出,在相位缓冲段1和相位缓冲段2的交接处,藏着一个“采样点”,或者说“采样时刻”,这也是CAN通信测试中比较重要的一个测试项。 

下面这张图,是一个CAN通信需求规范中的位定时要求。

位定时

在实际的编程开发工作中,需要根据这个位定时规范,对照MCU中CAN模块的寄存器特点,对寄存器进行针对性设置。 

比如飞思卡尔微控制器中的MSCAN模块,其位定时寄存器如下所示:

位定时

在这款CAN控制器中,把CAN的位分成了三段,同步段、段1和段2。跟CAN2.0协议中定义的“同步段+传播段+相位缓冲段1+相位缓冲段2”进行对比,便可以发现,MSCAN中的段1即CAN2.0协议中的“传播段+相位缓冲段1”。  

根据规范要求,一个8us的CAN比特位包含16个Tq,采样位置在该bit位75%的时刻,所以,可以将Time Segment1 设为 11,Time Segment2 设为 4,这样,既能保证包含16个Tq(1 + Time Segment1 + Time Segment2 = 16),又可以保证采样时刻=(1 + Time Segment1)/16=75%。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分