CAN总线系列一:初识CAN总线

CAN协议简介

CAN是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。

一、总线特点不分主从,半双工

1、多主通信CAN总线的端点没有地址(除非自己在帧里定义地址),CAN总线通信不用地址,用标识符CAN总线采用了一个11位或29位的标识符来识别不同的数据帧,ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级,不是单独的谁发给谁,而是,你总是发送给整个网络。然后每个节点都有过滤器,对网络上的传播的帧的标识符进行过滤自己想要什么样的帧,可以设置自己的过滤器,接收相关的帧信息如果两个节点同时发送怎么办?这个不用我们担心,CAN控制器会自己仲裁,让高优先级的帧先发CAN可以传输0到8字节的数据。CAN总线具有较好的实时性能,可以在网络中实现精确的时间同步,适用于实时控制系统。

2、采用无破坏性的基于优先级的逐位仲裁,标识符越小,优先级越高。若两个节点同时向网络上传送数据,优先级高的报文获得总线访问权,优先级低的报文会在下一个总线周期自动重发。

3、可以采用点对点、点对多及全局广播等传送方式收发数据。

4、直接通信距离最远可达10km(速率5kb/s以下)。

5、通信速率最高可达1Mb/s(此时距离最长40m)。

6、节点数实际可达110个。

7、每帧信息都有CRC校验及其他检错措施,数据出错率极低。

8、通信介质可采用双绞线、同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。 9、节点在错误严重的情况下,具有自动关闭总线的功能,以切断它与总线的联系,使总线上的其他操作不受影响。

二、CAN物理层

与I2C、 SPI等具有时钟信号的同步通讯方式不同, CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。CAN总线由显性电平隐性电平,执行的是线”与“逻辑即只要总线上有一个节点发送显性电平,则总线为显性电平(即逻辑0),只有总线上发送的所有电平都为隐性时,总线才为隐性电平(即逻辑1)

CAN物理层的形式主要分为闭环总线及开环总线网络两种,一个适合于高速通讯(闭环),一个适合于远距离通讯(开环)

1、闭环总线网络

CAN闭环通讯网络是一种遵循ISO11898标准的高速、 短距离网络, 它的总线最大长度为40m,通信速度最高为1Mbps,总线的两端各要求有一个“120欧”的电阻。

2、开环总线网络

CAN开环总线网络是遵循ISO11519-2标准的低速、远距离网络, 它的最大传输距离为1km,最高通讯速率为125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有一个“2.2千欧”的电阻。

三、帧的种类

通信是通过以下 5 种类型的帧进行的。

• 数据帧

• 遥控帧

• 错误帧

• 过载帧

• 帧间隔

另外, 数据帧和遥控帧有标准格式和扩展格式两种格式。 标准格式有 11 个位的标识符(Identifier: 以下称 ID) ,扩展格式有 29 个位的 ID。各种帧的用途如表 7 所示,各种帧的构成如图 11~图 15 所示。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值