解密现场总线控制系统CAN通讯的双刃剑
在深入探讨现场总线控制系统的优缺点之前,让我们首先解锁CAN总线的核心特性。CAN,即Controller Area Network,自BOSCH公司开发以来已经成为国际标准(ISO11898),广泛应用于汽车计算机控制系统和嵌入式工业控制局域网中,尤其是大型货车和重工机械车辆通过J1939协议实现了更高级别的集成。
CAN总线是一种多主网络,每个节点都可以独立成为主机,同时能够进行节点间通信。
通信介质灵活,可以选择双绞线、同轴电缆或光导纤维,并支持高速传输速度可达1MB/s。
CAN总线通信接口内置了物理层和数据链路层功能,可完成对通信数据的成帧处理,如位填充、数据块编码、循环冗余校验及优先级判别等。
CAN协议采用独特的对消息进行编码方式,使得网络中的节点数量理论上无限制,并且定义了211至229个不同的消息标识码,这对于分步式控制至关重要。
数据段长度最长为8字节,可满足工业领域常见命令、状态及测试数据要求,同时保持实时性不受影响。
采用CRC检验并提供错误处理功能,确保了数据传输的可靠性。
由于其卓越性能、高可靠性以及独特设计,CAN总线被视为适合工业测控单元互连的一种理想解决方案,因此备受工业界青睐,被公认为未来最有前途的一种现场总线。
了解完这些基本特点后,我们来探索一下它如何工作。在CAN总线上,一旦一个节点开始发送报文,它会以广播形式向整个网络发送。这意味着每个节点都会收到所有报文,不论是否是给自己发来的。这个过程中,11位字符作为标识符决定报文优先级,而这种面向内容的编址使得同一系统中的标识符唯一,不可能出现两个相同标识符的事务发生同时竞争的情况。
当一个站想要与另一个站发送信息时,该CPU将要发送的数据以及自己的标识符传送给本站内置的心脏芯片,然后进入准备阶段。当它得到访问权限时,它转换为发送状态。心脏芯片组织好后,将按照协议格式发出信息,而其他处于接受状态下的站则检查接收到的报文,以确定是否属于该站在应接收哪些信息。
由于基于内容地址结构,这使得在现有的基础上轻松地添加新的设备而不需要硬件或软件上的重大修改。此外,由于没有独立目的地址,只需同步分布过程即可从网络获取所需测量值,无需每个都拥有独立传感器,从而极大地提高效率。
最后,我们回顾一下CAN总線之所以受到欢迎的一个关键因素:实时性强、远距离通信能力佳、抗干扰能力高且成本低;采用双行串行通信方式,有很强的地错能力,在噪声环境下仍能稳定运行;具有优先权仲裁功能,可以形成多主机局部网络;可以根据ID来判断是否接收或屏蔽某条消息;具有有效错误检测和重发机制,以及自动退出故障情况下的保护措施。此外,由于没有源地址或目标地址,只用ID表示功能和优先级,这进一步简化了整个系统设计。