CAN通信笔记

CAN通信:

1.CAN总线电平分为显性电平和隐性电平,通过电位差来判断总线电平。显性电平的逻辑值为“0”具有优先的意味,隐形电平的逻辑值为“1”

2.CAN特点:

a.多主控制:总线空闲所有单元都可发消息、先到先得、高优先级ID消息优先发送消息(ID不是地址而是表示消息的优先级)

b.固定的消息格式,通过对ID每位进行仲裁比较判断谁先发数据

c.柔软性:总线增加单元时连接在总线上的其他单元无需改动

d.统一的通信速度

e.远程数据请求,“遥控帧”请求其他单位发送数据

f.错误检测、错误通知、错误恢复

g.故障封闭:判断错误为单元故障时可将故障单元隔离出去

h.低速多单元、高速少单元

3.三种错误状态:主动错误、被动错误、总线关闭状态

4.两种CAN协议:ISO11898à125k~1M(高速);ISO11519à10k~125k(低速)。

驱动IC

ISO11898

ISO11519

HA17321RPJE

PCA82C252

PCA82C250

TJA1053

Si9200

SN65LBC032

CF15

 

5.CAN通信协议详解:

    一、帧:数据帧、遥控帧、错误帧、过载帧、间隔帧

  1. 数据帧:传送数据的帧
  2. 遥控帧:向具有相同ID的单元请求数据
  3. 错误帧:但检测到错误时向其他单元发送的帧
  4. 过载帧:向其他单元表示还未准备好接收数据
  5. 帧间隔:将上述各帧区分开来的帧

注:其中数据帧和遥控帧有标准格式(具有11个位的标识符)和扩展格式(具有29个位的标识符)两种

    二、帧结构:

  1. 数据帧:帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束。

起始帧:一个显性位

仲裁段:表示帧的优先级(标准、扩展)

控制段:表示帧的字节数保留的位数 由6个位组成

数据段:可以发送0~8个字节的数据(高位输出)

CRC段:检查帧的传输错误的段(15个位组成+1位的界定)

Ack段:确认正常接收的段(ACK槽和ACK界定符2个位组成)发送单位:两个位隐性;接收单位:两个位显性。

帧结束:7个隐性位

              注:对于ID禁止高&位为隐性。Eg:ID=1111111XXXX...

无数据段的数据帧可用于个单元的定期连接确认/应答或仲裁本身带有是指信息的情况

       2)遥控帧:由帧起始、仲裁段、控制段、CRC段、ACK段、帧结束

                  区别于数据帧的是遥控帧的RTR位(在仲裁段中)为隐性。

                  遥控帧的数据长度为所请求的数据的长度。

       3)错误帧:由错误标志和错误界定符构成。

                  错误标志:主动错误标志----6个显性位

                            被动错误标志----6个隐性位

                  界定符:8个隐性位

       4)过载帧:结构同主动错误帧

    5)帧间隔:过载帧和错误帧前不能插入间隔帧。

由3个隐性位+总线空闲位(不限长度)+延迟传送(8个隐性位 )

三、优先级决定:

       1)仲裁段比较大小,大的优先发送数据

    2)具有相同ID的数据帧和遥控帧数据帧具有优先权,即RTR位为显性的具有优先权。

    3)标准格式ID与具有相同ID的遥控帧或扩展帧竞争时,RTR位位显性的具有优先权

四、位填充:为防止突发错误而设定的功能,相同电平持续5位则添加一个位的反型数据。

    发送单元;在第六位插入反型电平。

    接受单元:删除第六位

五、错误的种类:

    位错误、填充错误、CRC错误、格式错误、ACK错误五种,可同时发生。

    六、位时序

       一位分四段:同步段、传播时间段、相位缓冲段1、相位缓冲段2。

 

 

 

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值