can总线

本文深入探讨了CAN总线的双绞线结构、抗干扰能力、电平识别方式,以及数据传输的四种基本帧式:数据帧、远程帧、错误帧和过载帧。同时介绍了CAN的数据格式、总线帧组成、发送与接收邮箱的工作原理,以及标识符的使用。解释了CAN总线如何确保数据的可靠传输。

电器特性

can(cantrol area network)总线采用双绞线结构,两根线分别成为can-high和can-low。是一种抗干扰的串行总线。两根线采用120欧姆电阻连接。

当can-h和can-l电平相近(2.5v)的时候,称之为逻辑1,也成为隐性电平,若can-h高于can-l被称为逻辑0(3.5v,1.5v),也称为显性电平。

只要由一个单元发出显性电平,总线上就为显性电平。只有所有节点都发送隐性电平,总线上才为隐性电平。

通讯协议

can的数据格式有标准型(can2.0a)和扩展性(can2.0b)两种,主要区别在于为区分不同设备使用的标识符不同。标准型只采用11位标识符,而扩展型同时支持11位和29位标识符。

数据传输的基本单位是报文,报文是由帧组成的。

can的总线帧有四种格式:

(1)数据帧     一单元向另一单元发送数据

(2)远程帧      一单元向另一单元请求数据(请求其他设备发送具有相同标识符的数据帧)

(3)错误帧       任意单元检测到错误,发送错误帧

(4)过载帧        在连续数据帧和远程帧之间,需要插入过载帧提供适当的延时

在总线上每个单元有若干发送邮箱和接收邮箱。对于发送邮箱而言,起所要发送消息的标识符决定了其获取总线的优先级。在发送邮箱发送消息时,同时检测总线上的电平,如果一致,则继续发送,如果不一致(只有可能时自身发送隐性电平1,总线上为显性电平0),则取消发送,等待下一次总线空闲再发送;对接收邮箱而言,每个接收邮箱有自己的标识符,并通过一个屏蔽寄存器存储的值决定该标识符和消息中的标识符中的那几位做与操作,判断该消息是否可以接收。每个接收邮箱只能接收一个消息,就必须向cpu申请中断将信息读走以便再次接收。接收邮箱和上述发送邮箱相同机理可以主动发送远程帧。

数据帧格式如下

[起始][仲裁][控制][数据][crc][应答][结尾]

在不传输数据时,总线上为隐性电平,属于空闲状态,起始位就是一位显性(低点平)。接收节点要根据该位进行时钟同步。

任何节点只能在总线空闲时才能发出信号。

所谓仲裁就是上述的标识符。最后一位是所谓的rtr位,用于表示该帧是数据帧还是远程帧。

控制场表明了数据的长度。最多是8,也就是一个数据帧最多8字节数据。

 









评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值