新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线接口模块工作原理

CAN总线接口模块工作原理

作者: 时间:2016-12-16 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/201612/330846.htm

图5 超载帧结构   

(5)空闲帧。

数据帧及远程帧与前帧消息之间的间隔被称为帧间空间的场隔开,如图6所示,帧间

图6 不包含暂停发送场的帧间空间   

空间由间歇场和总线空闲场组成,前面已经发送过报文的错误节点还包括暂停发送场。间歇场由3个隐性位 组成,在此期间,CAN节点不进行帧发送。间歇场的存在使CAN控制器在下次消息发送前有时间进行内部处理 操作。

总线空闲场可以为任意长度,此时总线处于空闲状态,允许任何节点开始报文发送。等待报文发送的节点 紧随间歇场后启动报文发送,即在空闲场第一位期间就启动报文发送。

如图7所示,错误认可节点完成一个报文发送后,在开始另一次报文发送或进入总线空闲状态之前,紧随间 歇场发送8个隐性位的暂停发送场。发送暂停发送场期间,若其他节点开始发送报文,则本节点停止送出暂 停发送场,并变为报文接收器。  图7 包含暂停发送场的帧间空间   (6)标准数据帧。

  标准数据帧的结构如图8所示。

图8 标准帧格式   

(7)扩展帧。

扩展帧的结构如图9所示。

图9 扩展帧格式   

3.传输过程中的可靠性和同步问题   

(1)可靠性。

CAN网络通信要求信息可靠传送,但由于外界干扰不可避免地会对通信线路造成影响,误码总是客观存在 的,所以网络通信中必须采取某些差错控制措施。

当出现错误时,及时发现错误并及时加以纠正。为提高抗干扰能力和数据的可靠性,CAN采用了多种错误 检测手段:发送监视、位填充错误检测、CRC校验、格式错误检测以及应答错误检测。

为保证CAN网络中节点间的正常通信,必须对报文的位定时作出规定。接收同步、网络传输延迟补偿及采 样点定位均由CAN协议集成电路的可编程位定时逻辑确定。CAN中正常位速率被定义为:在不需要重同步的情 况下,每秒传送的位数。正常位定时被定义为一位的持续时间,实际上就是正常位速率的倒数。

(2)同步问题。

位时间可划分为4个互不重叠的时间段:同步段(SYNC ̄SEG:SynchronizationSegment)、传播段(PROPˉSEG:Propagation Segment)、相位缓冲段1(PHASEˉSEG:Phase Bufer Segment1)及相位缓冲段2(PHASE-SEG2:Phase Bufer Segment2)。

同步段用于总线上各节点消息传输同步,长度为一个时间份额,此段内需要一个跳变沿。传播段用于补偿网络内的物理延迟时间,它是信号在总线上传播时间、输入比较器延迟和输出驱动器延迟之和的两倍,长度可被编程为1~8个时间份额。实际上,在CAN协议集成器件中并没有定义此段。

相位缓冲段用于补偿上升沿或下降沿的相位误差,通过重同步,这两个时间段可被用户延长或缩短。相位缓冲段1长度可编程为1~8个时间份额,相位缓冲段2长度取值为相位缓冲段1最大值和消息处理时间之和,消息处理时间个于等于两个时间份额(这一点在CAN协议集成器件中并未严格遵守,实际应用中相位缓冲段1比相位缓冲段2长)。

由采样点开始,保留用于计算后续位电平的时间段被定义为消息处理时间,其长度小于或等于2个时间份额。总线电平在采样点被读取,所以此点代表该位的数值大小。采样点位于相位缓冲段1的末尾处。

时间份额是由振荡器时钟分频得出的一个固定时间单元,在CAN协议集成器件中被称为系统时钟周期,可由一个预分频器设定大小,时间份额由下式计算:   

时间份额=m×最小时间份额   

其中m为预分频器系数,最小时间份额在CAN集成器件中被称为振荡器时钟周期。一个位时间中时间份额总数必须被编程在8~25之间。

网络常采用的同步方式有两种:准同步和标准同步。准同步又称独立同步,各节点均拥有时间独立的高稳定度振荡时钟,它们的频率并不一定完全相等,但必须时间相近。准同步的优点是同步体系简单,容易实现,缺点是工作可靠性较差。

标准同步又分为主从同步法和相互同步法两种,主从同步方法中,各网络节点的时钟以在网络中处于重要位置的节点时钟为基准。其优点是结构相对简单,网络稳定性好,缺点是网络过分依赖于主时钟,有全网瘫痪的危险。

和其他计算机网络相比,CAN网络结构相对简单,所以采用准同步方式,每个节点都拥有自己独立的振荡时钟。CAN网络中,同步方式又分硬同步和重同步两种形式,同步过程由器件自身完成。

CAN模块使用RB3/CANRX和RB2/CANTX/INT2引脚与CAN总线驱动器接口。要配置CANRX和CANTX为CAN接口,需要将TRISB〈3>位置1,TRISB(2)位清0。


上一页 1 2 下一页

评论


技术专区

关闭