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

原创 亚德诺半导体 2024-11-13 18:01

控制器局域网络(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收发器。


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


02
传播延迟的影响

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


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


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


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


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


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


图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的数据速率,如粗体所示。这会限制位时序的设置,因此一旦选择某个总线数据速率,只有部分选项可用。


表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。


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


图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控制器,使其支持最大传播延迟,以保证支持所需的数据速率和总线长度,即使是在节点采取了隔离措施的条件下。





👇点击探索ADI“芯”世界

·
·


亚德诺半导体 Analog Devices, Inc.(简称ADI)始终致力于设计与制造先进的半导体产品和优秀解决方案,凭借杰出的传感、测量和连接技术,搭建连接真实世界和数字世界的智能化桥梁,从而帮助客户重新认识周围的世界。
评论
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 70浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 98浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 66浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 83浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 102浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 86浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 41浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 65浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 51浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 37浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦