为适应数字隔离器传播延迟 CAN节点位时序大升级
控制器局域网(CAN)由ISO 11898标准定义,广泛用于工业和汽车应用中 。CAN协议(比如DeviceNet或CANOpen)依赖内置的错误检查和差分信号采样 。电流隔离可进一步增强鲁棒性,能够抗高压瞬变,但会增加传播延迟 。CAN节点经过优化配置,哪怕存在隔离时也具有最大数据速率和传送距离 。
为什么传播延迟很重要?
传播延迟会影响节点间的并发传输和仲裁 。冲裁依赖于CAN信号发送;逻辑0表示“主动”(总线间的差分电压),逻辑1表示“被动”(全部输出为高阻抗),意味着主动位将覆盖被动位 。发射时,所有节点监控总线;而发射被动位时则停止,从而允许另一个节点赢得仲裁(图1中的节点A) 。
图1.两个节点间的仲裁
传播延迟不可过大,否则可能在其他节点传播主动状态之前会监控总线状态 。对于图2中的节点A和节点B,往返时间很关键;该时间等于TPropAB加 TPropBA,或者等于通过电缆和收发器延迟时间的两倍,包括隔离(如有) 。相比光耦合器,数字隔离器可降低传播延迟,但系统允许的总传播延迟是固定的,因此加入隔离可能会降低最大电缆距离 。
图2.带传播延迟的仲裁
传播延迟补偿
若要补偿隔离引起的传播延迟,可调节特定的CAN控制器参数 。首先为CAN控制器时钟设置波特率预分频器(BRP)值,该值定义划分位时间的“时间量子” (TQ) 。它们适用于3或4段,如图3所示;一个用来同步,另外数个用于传播延迟(PROP)以及相位段1和2(PS1和PS2) 。PS2和总TQ表示采样点位置 。
第一步:匹配时钟、预分频器和数据速率
对于给定的数据速率来说,第一步是检查如何组合时钟和BRP,才能让TQ等于整数 。1 Mbps示例如表1所示 。该例采用ADI ADSP-BF548 Blackfin微处理器,内置CAN控制器 。采用典型系统时钟(fsclk)值,TQ整数值以粗体显示(用于1 Mbps的有效时钟/BRP组合) 。
表1.用于1 Mbps的时钟和BRP组合
第二步:位段配置
下一步是定义位段,并将采样点设得尽可能晚 。对于表1中的每一个有效选项,SYNC段必须允许有一个TQ,并且TSEG2 (PS2)段必须适应CAN控制器处理时间(只要BRP大于4,BF548就要低于1 TQ) 。TSEG1 (PROP + PS1)为16 TQ(最大值) 。
图3. 1 Mbps时最大传播延迟的可能BF548位段
第三步:计算总线长度
图3显示1 Mbps的尽可能最新采样点时,ADSP-BF548的可能配置 。除5 TQ总和外的所有配置均为至少85%采样点,但10 TQ时可达最佳值,此时要求fsclk = 50 MHz且BRP = 5.
最后一步是确定最优配置下的最大传播延迟,并决定所选CAN收发器/隔离的可能电缆长度 。对于图4中处理器的最佳配置,可能的最大传播延迟为900 ns.
图4.采用ADM3053的隔离式CAN节点,集成isoPower
图1中的ADI ADM3053集成CAN收发器、数字隔离器和隔离式电源 。250 ns环路延迟包括隔离器延迟(两个节点为500 ns) 。假定电缆传播延迟为5 ns/m,这意味着采用BF548,则总线长度可达40 m(根据ISO 11898标准的1 Mbps最大值) 。
结论
【为适应数字隔离器传播延迟 CAN节点位时序大升级】隔离可增加鲁棒性,但同时也会增加发送和接收两个方向的传播延迟,并且仲裁时针对两个节点而加倍 。为了补偿延迟,可针对可能的最大传播延迟配置CAN控制器 。这样,就有可能实现所需的数据速率和总线长度,哪怕是隔离节点的情况下 。
推荐阅读
- 蓝莓为什么不打农药,蓝莓表面的白霜是农药吗?关于蓝莓的问题!
- 下载了推特但注册不了 下载了推特为什么注册不了
- 为什么药店不让卖退烧药
- 赵高为什么要毁灭秦国「赵高一心颠覆秦朝目的真正原因」
- 以种植业为主的农业地域类型?关于种植业的问题!
- 揠苗助长禾苗为什么枯死了?关于揠苗的问题!
- 鱼塘养鱼为什么放柴油?关于养鱼的问题!
- 现在发烧为什么不让打针了 现在发烧去医院会被隔离吗
- 杀鸭子喂白酒为什么,喂白醋可以吗?关于养鸭的问题!
- 北方地区以什么业为主