当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]CAN是控制器局域网络(Controller Area Network, CAN)的简称。CAN总线有两条信号线构成,分别是CANL和CANH。相比于RS485总线构成的网络,CAN总线构成的网络更有优势。CAN的

CAN是控制器局域网络(Controller Area Network, CAN)的简称。CAN总线有两条信号线构成,分别是CANL和CANH。相比于RS485总线构成的网络,CAN总线构成的网络更有优势。

CAN的报文格式

在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。

在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位 (RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。

控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位 (ro),为将来扩展使用。它的最后四个位用来指明数据场中数据的长度(DLC)。数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。

应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。

报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。

 


如上图所示,帧格式包括扩展帧和标准帧两种。帧类型包括数据帧和远程帧。数据部分最大长度共8个字节。在编程时,如下的数据结构可以用来描述一个CAN消息:

typedef struct

{

uint32_t id; /**< 29 bit identifier, it depend on "format" value

- if format = STD_ID_FORMAT, id should be 11 bit identifier

- if format = EXT_ID_FORMAT, id should be 29 bit identifier

*/

uint8_t dataA[4]; /**< Data field A */

uint8_t dataB[4]; /**< Data field B */

uint8_t len; /**< Length of data field in bytes, should be:

- 0000b-0111b: 0-7 bytes

- 1xxxb: 8 bytes

*/

uint8_t format; /**< Identifier Format, should be:

- STD_ID_FORMAT: Standard ID - 11 bit format

- EXT_ID_FORMAT: Extended ID - 29 bit format

*/

uint8_t type; /**< Remote Frame transmission, should be:

- DATA_FRAME: the number of data bytes called out by the DLC

field are send from the CANxTDA and CANxTDB registers

- REMOTE_FRAME: Remote Frame is sent

*/

} CAN_MSG_Type;

另外,还有如下图所示的参数可以进行设置。如CAN总线的波特率,工作模式,过滤器里的内容等。

 


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

兰州生物制品研究所有限责任公司是一家历史悠久的生物制剂研发生产企业,是我国生物制品行业的标杆。生物制品的产品形式包含西林瓶、安瓿瓶、“伴侣装”(一水一苗)、预充针等多种方式[1],笔者在兰州生物制品研究所有限责任公司工作...

关键字: 中盒机 工作原理 常见故障

CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。

关键字: can总线 通信 电子控制

1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。

关键字: 51单片机 工作原理 电路

CAN总线和485总线都是常见的串行通信协议,它们在工业自动化、机器人控制等领域被广泛应用。本文将从物理层、数据传输方式、网络拓扑结构、通信速率和应用范围等方面比较CAN总线和485总线的区别。

关键字: can总线 485总线

CAN总线是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN,主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件,CAN总...

关键字: can总线 can总线原理

自动驾驶的原理其实就是让电脑来通过各种摄像头传感器,根据前方的障碍物,然后进行调整。可以实现加速减速,也都是根据路况来确定。

关键字: 自动驾驶 工作原理 摄像头

摘要:首先详细介绍了A105贴标机的基本工作原理,随后对其常见故障进行逐一分析,阐明影响贴标效果的原因,最后提出相应的解决办法,以此提升设备的贴标效果。

关键字: 贴标机 工作原理 贴标效果

芯片的工作原理是:将电路制造在半导体芯片表面上从而进行运算与处理的。

关键字: 芯片 工作原理 半导体

人工智能的工作原理是:计算机会通过传感器(或人工输入的方式)来收集关于某个情景的事实。计算机将此信息与已存储的信息进行比较,以确定它的含义。

关键字: 人工智能 工作原理 AI

伺服电动机的工作原理及作用伺服电机的作用是驱动控制对象。被控对象的转距和转速受信号电压控制,信号电压的大小和极性改变时,电机的转动速度和方向也跟着变化。

关键字: 伺服 电机 工作原理
关闭
关闭