当前位置:首页 >> 技术中心 >> 互连技术 >> 如何计算控制器参数使隔离式CAN网络以1 Mbps的速度运行
    

如何计算控制器参数使隔离式CAN网络以1 Mbps的速度运行

【导读】CAN 是一种差分信号标准,广泛用于汽车、工业和仪器仪表行业。它用于不同系统之间的串行通信,这些系统常常是经长距离连接到不同的电源系统。由于环境限制,常常使用电流隔离来中断接地环路或提供物理安全性。

隔离式CAN网络的传播延迟比非隔离式CAN网络要长,设计起来可能颇具挑战性。图1显示一个使用信号和电源隔离CAN收发器ADM3053 的隔离式 CAN 节点,我们将以它为例来计算所需的 CAN控制器参数,以便在 20 米电缆上以 1 Mbps 的速度进行通信。

如何计算控制器参数使隔离式CAN网络以1 Mbps的速度运行

图 1. 使用信号和电源隔离 CAN 收发器 ADM3053 的隔离式 CAN 节点

一个CAN比特由四个独立的时间段组成 :同步段 (SYNC_SEG)、传播段 (PROP_SEG)、相位段1(PHASE_SEG1) 和相位段 2(PHASE_SEG2)。这些时间段可以在 CAN 控制器中进行编程,对于计算 CAN 控制器的设置参数至关重要。图 2 所示为标称比特时间的不同时间段。

计算中使用如下假设条件 :

• 电缆长度为 20 m

• 数据速率或比特率为1 Mbps

• 电缆传播延迟为 5 ns/m

• CAN 控制器振荡器频率为36 MHz

如何计算控制器参数使隔离式CAN网络以1 Mbps的速度运行

图 2. CAN 标称比特时间

CAN 采用逐位仲裁方式,不同的节点可以争夺总线访问权,这就导致多个节点可以同时传输数据。传输节点必须对总线上的数据进行采样,以便确定它是否赢得仲裁。由于系统的传播延迟,控制器必须补偿各位采样的时间。在控制器中设置 PROP_SEG 可以提供此补偿,其计算方法如下 :

对于 ADM3053,从 TxD 到 RxD 的传播延迟为 250 ns(最大值)。

电缆的物理延迟等于 5 ns/m 乘以电缆长度 20 m,结果为 100 ns。

因此,通过系统并返回的总传播时间为 :2 x ( 传播延迟 + 收发器传播延迟 ) = 700 ns (2 × (100 + 250) = 700 ns)。

为了给控制器编程,必须将寄存器设置为“时间量子”的整数倍。时间量子的时长等于 CAN 系统时钟的时间周期,本例中为 28 ns。

对于 28 ns 的时间量子,每位包括 36 (1000/28 = 36) 个时间量子。

PROP_SEG = ROUND_UP (700 ns/28 ns) = 25 个时间量子

从每位的 36 个时间量子中,减去用于 PROP_SEG 的 25个时间量子和用于 SYNC_SEG 的 1 个时间量子,余下的时间量子分配给 PHASE_SEG1 和 PHASE_SEG2,每段5 个。

CAN 系统时钟存在容差,因而会出现累积相位误差。这要求系统通过再同步跳跃 (RJW) 同步,RJW 为 4 和PHASE_SEG1 二者中的较小值。

由此便可计算系统的振荡器容差要求 :

?f < RJW/(20 × NBT) = 4/(20 × 36) = 0.006

?f < Minimum (PHASE_SEG1 and PHASE_SEG2)/2(13 × NBT –PHASE_SEG2) = 5/2(13 × 36 – 5) = 0.005

这两个值中的较小者就是所需的振荡器容差 0.5%。

计算得出下列设置参数 :

• SYNC_SEG = 1

• PROP_SEG = 25

• PHASE_SEG1 = 5

• PHASE_SEG2 = 5

• RJW = 4

推荐阅读:

贸泽荣膺Bel Fuse 2019年度全球分销商大奖

HT566 I2S数字输入2x20W立体声无电感闭环D类音频功放解决方案

从ADAS到驱动器更换——实际雷达性能是否足够好?

用低噪声仪表放大器设计高性能系统

高性能模块化仪器仪表如何实现更好的应用和更小的尺寸

分享到:

用户评论

发评论送积分,参与就有奖励!

发表评论

评论内容:发表评论不能请不要超过250字;发表评论请自觉遵守互联网相关政策法规。

用户名: