图 1‑8 DB-9连接器(插头)
这个CAN的机械标准可以用于D-sub接口的插头和插座。总线电流从插座流向插头。这遵循了电源在插座处截止的电气工程惯例。采用本标准避免了为将节点连接到同一个D接口而制作定制分离器。非标准(自定义)线束(分离器),在线缆上分离CAN分支,减少总线的可靠性、消除电缆可交换性、减少线束的兼容性并且增加成本。
完整的物理层规范的缺失(电气和机械方面)减少了CAN总线的限制,降低了实现功能时物理层面的复杂度。但它让CAN总线在交互时因为机械原因不兼容。为了提高互用性,许多汽车制造商制定了描述可兼容使用的CAN接收器的一套参数规范。最大寄生电容包括电容本身以及静电保护(ESD)(静电保护在ISO 7637-3中定义)。除了寄生电容、12V和24V系统因为最大电压不同有不同的标准。事实上,在助推启动(jump start)时,轻型车辆的先电压可以达到24V,而卡车系统可以达到36V。新的解决方案,允许同样的组件使用于CAN和CAN FD即将投入市场。
ISO11898-2:2003中的噪声免疫是通过在总线两端使用低电阻值(120欧姆)维持总线两条线间的差分阻抗实现的。然而,当处于休眠状态时,例如CAN总线的低阻值总线会比其他基于电压的信号总线消耗更多电流。在CAN总线系统中,当一条信号线中的电流于另一条反方向电流值一样时,该平衡传输线为接收器提供稳定的0V参考电压。最好的做法是在已经有很嘈杂的射频干扰的汽车内,对CAN总线使用带屏蔽层的双绞线,以尽量减少射频信号的发射,降低干扰的敏感性。
ISO11898-2在发信器和接收器之间提供一定的共模电压免疫。通过一个0V的通路保持节点间的电压关联。此外,在上述的现有机械结构里,包含一个将电力分配到各个节点的收发器的供电轨通道。该设计为所有收发器提供了一个共享的电源。总线上应用的实际电压由使用的收发器决定,并没有统一规范。常见设计是,通过CAN总线为每个与自身节点电气隔离的收发器提供电压驱动5V变压器。这通常提供足够多的冗余度来保证节点间的互用性。 这种网络的典型供电电压在7V到30V之间。但是,通用标准的缺失导致系统的设计者要为供电轨道的兼容性负责。
ISO 11898-2 中描述的电气实施方法构建了一个在总线两端使用终端电阻组成的多站单端平衡线路布局。在这个结构中,显性状态由一个或多个传输器将CAN_L切换至0V,同时将CAN_H切换至5V总线电压来形成通过终端电阻的电流通路。终端电阻在这种信号系统中起到限制高频反射波形的核心作用。
在隐性状态时,信号线和电阻相对于高低轨道保持在高阻抗状态。CAN_H和CAN_L轨道的电压趋向于中立。隐性状态仅在总线上没有任何传输器宣布显性状态时出现。
在显性状态时,信号线和电阻相对于高低轨道变为低阻抗状态,因此电流能够流过电阻。CAN_H电压趋向于5V,同时CAN_L趋向于0V。
不管总线上信号是什么状态,信号线在线缆两端因为电阻的存在,相互之间总是保持低阻抗。
这个信号策略与例如RS-422/3和RS-485等等的其他平衡线路传输技术由显著的不同。RS-422/3和RS-485拥有差分线缆驱动但是差分模式下电压为一正一负。在这样的系统多路通信通常依靠在时域中支持三种状态(高电平有效、低电平有效和不活动三种状态)的介质。在CAN总线上进行多路通信只需要系统的电逻辑支持两个状态,在概念上与“由线缆构成的与门”网络相似。
帧CAN网络可以配置为使用两种不同的消息(或“帧”)格式:标准或基本帧格式(在CAN 2.0 A和CAN 2.0 B中描述)和扩展帧格式(仅由CAN 2.0 B描述)。两种格式之间的唯一区别是,“CAN基本帧”支持标识符长度为11位,“CAN扩展帧”支持标识符长度为29位,由11位标识符(“基本标识符”)和一个18位扩展(“标识符扩展”)组成。CAN基本帧格式和CAN扩展帧格式之间的是通过使用IDE位进行区分的,该位在传输显性时为11位帧,而在传输隐性时使用29位帧。支持扩展帧格式消息的CAN控制器也能够发送和接收CAN基本帧格式信息。所有的帧都以开始位(SOF)作为信息传输的起始。
CAN有4种帧类型:
- 数据帧:包含用于传输的节点数据的帧
- 远程帧:请求传输特定标识符的帧
- 错误帧:由任何检测到错误的节点发送的帧
- 过载帧:在数据帧或远程帧之间插入延迟的帧
数据帧是唯一用于实际数据传输的帧。它有两种信息结构:
基本帧格式:有11个标识符位
扩展帧格式:有29个标识符位
CAN标准要求必须接受基本帧格式并可能接受扩展帧格式,但必须能承受扩展帧格式。
基本帧格式
图 1‑9 带有电平信息的CAN基础帧格式(不包含填充位)
帧格式如下:位值是用于描述CAN-LO信号的。
表 1‑3 帧格式
字段名 | 字长 (位) | 作用 |
起始位(SOF) | 1 | 表示帧的传输开始 |
识别码(ID\green) | 11 | 唯一识别码,同样代表了优先级 |
远程传输请求(RTR\蓝色) | 1 | 数据帧时一定是显性(0),远程请求帧时一定是隐性(1)(详见远程帧章节) |
标志码拓展位(IDE) | 1 | 对于只有11位标志码的基本帧格式,此段一定为显性(0) |
预留位(R0) | 1 | 预留位一定是显性(0),但是隐性(1)同样是可接受的 |
数据长度代码(DLC\黄色) | 4 | 数据的字节数(0-8字节)[a] |
数据段(Data field\红色) | 0–64 (0-8 字节) | 待传输数据(长度由数据长度码DLC指定) |
循环冗余校验(CRC) | 15 | 循环冗余校验 |
循环冗余校验定界码 | 1 | 一定是隐性(1) |
确认槽(ACK) | 1 | 发信器发送隐性(1)但是任何接收器可以宣示显性(0) |
确认定界码(ACK delimiter) | 1 | 一定是隐性(1) |
结束位(EOF) | 7 | 一定是隐性(1) |
从物理上来说,4位的数据长度代码可以传输9-15的值,但是数据段依旧被限制为8位。部分控制器允许传输或接收大于8的DLC值,但是实际数据长度仍然限制在8位。
帧的格式如下表所示:
表 1‑4 拓展帧格式
字段名 | 字长 (位) | 作用 |
起始位(SOF) | 1 | 表示帧的传输开始 |
标志符A(ID A\green) | 11 | 唯一识别码的第一部分,同样代表了优先级 |
替代远程请求(SRR) | 1 | 数据帧时一定是显性(0),远程请求帧时一定是隐性(1) |
标志符拓展位(IDE) | 1 | 对于有29位标志符的拓展帧格式,此段一定为隐性(1) |
标志符B(ID B\green) | 18 | 唯一识别码的第二部分,同样代表了优先级 |
远程传输请求(RTR\蓝色) | 1 | 数据帧时一定是显性(0),远程请求帧时一定是隐性(1)(详见远程帧章节) |
预留位(r1,r0) | 2 | 预留位一定是显性(0),但是隐性(1)同样是可接受的 |
数据长度代码(DLC\黄色) | 4 | 数据的字节数(0-8字节)[a] |
数据段(Data field\红色) | 0–64 (0-8 字节) | 待传输数据(长度由数据长度码DLC指定) |
循环冗余校验(CRC) | 15 | 循环冗余校验 |
循环冗余校验定界符 | 1 | 一定是隐性(1) |
确认槽(ACK) | 1 | 发送器发送隐性(1),任何接收器都可以发送显性(0) |
确认定界符(ACK delimiter) | 1 | 一定是隐性(1) |
结束位(EOF) | 7 | 一定是隐性(1) |
从物理上来说,4位的数据长度代码可以传输9-15的值,但是数据段依旧被限制为8位。部分控制器允许传输或接收大于8的DLC值,但是实际数据长度仍然限制在8位。
两个定位符区域A和B共同组成29位定位符。
远程帧通常数据传输是在数据源节点(例如传感器)发出数据帧的情况下自主执行的。但是,目标节点也可以通过发送远程帧来从信息源请求数据。
数据帧和远程帧之间有两个区别。首先,RTR位在数据帧中作为显性位传输,其次在远程帧中没有数据段。DLC字段表示所请求的消息的数据长度,而不是发送的数据长度。
也就是说:
RTR = 0;数据帧中为显性
RTR = 1;远程帧中位隐性
在数据帧和具有相同标识符的远程帧同时发送的情况下,由于数据帧标识符之后的RTR位是显性,它将赢得仲裁。
错误帧错误帧由两个不同的字段组成:
第一段由不同站点提供的错误标志(6-12个显性位/隐性位)的叠加给出。
接下来的第二段是错误帧定界符(ERROR DELIMITER,8个隐性位)。
错误标志也有两种:
主动错误标志
六个显性位 - 由网络上错误状态为“主动错误”的出错的节点传送。
被动错误标志
表 1‑5 CAN的五种侦测错误机制
循环冗余校验(CRC) | CRC在消息结尾处加上一个FCS(frame check sequence)来确保消息的正确。接收消息端会将其FCS重新演算并与所接收到的FCS比对,如果不相符,表示有CRC错误。 |
Frame check | 检查数据包中几个固定值的字段以验证该数据包是否有被信号干扰导致内容错误。 |
ACK errors | 接收端在收到数据包后会告知发讯端,发讯端若没有收到确认消息,ACK错误便发生。 |
Monitoring | 传输一位到网络上,再从网络读取来检查是否一致。 |
Bit stuffing | 用于消息同步。 |
六个隐性位 - 由网络上错误状态为“被动错误”的出错的节点传送。
CAN有两种错误计数器:
1.传输错误计数器(Transmit error counter,简称TEC)
2.接受错误计数器(Receive error counter,简称REC)
当传输错误计数器TEC或接受错误计数器REC大于127且小于255时,将在总线上传输被动错误帧。
当传输错误计数器TEC或接受错误计数器REC小于128时,将在总线上传输主动错误帧。
当传输错误计数器TEC或接受错误计数器REC大于255时,节点进入主线离线状态,不会传输帧。
过载帧过载帧包含两个位字段:过载标志(Overload Flag)和过载定界符(Overload Delimiter)。有两种过载条件可导致过载标志的传输:
- 接收器的内部条件,要求延迟下一个数据帧或远程帧。
- 中断检测到一个显性位。
由于情况1引起的过载帧只允许在预期中断的第一位时间开始,而由情况2引起的过载帧在检测到显性位后一位开始。过载标志由六个显性位组成,其整体形式与主动错误标志的形式相对应。过载标志的形式破坏了中断区的固定形式。因此,所有其他站点也会检测到过载情况,并在它们自己的部分开始传输过载标志。过载定界符由8个隐性位组成,与错误分隔符的形式相同。
调试机制CAN提供了五种调试机制,使其错误发生率低于4.7×10-11。当一个以上的上述错误发生时,发送中的传输将会失败中止并且产生错误数据包,发讯端则会试着重新发送消息数据包。各个节点将会重新争取优先权。
表 1‑6 CAN的五种侦测错误机制
循环冗余校验(CRC) | CRC在消息结尾处加上一个FCS(frame check sequence)来确保消息的正确。接收消息端会将其FCS重新演算并与所接收到的FCS比对,如果不相符,表示有CRC错误。 |
Frame check | 检查数据包中几个固定值的字段以验证该数据包是否有被信号干扰导致内容错误。 |
ACK errors | 接收端在收到数据包后会告知发讯端,发讯端若没有收到确认消息,ACK错误便发生。 |
Monitoring | 传输一位到网络上,再从网络读取来检查是否一致。 |
Bit stuffing | 用于消息同步。 |
确认插槽用于确认收到的CAN帧有效。接收到帧而没有发现错误的每个节点在ACK槽中发送显性水平,来覆盖发射机的隐性水平。如果发射机在ACK时隙中只检测到隐性电平,它就知道没有任何接收器获得有效的帧。接收节点可以发送隐性信号来指示它没有接收到有效帧,但是确实接收到有效帧的其它节点可以用显性信号覆盖它。发送节点无法知道CAN网络上的是否所有节点都收到了该消息。
帧间内容数据帧和远程帧通过称为帧间空间的区域与前面的帧分开。帧间空间由至少三个连续的隐性(1)位组成。之后,如果检测到一个显性位,它将被视为下一帧的“起始位”。 过载帧和错误帧不比帧间空间重要,并且多个过载帧也不由帧间空间分隔。帧间空间包含了字段中断和总线空闲,并且如果前一消息的发送器是被动错误站点,会将总线暂挂。
位填充图 1‑10 CAN帧在填充位之前和之后(紫色)
传输器会在相同极性的五个连续位之后插入一个相反的极性的位,以确保足够的转换来保持同步。这种做法被称为位填充,并且对于CAN这样的不归零(NRZ)编码是必要的。填充的数据帧由接收器去掉填充。
除了CRC定界符,ACK字段和结束位这样固定字长的区域之外,帧中其他所有字段都会被填充,这些字段是固定大小且未被填充。在使用位填充的字段中,具有相同极性的六个连续位(111111或000000)被视为错误。 当检测到错误时,节点可以发送主动错误标志。主动错误标志由六个连续的显性位组成,违反了位填充规则。
位填充意味着数据帧可能比上述表中列举的预期的要长。CAN帧(基本格式下)的最大尺寸的情况是
11111000011110000...
被填充为:(填充位用粗体显示)
111110000011111000001...
填充位本身可能成为五个连续相同位中的第一个,所以在最坏的情况下,每四个原始位有一个填充位。
长度由下面公式给出:
其中是填充前帧的长度,在最坏情况下,原数据除了第一个4位后,在每个4位后增加一位(所以分子减去1),同时由于位的结构,固有的47位中只有34位能够被填充。
CAN低层标准ISO 11898系列规定了用于道路车辆的CAN串行通信技术的物理层和数据链路层(ISO/OSI模型的第一和第二层),支持分布式实时控制和多路复用。
有如下几个CAN物理层及其他层的标准:
ISO 11898-1:2015规定了控制器局域网(CAN)的数据链路层(DLL)和物理信令。[15]该文档根据ISO/IEC 7498-1中创建的开放系统互连(OSI)的ISO参考模型,描述了CAN总线层级通用架构,并提供了在模块之间创建数字信息交换实现CAN数据链路层的特性,和逻辑链路控制(LLC)次层和介质访问控制(MAC)次层的详细参数。
ISO 11898-2:2003规定了高速(传输速率高达1 Mbit / s)介质访问单元(MAU)和一些介质相关接口(MDI)特性(根据ISO 8802-3),共同组成了控制局域网的物理层。ISO 11898-2使用双线平衡传输线信令体系,是车用动力总成应用和工业控制网络中最常用的物理层。
ISO 11898-3:2006规定了在道路车辆电子控制单元之间创建的低速、容错、依赖介质的接口的数字信息交换设置,其传输速率在40kBit/s至125kBit/s之间。
ISO 11898-4:2004规定了在CAN中的时间触发通信(TTCAN)。它适用于在配备CAN的道路车辆的电子控制单元(ECU)之间创建时间触发的数字信息交换,并且根据ISO11898-1规定了与逻辑链路和介质访问控制协调的帧同步,提供了时间触发的通讯时间表。
ISO 11898-5:2007规定了道路车辆内传输速率高达1 Mbit/s的CAN网络物理层。它根据ISO 8802-2描述了介质访问单元的功能以及一些与介质相关的接口功能。它是ISO 11898-2的扩展,应对没有主动主线通讯但是要求低功耗特性的系统。
ISO 11898-6:2013规定了道路车辆内传输速率高达1 Mbit/s的CAN网络物理层。它根据ISO 8802-2描述了介质访问单元的功能以及一些与介质相关的接口功能。它是ISO 11898-2和ISO 11898-5的扩展,描述了一种可选的,利用可配置的CAN网络帧的选择性唤醒机制。
ISO 16845-1:2004提供了用于检查CAN是否符合ISO 11898-1规定所必需的方法和简要测试包。
ISO 16845-2:2014设立测试案例和测试要求,验证具有选择性唤醒功能的CAN收发器是否符合指定的功能。ISO 16845-2:2014中定义的测试类型称为一致性测试。
基于CAN的高层协议由于CAN标准不包括例如数据流量控制、设备寻址、传输多条消息的数据块和应用数据等应用层协议的工作,许多高层协议被指定出来。 尽管这些协议都能被制造商扩展,但其中只有几个为商用领域标准化。对于乘用车,每个制造商都有自己的标准。 其中包括:
标准化的方法- ARINC 812或ARINC 825(航空工业)
- CANopen - EN 50325-4(工业自动化技术)
- DeviceNet(工业自动化技术)
- EnergyBus - CiA 454(轻型电动汽车)
- ISOBUS - ISO 11783(农用机械)
- ISO-TP - ISO 15765-2(机动车诊断用传输协议)
- SAE J1939(公车和卡车的车用网络)
- MilCAN
- NMEA 2000 - IEC 61162-3(航海工业)
- 统一诊断服务(UDS) - ISO 14229 (汽车诊断)
- CANaerospace - Stock (航空工业)
- CAN Kingdom - Kvaser (嵌入式系统)
- CCP/XCP(汽车ECU校正校准)
- GMLAN - General Motors(通用汽车)
- RV-C - RVIA(娱乐用载具)
- SafetyBUS p - Pilz(工业自动化技术)
- UAVCAN(航空航天及机器人)
CAN是低级协议,不支持任何内在的安全功能。在标准的CAN中也没有加密,这使得这些网络数据能被截取。在大多数应用中,应用程序需要部署自己的安全机制,例如认证传入命令或网络上某些设备的存在。若不执行适当的安全措施,其他人可能设法在总线上插入消息。 尽管一些安全关键功能(如修改固件,编程键或控制防抱死制动)存在密码,但这些系统并未普遍实施,并且密钥对的数量有限。
开发工具在开发CAN总线或排除故障时,检查硬件信号非常重要。可以使用逻辑分析仪和总线分析仪来收集、分析、解码并储存高速波形信号。此外,还有CAN总线监视器及其它特殊工具。
CAN总线监视器是一个分析工具,通常是硬件和软件的组合,用于开发使用在CAN总线上的硬件。
通常,CAN总线监视器将监听CAN总线上的通信量,以便将其显示在自身的用户界面中。它通常也能将CAN帧发送到总线来模拟CAN总线活动。 因此,CAN总线监视器可用于验证来自待测设备的预期CAN流量或模拟CAN流量以验证测试设备连接到CAN总线时的反应。
许可博世公司拥有该技术的专利,生产兼容CAN的微处理器的制造商需要向博世公司支付许可费,这些费用通常加在芯片价格中传递给客户。 生产兼容CAN的定制特殊应用积体电路(ASICs)或现场可编程逻辑门阵列(FPGA)模块的制造商需要为CAN协议许可证支付费用。
LIN总线原理LIN(Local Interconnect Network的简称,中译是区域互联网络),是应用在汽车内零组件之间通讯的串列网络传输协议。由于汽车上的技术及设备渐渐增加,需要低价的串列网络,而控制器局域网络(CAN)的成本太高,无法在车上的每一个设备中都装设。欧洲汽车制造商开始使用不同的串列通讯技术,因此出现彼此无法相容的问题。
在1990年代末期,由BMW、大众集团、奥迪、富豪汽车及梅赛德斯-奔驰这五家车厂开始了LIN Consortium,也有从Volcano汽车集团及摩托罗拉而来的软件及硬件协助。第一个完全实现的新LIN协定(LIN version 1.3)是在2002年11月发布。在2003年9月发布了2.0版,增加了额外的诊断功能。若是配合特制的LIN over DC power line(DC-LIN)收发器,LIN也可以用在汽车车池的电力线通信。LIN over DC power line(DC-LIN)的相关标准是ISO/AWI 17987-8。ISO技术管理委员会(ISO Technical Management Board,ISO TMB)已指定CAN in Automation为依照ISO 17987的LIN供应商ID的注册机构。
LIN是低成本的串列通讯协定,可以有效支援车内网络的远程应用。LIN特别适用在分散在汽车不同位置的机械式节点,也适用于工业应用。LIN设计时是和CAN网络互补,组成车内的阶层式网络。
LIN Consortium是在1990代末期组成的,组成成员是五家欧洲车厂,以及明导国际(以前的Volcano车辆集团)及飞思卡尔(之前的摩托罗拉,现在已并入恩智浦半导体)。新的LIN规范中,第一个完全实现的版本是在2002年11月发布的LIN 1.3版。在2003年9月提出了2.0版,扩充了组态能力,以及额外的诊断机能以及工具界面。
协定的主要特点如下:
- 单一主站,最多16个从站(没有总线仲裁的过程)。这是LIN Consortium强调的特点,以达到确定性的时间反应。
- 从站节点位置侦测(Slave Node Position Detection、SNPD),可以在送电后才指定节点的位址。
- 单线通讯,在长度40米时,可以到19.2 kbit/s[8][10]。在LIN规范2.2中,速率最高可到20 kbit/s。
- 可确保的延迟时间。
- 可变长度的资料页框(2, 4及8字节)。
- 可变动的组态。
- 多播接收的时间同步。设备电路的时脉不需非常准确。不需要晶振(crystal)或是陶瓷振荡器。
- 资料检查码以及错误检测。.
- 可以检测故障的节点。
- 以标准UART/SCI(串列通讯界面)为基础的电路,低成本的方案。
- 可以建立阶层式的网络
- 工作电压为12 V。
信息是透过可变长度,固定格式的讯息来在网络上传播。主站会送出标头(header)资料,其中包括同步间隔(Synchronization break)信号,之后是同步字段以及识别符(ID)字段。从站回应资料页框(frame),其中包括2个、4个或8个字节的资料,再加上3个字节的控制资讯。
LIN讯息页框,讯息包括以下的字段:
- 同步间隔(Synchronization break)
- 同步字节
- 识别符(ID)字节
- 资料字节
- 检查码字节
- 页框种类
无条件页框(Unconditional frame):会带有讯号,其识别符会在0到59之内。所有无条件页框的收听节点都要接收此页框,若没有错误的话,其应用程序需处理对应的内容。
事件驱动页框(Event-triggered frame):其目的是增加LIN节点的反应能力,不需要为了偶尔出现的讯号而用轮询的方式向各节点确认,消耗网络的带宽。无条件页框的第一个字节需和某个事件驱动页框的保护识别符(PID)相同。从站只有在其数值变化时才需要回应对应的无条件页框。若没有节点回应,该页框的剩余时间没有信号,会忽略该标头资料。若不止一个节点回复,此页框时间会出现资料碰撞,主站需处理碰撞的情形,在下一次提出事件驱动页框前需要先请求所有相关的无条件页框。
偶发页框(Sporadic frame):此页框是在主站有需要时,由主站发出,因此不会有碰撞。只有在主站知道某页框的资料有变化时,才会在对应的页框时间区间内送出偶发页框的标头。偶发页框的发送者需要回应标头的资料。
诊断页框(Diagnostic frame):其中包括诊断或是组态的资讯,长度8字节,识别符是60(主站请求页框)或61(从站回应页框)。主站在产生诊断页框的标头之前,需要先问诊断模组是否应送诊断资料,以及网络上是否应有资讯。从站也会接收这些资料,依照其诊断模组的讯息回应资讯,
自定页框(User-defined frame):可以包括任何资讯。其识别符是62。当处理了指定给该页框的页框时间区间时,会送出指定页框的标头。
保留页框(Reserved frame):LIN 2.0 cluster不会使用,其识别符是63。
LIN硬件LIN规范就是为了设计在网络中很低价的硬件节点所开发。LIN设备是以ISO 9191为基础的低成本、单线网络。以现今的汽车网架构来看,会使用有UART能力,或是有专门LIN硬件的微控制器。
微控制器会产生通讯协定、同位元等LIN通讯需要的所有资料,透过LIN收发器(可能只是电压转换,再加上一些机能)
LIN的从站节点越便宜越好,因此其时脉可能不是用石英晶体谐振器或陶瓷谐振器,而是用RC振荡器产生时脉。为了确保LIN页框内波特率的稳定性,页框中会有SYNC(同步)的字段。
LIN通讯协定LIN主站会依照一个或是几个事先定义的排程表,在LIN网络上开始传送或是接收讯息。排程表中至少会包括各讯息开始发送的相对时序。 LIN页面由两部分组成:标头(header)及回应(response)。标头是由LIN主站送出,回应可能由特定的LIN从站送出,或是由LIN主站本身送出。
LIN是用串列的方式传送资料,一个字节中有八个位元,一个启始位元,一个结束位元,无同位元检查(break字段没有启始位元及停止位元)。位元率的范围最慢到1 kbit/s,最快到20 kbit/s。 在网络上的资料可以分为隐性(recessive,逻辑上的高准位)及显性(dominant,逻辑上的低准位) 其时间基础是由LIN主站的稳定时脉来源来决定,最小的单位是1位元时间(52 µs @ 19.2 kbit/s)。
LIN协定上,有列出两种网络上的状态:睡眠状态及活跃状态。在LIN网络上有资料时,所有的LIN节点都进入活跃状态。在一定时间的逾时时间后,节点会进入睡眠状态,若有唤醒页框(WAKEUP frame)时才会回到活跃状态。 唤醒页框可以由网络上任何一个节点发起,可以是LIN主站依照其内部时程发起。也可以是LIN从站由其固件所产生。 在所有节点都活跃之后,主站会继续下一个识别符的排程。
1)标头
2)标头(header)包括五部分:
3)间隔(BREAK)
间隔字段会活化所有的LIN从站,预备接收后续标头的内容。其字段包括一个启始位元以及数个显性位元,长度至少是11个位元时间,目前使用的标准,其长度是13个位元时间,和基本的资料格式不同。间隔字段是在主时脉可以和各LIN节点时脉不同时(但差异在一定范围内时),确保所有接收的LIN节点可以侦测到表示开始通讯的间隔字段,这不是标准的资料格式,其数值均为0。
同步(SYNC)
同步字段是标准的资料格式字节,数值是十六进制的0x55(高位元及低位元轮流变化) 。使用RC振荡器的LIN从站可以用一定数量上升缘及下降缘的时间差,计算网站上的位元时间(主站的time normal),并且重新计算内部的位元率。
字节间隔(INTER BYTE SPACE)
字节间隔是用来调整网络上的jitter,是LIN规范中可选择的项目。若启动的话,所有LIN模组都要支援此一机能。字节间隔出现在间隔字段和同步字段之间、同步字段和识别符字段之间、同步字段和识别符字段之间、酬载(不考虑通讯协定,实际要传输的资料)字段和检查码字段之间。在酬载字段的每一个字节之间也要有字节间隔。
识别符(IDENTIFIER)
识别符定义一个到多个LIN从站节点要进行的动作。网络设计者需在设计阶段实现故障树的机能(在一个页框时间内,只允许一个从站传送资料)。在标题中的识别符会再加上二位元的检查位元,即为受保护的识别符(PID)。若识别符让一个实体的LIN从站传送回应资讯,此识别符称为Rx识别符。若识别符让LIN主站的从站任务送出资讯,此识别符称为Tx识别符。
回应间隔(RESPONSE SPACE)
是识别符字段和LIN回应讯息中第一个字节之间的间隔时间。当特定的LIN页框(标头及回应)由LIN主站传送完毕,LIN主站会用完整的回应间隔间来计算何时要再送出回应资料。若回应是由另外一个LIN从站送出,主站及从站点会在其逾时时间的计算上,各自处理50%的回应间隔。
回应
回应是由LIN从站任务产生(可能是实体从站,也可能是主站的从站任务),分为资料及校验和。
资料
回应的从站可以送零个到八个字节到网络上,资料数量由应用程序设计者决定,对应LIN从站应用程序中相关的资料。
检查码(CHECKSUM)
LIN有二种检查码模式,一种检查码只包括资料字段(V1.3 之前的规范),另一种也包括识别符(V2.0之后的规范)。由应用程序的设计者事先定义要用的检查码模式。
从站节点位置侦测试(SNPD)或自动定址
从站节点位置侦测试(Slave node position detection, SNPD)或自动定址(autoaddressing)的技术可以侦测LIN网络上各从站节点的位置顺序,并给予节点不重复的节点位址(unique node address、NAD),好处是可以让同一类或是类似的设备可以直接连接到网络,不需要另外修改程式
限制:
所有需要自动定址的从站,需要在同一条网络线上(若是不需要自动定址的标准从站,接线就不受限制)。
表 1‑7 从站节点位置侦测试(SNPD)
SNPD方法 | SNPD方法ID | 公司 |
外部接线菊花链(Extra wire daisy chain) | 0x01 | 恩智浦半导体(以前的菲利浦) |
总线分流法(Bus shunt method) | 0x02 | Elmos Semiconductor |
保留 | 0x03 | 还不确定 |
保留 | 0x04 | 还不确定 |
保留 | 0xFF | 还不确定 |
外部接线菊花链
外部接线菊花链(Extra wire daisy chain,XWDC)的方案中,每一个从站设备需要多提供一个输入脚D1,以及一个输出脚D2。
第一个SNPD节点的输入脚D1接到GND,或是接到主站的输出脚。
第一个SNPD节点的输出脚D2,接到第二个SNPD节点的输入脚D1,以及类推。
每一个组态脚Dx(x=1-2)有以下额外的机能来进行位置侦测:
可以切换的上拉电阻,电阻另一端连接Vbat;下拉到GND;有比较器,电压准位是Vbat/2;总线分流法;总线分流法(Bus shunt method,BSM)的从站设备中,有二个LIN节点;bus_in;bus_out;每一个节点需增加以下电路,进行位置侦测的机能。可以切换的上拉电阻。可以切换的,从Vbat提供的2 mA电流源。分流电阻;差动放大器;类比—数位转换器;在EP 1490772 B1及US 7091876的专利中,有提到BSM的自动定址技术。
1.3.1 LIN的优点- 方便使用
- 元件容易取得
- 比CAN或其他的通讯网络要便宜
- 减少线束
- 可以让车辆更可靠
- 网络延伸很容易
- 不需通讯协定的权利金
LIN的目的不是为了完全取代CAN网络。不过若价格是主要考量,较没有速度及带宽上的需求时,LIN是很适合的替代方案。一般来说,LIN会用在车辆中对性能或安全性较不要求的子系统,以下是一些例子。
1.3.2 应用表 1‑8 LIN应用的例子
应用场合 | LIN应用的例子 |
车顶 | 感测器、光感测器、光线控制、天窗 |
方向盘 | 巡航控制、刮水器、方向灯、温湿度控制、收音机,方向盘锁 |
座椅 | 座椅调整马达、乘员感测器、控制面板 |
引擎 | 感测器、小马达、冷却风扇马达 |
温湿度 | 小型马达、控制面板 |
门 | 后视镜、中控ECU、后视镜开关、车窗升降器、座椅控制开关、门锁 |
照明 | 窗台板的RGB LED照明 |
LIN网络中的位址是透过NAD(Node ADdress、节点位址)来实现,NAD是PID(protected identifier、受保护识别码)的一部分。NAD的值有7位元,其范围从1到127 (0x7F)
1.3.4开发工具在开发LIN网络或是除错时,硬件讯号的检查格外的重要。逻辑分析仪及通讯分析仪可以搜集、分析、解码通讯讯号并加以储存,方便开发及除错使用。
MOST 光学总线系统原理MOST(面向媒体的系统传输)是一项由汽车行业优化的高速多媒体网络技术。它可以用于车内或车外的应用。串行MOST总线使用菊花链拓扑或环形拓扑和同步数据通信,通过塑料光纤(POF)(MOST25、MOST150)或电导体(MOST50、MOST150)物理层传输音频、视频、语音和数据信号。
MOST技术几乎被用于全球所有的汽车品牌,包括奥迪、宝马、通用汽车、本田、现代、捷豹、蓝旗亚、路虎、梅赛德斯-奔驰、保时捷、丰田、大众、萨博、斯柯达、SEAT和沃尔沃。SMSC和MOST是标准微系统公司("SMSC")的注册商标,现在由微芯科技拥有。
1.4.1通信的原则MOST规范定义了物理层和数据链路层,以及数据通信的ISO/OSI-Model的所有七个层。标准化的接口简化了MOST协议在多媒体设备中的集成。对于系统开发者来说,MOST主要是一个协议定义。它为用户提供了一个标准化的接口(API)来访问设备功能。通信功能由被称为MOST网络服务的驱动软件提供。MOST网络服务包括基本层系统服务(第3、4、5层)和应用插座服务(第6层)。它们处理基于物理层的MOST网络接口控制器(NIC)和API(第7层)之间的MOST协议。
1.4.2 MOST网络一个MOST网络能够在一个环形配置中管理多达64个MOST设备。即插即用的功能使MOST设备很容易被连接和移除。MOST网络也可以设置为虚拟星形网络或其他拓扑结构。安全关键应用使用冗余的双环配置。集线器或交换机也是可能的,但它们在汽车领域并不完善。
在MOST网络中,一个设备被指定为定时主站。它的作用是为环形网络持续提供MOST帧。在帧传输开始时,会发送一个前奏。其他设备被称为定时跟随者,使用序言进行同步。基于同步传输的编码,允许定时跟随者持续进行后同步。
1.4.3 MOST25MOST25为光物理层上的流媒体(同步)以及封装(异步)数据传输提供了大约23兆波特的带宽。它被分成60个物理通道。用户可以选择和配置通道,将其分为每组四个字节。MOST25为物理通道的分配(和取消分配)提供许多服务和方法。MOST25支持多达15个具有CD质量的未压缩立体声音频通道或多达15个用于音频/视频传输的MPEG-1通道,每个通道使用四个字节(四个物理通道)。MOST还提供一个用于传输控制信息的通道。44.1 kHz的系统频率允许705.6 kbit/s的带宽,使每秒可以传输2670条控制信息。控制信息用于配置MOST设备和配置同步和异步数据传输。系统频率紧跟CD标准。参考数据也可以通过控制通道传输。
一些限制因素将MOST25的有效数据传输率限制在大约10 kB/s。由于协议的开销,应用程序在分段传输时只能使用32个字节中的11个,一个MOST节点在任何时候都只能使用控制通道带宽的三分之一。
1.4.4 MOST50MOST50将MOST25系统的带宽增加了一倍,帧长增加到1024比特。MOST25的三个既定通道(控制信息通道、流媒体数据通道、分组数据通道)保持不变,但控制通道的长度以及同步和异步通道之间的分段是灵活的。尽管MOST50被指定为支持光学和电气物理层,但现有的MOST50智能网络接口控制器(INIC)只支持通过三根铜导线配置进行电气数据传输;包括一个非屏蔽双绞线(UTP)组和一条额外的控制线。额外的控制线以平行的 "单一共享总线 "配置连接到每个MOST50网络设备。在这种配置中,每个MOST50设备将包含五个铜线连接。控制线(用于从主站发送的信号)和两套UTP(每套包含D D-)。一套用于数据输入(从网络环上的前一个设备输出),另一套用于数据输出到环上的下一个设备。与光纤对应的设备一样,任何和所有的网络操作都需要关闭或完成环路(在始发设备处终止)。
1.4.5 MOST150MOST150于2007年10月推出,提供了一个物理层来实现汽车上的以太网。它将帧长增加到3072比特,大约是MOST25带宽的6倍。除了MOST其他等级的三个既定通道(控制信息通道、流媒体数据通道、分组数据通道)之外,它还集成了一个带宽可调的以太网通道。MOST150还允许在同步通道上进行等时传输。尽管同步数据的传输需要MOST帧率所规定的频率以外的频率,但用MOST150也可以实现。
MOST150的先进功能和增强的带宽将使多路网络基础设施能够在整个汽车中传输所有形式的信息娱乐数据,包括视频。
物理层数年来,光传输层已被广泛用于汽车应用中。它使用核心直径为1毫米的塑料光纤(POF)作为传输介质,与红色波长范围内的发光二极管(LED)相结合作为发射器。MOST25只使用一个光学物理层。MOST50和MOST150同时支持光学和电气物理层。
1.4.6 POF的主要优点。- 高数据率传输
- 与屏蔽的电气数据线相比,更轻,更灵活
- 符合严格的EMC要求
- 不会造成任何干扰辐射
- 对电磁干扰辐照不敏感
MOST合作组织成立于1998年,是由汽车制造商、设备制造商、系统架构师和关键部件供应商组成的伙伴关系。他们的目标是定义和采用一个共同的多媒体网络协议和应用对象模型。作为他们努力的结果,MOST技术已经成为实现当前和未来汽车多媒体网络要求的全球标准[2] 。
1.4.8基础设施多年来,MOST合作组织已经发布了MOST总线的规格。然而,这些规范并不包括数据链路层的细节。2008年3月,SMSC(原OASIS SiliconSystems)--第一个MOST网卡的发明者--和Harman/Becker宣布,他们将在收取版税的基础上向其他半导体公司开放并授权其专有的数据链路层知识产权。目前,MOST芯片解决方案可从SMSC、Analog Devices和一些FPGA核心公司获得。开发工具由K2L、Ruetz System Solutions、SMSC、Vector Informatik GmbH和Telemotive AG提供。
1.4.9竞争性标准BroadR-Reach已经占据了信息娱乐系统的汽车通信总线网络的一大块。首先是100 Mbit/s,然后是1 Gbit/s,现在是10 Gbit/s的域控制器主干链路。
IEEE 1355有一个切片(网络介质和速度的组合)TS-FO-02,用于以200兆比特/秒运行的聚合物光纤。该规范比MOST更快,经过良好的测试,并且是开放的。然而,它缺乏行业倡导者。
以太网更标准,速度更高,同样具有抗噪音能力,是差分的,并通过变压器隔离。然而Cat 5电缆对于汽车应用来说可能太昂贵了。另外,标准的Cat-5插头不能抵抗振动。薄薄的金层很快就会被磨掉,然后腐蚀导致故障。存在坚固的 "标准 "连接器,它能使连接器保持稳定,但价格更贵。[3] 由于CAT5的限制,光纤以太网似乎是一个可能的解决方案,但以太网是异步的,而MOST是同步的。
CAN(控制器区域网络)、LIN(本地互联网络)和其他汽车OBD标准都不适合,因为它们的速度太慢,无法传输视频。
FlexRay,也是一个汽车总线标准,虽然比CAN快,但用于时间关键的应用,如线上驱动而不是媒体。
FlexRay总线原理FlexRay是一个由FlexRay联盟开发的汽车网络通信协议,用于管理车载计算。它被设计为比CAN和TTP更快、更可靠,但它也更昂贵。FlexRay联盟于2009年解散,但FlexRay标准现在是一套ISO标准,即ISO 17458-1至17458-5。
FlexRay是一种通信总线,旨在确保高数据率、容错、按时间周期运行,分为静态和动态段,用于事件触发和时间触发的通信。
1.5.1特点FlexRay支持高达10Mbit/s的数据速率,明确支持星形和 "Party Line "总线拓扑结构,并且可以有两个独立的数据通道用于容错(如果一个通道不能工作,通信可以在降低带宽的情况下继续进行)。总线在一个时间周期内运行,分为两部分:静态段和动态段。静态段被预先分配到各个通信类型的片断中,提供比其前身CAN更强的确定性。动态段的操作更像CAN,节点在可用时对总线进行控制,允许事件触发的行为。
1.5.2联合成员FlexRay联盟是由以下核心成员组成的。
- -飞思卡尔半导体公司
- -罗伯特-博世公司
- -恩智浦半导体
- -宝马公司
- -大众汽车公司
- -戴姆勒公司
- -通用汽车公司
FlexRay联盟还有高级准成员和准成员。到2009年9月,共有28个高级准会员和60多个准会员。2009年底,该联盟解散了。
1.5.3 商业部署第一辆采用FlexRay的量产车是在2006年底在宝马X5(E70)上,[4] 实现了新的快速自适应减震系统。2008年,在新的宝马7系(F01)中全面采用了FlexRay。
车辆
- -奥迪A4(B9)(2015-) 。
- -奥迪A5(F5)(2016-) 。
- -奥迪A6(C7)(2011-2018) 。
- -奥迪A7
- -奥迪A8(D4)(2010-2017) 。
- -奥迪Q7 (2015-)
- -奥迪TT Mk3 (2014-)
- -奥迪R8(2015-)
- -宾利飞驰(2013-2019)
- -宾利慕尚(2010-) 。
- -宝马X5(E70)(2006-2013) 。
- -宝马X6(E71)(2008-2014) 。
- -宝马1系
- -宝马3系
- -宝马5系(2009-2017) 。
- -宝马6系(2011-2018) 。
- -宝马7系(2008-2015) 。
- -兰博基尼Huracán
- -梅赛德斯-奔驰S级车(W222)(2013-2020) 。
- -梅赛德斯-奔驰S级车(C217)(2014-2020) 。
- -梅赛德斯-奔驰E级车(W212)(2013-2016) 。
- -梅赛德斯-奔驰C级车(W205)
- -劳斯莱斯幽灵(2009-) 。
- -路虎
- -沃尔沃XC90(2015-) 。
FlexRay系统由一个总线和ECU(电子控制单元)组成。每个ECU都有一个独立的时钟。时钟漂移必须不超过参考时钟的0.15%,因此系统中最慢的时钟和最快的时钟之间的差异不超过0.3%。
这意味着,如果ECU-s是一个发送器,ECU-r是一个接收器,那么发送器的每300个周期就会有299到301个周期的接收器。时钟重新同步的频率足以保证这不会造成任何问题。时钟在静态段中发送[15]。
1.5.5总线上的位每次,只有一个ECU向总线写入。每个要发送的位在总线上保持8个采样时钟周期。接收器保留最后5个样本的缓冲区,并使用最后5个样本的大部分作为输入信号。
单周期传输错误可能会影响靠近比特边界的结果,但不会影响8周期区域中间的周期。
1.5.6采样位位的值是在8位区域的中间位置采样的。误差被移到极端周期,时钟同步的频率足以使漂移很小。(漂移小于每300个周期1个周期,在传输过程中,时钟每300个周期同步一次以上)。
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
在没有错误的情况下进行正确的平均化。信号只是被延迟了2个周期。
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
消除了 8 周期区域中间附近的错误。
0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
8 周期区域边界附近的错误可能会影响边界位。
1.5.7帧所有的通信都以帧的形式发送。信息由字节组成,按以下方式打包。
- -传输开始信号(TSS)--位0
- -帧开始信号(FSS)--位1
- m次.
- -字节启动信号0(BSS0)--位1
- -字节启动信号1(BSS1)--位0
- -第i个字节的第0位
- -第i个字节的第1位
- -第i个字节的第2位
- ...
- -第i个字节的第7位
- -帧结束信号(FES)--第0位
- -传输结束信号(TES) - 第1位
如果没有任何通信,总线保持在状态1(高电压),所以每个接收器都知道,当电压下降到0时,通信开始了。
接收者通过检查是否收到BSS0(1)或FES(0)来知道信息何时完成。
请注意,每比特8周期与字节无关。每个字节需要80个周期来传输。16个用于BSS0和BSS1,64个用于其位。还要注意,BSS0的值为1,BSS1的值为0。
1.5.8时钟同步化如果接收器处于空闲状态或期待BSS1,当投票信号从1变为0时,时钟将重新同步。
由于同步是在投票信号上进行的,在同步过程中影响边界位的小的传输错误可能使同步的偏差不超过1个周期。由于同步之间最多只有88个周期(BSS1,最后一个字节的8位,FES和TES--11位,各8个周期),而时钟漂移不大于每300个周期1次,漂移可能使时钟偏移不超过1个周期。在接收过程中,小的传输错误可能只影响边界位。所以在最坏的情况下,两个中间位是正确的,因此采样值也是正确的。
下面是一个特别糟糕的例子--同步过程中的错误,由于时钟漂移而丢失的周期和传输中的错误。
表 1‑9 同步过程例子
Signal to be sent | 1 | 0 | 1 | 0 | 1 | |||||||||||||||||||||||||||||
Signal sent | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
On the bus | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
Received | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | X | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
5-maj voted | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | X | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
在这个例子中发生的错误。
由于同步过程中的一个单比特错误,同步被推迟了1个周期
接收器时钟比发送器时钟慢,所以接收器错过了一个周期(标记为X)。由于最大允许的时钟漂移的限制,这种情况在下一次同步之前不会再发生。
由于传输过程中出现了一个单比特错误,在结果附近投错了一个比特。
尽管有这么多错误,但通信的接收是正确的。
绿色单元格是采样点。除了第一个之外,其他都是由所示传输片段中的1->0边沿同步的。
1.5.9开发工具在开发和/或排除FlexRay总线的故障时,对硬件信号的检查可能非常重要。逻辑分析仪和总线分析仪是收集、分析、解码、存储信号的工具,人们可以在闲暇时查看高速波形。
1.5.10 FlexRay的未来在带宽密集型、非安全关键型应用中,以太网可能会取代FlexRay。
CAN-FD总线原理CAN FD(Controller Area Network Flexible Data-Rate)是一个数据通信协议,通常用于在电子仪表和控制系统的不同部分之间的两线互连上广播传感器数据和控制信息。该协议被用于现代高性能汽车中。CAN FD是对ISO 11898-1中规定的原始CAN总线协议的扩展。
超频部分框架和超大有效载荷的基本想法可以追溯到1999年。2011年由博世开发并在2012年发布的CAN FD[3] 是为了满足将数据传输率提高到5倍的需要,并在现代汽车电子控制单元(ECU)中使用更大的框架/消息尺寸。与经典的CAN一样,CAN FD协议被设计用来可靠地传输和接收传感器数据、控制命令,并检测电子传感器设备、控制器和微控制器之间的数据错误。尽管CAN FD主要是为高性能汽车ECU设计的,但经典CAN在不同行业的普及将导致这一改进的数据通信协议也被纳入其他各种应用中,例如用于机器人、国防、工业自动化、水下车辆、医疗设备、航空电子设备、井下钻井传感器等的电子系统。
CAN FD与经典CAN的比较传统的CAN(控制器区域网络)和CAN FD之间的主要区别是灵活数据(FD)。使用CAN FD,电子控制单元(ECU)可以动态地切换到不同的数据速率和更大或更小的信息尺寸。CAN FD的增强功能包括根据需要动态地选择和切换到更快或更慢的数据速率,并在同一CAN帧/消息中打包更多的数据,在更短的时间内通过CAN总线/网络进行传输。与传统的CAN相比,更快的数据速度和更多的数据容量增强导致了一些系统操作的优势。使用CAN FD,传感器和控制数据可以由ECU(电子控制单元)软件更快地发送和接收。由执行中的ECU软件发出的命令能更快地到达输出控制器。CAN FD通常被用于现代汽车的高性能ECU中。一辆现代汽车可能有70多个ECU,当发动机运转或车辆行驶时,它们使用CAN FD在CAN总线上交换信息。
再CAN FD中,可以使用11位标识符(FDBF FD基本框架格式)或29位标识符(FEFF FD扩展框架格式)。在每个CAN帧/消息中,消息的有效载荷大小已经增加到64字节,而在传统的CAN帧中只有8字节。帧是以二进制比特模式的序列传输的信息。再CAN FD中,数据速率(即每秒传输的比特数)比传统的CAN快5到8倍(仅数据有效载荷为5到8Mbit/s,为了兼容,仲裁比特率仍被限制在最大1Mbit/s)。
数据速率取决于总线网络的拓扑结构和使用的收发器。CAN FD协议规范还包括一些其他的增强功能,如更好地检测接收到的CAN报文中的错误,以及在需要时,执行软件可以灵活地动态选择(从一个列表中)并切换到更快或更慢的数据传输速率。再CAN FD总线上,一些传感器可能以较慢的数据速率运行,而另一些则以较快的数据速率运行。
CAN总线是一对共享的电线,电子传感器、控制器单元和ECU被连接在上面。CAN总线用于定期或按要求在操作单元之间交换信息。CAN总线的电气条件和配置,即连接的单元总数、CAN总线导线的长度和其他电磁因素决定了该CAN总线上可能的最快数据传输速率。CAN协议(以及延伸的CAN FD)有一个很好的碰撞解决机制,它取决于信号的传播时间和网络配置(环形、总线或星形),以及在较小的程度上,总线上的单位数量。因此,一个物理上较长的网络可能会限制数据速率低于理论上的最大值。
CAN-FD总线负载是由 "De Andrade's "方程在Tindel方程的基础上发展起来的 。
β = τ/ω (1) (β = 总线负荷), (τ = 慢速比特加快速比特的时间), ω (测量的时间,以秒为单位)。 τ = Ts Tf (2)
CAN-FD协议定义了五个不同的错误检测机制。其中两个在比特级工作,另外三个在消息级工作。它们是
- 比特监测。
- 位填充。
- 帧检查。
- 确认检查和
- 循环冗余检查。CRC有两种选择,应表示为CRC长度为17(数据长度0-16字节)或CRC长度为21位(数据长度17-64)字节。
Ts = ([(SOF ID r1 IDE EDL r0 BRS/2 CRCdel/2)* 1,2] ACK DEL EOF IFS)/t_x
Tf = ([(D〗_f BRS/2 ESI DLC CRCdel/2)*1,2] [CRC]_17 5)/t_y
其中SOF(帧开始) ID(标识符) r1(保留位1) IDE EDL(扩展数据长度) r0(保留位0) BRS/2(比特率转换) CRCdel/2(CRC分隔符)=17比特;1.2是最坏情况下的比特填充系数,这意味着计算量应增加20%。它被认为是BRS和CRCdel除以2,因为它们正好是在比特率转换的位置。ACK(确认) DEL(分隔符) EOF(帧末) IFS(帧间间隔)=12位,没有位塞。CAN-FD的有效载荷大小可以是0、8、12、16、20、24、32、48、64字节。t_X是消息头的传输带宽(最高为1 Mbit/s)。
对于数据<16字节
β = ( (SOF ID r1 IDE EDL r0 BRS/2 CRCdel/2 * 1,2) ACK DEL EOF IFS)/t_x (〖[(D〗_f BRS/2 ESI DLC CRCdel/2)*1,2] 〖CRC〗_17 5)/t_y)/ω
对于数据>=16字节
β = ( (SOF ID r1 IDE EDL r0 BRS/2 CRCdel/2 * 1,2) ACK DEL EOF IFS)/t_x (〖[(D〗_f BRS/2 ESI DLC CRCdel/2 )*1,2] 〖CRC〗_21 6)/t_y )/ω
CAN FD还通过提高CRC算法的性能减少了未检测到的错误数量。[7] 此外,CAN FD与现有的CAN 2.0网络兼容,允许新协议在与经典CAN相同的网络上运行。[8] 使用合适的CAN SIC(信号改进能力)收发器,CAN FD的比特率可以达到8MBit/s,因此比经典CAN的1MBit/s数据阶段快8倍。
由于更高的通信速度,CAN FD在线路寄生电容方面的限制更加苛刻。因此,与普通CAN总线相比,线路上的所有元件的 "电容 "预算都减少了。这就是为什么半导体供应商已经发布了由汽车制造商批准的新组件的原因。这种批准反映了所有CAN FD系统之间互操作性的需要。事实上,选定的ESD保护元件与所有收发器(CAN或CAN FD)兼容,并能承受ISO7637-3[9] 。
尽管有更高的隔离电压(37V),用于卡车应用的器件也必须符合低电容要求(3.5 pF)。
CAN收发器CAN FD可以使用经典的CAN和CAN FD的收发器。此外,还有新的CAN SiC(信号改进能力)收发器,其数据速率为5至8MBit/s。
订定CAN FD标准的供应商订定CAN FD标准的供应商包括有意法半导体、英飞凌科技[4]、恩智浦半导体、德州仪器、Kvaser、戴姆勒及通用汽车等。