can总线中的显隐性位指的是什么

2020-11-29 11:56:00 字数 5513 阅读 3747

1楼:匿名用户

总线中所谓显性和隐性指的是总线值,而总线值是根据双绞线的两根线的电势差来确定的,显性位和隐性位同时传送时,总线的结果值为显性,逻辑0 代表显性逻辑1 代表隐性。报文中的显性位和**位就是二进制**中的0和1。

can通讯中定义显性和隐性的目的是什么?有什么作用? 10

2楼:匿名用户

can总线通讯采用差分信号,

它的总线值是根据双绞线的两根线的电势差来确定的,而不是对地电势差,其传输的显性位和隐性位同时传送时,逻辑0 代表显性逻辑,1 代表隐性逻辑。报文中的显性位和**位就是二进制**中的0和1。

您好,本人初学can总线,不太明白显性和隐性的状态,想请教您一个问题?

3楼:匿名用户

后面半句对了,前面半句不全对。can总线在没有节点传输报文时是一直处于隐性状态。当有节点传输报文时显性覆盖隐性,由于can总线是一种串行总线,也就是说报文是一位一位的传输的,而且是数字信号(0和1),1代表隐性,0代表显性。

在传送报文的过程中是显隐交替的,就像二进制数字0101001等,这样就能把信息发送出去,而总线空闲的时候是一直处于隐性的。

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

4楼:匿名用户

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

位填充的作用是避免总线上出现太多的连续相同码时,收发双方失步,因为can总线是nrz编码的。位填充可以确保至少每6个位时间就会产生跳变沿,这样的话才能让接收端的锁相环保持与发送端同步。

5楼:

及传感器领域都得到了广泛的应用。目前国内外文献中针对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、device***以及

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总线采用的是无破坏性的仲裁机制,即若总线上的多个节点同时发送

数据,具有高优先级数据包的节点仲裁胜出,可以继续发送数据,而其它仲裁失败的节点将退出发送状态而转为接收节点,与其他总线仲裁机制(例如局域网的

c**a/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

总线应用到具体工程项目中,以及研究或开发特定要求的总线系统具有指导意义。

can总线的ID掩码有什么作用,can总线的ID是什么意思

1楼 张 通过设置can过滤器 可以使can端口只接收符合规定的的can数据包 这样就能将can总线划分成若干网段用于支持不同应用 例如 节点a接受前四位为1010的数据,即id 1010 x的数据。使用掩码可屏蔽后七位。 can总线的id是什么意思 2楼 马路上的 甲 标识符 也就是一个can节点...

can总线发送数据的问题,can总线中,总结点发送数据,在什么情况下才能把数据发出去,如果发送的数据没人接受,又会发生什么呢??

1楼 胜利之 如果can发送节点处于 正常发送 模式 发送数据但是没有任何节点接收那么一定会发送失败。 一次发送失败不会产生错误中断,只是发送错误计数器值增加,can控制器重发还发不出去,发送错误计数器累加达到一定的值后才会产生相应的中断。 检测是否发送成功要么是通过发送中断或者发送状态位来的,不是...

生存世界中的真理指的是什么

1楼 漫阅科技 生存世界中的真理,即源本的真理,都潜伏在人类的社会性情感之中,而不是潜伏在理性里面。表现主义美学看到了艺术是情感之表现,但不知道情感之表现与真理性认识的关系。艺术之表现情感。 是为了有所发现,表现情感并不是目的本身,表现是为了发现,有所发现才是目的。有所发现,即意味着通向真理。恩斯特...