五、CAN总线

打印 上一主题 下一主题

主题 1830|帖子 1830|积分 5490

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目录

一、底子知识
1、can介绍
2、CAN硬件电路
3、CAN电平标准
4、CAN收发器芯片介绍
5、CAN帧格式
① CAN帧种类
② CAN数据帧
③ CAN遥控帧​编辑
④ 位添补
⑤ 波形实例
6、接收方数据采样
① 接收方数据采样碰到的问题
② 位时序
③ 硬同步
④ 再同步
⑤ 波特率计算


一、底子知识

1、can介绍

CAN(Controller Area Network),是ISO国际标准化的串行通讯协议
为了满足汽车产业的“淘汰线束的数量”、“通过多个LAN,进行大量数据的高速通讯”的需求。

低速CAN(ISO11519)通讯速率10~125Kbps,总线长度可达1000米。
高速CAN,经典CAN,(ISO11898)通讯速率125Kbps~1Mbps,总线长度≤40米。
CAN FD 通讯速率可达5Mbps,并且兼容经典CAN,遵照ISO 11898-1 做数据收发。
主流通讯协议对比


UART


IIC


SPI

2、CAN硬件电路





  • 每个装备通过CAN收发器挂载在CAN总线网络上
  • CAN控制器引出的TX和RX与CAN收发器相连,CAN收发器引出的CAN_H和CAN_L分别与总线的CAN_H和CAN_L相连
  • 高速CAN使用闭环网络,CAN_H和CAN_L两端添加120Ω的终端电阻
  • 低速CAN使用开环网络,CAN_H和CAN_L此中一端添加2.2kΩ的终端电阻
终端电阻(120Ω),用于阻抗匹配,以淘汰回波反射。
CAN总线由两根线( CANL 和 CANH )组成,允许挂载多个装备节点(低速CAN:20 高速CAN:30)。
3、CAN电平标准



  • CAN总线采用差分信号,即两线电压差(VCAN_H-VCAN_L)传输数据位
  • 高速CAN规定:
            电压差为0V时表现逻辑1(隐性电平)
            电压差为2V时表现逻辑0(显性电平)


  • 低速CAN规定:
            电压差为-1.5V时表现逻辑1(隐性电平)
            电压差为3V时表现逻辑0(显性电平)


  • 显性电平具有优先权。发送方通过使总线电平发生变化,将消息发送给接收方。

4、CAN收发器芯片介绍


        CAN收发器芯片:TJA1050、TJA1042、SIT1050T。
                                     战舰版开发板使用SIT1050T,支持高速CAN,传输速率可达1Mbps。
        D : CAN发送引脚
        R : CAN接收引脚
        Vref : 参考电压输出,可以用
        CANL : 低电位CAN电压输入输出端
        CANH : 高电位CAN电压输入输出端
        RS : 高速 / 静音模式选择(低电平为高速)
5、CAN帧格式

① CAN帧种类

        CAN总线以“帧”形式进行通讯。CAN协议定义了5种类型的帧:数据帧、遥控帧、错误帧、过载帧、间隔帧,此中数据帧最为常用。
帧类型

帧作用

数据帧(Data Frame)

用于发送单元向接收单元传输数据的帧

遥控帧(Remote Frame)

用于接收单元向具有相同ID的发送单元哀求数据的帧

错误帧(Error Frame)

用于当检测出错误时向其他单元关照错误的帧

过载帧(Overload Frame)

用于接收单元关照其尚未做好接收准备的帧

间隔帧(Inter Frame Space)

用于将数据帧 及遥控帧与前面的帧分脱离来的帧

② CAN数据帧


        空闲状态:隐形1
        帧起始:表现数据帧开始的段,显性信号。
        仲裁段:表现该帧优先级的段,优先级。
                       此中ID,区分数据的功能。RTR,区分广播式、数据帧(只写),哀求式、遥控帧(读取)。
        控制段:DLC,数据段的字节数是可调的。
                      保留位:R0,R1(IDE),IDE表现区分标准格式和扩展格式。
        CRC段:判断数据是否精确传输。发送方将前面,SOF到Data计算校验码,将校验码附在CRC中。接收方收到数据后,也会计算校验码,判断校验码是否同等。
                     CRC界定符:① 隔离CRC和ACK。② 在ACK槽之前,发送方开释总线(发生隐性1就是开释总线),将控制权给接收方发送应答信号。
        ACK段:判断是否有担当方。
                     ACK界定符:接收方开释总线,交出控制权。
        帧竣事:表现数据帧竣事的段,7个隐性信号。
        留意:发送方每发送一位,接收方就立即收到这一位。

③ CAN遥控帧


        遥控帧无数据段,RTR为隐性电平1,其他部门与数据帧相同。
        当某个装备发送遥控帧时,代表它想哀求这个数据。
        哀求方发出遥控帧,遥控帧的ID表现要哀求的数据。
        响应哀求的一方,通过相同ID的数据帧反馈数据。
        当哀求和反馈数据同时发生时,数据帧拥有更高的优先级。
④ 位添补

        位添补规则:发送方每发送5个相同电平后,主动追加一个相反电平的添补位。
                              接收方检测到添补位时,会主动移除添补位,规复原始数据。
        例如:
                  即将发送:    100000110       10000011110    0111111111110
                  实际发送:    1000001110       1000001111100    011111011111010
                  实际接收:    1000001110       1000001111100    011111011111010
                  移除添补后: 100000110       10000011110    0111111111110
        位添补作用:
                  增加波形的定时信息,利于接收方实行“再同步”,防止波形长时间无变化,导致接收方不能精确掌握数据采样机遇。
                  将正常数据流与“错误帧”和“过载帧”区分开,标志“错误帧”和“过载帧”的特异性。
                  保持CAN总线在发送正常数据流时的活跃状态,防止被误认为总线空闲。
⑤ 波形实例



  • 标准数据帧,报文ID为0x555,数据长度1字节,数据内容为0xAA



  • 标准数据帧,报文ID为0x666,数据长度2字节,数据内容为0x12, 0x34



  • 扩展数据帧,报文ID为0x0789ABCD,数据长度1字节,数据内容为0x56



  • 标准遥控帧,报文ID为0x088,数据长度1字节,无数据内容



6、接收方数据采样



  • CAN总线没有时钟线,总线上的全部装备通过约定波特率的方式确定每一个数据位的时长
  • 发送方约定的位时长每隔固定时间输出一个数据位。
  • 接收方约定的位时长每隔固定时间采样总线的电平,输入一个数据位。
  • 理想状态下,接收方能依次采样到发送方发出的每个数据位,且采样点位于数据位中心附近。
  • 数据位的位时长=1/波特率。
① 接收方数据采样碰到的问题



  • 接收方以约定的位时上进行采样,但是采样点没有对齐数据位中心附近



  • 接收方刚开始采样精确,但是时钟有误差,随着误差积累,采样点渐渐偏离

 ② 位时序

        为了机动调解每个采样点的位置,使采样点对齐数据位中心附近,CAN总线对每一个数据位的时上进行了更细的划分,分为同步段(SS)、传播时间段(PTS)、相位缓冲段1(PBS1)和相位缓冲段2(PBS2),每个段又由多少个最小时间单位(Tq)构成。


  • SS = 1Tq
  • PTS = 1~8Tq
  • PBS1 = 1~8Tq
  • PBS2 = 2~8Tq

 ③ 硬同步



  • 每个装备都有一个位时序计时周期,当某个装备(发送方)率先发送报文,其他全部装备(接收方)收到SOF的降落沿时,接收方会将本身的位时序计时周期拨到SS段的位置,与发送方的位时序计时周期保持同步。(接收方将本身的SS段与发送方调节为同等。)
  • 硬同步只在帧的第一个降落沿(SOF降落沿)有效。
  • 经过硬同步后,若发送方和接收方的时钟没有误差,则后续全部数据位的采样点一定都会对齐数据位中心附近。

位时序周期


 ④ 再同步



  • 若发送方或接收方的时钟有误差,随着误差积累,数据位边沿渐渐偏离SS段,则此时接收方根据再同步赔偿宽度值(SJW)通过加长PBS1段,或收缩PBS2段,以调解同步。
  • 再同步可以发生在第一个降落沿之后的每个数据位跳变边沿。
  • SJW=1~4Tq。SJW为最大值。


⑤ 波特率计算

波特率 = 1 / 一个数据位的时长 = 1 / (TSS + TPTS + TPBS1 + TPBS2)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表