ARM单片机的CAN总线通信(硬件)文献综述
2020-03-13 09:50:17
一、目前技术简介
现场总线技术已成为当今工业自动化技术发展的热点。CAN(Controller Area Network)即控制器局域网,可以归属于工业现场总线的范畴,通常称为CAN bus,即CAN总线,是目前国际上应用最广泛的开放式现场总线之一。
CAN是一种多主方式的串行数据通讯总线,基本设计规范要求,有高的位速率,高抗电磁干扰性而且能够检测出产生的任何错误,当信号传输距离达到10Km时,CAN仍可提供高达50Kbps的数据传输速率。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通信控制方式CAN已被广泛应用到各个自动化控制领域,例如在汽车工业、航空工业、工业控制、自动控制、只能大厦、电力系统、安全防护等各领域。与此同时,随着ARM(Advanced RISC Machines)芯片及嵌入式Linux操作系统的成熟与完善,使得CAN通信的开发更为便利,应用更为广泛。
CAN最初出现在汽车工业中,80年代由德国Bosch公司最先提出。最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。
1993年CAN成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。CAN的规范从CAN1.0规范(标准格式)发展为兼容CAN1.2规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。
CAN的系统组成:CAN总线用户接口简单,编程方便。CAN总线属于现场总线的范畴,网络拓扑结构采用总线式结构。这种网络结构简单、成本低,并且采用无源抽头连接,系统可靠性高。通过CAN总线连接各个网络节点,形成多主机控制器局域网(CAN)。信息的传输采用CAN通信协议,通过CAN控制器来完成。各网络节点一般为带有微控制器的智能节点完成现场的数据采集和基于CAN协议的数据传输,节点可以使用带有在片CAN控制器的微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。传输介质可采用双绞线、同轴电缆或光纤。如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离,电源采用DC-DC变换器等措施。这样可方便构成实时分布式测控系统。
CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。特点如下:1、多主机方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活;2、网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求;3、采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据;4、可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据;5、直接通信距离最远可达6km(速率10Kbps以下);6、通信速率最高可达1MB/s(此时距离最长30m);7、节点数实际可达110个;8、采用短帧结构,每一帧的有效字节数为8个;9、每帧信息都有CRC教研及其他检错措施,数据出错率极低;10、通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求;11、节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。
二、ARM单片机
单片机自20世纪70年代问世以来已对人类社会产生巨大的影响,尤其是美国Intel公司生产的MCS-51系列单片机,但随着电子设备智能化和网络化程度的不断提高,曾经风靡一时的51系列单片机已不能满足使用要求,而以ARM处理器为核的单片机以其低功耗和高性价比逐渐占据了市场,成为市场高端应用的主流产品。
STM32系列32位闪存微控制器基于突破性的ARM Cortex#8482;-M3 内核,这是一款专为嵌入式应用而开发的内核。STM32系列产品得益于Cortex-M3在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的Thumb-2指令集,大幅度提高的中断响应,而且所有新功能都同时具有业界最优的功耗水平。