当前位置:网站首页 > C++编程 > 正文

can通讯入门(can通讯入门书籍)



概述

CAN总线(Controller Area Network)是上世纪80年代开发的一种串行通讯总线。由于其高性能、易用性及高可靠性而被广泛应用于汽车、工业控制等行业。但随着汽车电子、工业自动化的蓬勃发展,总线上的设备数量、通讯数据量都大大增加,使得传统HS-CAN (High Speed CAN)的500kbps(最高1Mbps)传输速率受到了极大的挑战。

在上一期,我们介绍了为应对这种挑战而开发的CANFD总线,以及为了应对振铃问题,英飞凌发布的CANFD SIC信号增强收发器TLE9371系列。本期我们将展望未来,探讨下一代CAN总线的趋势。

市场对下一代总线CANXL的需求

在增加信息传输速率的基础上,现有CAN总线的各种优势也需要得到保留。

在2020年第17届国际CAN大会上CiA协会(CAN in Automation)介绍了第三代CAN通信技术CAN XL (CAN Extra Long)。CANXL是一种高度可扩展的通讯技术,其数据场长度提升至最高2048 byte。物理层仍在开发中,其目标是进一步实现高达10Mbps甚至20Mbps的传输速率。

CANXL协议层

CANXL是对HSCAN和CANFD的进一步扩展,在很大程度上遵循相同的运行原理,即报文仍分为仲裁段和数据段。仲裁段仍使用500kbps至1Mbps的低速率,但数据段的传输速率提升至最高20Mbps。CANXL通过位仲裁机制解决总线的访问权限问题,遵循严格的优先级判定,让更重要的报文得到更短延迟的传输。

在CiA601-1规范中定义了CANXL协议。与以太网相似,CANXL定义了两个数据链路层子层:

如下图,新的LLC帧格式可支持三代CAN协议。

其中,FDF表示这帧报文是经典CAN还是CANFD,FDF选择了CANFD后,就可以额外选择XLF段,进一步表示这帧报文是CANXL。根据协议格式,CANXL有如下几个特点:

1

在HS-CAN和CANFD中,CAN-ID字段(11 位或29 位)用于仲裁和寻址目的。在CANXL中,这些函数是分开的。11位优先级ID子字段(Priority ID)提供了CANXL数据帧的唯一优先级分配,系统工程师需要为数据分配独一无二的优先级ID。

2

32位接受字段AF (Acceptance Field)包含在CANXL控制器的64位硬件接受过滤器中,它可能包含节点地址或内容指示信息,可以用于包含经典CAN的高层协议。

3

服务数据单元类型SDT (Service Data-unit Type)表示这个CANXL帧使用哪个高层协议,它是在ISO7498-4:1998中描述的嵌入式(OSI)层管理信息。可以使用以下类型的定义:

4

虚拟CANID (Virtual CAN network ID)字段允许运行多达256个逻辑网络在一个单一的CANXL网络段。这允许实现由服务数据单元类型确定的多个同构逻辑网络,这个字段可以说是一个嵌入的(OSI)层管理信息,如ISO7498-4:1998所述。

5

数据长度编码DLC (Data Length Code)在CANXL中增加到11位,支持最高2048字节的数据长度。

6

数据链路层安全指示SEC (DLL Security Indication)是一个新的位,表示在数据链路层使用了额外的数据安全协议。

CANXL物理层

CANXL数据帧以两个不同的比特速率传输,类似于CANFD数据帧的传输。低速传输遵循经典CAN仲裁的规则,而数据段则使用高比特率传输。

CANXL网络可以使用符合ISO11898-2:2016的任何类型的收发器,或者CiA601-4中规定的CANFD SIC信号改善收发器(例如英飞凌的TLE9371SJ或TLE9371VSJ)。对于10Mbps以上更高的传输速率,将定义在CiA610系列中新的CANXL-SIC收发器可以胜任。

英飞凌最新一代MCU,TC4系列已经集成CANXL controller。作为CANXL总线的过度方案,CANXL controller (TC4) 搭配CANFD SIC transceiver (TLE9371SJ或TLE9371VSJ) 的方案无需对目前的物理层架构进行更新,即可沿用目前的CANFD SIC收发器进行CANXL的数据传输。虽然此方案的通讯速率无法突破来自CANFD SIC收发器的限制8Mbps,但是通过CANXL协议的最高2048字节的数据场,弥补了CANFD的64字节的限制,大大提升了有效信息的传输效率。

而CANXL controller (TC4) 搭配CANXL SIC transceiver作为CANXL技术的最终标准方案,硬件上要求CAN收发器支持SIC mode和FAST mode的模式转换功能,即支持显性/隐性和level_0/level_1两种总线驱动方式以达到最高20Mbps的传输速率。应用场景上,该方案可满足CAN网络节点大数据传输的需求并且可以弥补CAN与Ethernet之间的速率差距,同时也给CAN与Ethernet之间的数据交互带来更大的便捷性。

下图是使用英飞凌CANXL SIC transceiver (test chip,仅供内部测试使用)发出的一帧CANXL报文物理层信号。在低速的仲裁段,收发器工作在SIC mode,通讯速率使用500kbps;在高速的数据段,收发器工作在FAST mode,通讯速率使用20Mbps。

结语

作为业内主要的车载网络方案供应商,英飞凌有完整的CAN收发器产品家族:

CANFD SIC信号改善收发器TLE9371,补足了产品家族中高带宽及振铃抑制这一部分,能有效降低系统设计成本,简化大型网络的设计难度。该技术从物理层保证CANFD协议得到有效可靠的传输,并且没有副作用,为5Mbps及8Mbps的CANFD应用铺平道路,同时也能作为CANXL总线的过度方案,搭配英飞凌TC4 MCU的CANXL controller,实现”较低”通讯速率(最高8Mbps)的CANXL总线应用。针对未来CANXL SIC收发器,英飞凌已完成相关IP技术储备,将在未来适时推出适合市场应用的CANXL SIC收发器产品。

英飞凌的TLE9371系列CANSIC收发器已在2023上半年实现量产。

到此这篇can通讯入门(can通讯入门书籍)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • plc200定时器指令(plc定时器实例)2025-03-17 16:00:05
  • xpac官网(xpj官网)2025-03-17 16:00:05
  • xdc是什么意思?(xdc是什么意思呢)2025-03-17 16:00:05
  • autoit无法获取的控件(无法获取application)2025-03-17 16:00:05
  • git clone在哪里(git clone在哪里用)2025-03-17 16:00:05
  • kubectl日志(kubectl日志查看)2025-03-17 16:00:05
  • enact翻译(enact翻译成中文)2025-03-17 16:00:05
  • ddpm模型怎么设置粒子(dpm模型incomplete粒子数不为0)2025-03-17 16:00:05
  • cs700改风扇(cs700换风扇)2025-03-17 16:00:05
  • gitclone和直接下载(git clone下载速度慢)2025-03-17 16:00:05
  • 全屏图片