通信协议CAN总线的结构和通信实现(一)
1、CAN总线的简介
CAN总线简称 — 控制器局域网络,由德国BOSCH公司开发,是一种串行的差分总线,并且这种差分总线只传递数据信息。
CAN总线已经是国际上的一种通信标准(ISO11519),它具有高可靠性、良好的错误检测能力、总线仲裁等优良特点,被广泛应用在汽车控制系统、环境恶劣场所、电磁辐射强、干扰性大等场所中。
CAN是一种异步的通信方式,它的通讯不需要时钟进行同步。
CAN总线上只有CAN_H、CAN_L 两根通信线,数据以差分信号 的方式进行传输。
2、CAN的信号电气规则
CAN总线的传输线路上只有两根用于传输信号的信号线 — CAN_H、CAN_L。
CAN总线的数据传输使用的是差分信号的方式进行的。这两根线中的信号振幅相等,相位相反,逻辑 "1" 和 逻辑 "0" 通过两根信号线的电压差值表示出来。
在CAN的应用中,逻辑1也称为隐性电平,逻辑0也称为显性电平。
比如,以高速CAN为例:
逻辑1: CAN_H、CAN_L的电压均为2.5V,电压差为VH - VL = 0V。
逻辑0: CAN_H电压为3.5V,CAN_L电压为1.5V,电压差为 VH - VL = 2V。
示意图如下:
两根信号线的电压值根据标准的不同是有所差异的,如下表所示:
注意:CAN总线上,在同一个时刻只能处于隐性电平(逻辑1)或者显性电平(逻辑0)中的一个状态,且显性电平相比隐性电平具有优先权。比如:CAN总线上有两个节点,在同一个时刻,一个输出隐性电平,一个输出显性电平,这个时候总线上是显性电平状态。
3、CAN总线常见的接线网络
(1)闭环总线网络
CAN的闭环通信网络如下:
闭环通信网络的特点如下:1)遵照标准为 ISO11898;
2)最高速度可达1Mbps,总线最大长度为40m;
3)总线的两端要求各有一个120欧姆的电阻。
注意:闭环网络的情况下,CAN总线的两端需要各接一个120欧姆的电阻,用于增加总线的抗干扰能力,提高总线的稳定性。
根据我个人对CAN总线的使用经验,如果CAN总线上的总阻值不为60欧姆,总线的通信质量是会变差的,甚至可能会出现通信不稳定的情况!
(2)开环总线网络
CAN的开环通信网络如下:
开环通信网络的特点如下:1)遵循ISO11519-2标准;
2)最高的通信速度为125Kbps,是一种低速通信的连接方式;
3)最大的通信距离可达1Km;
4)两根总线独立,且要求每根总线上要串联一个2.2K欧姆的电阻。
4、CAN的通信速率
按照 ISO11898 标准中所规定的,CAN总线的通讯波特率最高为 1Mbps。大多数项目常用的CAN总线波特率有125Kbits/s,250Kbits/s,500Kbits/s,1MKbits/s等 。
CAN总线的传输距离与速率的对照表:
5、CAN总线的数据位时序分解
由于CAN总线是异步通信的,它不像IIC、SPI这种同步通行方式一样具有同步时钟,所以总线网络中的节点就需要约定好通信的波特率。
会把每一个数据位的时序进行分解,会分解成SS段、PTS段、PBS1段、PBS2段,这四个段加起来就是一个CAN的数据位长度。分解后的最小时间单位为Tq。它们分别如下:
同步段(SS段): 该段的大小固定为1Tq。
当总线上的节点在SS段的范围内检测到总线上信号发生了跳变,就认为该节点与总线的时序是同步的。当节点与总线同步时,在采样点采集到的总线电平即可以确认为该位的电平。
传播时间段(PTS段): 该段的大小为 1Tq ~ 8Tq。
这个时间段是用于补偿网络的物理延时时间。是总线上输入比较器延时和输出驱动器延时总和的两倍。
相位缓冲段1(PBS1): 该段的大小为 1Tq ~ 8Tq。
主要用来补偿边沿阶段的误差,它的时间长度在重新同步的时候可以加长。
相位缓冲段2(PBS2): 该段的大小为 1Tq ~ 8Tq。
是用来补偿边沿阶段误差的,它的时间长度在重新同步时可以缩短。
为了方便说明,我就直接用高低电平表示CAN的逻辑1 和 逻辑0 信号,示意图如下:
图:CAN数据位分解图
上图是对CAN通信中的逻辑0进行分解的说明示意图。图中就表示每个数据位的长度为19Tq(SS 段占 1Tq,PTS 段占 6Tq,PBS1 段占 5Tq,PBS2 段占 7Tq),信号的采样点位于 PBS1 段与 PBS2 段之间,通过控制各段的长度,可以改变采样点的位置 。
6、CAN总线的波特率
在CAN总线的通讯中,各个通讯的节点只要确定了1个Tq的时间长度以及每个数据位占多少个Tq,由此就可以算出CAN通讯的波特率。
在CAN中,波特率也就只是约定了每个数据位的长度而已。
比如,上图(图:CAN数据位分解图)中,假设1Tq = 1us,每个数据位由19个Tq组成,则每传输1Bit数据需要的时间为:19Tq = 19us。
则一秒可以传输的数据位(bit)为:1000000 / 19 = 52.6316K(bps)
注意:波特率指的是每秒可以传输的数据位(bit)的个数。
作者简介:
本人95后技术男,从事嵌入式软件开发,专注于技术成长和技术分享。目标是每天进一步一点点,通过技术改变自己的生活,创造自己的美好未来!如果你也对嵌入式感兴趣,欢迎关注我呀!
声明:
本文作者:嵌入式之入坑笔记
文章版权归作者所有,转载请注明出处!
关于米饭的说法你中招了没谣零零计划我们都开始吃饱之后,米饭却开始陷入漩涡中。最近几年,关于米饭的说法层出不穷,比如说大米没营养吃米饭会让人发胖吃米会导致糖尿病大米米饭真的会有这些问题吗?几年前,网上有一篇
浅表性胃炎到底严不严重,病因都有哪些?浅表性胃炎,一般指的是慢性浅表性胃炎,也叫慢性非萎缩性胃炎,属于慢性胃炎中的一种,是胃黏膜呈慢性浅表性炎症的疾病,为消化系统常见病。造成浅表性胃炎的因素大致有以下七个一长期吸烟长期
胆囊结石的表现,看一下患病胆囊结石的人数越来越多,很多人早期并不知道自己患上了这种疾病。腹部胀痛发热黄疸胆绞痛是胆囊结石的四个症状。如果患者出现这些症状要及时就诊,尽早治疗。平时要多喝水,按时吃早饭,可
提醒家中1食用油,或会加速结节生长,转告家人少吃我们所说的这种食用油主要是指变质的花生油,可能很多老年人比较节俭,将一些油即使存在保质期,一旦超期了也是舍不得丢掉,会选择继续使用。但是像一些花生油如果出现变质的情况,其中可能会产
脚底板上一大块发白又硬又痒脚底板上一大块发白又硬又痒。脚底板上一大块发白又硬又痒是怎么回事呢,出现此症状是和牛皮癣有关。牛皮癣多在秋冬季加重,夏季减轻,中医学上认为此病产生原因大致分为内因和外因,内因以血为
牛奶是寒性的?国人不适合喝牛奶?看完这篇才明白随着国人生活水平的提高,不少人过上了西方人的饮食生活。吃西餐也成为了某种习惯,甚至是一种身份象征。作为西点的必备食物牛奶,更是被国人欣然接受。并且牛奶已经成为了我们全民的饮品,似乎
刘强东卸任我也不想走,可我不能留我就不想认命,我不想认我的命生下来就必须死在那个村里面,烂在那村里面。我不想认命生下来就是个平庸者,我不想认命生下来就社会最底层的人,所有人都可以把我忽略。我不想认命说我的竞争对手
年龄大了要忌茶?建议中老年人牢记2喝3不喝喝对才养人之前看到有一些网友说中老年人不宜喝茶!看到这样的言语,让许多爱喝茶的中老年人犯了难,到底该不该喝茶呢?其实,人在中老年时正是喝茶的年龄!这个岁数,肯定不能再像年轻人一样喝碳酸饮料或
四月长个正当时,3款早餐换着吃,含钙足又营养,孩子爱吃长得高四月长个正当时,3款早餐换着吃,含钙足又营养,孩子爱吃长的高春季进入尾声,家长朋友们若已经错过三月为孩子补钙的最佳时期,那在这个四月一定要抓住给孩子补钙的冲刺期,孩子缺乏营养,不仅
宇宙文明等级是如何划分的?人类文明又处于哪个等级?人类是地球唯一的智慧生命,诞生于数百年前,随着人类的诞生,地球也由普通的生命星球成长为智慧生命星球,而随着人类文字的出现,人类文明诞生了,地球再次升级为文明星球。如果说人类的诞生时
究竟是什么原因形成的阿斯哈图石林?阿斯哈图是蒙语,汉译为险峻的岩石。石林位于赤峰市克什克腾旗,处于大兴安岭余脉向西部草原过渡的地带。这座世界上极为罕见的花岗岩石林的神秘独特之处,在于它是冰的杰作。时间可以追溯到20