“CAN FD”对专用机械中的现场总线和工业以太网提出挑战
CAN FD为现有CAN系统和技术的应用提供了机会,即使是在节点数量、传输速率和周期时间要求很高的情况下。接下来,HMS公司Thomas Waggershauser将为您解释个中原因。
CAN系统常用于专用机械——无论是CANopen等标准化协议还是专门的解决方案。CAN网络机器的优势包括网络数据结构简单,价格实惠,应用高度灵活,现有网络极易扩展以及在系统发生故障时便于分析。
CAN FD的可行性应用
对节点数量、传输速率和周期时间不断增长的需求正遭遇瓶颈,传统CAN(8字节数据和1 Mbit/s的数据速率)的局限性无法突破:依赖网络扩展的数据传输速率和长度短的数据服务以及模拟数据在此尤为突出。
在日常应用中,这些限制往往在妥协中被规避:该系统在各种应用中被划分为不同网段,甚至形成并行网络,这意味着现有的技术已渐渐失效,这通常会导致解决方案在配置、安装和维护方面变得复杂且昂贵。在原则上,更换高性能工业以太网的技术是可行的。但这通常需要增加投资,改变数据结构及配置的思维模式,尤其是那些受时间控制的系统,这通常为范围广的网络带来巨大挑战。此外,在开发、调试和服务方面需更换工具,这往往阻碍了用户进行全面更换。
同时,用户还想通过一种有用的方式继续使用现有的技术。
此时CAN FD起到重要作用:CAN FD(拥有灵活数据速率的CAN)是博世在2012年推出的著名的“经典”CAN的扩展版本,它显著扩展了可用的数据速率和数据长度。另一方面继续保留了尝试和测试CAN的概念:在报文ID的基础上仲裁,事件驱动报文调度,以及通过确认位来确认报文是否接收。
提高了数据传输速率
传统的CAN通过接收器来确认报文是否接否,这为确认发送的报文是否传输成功提供了诸多优势——可迅速检测潜在的传输错误,也可快速重发数据。
建立在CAN识别码基础上的报文仲裁同样为控制应用带来多种优势,避免了数据传输过程中的冲突,并为高优先级报文提供了更短的时延,即使是在较高的总线负载下。
该方法的不足之处是在采样时同一总线电平需在所有节点上,以避免故障。因此,位间隔必须为网络中相隔最远的两个节点提供足够的信号传播时间,包括总线的激活时间。位间隔和数据速率因此也直接依赖于网络的扩展;扩展至40米时速率可达1Mbit/s,但扩展至250米时速率会下降至250 kBit/s。
为显著提高数据速率而不改变现有的通信技术,CAN FD适用于两种不同的比特率。用于控制命令的“仲裁率”(包括仲裁、报文类型、终端检测和确认器)取决于传播速度及网络扩展。相比之下,还可选用第二种“数据比特率”——用于数据内容和数据安全性。在这个时间点上,只有报文发送器占用总线,这表示无需位时间内的直接反馈。因此,要获得最大的数据速率取决于传输介质的传输特性,而非信号传播。CAN FD网络目前可供生产使用的速率是8 MBit/s,因此CAN FD标准为15 Mbit/s。这一比特率也被成功用于各种测试系统。
这两种数据速率可通过CAN FD控制器中的两个位定时寄存器来分别设置,还可通过协议中的两个控制位来完成相互之间的转换。保留至此的第一个位用作“扩展数据长度”位(EDL),并因其隐性电平来定义CAN FD报文。实际的比特率转换则由新增的比特——“位速率开关位”(BRS)来实现,它能在采样时切换至较高的比特率,并在采样CRC限制位时切换回来。
图1:CAN FD-1的优势:在该实例中共传输了42个字节的配置数据。若在传统的CAN中做到这一点需使用能传输8个字节报文数据量的传输协议。该实例建立在传输协议模型的基础上,仅使用第一个数据字节来控制数据流。这意味着,每帧CAN报文仍可多达7个字节。根据所实施的传输协议,需使用额外的数据字段进行控制。在此之下,通过比较,拥有48个字节用户数据的单帧CAN FD报文可代替所需的6帧传统的CAN报文。由于上述CAN FD中能以更高的比特率传输数据,所以它比传统的CAN报文需要的总线时间更短。此外,此处使用单独的CAN FD报文显著简化了数据流的管理。扩展了用户数据
由于仍通过众所周知的更低的比特率来传输控制数据,因此限制了现有的数据速率。将用户数据场增至64个字节可在快速传输模式下发送更多数据,从而有效地提高了数据的传输速率。
传统的CAN仅提供8个数据字节,已无法满足高精度模拟值的传输或通过不同编码值和驱动命令来控制多轴机器人等多种数据应用。为此,必须增加服务数据,这在目前为止大大降低了有效性,由于传输协议的传输需多于8个字节。
CAN FD现可提供多达64个数据字节。这样,可在一帧报文中发送更大的数据块——特别是在处理数据的情况下,现在仅使用一帧过程报文就能完全控制更复杂的设备。这也削弱了数据服务传输协议的必要性,因为通常只有在配置数据和类比时才需要单帧CAN FD报文。
为防止扩展不必要的控制数据,CAN FD仅使用4位数据码——直接从传统的CAN中取用0到8的值。截至目前未定义的值(9至15,即1001至1111)被用于新的扩展数据长度:除了0到8个字节外,现在还可用12、16、20、24、32、48和64字节的用户数据。其它数据长度则无法实现,也就是说,未使用的数据场必须用“填充值”来填充。
除了能快速传输数据场外,CAN FD还显著增加了能有效使用的数据速率,并大大减少了周期时间。在这种方式下,拥有500 kBit仲裁速率、4 MBit数据传输速率和64个字节数据的CAN FD网络可达到超过500 MBit/s的有效数据速率。
实时能力
将多个独立的数据包组合成单独的报文使得数据管理更为简便,因为单独的报文无需付出昂贵的成本即可同步。和传统的CAN相比,能快速传输更大数据包的CAN FD所传输的数据量(64个字节)是传统8字节CAN报文的8倍左右。这样,可以更快速地传输高优先级报文,同时提高实时能力。
数据安全
数据安全是一个重要话题:尽管和传统的CAN相比CAN FD增加了数据包的大小,但它同样能满足数据安全的要求,例如通过拥有适配算法的更长的CRC校验码来实现。根据传输数据字节的数量可使用三种不同的CRC算法:在8个字节数据报文之前的CRC校验公式,以及两个拥有16个或大于16个字节数据报文的加强版算法。CAN控制器使用的算法依数据长度代码而定。
为了提高数据的安全性,还可采用额外的建议。所以,CAN FD报文中的CRC总是从一个填充位开始;在5个位之后再新增一个填充位——这与CAN填充位规则相反,并与之前的位的位值相互独立。每个填充位都是之前的位的补偿值。
CAN专用机械现场总线工业以太 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)