<em id="siag5"><tr id="siag5"><mark id="siag5"></mark></tr></em>

    <button id="siag5"></button>
    <em id="siag5"></em>

    
    
    <div id="siag5"></div>

          <div id="siag5"><tr id="siag5"><object id="siag5"></object></tr></div>
        1. 首页 > 应用 > 测试测量
          [导读]CAN总线一直以来以稳定¡¢容错性高而著称¡£要想达到这样的效果£¬其独特的同步机制是非常重要的一点£¬本文将为大家?#27493;?#19968;下CAN总线的同步机制以及SJW 的作用所在¡£

          CAN总线一直以来以稳定¡¢容错性高而著称¡£要想达到这样的效果£¬其独特的同步机制是非常重要的一点£¬本文将为大家?#27493;?#19968;下CAN总线的同步机制以及SJW 的作用所在¡£

          CAN总线的同步共有两种方式£º硬同步和重同步¡£

          硬同步

          在总线刚刚从?#38556;?#29366;态中走出来的时候£¬在帧头的位置都会进行一次同步¡£此时所有的节点位时间重新开始£¬?#25302;?#25152;有的运动员都再一?#20301;?#21040;了起跑线上¡£这种同步方式被称作硬同步¡£

           

          1.jpg

           

          重同步

          硬同步时只是在有帧起始信号时起作用£¬无法确保后续一连串的位时序都是同步的£¬这个时候重同步就到了发挥作用的时候¡£具体来说£¬CAN总线的一个位时间中包含两个缓冲段BS1和BS2£º

           

          2.jpg

           

          在两个缓冲段中间的位置£¬即是读取总线电平的采样点位置£¬?#22868;?#27979;到总线上存在相位差的时候£¬通过延长BS1?#20301;?#32553;短BS2段来获得同步£¬这样的方式称为重新同步¡£这两个相位缓冲段的延长时间或缩短时间上限由再同步跳转宽度(SJW)给定¡£采样点是接?#25112;?#28857;判断信号逻辑的位置£¬CAN通讯属于异步通讯£¬需要通过不断的重新同步才能保证收发节点的采样准确£¬所以SJW(同步跳转宽度)决定了接?#25112;?#28857;是否能有比较好的兼容性¡£如下图£¬即是某CAN总线中利用致远电子CANscope进行的采样点与位宽度容忍的快速测试结果£º

           

          3.jpg

           

          因此£¬使用CAN总线的时候£¬发现位宽度有偏差£¬则需要对其程序中的位定时寄存器或者晶振进行修正¡£比如不要使用带小数点的晶振£¬如11.0592HZ¡£这样算出来的波特率肯定不准¡£不要使用陶瓷晶振£¬会有偏差超过1%的概率£¬即使重同步也会失败¡£

           

          4.jpg

           

          波特率计算时£¬提高?#35270;¦·段§£?#38656;要保证12-20(特征16)个的位时间因子£¬然后通过提高正常节点波特率寄存器中的同步跳转宽度SJW值(加大到2-3个单位时间)来实现¡£比如使用广州致远电子两款波特率计算工具£¬可以计算出良好的波特率寄存器值¡£

           

          5.jpg

          我 要 评 论

          网友评论

          技术子站

          更多

          项?#23458;?#21253;

          更多

          推荐博客

          ɽÎ÷Ìå²Ê11Ñ¡5
          <em id="siag5"><tr id="siag5"><mark id="siag5"></mark></tr></em>

          <button id="siag5"></button>
          <em id="siag5"></em>

          
          
          <div id="siag5"></div>

                <div id="siag5"><tr id="siag5"><object id="siag5"></object></tr></div>
                <em id="siag5"><tr id="siag5"><mark id="siag5"></mark></tr></em>

                <button id="siag5"></button>
                <em id="siag5"></em>

                
                
                <div id="siag5"></div>

                      <div id="siag5"><tr id="siag5"><object id="siag5"></object></tr></div>