优化CAN节点位时序以适应数字隔离器传播延迟

作者:Conal Watterson博士,ADI公司高级应用工程师

控制器局域网(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段,如图2所示;一个用来同步,另外数个用于传播延迟(PROP)以及相位段1和2(PS1和PS2)。PS2和总TQ表示采样点位置。

第1步:匹配时钟、预分频器和数据速率

对于给定的数据速率来说,第一步是检查如何组合时钟和BRP,才能让TQ为整数。1 Mbps示例如表1所示。该例采用ADI ADSP-BF548 Blackn®微处理器,内置CAN控制器。采用典型系统时钟(fsclk)值,

用于1 Mbps的时钟和BRP组合

表1. 用于1 Mbps的时钟和BRP组合

第2步:位段配置

下一步是定义位段,并将采样点设得尽可能晚。对于表1中的每个有效选项,SYNC段必须允许有一个TQ,并且TSEG2 (PS2)段必须适应CAN控制器处理时间(只要BRP大于4,BF548就要低于1 TQ)。TSEG1 (PROP + PS1)为16 TQ(最大值)。

1 Mbps时最大传播延迟的可能BF548位段

图3. 1 Mbps时最大传播延迟的可能BF548位段

图3显示1 Mbps以及尽可能新的采样点时ADSP-BF548的可能配置。除5 TQ总和外的所有配置均为至少85%采样点,但10 TQ时可达最佳值,此时要求fsclk = 50 MHz且BRP = 5。

第3步:计算总线长度

最后一步是确定最佳配置下的最大传播延迟,并决定所选CAN收发器/隔离的可能电缆长度。对于图3中处理器的最佳配置,可能的最大传播延迟为900 ns。

采用ADM3053的隔离式CAN节点,集成isoPower

图4. 采用ADM3053的隔离式CAN节点,集成isoPower

图4中的ADI ADM3053集成CAN收发器、数字隔离器和隔离式电源。250 ns环路延迟包括隔离器延迟(两个节点为500 ns)。假定电缆传播延迟为5 ns/m,这意味着采用BF548时总线长度可达40 m(根据ISO 11898标准的1 Mbps最大值)。

结论

隔离可增加鲁棒性,但同时也会增加发送和接收两个方向的传播延迟,并且在仲裁时会针对两个节点而加倍。为了进行补偿,可配置CAN控制器,以便实现可能的最大传播延迟。这样,即便对节点进行隔离,也有可能实现所需的数据速率和总线长度。

作者简介

Conal Watterson博士是ADI公司接口与iCoupler®数字隔离器部的高级应用工程师,工作地点在爱尔兰利默里克。他于2003年获得爱尔兰利默里克大学(UL)计算机工程学士学位,并与2005年获得硕士学位,之后在UL的自动化研究中心(ARC)研究现场总线诊断。他于2010年获得UL工程博士学位,并在电路与系统研究中心(CSRC)和电信价值链研究中心(CTVR)研究嵌入式软件的监控和可靠性。

点击这里,获取更多电机控制设计信息

推荐阅读