0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解配置控制器局域网络(CAN)位时序实现系统性能优化

analog_devices 来源:ADI 2024-11-15 18:27 次阅读

控制器局域网络(CAN)可在多个网络站点之间提供强大的通信能力,支持多种数据速率和距离。CAN具有数据链路层仲裁、同步和错误处理等特性,广泛用于工业仪器仪表和汽车应用之中。在ISO 11898标准的框架下,借助分布式多主机差分信令和内置故障处理功能,DeviceNet、CANopen等多种协议针对物理层和数据链路层规定了相应的实现方式。本文旨在描述如何针对给定应用优化设置,同时考虑控制器架构、时钟收发器、逻辑接口隔离等硬件限制。文章将集中介绍网络配置问题——包括数据速率和电缆长度——说明何时有必要对CAN节点进行重新配置,以及如何从一开始就实现对节点的优化配置。

01 逻辑接口隔离

对于恶劣的工业和汽车环境,可通过隔离CAN收发器的逻辑接口进一步增强系统的鲁棒性,允许接地节点之间出现较大的电位差,同时提供抗高电压瞬变能力。将CAN收发器与数字隔离器集成起来即可形成隔离式CAN节点。ADM3052, ADM3053, 和 ADM3054 隔离式CAN收发器提供多种接口供电选项。对于DeviceNet网络,隔离侧可通过总线供电;因此,ADM3052集成了一个线性调节器,以便利用24 V总线电源提供5 V电源。ADM3053(如图1所示)集成了一个isoPower DC-DC转换器,用于驱动收发器和数字隔离器的总线端。已有一个隔离式DC-DC转换器能够在隔离栅上提供电源的系统可以采用ADM3054,后者只集成了数字隔离器和CAN收发器。

2b53ba0a-a1c0-11ef-93f3-92fbcf53809c.png

图1. 隔离式CAN节点(ADM3053收发器由isoPower DC-DC供电)

02 传播延迟的影响

部署一个CAN节点需要一个隔离式或非隔离式CAN收发器,以及一个搭载有相应协议堆栈的CAN控制器或处理器。可以使用独立式CAN控制器,甚至可以使用不带标准协议堆栈的控制器,但是,CAN应用中使用的微处理器可能已经包括CAN控制器。在任一情况下,都必须对CAN控制器进行配置,以调和总线上的数据速率和时序,而硬件振荡器则用于控制器。

随着电缆长度的增加,信号中的高频组分衰减,因此,长距离条件下的数据速率都有限。总线是一种多主机,因此,所有节点都可以尝试同时传输,仲裁取决于物理层信令。传播延迟也会随电缆长度而增加,可能对节点间同步和仲裁形成干扰。

CAN总线上的差分信号可能处于两种状态之一:主动(逻辑0,信号线路CANH和CANL之间存在一个差分电压)或被动(逻辑1,无差分电压,所有CAN收发器输出均为高阻抗)。如果两个节点尝试同时传输,则主动位传输会覆盖同时进行的被动位传输,因此,在传输时,所有节点都必须监控总线状态,如果在传输被动位时发生覆盖,则要停止传输。如此,传输主动位的节点赢得仲裁,如图2所示。

2b62ebce-a1c0-11ef-93f3-92fbcf53809c.png

图2. 两个CAN节点之间的仲裁逻辑

CAN 2.0b定义的是数据链路层的实现方式,对用于传输的CAN帧结构进行了规定。一个包含消息ID的仲裁字段启动消息传输。较低的消息ID(开头的零较多)将拥有更高的优等级,因此,在传输消息时,相应节点赢得仲裁的概率更大。

尽管CAN节点与总线传输同步,但是,由于两个同时传输的节点之间存在传播延迟,所以不会完全同步。要让仲裁切实发挥作用,传播延迟不能过大,否则,较快的节点可能在检测到较慢节点传输的位状态之前就对总线进行采样了。最差条件下的传播延迟为两个最远节点间延迟的两倍。在图3中,如果节点A和B是总线上相隔最远的节点,则至关重要的参数是双向传播时间PropBA与TPropBA之和。

2b75d360-a1c0-11ef-93f3-92fbcf53809c.png

图3. 实际条件下两个CAN节点间的仲裁(含传播延迟)

总传播延迟由通过电缆、两个CAN控制器I/O和两个CAN收发器的双向传播时间构成。CAN控制器I/O并不是传播延迟的主要贡献者,往往可以忽略不计,但进行彻底评估时必须予以考虑。循环时间由从TxD到CANH/CANL、再回到RxD的传播延迟构成。电缆传播延迟取决于电缆和距离,典型值为5 ns/m。

在较低数据速率下,允许的位时间较长,因此,传播延迟(及电缆距离)也可能变长。在最高标准CAN数据速率(即1 Mbps)下,允许的传播延迟更受限制,尽管ISO 11898-2标准规定,在总线长40米时,可支持1 Mbps的数据速率。

03 隔离的影响

隔离条件下,在计算双向传播延迟时,必须考虑额外的因素。相比光耦合器,数字隔离器可减少传播延迟,但即使是最快的隔离式CAN收发器在这方面也与较慢的非隔离式收发器相当。如果允许的总传播延迟保持不变,隔离系统中,最大电缆长度较短,但可以重新配置CAN控制器,以提高允许的总传播延迟。

04 传播延迟的补偿

为了补偿因较长总线或隔离增加的传播延迟,必须为CAN控制器设置与时序和同步相关的特定参数。在配置控制器时,不只是选择一个数据速率,而是要设置决定着控制器所用位时间的变量。面向振荡器或内部时钟的波特率预分频器(BRP)设置时间量子(TQ),位时间为TQ的倍数。振荡器的硬件选择,以及BRP和每位时间TQ数的软件配置设定数据速率。

控制器的位时间分为三个或四个时间段,如图3所示。每位时间的TQ总数包括一个同步以及传播延迟(PROP)、相位段1 (PS1)和相位段2 (PS2)的设定数量。有时候,会把PROP和PS1加起来。配置调节采样点,以支持传播延迟和再同步。

把采样点设在位时间的稍后部分可以支持更长的传播延迟,但就如总数据速率一样,采样点取决于其他时序变量,这些变量都有自己的限制。例如,内部时钟/振荡器可能固定不变,只能使用整数BRP和TQ数。因此,特定电缆长度要求的理想数据速率可能根本无法实现,因此,必须缩短电缆,或者降低数据速率。

再同步会使PS1加长,PS2缩短,加长量和缩短量为同步跳宽(SJW)规定的TQ数,因此,PS2不得短于SJW。SJW所需TQ数取决于CAN控制器的时钟容差,对于SJW和PS2,晶振一般支持最小TQ数。

05 CAN控制器的配置

为了实现节点间时序可靠、同步可靠的稳健网络,系统必须能承受所选数据速率和CAN控制器时钟条件下的传播延迟。如果不能,可以选择降低数据速率、缩短总线或者使用不同的CAN控制器时钟速率。配置过程包括以下三个步骤。

第一步:检查时钟和预分频器——匹配数据速率

先核实在给定目标数据速率和CAN控制器时钟条件下,有哪些可能的配置。TQ间隔必须基于时钟和各种BRP值计算,可能组合只有那些TQ间隔为位时间的整数倍的组合。根据所处系统设计阶段,也可能考虑其他CAN控制器时钟速率。在表1所示计算示例中,给定的最大数据速率为1 Mbps,使用的是一个Microchip MCP2515独立CAN控制器和一个内置CAN控制器的ADSP-BF548 Blackfin处理器。MCP2515 fOSC 取决于所使用的外部硬件振荡器,而ADSP-BF548 fSCLK 则取决于硬件CLKIN和内部PLL设置(VCO的CLKIN乘数,SCLK的VCO分频)。只有CAN控制器时钟和BRP(整数个TQ)的某些组合支持1 Mbps的数据速率,如粗体所示。这会限制位时序的设置,因此一旦选择某个总线数据速率,只有部分选项可用。

2b85c16c-a1c0-11ef-93f3-92fbcf53809c.png

2ba6ffa8-a1c0-11ef-93f3-92fbcf53809c.png

表1. 给定f和BRP时1 Mbps速率下的TQ数

第二步:确定位段配置

下一步是确定每个位段要求的TQ数。最困难的情况是在1 Mbps的数据速率下支持最大传播延迟,例如,电缆长40米,隔离式节点。理想情况下,应对位时间段进行配置,使采样点在位中尽量晚。在表1中,对于每个整数的TQ总数,一个TQ必须提供给SYNC段,PS2(或TSEG2)段必须足够大,以容纳CAN控制器信息处理时间(只要BRP大于4,MCP2515为2 TQ,ADSP-BF548为小于1 TQ)。另外,对于MCP2515,PROP和PS1最多可以各有8 TQ;对于ADSP-BF548,TSEG1 (PROP + PS1)最多可以为16 TQ。

图4和图5分别展示了MCP2515和ADSP-BF548的可能总TQ配置,对于1 Mbps速率条件下的有效时钟和BRP组合,可支持最近采样点。MCP2515的最佳TQ总数为19,要求38 MHz的硬件振荡器和1的BRP。对于ADSP-BF548,TQ总数为5的情况除外,所有配置至少为85%采样点,但最佳设置是10 TQ,要求fSCLK = 50 MHz且BRP = 5。

2bd70fa4-a1c0-11ef-93f3-92fbcf53809c.png

图4. MCP2515的可能TQ总数配置(速率为1 Mbps,最大传播延迟)

2bf9781e-a1c0-11ef-93f3-92fbcf53809c.png

图5. ADSP-BF548的可能TQ总数配置(速率为1 Mbps,最大传播延迟)

第三步:使收发器/隔离延迟和总线长度与配置相匹配

在帮助CAN控制器实现最佳采样点以后,最后一步是比较允许的传播延迟与使用的CAN收发器/隔离器和总线长度。设ADSP-BF548最佳配置为10 TQ(fSCLK= 50 MHz,BRP = 5),可能实现的最大传播延迟为900 ns。对于集成隔离式电源的ADM3053隔离式CAN收发器,数据手册中的最大环路延迟(TxD关闭,接收器处于非活动状态)为250 ns。必须使其增加一倍(500 ns),以便同时支持总线最远两端的两个节点处的发射延迟和接收延迟。

设电缆传播延迟为5 ns/m,ADSP-BF548可以支持40米的总线长度(根据ISO 11898规范,此为1 Mbps条件下的最大值),ADSP-BF548的位时间总共为10 TQ,TSEG2位段仅1 TQ。实际上,略早的采样点就够了,因为一个节点上的极端收发器传播延迟甚至很可能导致简单的再传输(由数据链路层CAN控制器自动处理),但是,由于CAN控制器I/O与CAN收发器之间存在小延迟,因此建议把采样点配置到尽量靠后的点。

06 结论

隔离有利于提高鲁棒性,但同时也会增加发射和接收两个方向的传播延迟。必须使该延迟增加一倍,以支持两个节点参与仲裁。如果系统允许的传播延迟是固定的,在增加隔离措施之后,可以减少电缆长度或数据速率。另一种方法是重新配置CAN控制器,使其支持最大传播延迟,以保证支持所需的数据速率和总线长度,即使是在节点采取了隔离措施的条件下。

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

    关注

    57

    文章

    2743

    浏览量

    463585
  • 时序
    +关注

    关注

    5

    文章

    387

    浏览量

    37311
  • 局域网络
    +关注

    关注

    0

    文章

    18

    浏览量

    7109
  • CAN收发器
    +关注

    关注

    2

    文章

    165

    浏览量

    25635
  • adm3052
    +关注

    关注

    0

    文章

    3

    浏览量

    1074

原文标题:如何配置控制器局域网络(CAN)位时序实现系统性能优化?

文章出处:【微信号:analog_devices,微信公众号:analog_devices】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    局域网的连接设备有哪些类型

    局域网的连接设备是构建局域网的关键组成部分,它们负责将网络中的各个节点(如计算机、服务、打印机等)连接起来,实现数据的传输和共享。以下是对
    的头像 发表于 10-08 10:33 1207次阅读

    CAN总线控制器的工作原理

    CAN(Controller Area Network,控制器局域网)总线控制器的工作原理涉及多个方面,包括消息传输、冲突检测与解决、总线仲裁等关键机制。以下是对
    的头像 发表于 09-30 11:33 793次阅读

    物联网行业中汽车电子控制系统分享_CAN接口芯片详解

    物联网系统中为什么要使用CAN接口芯片 物联网系统中使用CAN(Controller Area Network,控制器
    的头像 发表于 09-24 14:34 1119次阅读
    物联网行业中汽车电子<b class='flag-5'>控制系统</b>分享_<b class='flag-5'>CAN</b>接口芯片<b class='flag-5'>详解</b>

    SIT2515带SPI接口的独立局域网(CAN)控制器中文手册

    电子发烧友网站提供《SIT2515带SPI接口的独立局域网(CAN)控制器中文手册.pdf》资料免费下载
    发表于 09-02 14:23 0次下载

    用于控制器局域网的可配置错误发生

    电子发烧友网站提供《用于控制器局域网的可配置错误发生.pdf》资料免费下载
    发表于 08-27 09:59 0次下载
    用于<b class='flag-5'>控制器</b><b class='flag-5'>局域网</b>的可<b class='flag-5'>配置</b>错误发生<b class='flag-5'>器</b>

    CAN总线应用常见问题

    CAN控制器局域网络(ControllerAreaNetwork,CAN)的简称,由德国的BOSCH公司开发,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之
    的头像 发表于 08-06 11:52 1040次阅读
    <b class='flag-5'>CAN</b>总线应用常见问题

    CAN BUS芯片静电浪涌击穿整改方案

    在现代电子系统中,CANBus(ControllerAreaNetworkBus,控制器局域网络总线)作为一种常用的通信协议,标准CAN通常指的是C
    的头像 发表于 07-31 08:02 3282次阅读
    <b class='flag-5'>CAN</b> BUS芯片静电浪涌击穿整改方案

    HVDA551-Q1/HVDA553-Q1 5V控制器局域网(CAN)收发数据表

    电子发烧友网站提供《HVDA551-Q1/HVDA553-Q1 5V控制器局域网(CAN)收发数据表.pdf》资料免费下载
    发表于 07-11 10:10 0次下载
    HVDA551-Q1/HVDA553-Q1 5V<b class='flag-5'>控制器</b><b class='flag-5'>局域网</b>(<b class='flag-5'>CAN</b>)收发<b class='flag-5'>器</b>数据表

    低功率网络控制器局域网络(CAN)收发SN65HVD1040-HT数据表

    电子发烧友网站提供《低功率网络控制器局域网络(CAN)收发SN65HVD1040-HT数据表.pdf》资料免费下载
    发表于 07-09 09:14 0次下载
    低功率<b class='flag-5'>网络</b><b class='flag-5'>控制器</b><b class='flag-5'>局域网络</b>(<b class='flag-5'>CAN</b>)收发<b class='flag-5'>器</b>SN65HVD1040-HT数据表

    高速控制器局域网CAN)收发SN75LBC031数据表

    电子发烧友网站提供《高速控制器局域网CAN)收发SN75LBC031数据表.pdf》资料免费下载
    发表于 06-26 10:38 0次下载
    高速<b class='flag-5'>控制器</b><b class='flag-5'>局域网</b>(<b class='flag-5'>CAN</b>)收发<b class='flag-5'>器</b>SN75LBC031数据表

    通过手机APP在局域网内控制继电器演示

    智嵌物联的网络IO控制器可通过手机APP实现局域网内控制。本文档以智嵌的4路网络IO控制器为例,介绍在
    的头像 发表于 05-30 10:20 723次阅读
    通过手机APP在<b class='flag-5'>局域网内控制</b>继电器演示

    CAN控制器局域网)驱动扩展评估板数据手册

    电子发烧友网站提供《CAN控制器局域网)驱动扩展评估板数据手册.rar》资料免费下载
    发表于 04-14 15:29 0次下载
    <b class='flag-5'>CAN</b>(<b class='flag-5'>控制器</b><b class='flag-5'>局域网</b>)驱动扩展评估板数据手册

    基于紫光FPGA的CAN控制器系统架构

    通过用户接口管理配置控制CAN寄存的寻址。向时序模块、
    发表于 04-10 12:18 560次阅读
    基于紫光FPGA的<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b><b class='flag-5'>系统</b>架构

    什么是CAN2.0协议?

    CAN2.0协议是控制器局域网络(ControllerAreaNetwork,CAN)的一种版本,也被称为传统CAN协议,由德国博世BOSC
    的头像 发表于 03-29 08:19 1319次阅读
    什么是<b class='flag-5'>CAN</b>2.0协议?

    如何测试局域网的速度?以及如何优化局域网性能

    如何测试局域网的速度?以及如何优化局域网性能? 如何测试局域网的速度? 局域网(LAN)是指在
    的头像 发表于 01-12 15:57 1.2w次阅读