首页

文章

CAN总线位填充的原理是什么

发布网友 发布时间:2022-04-20 04:38

我来回答

2个回答

热心网友 时间:2023-07-18 01:09

及传感器领域都得到了广泛的应用。目前国内外文献中针对CAN总线协议分析的文章主要是针对CAN协议的帧结构以或位时序特性进行分析,如文献鲜有从通信的角度对CAN总线协议进行分析,鲜有从工程应用的角度出发,对CAN总线的通信机制进行深入分析的文章。

  1 CAN应用特性及结构构成

  CAN总线协议具有两个国际标准,分别是ISO11898和ISO11519。其中,IS011898是通信速率为125 kbps~1
Mbps的高速CAN通信标准,属于闭环总线,总线最大长度为40 m/1 Mbps。ISO11519定义了通信速率为10~125
kbps的低速CAN通信标准,属于开环总线,最大长度为1 km/40
kbps。由于电气特性*,即总线分布电容和分布电阻对总线波形的影响,CAN总线上最大节点数目为110个。对于应用工程师,只需正确配置收发端的波
特率和位参数即可实现收发节点的数据同步。通过CAN控制器硬件对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。同时,
由于CAN报文采用短帧结构,并且每帧均包含CRC校验部分,保证了数据出错率极低。CAN总线在工程应用中结构构成
系统实现中的CAN应用层、操作系统(在无操作系统的应用中以后台程序实现)及驱动程序共同实现了ISO参考模型中的应用层功能。其中,CAN应用
层定义ID分组、发送数据装包、接收数据处理以及应用层总线安全监测;操作系统/后台程序用于在CAN中断到达后调度CAN驱动程序对数据进行处理;驱动
程序包括初始化(控制器工作状态设置、波特率设置、验收滤波器配置)、收发驱动及异常处理程序。

  对于传输介质层,需要根据环境干扰噪声、总线长度等来确定。在强干扰噪声的情况下必须采用屏蔽线;由于分布电容造成的总线波形失真及分布电阻造
成的总线电平的衰减,总线长度需要考虑采用的传输介质的分布电阻和分布电容特性;同时,若采用高速总线还需通过实验确定总线的匹配电阻值。

  对于CAN控制器的实现,可以选用集成于系统主控芯片的CAN控制器实现,如恩智浦公司出品的LPC2000系列的微控制器,
或者也可以选用分立元件的CAN控制器,如SJA1000。对于CAN收发器的实现,可以选用CTM1050、TJA1050等。若环境干扰噪声较大,则
需在控制器和收发器之间添加隔离芯片或采用集成了隔离功能的CAN收发器。值得一提的是,恩智浦公司新推出的LPC11C24微控制器芯片中不仅集成了
CAN控制器,同时集成了CAN收发器功能,对于CAN总线系统的快速开发提供了良好的支持。另外,根据实际应用的总线长度及总线上的节点数目,还需考虑
收发器芯片的发送和接收的延迟时间。

  对于CAN驱动层和应用层,驱动程序包括CAN初始化(包括硬件使能、波特率设置、控制器工作模式设置及验收滤波器ID表配置)、收/发驱动并
向上层提供接口函数,其中需要说明的是验收滤波器的ID表配置需要根据应用层对系统ID的分组来进行;CAN应用层根据总线上各节点之间的数据收发关系进
行数据包的ID分组、发送数据装包、接收数据处理及应用层总线安全监测等。另外,常用的CAN总线上层协议主要有CANOpen、DeviceNet以及
iCAN等。

  2 CAN总线同步机制分析

  在进行通信过程中,需要解决的最重要的问题之一就是如何实现收发端数据的同步,即接收端可以正确接收和解析发送端发送的数据。CAN总线协议是
一种异步串行通信协议,属于基带通信,其同步的实现源于高级数据链路控制协议(HDLC)。具体来说,CAN总线协议的同步是通过如下所述的3个方面来实
现的。

  2.1 参数设定

  通信双方通过软件设置相同的波特率、相同的相位调整段长度、相同的同步跳转宽度,通过以上3个元素设置,定义了CAN总线传输过程中的位时间长
度以及采样点位置,位结构如图2所示,图中的CAN时钟即是协议中定义的TQ时间,该时钟是通过外部时钟或者CPU外设时钟分频后得到的CAN控制器的基
本时钟信号,SS段对应于起始段,总线上的跳变沿应发生在此段时间内,TESG1对应于传输段和相位调整段1,TESG2对应于相位调整段2,对于高速总
线,控制器在TESG1和TESG2之间对总线进行采样判别。
2.2 固定的帧结构

  CAN协议中明确定义的固定的帧结构,便于CAN控制器和收发器对总线状态进行监测,在CAN2.0协议规范中,分为标准帧和扩展帧两种帧结构,两者区别只在于仲裁域,标准帧采用11位标识符,而扩展帧有29位标识符,具体的标准帧、扩展帧帧结构
2.3 硬同步和再同步

  2.3.1 硬同步

  所谓硬同步就是指在总线空闲期间(即总线电平表现为连续的隐性位),控制器一旦检测到从隐性电平到显性电平的跳变,就说明此时总线上有站点开始
发送数据,则强制CAN控制器的位状态计数器同步到图2所示的SS段,同时位时钟从此开始重新计数(CAN位时间由上层软件设定)。硬同步用于帧的起始判
定。

  2.3.2 再同步

  在CAN总线协议中,再同步是基于位填充机制实现的。与HDLC协议类似,在CAN的帧结构中,从帧起始到CRC序列位为止,一旦检测到5个连
续相同极性的位,CAN控制器自动插入一个极性相反的位。再同步就是在数据传输过程中,CAN控制器通过检测总线上的跳变沿与节点内部位时间的差异来调整
相位调整段1和相位调整段2,调整大小是由同步跳转宽度编程设定的,调整大小单位为TQ。具体调整规则是,在传输过程中,由CAN控制器检测到的总线上的
跳变沿如果位于节点内部的SS位时间段内,则不需要调整;若跳变沿位于TESG1段,说明总线上的位时间相对于节点的位时间有延迟,则CAN控制器延长节
点的TESG1位时间段,若延迟时间值(T0值)大于同步跳转宽度,延长时间为同步跳转宽度值,否则节点的CAN控制器延长其与总线位时间的差值;若跳变
沿位于TESG2段,说明总线上的位时间相对于节点的位时间有超前,则CAN控制器减少节点的TESG2位时间段,具体调整规则与TESG1段的调整规则
相似。

  3 CAN总线地址机制分析

  不同于工业以太网、RS485等总线,CAN总线是通过数据包ID而非节点地址来收发数据的,即CAN总线上的节点没有固定的地址,取而代之的
是每个节点都需要通过软件配置一个ID表(在该节点的验收滤波器单元中),如果总线上的数据包的ID号在该节点的ID表中存在,则数据包成功通过该节点的
验收滤波器单元的验收,并将被送到上层软件处理单元并进行相应的数据处理,否则,该数据包被丢弃。举例来说,若总线上的节点A想发送数据包到节点B,则该
数据包的ID号必须位于节点B的ID表中,同理,若节点A想广播数据包到总线上,则该数据包的ID号必须位于总线上所有其它节点的ID表中。如前所
述,ID表是通过软件进行配置的,但验收滤波功能却是通过CAN控制器中的验收滤波器这个硬件单元进行的,所以从速度上来说,验收造成的延迟很小。另外,
采用这种地址机制的优点还在于是采用此总线的系统具有很高的灵活性,即新加入或删除的节点不会影响系统原有节点间的通信。
4 CAN总线仲裁机制分析

  总线仲裁,是指当总线上有多个节点在同时发送数据时总线协议的处理方法。CAN总线采用的是无破坏性的仲裁机制,即若总线上的多个节点同时发送
数据,具有高优先级数据包的节点仲裁胜出,可以继续发送数据,而其它仲裁失败的节点将退出发送状态而转为接收节点,与其他总线仲裁机制(例如局域网的
CSMA/CD)相比,其不仅不会破坏已发送的数据,并且不会造成发送数据的延迟,是CAN总线与其他总线相比的优点之一,其主要是通过CAN总线所具备
的如下两个特点实现:1)CAN总线的线与特性,即当总线上多个节点同时发送显性和*电平时,总线电平表现为显性电平。2)CAN控制器即使在发送数据
的同时也在监控总线电平状态,即当在仲裁时,当控制器发送隐性电平但检测到总线为显性电平时,节点仲裁失败,转为接收节点。

  5 CAN总线鲁棒性分析

  CAN总线的鲁棒性是通过其对节点和总线数据包安全性的实时检测与监控来实现的,另外,CAN总线通过采用的差分信号对外界干扰信号有较强的抑制作用。具体论述如下。

  5.1 实时监控总线波形

  CAN控制器不仅在上电后会一直监测总线上其它节点发送的的数据包,并且在自己发送数据包得过程中也在实时监测自己发送的数据,一旦检测到位错
误、填充错误、CRC错误、格式错误或者应答错误,该节点就会根据其所处的错误状态(错误激活状态或者错误认可状态)发送相应的错误标志,实际上笔者认为
只有错误激活站点发送激活错误标识(即6个连续的显性位后接8个隐性位的错误标识界定符)会对总线及总线上的节点产生影响,而处于错误认可状态的节点发送
的错误认可标识实际对总线没有任何影响(发送的6个隐性电平与总线空闲状态是一致的)。

  5.2 实时监控节点状态判定节点权限

  节点会根据总线上数据包的情况实时改变自身的状态(错误激活、错误认可或者总线关闭状态),处于错误激活的节点正常参与总线通信,错误认可的单
元参与总线通信,但是在其启动下一个发送之前需要发送8个额外的隐性位。对于总线上发送的数据包,如表1所示,15位的CRC序列实现了对起始位、仲裁
域、控制域以及数据域(如果有的话)的监控,接收站点在接收到数据后会根据与发送节点相同的算法生成该数据包的CRC序列,并与接收到的CRC序列做比
较,如果不同则说明有错,接收节点不会对该数据包做出应答,发送节点就会检测到应答错误并重新发送该数据包。总之,CAN总线通过数据链路层以及物理层就
已经实现了较高的总线的数据安全性和总线的稳定性。

  6 结论

  文中以ISO11898协议规范为基础,从通信的角度详细分析了CAN总线的节点同步机制、节点地址机制、总线仲裁机制(即总线冲突解决机制)
及总线鲁棒性的实现原理和基础,同时简要介绍了CAN总线的应用特性以及将其应用于实际系统中时总线的系统分层结构,对深入理解CAN总线协议和将CAN
总线应用到具体工程项目中,以及研究或开发特定要求的总线系统具有指导意义。

热心网友 时间:2023-07-18 01:10

你是问位填充的实现方法、还是问位填充的作用?

位填充的作用是避免总线上出现太多的连续相同码时,收发双方失步,因为CAN总线是NRZ编码的。位填充可以确保至少每6个位时间就会产生跳变沿,这样的话才能让接收端的锁相环保持与发送端同步。
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 CAN组成的网络中,CAN控制器、CAN收发器、CAN驱动... 大洋路海鲜批发市场怎么样 CAN总线的收发芯片 CAN总线转RS232电路原理 驱动CAN接收器工作原理? CAN收发器具有工作原理? 在长沙哪里能找到既便宜又好吃的基围虾 长沙哪有 基围虾 卖 长沙基围虾在哪里进货? 华为手机型号H乚K一AL00质量怎样? 华为HLK-AL00是什么型号 临床医学成人本科需读几年 考临床医学本科的成人本科有用吗? 成人本科口腔医学学历,可否考取执业医师证或医师... 临床医学成人专升本有什么用呢? 医学成人本科教育 医学成人本科学历只能考学硕吗? 成人自考本科(医学类) 成人高考医学类本科临床医学 医学类成人本科选专业有什么区别吗 武汉新鲜基围虾那里有卖的,就在汉口的 目前,我使用的CAN总线分为CANH和CANL发送数据,那... CAN-BUS数据总线由哪些部分构成?各组成部件的功能... 什么是CAN总线发送器与接收器 CAN收发器具有作用? 所谓CAN总线的线就是两条双绞线是么? can总线收发器如何识别传输线上的差分信号,这是怎... CAN总线接口组成、总线控制器和总线收发器 关于can通讯异常,不懂的不要接我写了两个can通讯... 关于can总线调试,我用51单片机和sja1000还有82c25... CAN收发器怎么选? 我想问下can-usb卡的CAN收发器烧坏了可能是因为什... 描写2020年第一场雪的诗句 用秋天的第一场雪写首诗 2021年初雪来袭,关于初雪的诗词你知道多少? 二零一九年第一场雪的藏头诗(七言) 白雪歌送武判官归哪句诗句说明第一场雪雪花纷纷扬扬 根据课文《第一场雪》写的七言现代诗 作文《入冬的第一场雪》要求:有一首诗,五个成语... 关于《第一场雪》的资料有什么?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com