控制器局域网(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给出了1 Mbps的示例。该示例使用具有内置CAN控制器的ADI ADSP-BF548 Blackfin微处理器。使用典型的系统时钟(fsclk)值,TQ整数值以粗体显示(用于1 Mbps有效时钟/ BRP组合)。表1. 1 Mbps的时钟和BRP组合步骤2:位段配置下一步是定义位段并尽可能晚地设置采样点。对于表1中的每个有效选项,SYNC段必须允许一个TQ,TSEG2(PS2)段必须适应CAN控制器的处理时间(只要BRP大于4,BF548必须小于1 TQ )。 TSEG1(PROP + PS1)为16 TQ(最大值)。图3.在1 Mbps时最大传播延迟的BF548可能的比特段步骤3:计算总线长度图3显示了ADSP-BF548在最新的1 Mbps采样点的可能配置。除5个TQ的总和以外的所有配置均至少为85%的采样点,但可以在10 TQ时达到最佳值,此时fsclk = 50 MHz且BRP =5。最后一步是确定最大传播延迟在最佳配置下,并确定所选CAN收发器/隔离的可能电缆长度。对于图4中处理器的最佳配置,最大可能的传播延迟为900 ns。图4.使用ADM3053的隔离式CAN节点,集成的isoPower®ADI ADM3053(图1中的集成式CAN收发器,数字隔离器和隔离式电源)。 250 ns的环路延迟包括隔离器延迟(两个节点为500 ns)。假设电缆传播延迟为5 ns / m,这意味着使用BF548,总线长度可以达到40 m(根据ISO 11898标准,最大长度为1 Mbps)。结论隔离可以提高鲁棒性,但同时也增加了发送和接收方向上的传播延迟,并且在仲裁过程中,两个节点的传播延迟增加了一倍。为了补偿延迟,可以将CAN控制器配置为最大可能的传播延迟。这样,即使在隔离节点的情况下,也可以实现所需的数据速率和总线长度。