CAN通讯之位定时与同步.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAN通讯之位定时与同步 位定时与同步 由前面文章可知,每一帧数据(即一个完整的数据帧)有很多位组成,当发送方发送一帧数据到总线时,接收方怎么准确接收到这帧数据呢?先需要了解下位时间的基本概念,再在此基础上,针对传输延迟等问题,采用同步方法处理。 1.?位时间 位时间就是指一个(二进制)位在总线传输所需要的时间,即:位时间就是位速率的倒数。如图1所示:一个位分为4段,这些段又由称为Time Quantum(以下称为 Tq)的最小时间单位构成。1位分为4个段,每个段又由若干个Tq构成,这称为位时序。 图1 位时间 1位由多少个Tq构成,每个段又由多少个Tq构成等,可以任意设定位时序。通过设定位时序,多个节点可同时采样,也可任意设定采样点。也就是说图2中各个节点都可以通过不同的配置可能获得不同的位速率和采样精度,后面通过实例来讲解。 图2 关于各段的作用和可配置Tq范围如下图: 图3 各段的定义信息,引自[2] 所谓采样点是读取总线电平,并将读到的电平作为位值的点,位置在PBS1结束处。 图4 采样点的设定,引自[2] CAN协议的通信方法为NRZ(Non-Return to Zero)方式,各个位的开头或者结尾都没有附加同步信号。发送单元以与位时序同步的方式开始发送数据。另外,接收单元根据总线上电平的变化进行同步并进行接收工作。但是,发送单元和接收单元存在的时钟频率误差及传输路径上的(电缆/驱动器等)相位延迟会引起同步偏差,因此接收单元通过硬件同步或者再同步的方法调整时序进行接收。 2. 硬同步 硬同步是指在总线空闲状态,接收节点检测出帧起始位(SOF)时,会调整当前位的同步段(SS)与发送节点的帧起始位SS段一样,调整宽度不限。如下图5。 图5 SOF位的硬同步,来源[1] 引自[1]的具体解释: 1)发送节点Node_A在发送SOF位时,SOF位的下降沿在SS段; 2)这时接收节点Node_B发现自己当前位的SS段和发送节点SOF位的SS段不同步。也就是说当Node_A 产生SOF位SS段时,Node_B的当前位的SS段已经在5个Tq之前产生了; 3)这样接收节点Node_B硬将自己当前位的SS段拉到与SOF位的SS段同步。 3. 再同步 再同步是指接收节点检测出除SOF位以外的其他位时进行的同步调整。再同步会通过加长PBS1段,或缩短PBS2段来调整同步,以保证采样点的准确。这里加长或缩短(即跳转)操作涉及到一个概念-同步跳转宽度(SJW)是指PBS1和PBS2再同步时允许跳转的最大宽度,其必须满足以下2个条件: SJW必须小于PBS1和PBS2的最小值; SJW最大值不能超过4。 下面看下再同步的两种情况: 情况1:PBS1段加长(发的晚,收的早) 图6 PBS1段加长的再同步,引自[1] 引自[1]的具体解释: 1)发送节点Node_A比接收节点Node_B的时间慢了,也就是说Node_A当前位的ss段产生的时候,Node_B 当前位的SS段已经在2个Tq之前产生了; 2)这时接收节点Node_B就将PBS1延长2个Tq的时间; 3)这样Node_A当前位的采样点就和Node_B的采样点同步了。 情况2:PBS2段缩短(发的早,收的晚) 图7 PBS2段缩短的再同步,引自[1] 引自[1]的具体解释: 1)发送节点Node_A当前位的SS段诞生2Tq时长之后,接收节点Node_B的当前位才产生SS段; 2)这时接收节点Node_B当前位的PBS2段缩短, 3)这样就导致接收节点Node_B的下一位能够提前2个Tq,从而Node_B的下一位采样点和Node_A下一位 的采样点能够同步。 4. 调整同步的规则 硬件同步和再同步遵从如下规则。 (1)1 个位中只进行一次同步调整。 (2)只有当上次采样点的总线值和边沿后的总线值不同时,该边沿才能用于调整同步。 (3)在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步。 (4)在总线非空闲时检测到的隐性电平到显性电平的边沿如果满足条件(1)和(2),将进行再同步。但还要满足下面条件。 (5)发送方观测到自身输出的显性电平有延迟时不进行再同步。 (6)发送方在帧起始到仲裁段有多个单元同时发送的情况下,对延迟边沿不进行再同步。 5. 位时间应用实例 根据Infineon芯片手册提供的位时间寄存器信息,如下图8所示。下面讲解下如何配置位时间的寄存器以实现位速率和采样点的要求。其实配置的逻辑是根据目标位速率和采样点按已定义的方法去计算位时间寄存器的配置内容。 图8 位时间寄存器,引自[3] 假设有这样一条需求 :要求CAN通讯的位速率为500KBaud,采样点为50%。 (注:由于引用材料问题,time quantum在上文用Tq表示,下文用tq表示,两者意义一样) 5

文档评论(0)

play + 关注
实名认证
文档贡献者

分享有帮助的文档

1亿VIP精品文档

相关文档