CAN是一种广泛用于汽车的差分信号标准, 工业和仪器仪表行业。它用于串行通信 在可以连接到不同电源系统的系统之间,通常 长距离。由于这些环境,电流隔离通常是 用于断开接地回路或提供人身安全。
隔离式CAN网络的传播延迟将增加 非隔离的CAN网络,设计起来通常具有挑战性。 图1所示为隔离式CAN节点示例,该节点使用ADM3053信号和电源隔离CAN收发器计算必要的CAN模块 通过 1 m 电缆以 20 Mbps 通信的控制器参数。
图1.隔离式CAN节点采用ADM3053信号和电源隔离CAN收发器。
一个CAN位由四个独立的时间段组成,同步段 (SYNC_SEG)、传播段 (PROP_SEG)、相段 1 (PHASE_SEG1)和阶段段2(PHASE_SEG2)。这些时间段 可在CAN控制器中编程,对于计算设置至关重要 CAN控制器的参数。图 2 显示了 标称位时间。
图2.CAN标称位时间。
在计算过程中进行了以下假设:
电缆长度 20 m
数据速率或比特率为 1 Mbps
电缆传播延迟为 5 ns/m
CAN控制器振荡器频率 的 36 兆赫
CAN 使用按位仲裁,它允许不同的节点 争夺公共汽车上的访问权。这会导致多个节点 能够一次传输数据。传输节点将 必须对总线上的数据进行采样,以确定它是否 赢得了仲裁。由于系统的传播延迟, 控制器必须补偿何时对每个位进行采样。 将PROP_SEG编程到控制器中将允许这样做 补偿,可以按如下方式计算:
ADM3053从TxD到RxD的传播延迟为: 250 ns(最大值)。
电缆的物理延迟等于 5 ns/m 乘以 长度为 20 m,总长度为 100 ns。
这给出了通过系统并返回的总传播时间 AS 2(物理延迟 + 收发器道具延迟)等于 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 个时间量子中,减去 25 表示 PROP_SEG 和 1 为了SYNC_SEG。这为PHASE_SEG5和 PHASE_SEG1。
由于CAN系统时钟中的公差,累积的 将发生相位误差。这需要系统重新同步 通过重新同步跳转 (RJW)。这被确定为 较小的值 4 和 PHASE_SEG1。
这使我们能够计算所需的振荡器容差 系统:
这两个值中较小的一个是所需的振荡器 容差,0.5%。
此计算给出以下设置参数:
SYNC_SEG = 1
PROP_SEG = 25
PHASE_SEG1 = 5
PHASE_SEG2 = 5
RJW = 4
审核编辑:郭婷
-
收发器
+关注
关注
10文章
3383浏览量
105833 -
控制器
+关注
关注
112文章
16153浏览量
177269 -
CAN
+关注
关注
57文章
2707浏览量
463250
发布评论请先 登录
相关推荐
评论