CAN总线简介
- CAN是控制器局域网络(Controller Area Network, CAN)的简称,通俗来讲,CAN总线就是一种传输数据的线,用于在不同的ECU之间传输数据。
- CAN发展简史
- CAN总线已被广泛地应用于汽车、火车、轮船、机器人、智能楼宇、机械制造、数控机床、各种机械设备、交通管理、传感器、自动化仪表等领域。
- CAN总线上的所有节点没有主从之分,反应在数据传输上是:在总线空闲状态下,任意节点都可以向总线上发送信息。
- 网络节点目前可达 110个,CAN总线以报文(message)为单位进行数据传送
- 多点同时发送信息时 ,根据每条CAN数据的帧ID进行抉择,哪条数据的帧ID数值小,它的通过优先度就高
- CAN的帧主要可分为数据帧、遥控帧、错误帧、过载帧、帧间隔。
- CAN Frame还是CANFD Frame,其帧结构都由以下7个段组成
- CAN-FD (Flexible Data rate),CAN-FD发扬了CAN 的优点,并弥补了CAN 的不足
CAN是控制器局域网络(Controller Area Network, CAN)的简称,通俗来讲,CAN总线就是一种传输数据的线,用于在不同的ECU之间传输数据。
CAN发展简史
CAN之前的版本:汽车ECU是复杂的点对点布线
1986年:BOSCH(博世)开发了CAN协议作为解决方案
1991年:BOSCH(博世)发布了CAN 2.0(CAN 2.0A:11位,2.0B:29位)
1993年:CAN被采用为国际标准(ISO 11898)
2003年:ISO 11898成为标准系列
2012年:博世发布了CAN FD 1.0
2015年:CAN FD协议标准化(ISO 11898-1)
2016年:CAN物理层,数据速率高达5 Mbit/s,已通过ISO 11898-2标准化
CAN总线已被广泛地应用于汽车、火车、轮船、机器人、智能楼宇、机械制造、数控机床、各种机械设备、交通管理、传感器、自动化仪表等领域。
CAN总线上的所有节点没有主从之分,反应在数据传输上是:在总线空闲状态下,任意节点都可以向总线上发送信息。
网络节点目前可达 110个,CAN总线以报文(message)为单位进行数据传送
多点同时发送信息时 ,根据每条CAN数据的帧ID进行抉择,哪条数据的帧ID数值小,它的通过优先度就高
CAN总线有两个ISO国际标准:ISO11898 和 ISO11519。
ISO11898 定义了通信速率为 125 kbps~1 Mbps 的高速 CAN 通信标准,属于闭环总线,传输速率可达1Mbps,总线长度 ≤ 40米。
ISO11519 定义了通信速率为 10~125 kbps 的低速 CAN 通信标准,属于开环总线,传输速率为40kbps时,总线长度可达1000米。
在CAN总线上,利用CAN_H和CAN_L两根线上的电位差来表示CAN信号。
CAN的帧主要可分为数据帧、遥控帧、错误帧、过载帧、帧间隔。
CAN的应用开发者只能使用“数据帧”和“遥控帧”,其他的3种帧类型是由CAN的底层固件自动帮我们在特定场景下进行收发,开发者无需担心也无法直接参与控制。
遥控帧,只是CAN网络里的某一节点发送一个遥控帧请求其他的节点反馈数据给自己
CAN Frame还是CANFD Frame,其帧结构都由以下7个段组成
CAN的应用开发者只使用其中的仲裁段、控制段和数据段。其他部分都由CAN底层固件自动封装!
一个数据帧传输的数据量为0~8个字节。遥控帧的数据段长度固定为0。
CAN报文Message单次可传送8bytes,即64bits信息,64bits由多个signal组成,各个signal分布在message的不同位置。
signal长度:信号占用的长度,嵌入式系统里面一般是1-32
CAN-FD (Flexible Data rate),CAN-FD发扬了CAN 的优点,并弥补了CAN 的不足
最高数据传输速率达5Mbit/s,每帧报文有效数据场为64 字节,占整帧报文信息超过70%