"); //-->
CAN总线
CAN(控制器局域网络)总线,以其高实时性、高可靠性、功能完善、高性价比、开发周期短、等诸多优点,被大量应用于车辆通信及控制,几乎所有汽车生产商及其供应商都选则CAN总线做为通信介质。
SAEJ1939协议
SAEJ1939协议是在CAN2.0B的基础之上做了进一步封装,相较于七层OSI模型,更加简单、易于上手,该协议主要面向客车和大中型载重货车。SAEJ1939数据帧结构如下:

从上图可知,一帧CAN数据帧最大可携带8 Byte(64bit)数据。而在日常车辆控制中往往需要传输的内容远大于此数量。在SAEJ1939-21中专门规定了传输协议功能。
无线传输协议功能主要分为两个部分:消息的拆装与重组,连接管理。
消息拆装与重组:
大于8个字节的数据不能通过用一个单独的CAN 数据帧来传输。它们需要被拆分成多个小的数据包,使用单独的数据帧依次传送。接收者则负责按编号将这个单独的数据包重组长数据,并传给应用程序。
连接管理:
连接管理包含三个过程:建立连接、数据传输、连接关闭。
1.建立连接:当某个节点要传送一组大于8字节的数据时,就会发起请求连接,请求中包含整个数据包的大小,要传送消息的帧数,以及它设定的参数群编号。然后等待接收方做出相应的响应或者超时。
2.数据传输:当建立连接之后,当发送者接收到允许发送的信号后,发送者将按顺序将拆装好的数据依次发送到CAN网络上。数据帧的第一个字节用于表示当前数据包的编号。因此,一次批量传输的最大数据量为:255 * 7 = 1785字节。
3.连接关闭:当数据被正确发送后,接收方会回传一个数据包,数据包内容包括:结束应答标号、整个消息的大小、接收的帧数以及参数群编号。
整个传输过程如下图:

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
如何安全实现车载网络通信?
CAN收发器电气保护电路图及原理
隔离RS485和CAN设计
用87C196NT单片机实现CAN总线通信
动力电池包整车CAN仿真与BMS标定诊断测试
【技术浅谈】如何设计一款高可靠性的汽车CAN总线(3)
CAN总线中位定时的设定方法
CAN 教程
CAN总线不加终端电阻会怎样?
汽车仪表盘系统
一种CAN总线—PROFIBUSDP总线网关的实现方法
基于CAN总线的多点红外测温系统设计
如何设计一款高可靠性的汽车CAN总线 (1)
CAN总线在WINCE中的应用
基于fpga的can总线接收滤波器设计
CAN实现手册
CAN总线防护电路及解决方案
汽车CAN总线详解
什么是CAN总线
便携式CAN总线接口卡的电气原理框图
升维打击!用示波器排查CAN的各种错误帧
CAN总线接口保护电路设计指南
恩智浦工商业储能技术方案解析:能源变革的强力推手!
电力汽车机电油门驱动控制解决方案
can总线 485区别及联系