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

描述

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

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分