CAN基础内容详解
时间:2023-06-16 19:00:42来源:华芯微特32位MCU

鉴于用户开发过程中,经常碰到CAN使用的问题,故作此笔记。

1CAN简介

控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。


(资料图片)

CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。

2CAN硬件接口

CAN总线为差分传输,可以很好的抵制共模干扰,如图,CAN-H和CAN-L的波形中间穿插了一个共模干扰,但是经过差分后的信号,很好的过滤掉了这个共模干扰。

需要注意的是,CAN总线有5V和3.3V之分,两种电压类型的CAN总线并不兼容,实际使用的时候注意区分。

3CAN数据包解析

如图,一个CAN总线数据包,由仲裁段(ID)、控制段、数据段、CRC等部分组成 。

标准帧、扩展帧主要是ID不一样,其它都一样,每个数据包最大可包含64bit(8byte)的数据。

4CAN发送逻辑

CAN RX接收CAN总线上的波形数据,故:CAN TX发送的数据,也会被自己RX接收,因此CAN可以监控自己数据是否发送成功。

CAN发送数据的时候,其他CAN设备接收了数据之后,如果CRC校验通过,会在ACK SLOT时间发送“显性”位填充,因此总线上不能只有一个节点,因为无接收节点在ACK SLOT时间内 发送“显性”位填充,而始终保持隐性,发送方会认为数据发送失败。

5CAN软件应用

i.采样点设置

受总线上容性器件影响,CAN总线波形上升沿下降沿会变得平滑,采样点设置尤其重要,过前或者过后采集到的波形可能压差不符合压差标准而出现误采样数据出错的现象,一般推荐采样点82%左右

程序初始化的时候,根据实际需要的波特率以及采样点来确定参数的大小,计算的时候注意CAN模块寄存器BRP位宽可以满足设置的数据大小,防止寄存器溢出。

ii.使用逻辑

用户可以设置CAN总线的自动重发机制,如果长时间数据都没有发送成功,建议取消发送。

推荐开启Error中断,当总线发生错误的时候,可以提前处理,也可以定期查询SR,出现Busoff之后做相应处理。当出现了Error之后,需要排查出现Error的原因,解决了问题,才会使通信变得更稳定。

审核编辑:汤梓红

标签:

最新
  • CAN基础内容详解

    CAN基础内容详解-鉴于用户开发过程中,经常碰到CAN使用的问题,故作此

  • 日本众议院未通过针对岸田内阁的不信任案|世界热资讯

    据日本放送协会(NHK)报道,16日,日本众议院审议了针对现任首相岸

  • 第37届香港国际旅游展15日开幕,规模恢复到疫前约八成_焦点快播

    香港唯一的国际旅游展——香港国际旅游展2023(简称ITE)于6月15至18日

  • 抵押贷款的风险是什么?抵押贷款可以贷几年?

    抵押贷款的风险是什么即使车贷已经还清,借款人也需要谨慎考虑抵押

  • 看星星看日落不如看你的眼眸什么歌 ​歌曲曾经你说是谁写的?

    看星星看日落不如看你的眼眸什么歌看星空看日落不如看我的眼眸是《

  • 金牛不太愿意参与同事之间的八卦或者互相算计?_热推荐

    白羊座:一往无前白羊座在团队中是非常能起表率作用的,因为他们自

  • csgo开箱几率 csgo怎么爆箱子几率高?

    现在市面上的开箱平台有非常多,许多玩家都跃跃欲试,想成为那个一

  • 天天看热讯:周生如故西洲指的是哪里 古代西洲是哪个省的?

    想必现在有很多小伙伴对于周生如故西洲指的是哪里是什么方面的知识

  • 全球看点:csgo回本率最高的箱子是什么?CSGO开箱网站哪个好用?

    现在小编给大家带来一款超高爆率合法正规的开箱网站,在线开箱,即

  • 天天头条:csgo开哪个箱子比较值的推荐?csgo倒卖箱子挣钱吗?

    俗话说csgo饰品租不如买,买不如开,这是csgo玩家中流传的至理名言

  • 余额宝赎回时间转到银行卡多久?余额宝赎回转出什么意思钱哪里扣的? 环球短讯

    余额宝赎回时间转到银行卡多久?在余额宝提现一般分为两个小时和第二

  • 一种基金为什么还分abc类?基金ABC类有什么区别?

    一种基金为什么还分abc类?投资者在购买基金时,通常会碰到同类基金

  • 金牛一直都在为得到一个双向都很合拍的朋友而努力?_最新快讯

    金牛座:非常够义气金牛座为何十分值得结交,是因为他们够义气。真

  • 股票封板指的是什么意思?股票封板又反复打开是什么情况?-焦点热门

    股票封板指的是什么意思?股票封板是指在股票交易过程中,该股票以涨

  • 用卡逾期几个月会怎么样?信用卡负债累累无力偿还怎么办?_天天日报

    信用卡逾期几个月会怎么样信用卡逾期几个月不还会产生高额的利息,

  • 定期存款利率4.125%是不是很高?理财是存定期还是活期?

    定期存款利率4 125%是不是很高定期存款利率4 125%是比较高的了,目前一般大型的银行基本上都不会有这么

  • 旅游
    • 绝命毒师大结局是什么?《绝命毒师》讲了一个什么故事?

    • 活期存款和定期存款的区别都有什么 定期存款有风险吗?

    • 存款利率下调对房价有什么影响?为什么不建议存3年期存款?

    • 营业执照查询方法是什么?个体户怎么办理营业执照?