在现代工业控制领域,很多信号通常被测量,转换成计算机可以识别的二进制信号,各种被测信号被计算机监测和记录。这个过程包括信号采集和处理。CAN总线是一种串行多主总线。它具有优良的特性、高可靠性和独特的设计,特别适用于工业过程监控设备的互联。(CAN(Controller Area Network)即控制器局域网),是一种能够实现分布式实时控制的串行通信网络。因此,它越来越受到业界的重视,被公认为最有前途的现场总线之一。基于STM32和CAN总线的可以对数据进行收发。通过上位机和下位机的通信,可以对数据进行监控。
3954b2cd297244f7ba4a2297eb323ee5?from=pc.jpg

工作原理图
CAN总线技术原理
CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。
当CAN总线上的节点(站)发送数据时,它会以消息的形式将其广播给网络中的所有节点。对于每个节点,无论数据是否发送到自身,都会被接收到。
11位字符每组消息的开头是一个标识符,它定义了消息的优先级。这种消息格式被称为面向内容的寻址方案。标识符在同一个系统中是唯一的,所以两个站不可能用同一个标识符发送消息。当几个站点同时争夺总线读数时,这种配置非常重要。
CAN 总线的特点
CAN Bus网络是真正的多主机网络。当总线空闲时,任何节点单元都可以申请成为主机并向总线发送消息。其原理是:首先访问总线的节点单元可以获得总线的控制权;当多个节点单元试图同时获得对总线的控制时,将发生仲裁事件,具有高优先级的节点单元将获得对总线的控制。
在CAN协议中,所有消息都以固定的数据格式打包和发送。当两个以上的节点单元同时发送信息时,它们的优先级关系是根据节点标识符(通常称为ID,也是以固定的数据格式打包的)来确定的,因此ID并不表示数据传输的目的地址,而是代表每个节点访问总线的优先级。因此,CAN bus没有类似于其他总线的“地址”概念。在总线上添加节点单元时,连接到总线的其他节点单元的硬件和软件不需要改变。CAN总线允许多个设备同时连接到总线上且在逻辑上没有数目上的限制。然而由于延迟和负载能力的限制,实际可连接的设备还是有限制的,可以通过降低通讯速度来增加连接的设备个数。相反,如果连接的设备少,通讯的速度可以增加。
CAN总线的通信速率与总线长度有关。当总线长度小于40m时,数据传输速率可达1Mbps,即使总线长度上升到1000m,数据传输速率仍可达50Kbps,在速度和传输距离上明显优于普通的RS232、RS485和I2C总线。
CAN协议基础知识
I2C.SPI总线多用于短距离传输,协议简单,数据少。主要用于IC,而CAN总线则不同。CAN(控制器局域网)总线定义了更好的物理层和数据链路层,并且有各种协议。与I2C、SPI与时钟信号同步通信不同,CAN通信不是与时钟信号同步的,而是一种只有两条信号线,CAN_High和CAN_Low的异步通信,它们共同组成一组差分信号线,以差分信号的形式进行通信。
CAN物理层可以分为两种:闭环总线和开环总线网络,一种用于高速通信,另一种用于长距离通信。CAN闭环通信网络是遵循ISO11898标准的高速短距离网络。它的总线最大长度为40米,最大通信速度为1Mbps。总线的每一端都需要一个“120ω”电阻。做阻抗匹配减少回波反射。
eb05319eea214279bc4d8c38802755e8?from=pc.jpg

CAN接口
can接口相对是一种常用的串行接口,但是不像spi、i2c、uart等接口都有主从的关系,can可以任何一个节点主动发送数据,并且假如出现总线冲突会有硬件来处理。
can和rs485又有些类似,都是把ttl信号转换成了差分信号。所以在stm32 使用can的时候会有一个can收发器。
闭环总线网络
04f43c1790ea403bb4e28dd4e4dd456a?from=pc.jpg


开环总线网络
e5d300dfdcab4234b018c70c77f19f5e?from=pc.jpg

CAN总线上可以挂载多个通信节点,通过总线传输节点间的信号,实现节点间的通信。因为CAN通信协议编码的是数据内容而不是节点的地址,所以理论上网络中的节点数量是无限的,只要总线的负载足够,就可以通过中继器可以增强负载。
数据特性
数据发送特性:它有三个发送邮箱;发送消息的优先级可以通过软件配置,发送时间的时间戳可以记录。
数据接收特性:它有三级深度和两个接收FIFO具有可变过滤器组、可编程标识符列表、可配置的先进先出溢出处理模式和接收时间的时间戳。
报文管理:中断可以屏蔽;邮箱单独占用一个地址空间,便于提高软件效率。
CAN网线应用
CAN总线在组网和通信功能上的优点以及其高性价比据定了它在许多领域有广阔的应用前景和发展潜力。这些应用有些共同之处:CAN实际就是在现场起一个总线拓扑的计算机局域网的作用。
不管在什么场合,它负担的是任一节点之间的实时通信,但是它具备结构简单、高速、抗干扰、可靠、价位低等优势。CAN总线最初是为汽车的电子控制系统而设计的,目前在欧洲生产的汽车中CAN的应用已非常普遍,不仅如此,这项技术已推广到火车、轮船等交通工具中。
官网:http://www.jisucx.com
公众号:极速佳