为什么CAN信号传输中要插入反码位

发布时间:2016-7-26 17:33    发布者:何呢呢00

悉CAN通讯工程师们一般都会见过“反码位”一专业术语,但它到底是什么?到底有什么用?也许很多人对其并没有深入的理解,本文将让大家对此不再迷惑。

数据数字编码具有很多方法,诸如非归零(NRZ)、曼彻斯特或脉宽编码,它们的区别在于用来表示一个位的时隙的数目不同,如图 1所示。非归零电平编码的信号电平在整个位时间里保持不变,因此只需要一个时隙来表示一个位。而曼彻斯特编码的信号在一个位时间内发生变化,因此需要两个时隙来表示一个位。曼彻斯特编码的优点是每个位都有一个信号边沿用来实现位同步(Self-clocking code)。但是曼彻斯特编码和非归零编码相比,在相同的位时间(位频率)时,位速率只能达到非归零码一半。由于非归零编码的信号电平可长时间保持不变(取决于所传输的数据),因此有必要采取适当的措施以确保不超过两个信号沿之间最大允许的时间间隔。重新同步点之间最大的时间间隔由节点振荡器的误差决定。重新同步可通过应用“位填充”的方法实现。这种方法是在一定数量的恒定位电平之后将一个反码插入到位流中。


1 NRZ和曼彻斯特编码的位表示

CAN协议中应用的是带位填充(填充宽度为5位)的NRZ信号编码,它保证了具有足够同步能力的最高传输性能。这种类型的编码还提供非常良好的信号辐射特性(总线辐射的能量大致上和传输信号的频率以及信号边沿的数量成比例)。

CAN协议中应用NRZ编码的部分包括SOF、仲裁场、控制场、数据场、数据帧和远程请求帧的CRC序列。发送器一检测到5个连续相同值的序列,它就会在实际传输的位流中插入一个反码位。数据帧或远程帧剩下的部分(CRC分隔符、ACK场和EOF)都有一个固定的形式(隐性电平),并且不采用位填充进行发送。出错和超载帧也是如此。


本文地址:https://www.eechina.com/thread-171179-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表