文档库 最新最全的文档下载
当前位置:文档库 › CAN总线仲裁机制

CAN总线仲裁机制

CAN总线仲裁机制
CAN总线仲裁机制

CAN总线是一种基于优先级的串行通信网络,采用载波监听多路转换冲突避免协议,CAN 总线中传输的数据帧的起始部分为数据的标识符,标识符可以区分消息又可以表示消息的优先级(0的优先级最高)。CAN总线为多主工作方式,网络上任意一节点均可在任意时刻主动向网络上的其它节点同时发送消息。若两个或两个以上的节点同时开始传送报文,就会产生总线访问冲突,根据逐位仲裁原则,借助帧开始部分的标识符,优先级低的节点主动停止发送数据,而优先级高的节点继续发送信息。在仲裁期间,CAN总线作“与”运算,每一个节点都对节点发送的电平与总线电平进行比较,如果电平相同,则节点可以继续发送。如规定0的优先级高,当某一个节点发送1而检测到0时,此节点知道有更高优先级的信息在发送,它就停止发送消息,直到再一次检测到网络空闲。

CAN总线采用的是一种叫做“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。

当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。如果2个或2个以上同时发送就会产生竞争。CAN总线解决竞争的方法同以太网的CSMA /CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1所示。此外,CAN总线做了改进并采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁。各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。

图1 CSMA/CD总线访问过程

CAN总线以报文为单位进行数据传输,报文的优先级结合在44位标识符中(扩展帧的标识符29位),具有最小二进制数的标识符的节点具有最高的优先级。这种优先级一旦在系统设计时确定就不能随意地更改,总线读取产生的冲突主要靠这些位仲裁解决。之所以CAN总线不采用以太网使用的延时避免冲突,主要是为了保证具有更高优先级的节点能够完整地实时传输,而且CSMA/CA可以有效地避免冲突。

如图2所示,节点A和节点B的标识符的第10、9、8位电平相同,因此两个节点侦听到的信息和它们发出的信息相同。第7位节点B发出一个“1”,但从节点上接收到的消息却是“0”,说明有更高优先级的节点占用总线发送消息。节点B会退出发送处于单纯监听方式而不发送数据;节点A成功发送仲裁位从而获得总线的控制权,继而发送全部消息。总线中的信号持续跟踪最后获得总线控制权发出的报文,本例中节点A的报文将被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪个节点被传送前,报文的起始部分已经在网络中传输了,因此具有高优先级的节点的数据传输没有任何延时。在获得总线控制权的节点发送数据过程中,其他节点成为报文的接收节点,并且不会在总线再次空闲之前发送报文。

图2 CAN总线节点访问总线过程

CAN非破坏性逐位仲裁示例图:

图3为CAN总线上节点的电平逻辑,总线上的节点电平对于总线电平而言是相与的关系,只有当3个节点的电压都等于1(隐性电平),总线才会保持在vcc(隐性电平)状态。只要有1个节点切换到0状态(显性电平),总线就会被强制在显性状态(0)。这种避免总线冲突的仲裁方式能够使具有高优先级的消息没有延时地占用总线传输。

Node1 Node2 Node3

High:隐性位(1)

high high high high

Low:显性位(0)

high low high low

low low high low 按位仲裁是CAN总线特有的仲裁方式,显性位覆盖隐性位。优先级高的报文根据此机制抢占总线,优先级低的报文退出竞争。正因为CAN有这样的仲裁机制,它难以抵抗高优先级攻击和重发报文攻击。

举例:

1>因为CAN的模块在发送数据的时候,也同时会对总线进行监听,假设两个节点同时发送数据,A节点发送的前3个位是100,B节点为101,在前2个位发送完毕的时候,两个节点都会认为自己发送成功,但是当发送到第三个位的时候,B节点会失去仲裁,因为0的优先级高于1的优先级,B节点监听到总线上不是1,因此失去仲裁,等待重新发送数据。CAN节点在仲裁丢失后,根据CAN2.0B协议规范,会自动重发。如果高优先级的报文一直占用着总线,则其他低优先级的报文将无法获得仲裁,但是会尝试重新发送。只有当高优先级报文不再占用总线时,低优先级的报文才可能发送成功。否则低优先级报文会出现“假饿死”状态。(例如在CAN_NM的逻辑环网络管理中,利用T_max,T_type等定时器来防止报文假

饿死)

2>如果在某一时刻CAN总线上的多个单元同时向总线发送数据,优先级高的继续发送,那么怎样保证优先级低的数据不丢失呢?如果整个can网络都是自己管理的,那么可以通过应用层协议来调整每个节点的发送时间,无论优先级高低,如果发送时间过长(长短程度这个根据您的项目来把握)则暂停发送,让其他节点发送。或者每个节点都在某个特定时间触发发送,以便每个节点都有机会。总的意思就是一定要做时间管理。如果项目不是像你说的优先级高占用带宽那么严重,就采用(非实时信息空闲时候)轮询+(实时信息)主动发送的方式管理网络。

第6章_仲裁器和总线监控器_mpc83xx中文手册

第六章仲裁器和总线监控器 本章介绍MPC8349E设备中的仲裁器的工作原理。此外,还介绍仲裁器的配置、控制和状态寄存器。 6.1概述 仲裁器负责提供一致性系统总线(coherent system bus)的仲裁。它跟踪所有的地址和数据的总线占用,并为主设备和从设备提供仲裁信号。此外,它还监控总线,报告错误和协议违反情况。 仲裁器具有以下特点: ●支持可编程流水线深度(从1到4) ●支持4层优先级的总线仲裁 ●支持重发请求模式:源自同一主设备的可编程连续事务的数量(最多8个事务) ●支持数据流操作 ●支持可编程地址总线驻留(parking)模式:禁用、驻留在最后一个总线所有者、驻留 在软件选择的主设备。 ●仅要求地址、保留的和非法的事务类型,提出有关报告,且可以提出可屏蔽中断 ●提供地址占用超时定时器和数据占用超时检测定时器,任何一个定时器超时都可以发出 可屏蔽中断 ●报告传输错误,可以发出可屏蔽中断 ●可以为每种错误事件发出常规或机器检查中断(可编程) 6.1.1一致性系统总线概述 一致性系统总线是MPC8349E的核心总线。设备内从主设备到从设备的所有数据事务都经过该一致性系统总线。MPC8349E一致性系统总线支持流水事务。它拥有独立的地址和数据占用(tenure)。流水深度决定在第一个数据占用完成之前可以开始的地址占用的数量。 基本突发长度等于核的高速缓存线(cache line)的长度,为32字节。使用重复请求模式,一个主设备可以执行最多8个连续的突发。连续事务的最大数量可以用可编程仲裁器配置寄存器限制。详情请参见6.2.1节“仲裁器控制寄存器(ACR)”。 6.2仲裁器内存映射/寄存器定义 表6-1展示了仲裁器的配置、控制和状态寄存器的内存映射。

CAN总线仲裁机制

CAN总线是一种基于优先级的串行通信网络,采用载波监听多路转换冲突避免协议,CAN 总线中传输的数据帧的起始部分为数据的标识符,标识符可以区分消息又可以表示消息的优先级(0的优先级最高)。CAN总线为多主工作方式,网络上任意一节点均可在任意时刻主动向网络上的其它节点同时发送消息。若两个或两个以上的节点同时开始传送报文,就会产生总线访问冲突,根据逐位仲裁原则,借助帧开始部分的标识符,优先级低的节点主动停止发送数据,而优先级高的节点继续发送信息。在仲裁期间,CAN总线作“与”运算,每一个节点都对节点发送的电平与总线电平进行比较,如果电平相同,则节点可以继续发送。如规定0的优先级高,当某一个节点发送1而检测到0时,此节点知道有更高优先级的信息在发送,它就停止发送消息,直到再一次检测到网络空闲。 CAN总线采用的是一种叫做“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。 当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。如果2个或2个以上同时发送就会产生竞争。CAN总线解决竞争的方法同以太网的CSMA /CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1所示。此外,CAN总线做了改进并采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁。各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。 图1 CSMA/CD总线访问过程

CAN总线的仲裁

CAN总线的仲裁 CAN 总线采用的是一种叫做“载波监测,多主掌控/冲突避免” (CSMA/CA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都 有机会取得总线的控制权并向外发送数据。如果在同一时刻有2 个或2 个以上 的设各要求发送数据,就会产生总线冲突,CAN 总线能够实时地检测这些冲突 并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。 当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电 平作为帧的开始。如果2 个或2 个以上同时发送就会产生竞争。CAN 总线解决 竞争的方法同以太网的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1 所示。此外,CAN 总线做了改进并 采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁。各节点在向总线发送电平的同时,也对总线上 的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位, 不同则停止发送退出总线竞争。剩余的节点继续上述过程,直到总线上只剩下 1 个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。 图1 Ethernet 采用的CSMA/CD 总线访问过程 CAN 总线以报文为单位进行数据传输,报文的优先级结合在44 位标识符中 (扩展帧的标识符29 位),具有最小二进制数的标识符的节点具有最高的优先级。这种优先级一旦在系统设计时确定就不能随意地更改,总线读取产生的冲 突主要靠这些位仲裁解决。之所以CAN 总线不采用以太网使用的延时避免冲 突,主要是为了保证具有更高优先级的节点能够完整地实时传输,而且 CSMA/CA 可以有效地避免冲突。

iic,总线规范,iic,总线仲裁

竭诚为您提供优质文档/双击可除iic,总线规范,iic,总线仲裁 篇一:iic总线学习心得 主控端-为启动数据传送(staRt指令)、产生时钟(scl)信号并中止数据传送(stop指令)的器件,主控端必须是传送端或接收端。 从属端-由主控端定址的器件。从属端可以扮演接收端或发送端的角色。多重主控端-在总线上可同时存一个以上的主控端,并且不会造成冲突或数据遗失。通常来说运用"bit-banged"软件的主控端并不具有多重主控端能力,i2c 总线控制器提供了一个将多重主控端硬件i2c连接端口加入到dsp或asic的简单方法。 仲裁机制-预先定义在特定时间内只有一个主控端能够取得总线控制权。同步-预先将二个或二个以上的主控端时钟信号予以同步化的定义程序。sda-串行数据信号线(serialdata) scl-串行时钟信号线(serialclock) 目标器件的i2c地址在第一个位组中送出,而这个起始位组中最不重要位(lsb)则用来表明主控端将进行发送(写

入)数据或由接收端接收(读取)数据,称为从属器件,每笔数据交换必须以staRt指令开头,并以stop或RestaRt情况结束。如果同一个i2c总线上有两个主控端,且同时发出staRt指令要控制总线时,那么就会以仲裁机制处理。当主控端,如微控器,已经控制总线时,其他的主控端必须等到第一个主控端送出stop指令,并且将总线回复闲置状态时,才能控制总线。 总线数据传送术语 F(FRee)-总线为可用或闲置状态,这时sda串行数据线与scl串行时钟均为高电位状态。 s(staRt)或R(RestaRt)-数据传送是以staRt情况开始,这时sda串行数据线的电压位准会从高电位转变为低电位,而scl串行时钟则保持在高电位,当这个情况发生时,代表了总线进入忙碌(busy)状态。 c(change)-当scl串行时钟数据线为低电位时,数据位就可以由发送端放置到sda串行数据在线,在这段时间内,只要scl串行时钟一直维持在低电位状态,sda可以改变它的状态。 d(data)-sda串行数据在线高或低电位的数据在scl串行时钟线处于高位准时,在整个传输过程中时钟必须稳定维持在高电位以避免错误判读为staRt或stop情况。 p(stop)-数据传输在收到stop指令时结束,这时候sda

浅谈CAN发送仲裁机制

浅谈CAN发送仲裁机制 随着工业技术不断发展,CAN总线已广泛应用于,车辆、航空、医疗等高安全要求领域。高频发送CAN报文也成为安全测试的必要组成部分。在信号正常的网络上高负载率发送测试时,总线上偶然会出现许多意想不到的问题,例如出现大量错误报文、被测设备报文周期出现异常、甚至总线锁死等。这个时候我们则需要考虑一下CAN网络上的仲裁是否发生了异常。 首先我们来了解一下CAN总线仲裁机制。 一、CAN总线仲裁机制 CAN总线作为现场总线,每个节点可以同时侦测到网络上正在发送的数据,当总线空闲时每个节点均可以发起自身报文发送。如果多个节点同时发起报文发送请求,由哪个节点占用总线就是仲裁机制的主要用途。 首先CAN总线物理层通常是双绞线。当逻辑“1”被写进总线时,CANH 和CANL的电平都是2.5V,这种状态并被定义为“隐性”位;当逻辑“0”被写进总线时CANH会上拉到为5V,CANL被下拉到地0V,这种状态被定义为“显性”位。如果显性位和隐性位被不同的节点同时写进总线时,总线会表现为“显性”位。“显性位覆盖隐性位”是CAN总线冲突检测的基础。 当节点开始传送它们各自的报文时,如果一个节点写进了隐性位而读回显性位,节点会知道另一个高优先权节点正在占用总线,该节点会停止传送报文并继续接收总线报文。这种技术叫做“非破坏性逐位”仲裁。

图1 CAN仲裁机制 如图1所示,在多个节点同时发送报文时,首次出现不同,且发送显性位的节点占用总线。由于CAN报文首先发送的为ID段且显性位为逻辑“0”,因此ID越小该帧的优先级越高。 二、仲裁场 似乎按照“非破坏性逐位”仲裁机制,就可以从ID一直仲裁到CRC段,可是CAN传输标准并不是这样,CAN标准要求,仲裁仅从基本ID第一位开始,到标准帧的IDE位或扩展帧的RTR位结束。这个区域被定义为仲裁场。如图2所示。

【CN109981433A】不定期总线仲裁机制的RS485主动数据传输方法【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910199383.2 (22)申请日 2019.03.15 (71)申请人 中煤科工集团重庆研究院有限公司 地址 400039 重庆市九龙坡区二郎科城路6 号 (72)发明人 张金豪 郭江涛 刘亚辉 邵严  赵光绪 林引 贺奎 孙中光  胡亮 何青松 郑芳菲 田炎鑫  (74)专利代理机构 北京海虹嘉诚知识产权代理 有限公司 11129 代理人 吕小琴 (51)Int.Cl. H04L 12/40(2006.01) (54)发明名称 不定期总线仲裁机制的RS485主动数据传输 方法 (57)摘要 本发明公开了一种不定期总线仲裁机制的 RS485主动数据传输方法,包括:通过主设备判断 总线是否繁忙,若否,则判断总线上的从设备地 址帧是否有变化,若总线上的从设备地址帧变 化,则主动向总线上发送一帧地址帧干涉数据, 从设备接收并保存所述地址帧干涉数据,并根据 所述地址帧干涉数据计算该从设备发送数据的 次序;否则,则判断是否需要向从设备发送数据。 本发明通过主设备不定期发送地址帧干涉数据, 可使从设备依次主动向主设备发送数据。并且, 该申请还通过采用主设备统一回复数据的模式, 杜绝RS485总线每次通信都需要呼叫、应答的通 信模式, 提升总线通信效率。权利要求书1页 说明书3页 附图3页CN 109981433 A 2019.07.05 C N 109981433 A

权 利 要 求 书1/1页CN 109981433 A 1.一种不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,包括以下步骤: S1:通过主设备判断总线是否繁忙,若否,则判断总线上的从设备地址帧是否有变化; S2:若判断总线上的从设备地址帧变化,则主动向总线上发送一帧地址帧干涉数据,从设备接收并保存所述地址帧干涉数据;从设备根据地址帧干涉数据计算该从设备发送数据的次序;否则,则判断是否需要向从设备发送数据。 2.根据权利要求1所述的不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,该方法还包括: S3:从设备数据发送完成以后,主设备发送一帧回复信息,该帧信息包含所有从设备的回复信息。 3.根据权利要求1所述的不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,当主设备判断得出总线上的从设备地址帧有变化时,赋值OV=0;主设备向从设备发送地址帧干涉数据后,判断地址帧干涉数据发送是否完成,若发送完则赋值OV=1。 4.根据权利要求3所述的不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,主设备判断需要发送数据则发送数据;否则,则接收数据同时开启定时器H1,当接收数据超过预设定时间,则使OV=0,H1=0,并反馈总线故障;当接收数据在预设定时间内发送完成,则使H1=0,并反馈总线空闲,返回判断地址帧步骤。 5.根据权利要求1所述的不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,当总线上的从设备未收到地址帧干涉数据时,则从设备发送数据的次序不变。 6.根据权利要求1-5任一所述的不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,当从设备收到数据时,首先判断接收到的数据是否是地址帧干涉数据,若否,侧判断总线是否空闲,准备发送数据;否则,则保存地址帧干涉数据,并根据所述地址帧干涉数据计算该从设备发送数据的次序。 7.根据权利要求6所述的不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,所述从设备根据比较自身地址与地址帧干涉数据中的设备地址信息表,计算两者的差值,并根据计算得到的差值大小,从设备按照由小到大的顺序向主设备发送数据。 8.根据权利要求7所述的不定期总线仲裁机制的RS485主动数据传输方法,其特征在于,相邻地址的两个从设备之间设有地址间隔时间,当从设备发送数据所述等待的时间大于等于地址间隔时间,则下一个设备等待时间为地址间隔*地址间隔时间。 2

总线控制中的集中控制的3种优先权仲裁方式的具体情况

总线控制中的集中控制的3种优先权仲裁方式的具体情况 总线的急用与仲裁 总线主设备:对总线有控制权. 总线从设备:对总线无控制权. 总线通信原则: ●通信前由主模块发请求; ●同一时刻只允许一对模块间通信; ●模块同时使用总线时,应由总线控制器中的判优和仲裁逻辑按判优原则决定哪个模块使用总线. 总线判优方式: 集中式—总线控制逻辑集中的一处; 分布式—总线控制逻辑分布在连接总线的各部件或设备中. 集中控制的三种常见优先权仲裁方式 (1)链式查询方式:用3条控制线进行控制: BS(总线忙); BR(总线讲求); BG(总线允许). 特征:将BG串行地从一部件(I/O接口)送到下一个部件,直到到达有请求的部件为止. 优先权位置:离总线控制器最近的部件具有最高使用权,离它越远,优先权越低. 电路:链式查询靠接口的优先权排队电路实现. (2)计数器定时查询方式:

总线上的任一设备要求使用总线时,通过BR线发出总线请求.中央仲裁器接到请求信号以后,在BS线为"0"的情况下让计数器开始计数,计数值通过一组地址线发向各设备.每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置"1"BS线,获得了总线使用权,此时中止计数查询. 图4.3 (3)独立请求方式 ●工作原理: 每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi. 当设备要求使用总线时,便发出该设备的请求信号.总线控制器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BGi. ●优点:响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询. 其次,对优先次序的控制相当灵活,可以预先固定也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求. ●三种方法控制线数目的比较: 链式查询方式——只用二根线. 计数器定时查询方式——大致用㏒2n根线,n是允许接纳的最大部件数.

对I2C总线的时钟同步和总线仲裁的深入理解

对I2C总线的时钟同步和总线仲裁的深入理解 每一个IIC 总线器件内部的SDA、SCL 引脚电路结构都是一样的,引脚的输出驱动与输入缓冲连在一起。其中输出为漏极开路的场效应管、输入缓 冲为一只高输入阻抗的同相器[1]。这种电路具有两个特点:①由于SDA、SCL 为漏极开路结构,借助于外部的上拉电阻实现了信号的线与逻辑; ②引脚在输出信号的同时还将引脚上的电平进行检测,检测是否与刚才输出 一致。为时钟同步和总线仲裁提供硬件基础。 I2C 总线接口内部结构 IIC 设备对总线的操作仅有把线路接地输出逻辑0。基于IIC 总线的设计,线路上不可能出现电平冲突现象。如果一设备发送逻辑0,其他发送逻辑1, 那么线路看到的只有逻辑0。也就是说,如果出现电平冲突,发送逻辑0 的始 终是赢家。总线的物理接法允许主设备往总线写数据的同事读取数据。这样两 主设备争总线的时候赢家并不知道竞争的发生,只有输家发现了冲突当写一个 逻辑1,却读到了0 而退出竞争。时钟同步如果被控器希望主控器降低传送速度可以通过将SCL 主动拉低延长其低电平时间的方法来通知主控器,当主控器在准备下一次传送发现SCL 的电平被拉低时就进行等待,直至被控器完成操作并释放SCL 线的控制控制权。这样以来,主控器实际上受到被控器的时钟同步控制。可见SCL 线上的低电平是由时钟低电平最长的器件决定;高电平的时间由高电平时间最短的器件决定。这就是时钟同步,它解决了I2C 总线的速度同步。 总线仲裁假设主控器1 要发送的数据DATA1 为101 ;主控器2 要发送的数据DATA2 为1001 总线被启动后两个主控器在每发送一个数据位时

can总线仲裁机制详解

can总线仲裁机制详解 CAN总线是一种基于优先级的串行通信网络,采用载波监听多路转换冲突避免协议,CAN总线中传输的数据帧的起始部分为数据的标识符,标识符可以区分消息又可以表示消息的优先级(0 的优先级最高)。 CAN总线为多主工作方式,网络上任意一节点均可在任意时刻主动向网络上的其它节点同时发送消息。若两个或两个以上的节点同时开始传送报文,就会产生总线访问冲突,根据逐位仲裁原则,借助帧开始部分的标识符,优先级低的节点主动停止发送数据,而优先级高的节点继续发送信息。在仲裁期间,CAN总线作与运算,每一个节点都对节点发送的电平与总线电平进行比较,如果电平相同,则节点可以继续发送。如规定0 的优先级高,当某一个节点发送1而检测到0 时,此节点知道有更高优先级的信息在发送,它就停止发送消息,直到再一次检测到网络空闲。 CAN,总线采用的是一种叫做载波监测,多主掌控/冲突避免(CSMA/CA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2 个或2 个以上的设各要求发送数据,就会产生总线冲突,CAN 总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。 当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。如果2个或2个以上同时发送就会产生竞争。CAN总线解诀竞争的方法同以太网的CSMA/CD (Carrier Sense MulTIple Access with Collislon DetecTIon)方法基本相似,如图1所示。此外,CAN,总线做了改进并采用CSMA/CA (Carrier Sense MulTIple Access withCollision Avoidance)访问总线,按位对标识符进行仲裁。各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。

PCI总线仲裁机制

PCI总线仲裁机制 为了使访问等待时间最小,PCI总线仲裁基于访问而不基于时间。总线管理必须为总线上的每一次访问进行仲裁。PCI总线采用中央仲裁方案:每个主设备都设有自己的总线占用请求线REQ#和总线占用允许线GNT#,系统中设立一个中央仲裁电路,想得到总线控制权的主设备都要发出各自的请求,由中央仲裁电路进行裁决。PCI总线的仲裁是“隐含的”,即一次仲裁可以在上一次访问期间完成,这样,就使得仲裁的具体实现不必占用PCI总线周期。但是,如果总线处于空闲状态,仲裁就不一定采用隐含方式。 PCI总线仲裁的基本规则如下: ①若GNT#信号无效而FRAME#有效时,当前的数据传输合法且能继续进行。 ②如果总线不处在空闲状态,则一个GNT#信号无效与下一个GNT#信号有效之间必须有一个延迟时钟,否则在AD线和PAR线上会出现时序竞争。 ③当FRAME#无效时,为了响应更高优先级主设备的占用请求,可以在任意时刻置GNT#和REQ#无效。若总线占有者在GNT#和REQ#设置后,在处于空闲状态16个PCI时钟后还没有开始数据传输,则仲裁机构可以在此后的任意时刻移去GNT#信号,以便服务于一个更高优先级的设备。 如图9.8所示,通过两个设备对总线的占用情况来说明仲裁的基本过程。从中可以看出,在时钟1或此前,设备A发出了总线请求REQ#-A,仲裁器根据总线的使用情况,在时钟2处回以GNT#-A信号,于是设备A的请求得到批准,可以使用总线。由于此时只有GNT#-A有效而FRAME#和IRDY#无效(总线为空闲状态),所以,设备A可以在时钟2处启动传输。到了时钟3,FRAME#信号有效,设备A便开始其数据的真正传送。由于总线请求REQ#-A一直未撤消,说明它还要进行传输。 注意 设备B在时钟1期间也提出了总线占用请求REQ#-B,而它的优先级比设备A高,所以仲裁器在设备A进行第一次传输期间撤消了REQ#-A而置REQ#-B有效(总线的仲裁是隐含的,不占用单独的PCI总线周期),允许设备B使用总线。这样,设备A在时钟4之后就释放总线,同时FRAME#和IRDY#信号也消失,从而使得所有的PCI设备都能够判断出当前数据传输已经结束。设备B在时钟5处成为总线的拥有者。

CAN总线仲裁

CAN总线仲裁 CAN总线数值为两种互补逻辑数值之一:“显性”或“隐性”。“显性”(Dominant)数值表示逻辑“0”,而“隐性”(Recessive)表示逻辑“1”,“显性”和“隐性”位同时发送时,最后总线数值将为“显性”。 在“隐性”状态下,VCAN-H和VCAN-L被固定于平均电压电平,Vdiff近似为0。在总线空闲或“隐性”位期间,发送“隐性”状态。“显性”状态以大于最小临界值的差分电压表示。在“显性”位期间,“显性”状态改写“隐性”状态并发送。 当许多节点一起开始发送时,此时只有发送具有高优先权帧的节点变为总线主站。这种解决总线访问冲突的机理是基于竞争的仲裁。仲裁期间,每个发送器将要发送位电平同总线上监测到的电平进行比较。若相等,则节点可以继续发送。当发送出一个“隐性”电平,而检测到的是“显性”电平时,表明节点丢失仲裁,并且不应再发送更多位。当送出“显性”电平,而监测到“隐性”电平时表明节点检测出位错误。 为了能同其它报文进行总线访问竞争,总线一旦空闲,重发送立即开始。CAN协议规定,消息没有发送完毕不会释放总线。因此有低优先级的消息在发送的时候,高优先级的消息也会被延迟。 CAN总线学习系列之八——CAN节点与CPU连接的硬件调试硬件正常是整个调试工作的基础,在进行软件调试之前首先需要仔细检查硬件连接。保证每一个连接是正确的,没有虚焊。而在所有连接中CPU与CAN控制器的连接又是最重要的。所以我们采用软件方法对CAN控制器与CPU的连接接口进行了检测测试。检测步骤如下: (1)CAN节点上电复位后,检测SJA1000的复位管脚电平应为高电平,反之说明SJA1000的复位电路不正常。 (2)向SJA1000的测试寄存器写入AAH,再读SJA1000的测试寄存器,结果应该是AAH,如果不是,说明数据线,地址线,控制线的连接有问题。(3)向SJA1000的测试寄存器写入55H,再读SJA1000的测试寄存器,结果应该是55H,如果不是,说明数据线,地址线,控制线的连接有问题。

几种典型的总线

4几种典型的现场总线 a、HART HART是Highway Addressable RemoteTransducer(可寻址远程传感器高速公路)的缩写。1986年由美国ROSEMOUNT公司开发的一套过渡性临时通讯协议。但目前受到了广泛承认,已成为事实上的国际标准。 ●HART协议以国际标准化组织(ISO)开放性系统互连模型(OSI)为参照,使用OSI的 1、2、7三层,即物理层、数据链路层、应用层。物理层采用基于Be11202通信标准的FSK 技术,所以可以通过租用电话线进行通信。 ●HART协议使用FSK技术在4~ 2mA过程测量模拟信号上叠加一个频率信号。逻辑1为1200Hz,逻辑0为2200Hz,波特率为1200bps。它成功地使模拟和数字双向信号能同时进行而且互不干扰。因此在与智能化仪表通信时,还可使用模拟仪表、记录仪及模拟控制。在不对现场仪表进行改造的情况下,逐步实现数字性能(包括数字过程变量),是一种理想的方案。这是一个由模拟系统向数字系统过渡的协议。 ●在应用层规定了3类使命,第一类是通用命令,这是所有设备都能理解、执行的命令; 第二类是一般行为命令,它所提供的功能可以在许多现场设备中实现; 第三类为特殊设备命令,以便在某些设备中实现特殊功能,这类命令可以允许开发此类设备的公司所独有。此外它还为用户提供统一的设备描述语言DDL。 ●HART支持点对点、主从应答方式和多点广播方式。 ●直接通信距离: 有屏蔽双绞线单台设备3000m,而多台设备互相距离1500m。只使用一个电源时,能连结15个智能化设备。 b、CAN CAN是Controller Area Network(控制器局域网络)的缩写。这是由德国BOSCH 公司开发的控制局域网络,是一种具有很高可靠性、支持分布式实时控制的串行通信网络。它最初是用于汽车内部大量控制测量仪器、执行机构之间数据交换的一种串行数据通信协议。现在已逐步发展到其他工业部门的控制,其中包括机械制造、数控机床、医疗器械、建筑管理监控、变电站自动化设备的监控等。国际标准化组织ISO/TC22技术委员会已制订了CAN 协议的国际标准ISO/DIS1 1 898(通信速率= 1Mbps),ISO/DIS11519(通信速率=125Kbps)。在现场总线中,目前是唯一被批准为国际标准的现场总线。Intel、Philips、Motorola等芯片厂商均生产CAN总线芯片产品。在我国也有HAPCAN等系列产品推出,国内电力系统厂商自行研制的全分散型变电站综合自动化系统DISA2,DISA3即采用CAN 总线。长沙电业局天顶220kV变电站自动化系统中的ABB RTU560的内部总线亦是采用的CAN总线。 ●CAN协议实现ISO/ OSI模型的1、2两层。物理层定义了传送过程中的所有电气特性; 目标层和传输层包括了ISO/OSI定义的数据链路层的所有功能。目标层的功能包括确认哪个信息是要发送的,确认传送层接收到的信息并为之提供接口。传送层的功能包括帧组织、总线仲裁、检错、错误报告、错误处理等。 ●CAN可以点对点、一点对多点(成组)及全局广播等几种方式传送和接收数据,可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络其他节点发送信息,可以方便地构成多机备份系统。 ●网络上各节点可以定义不同的优先级以满足不同的实时要求,CAN采用非破坏性总线仲裁技术,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据传送,而优先级高的节点可不受影响地继续传输数据,有效地避免了总线冲突。 ●CANBUS上的节点数,理论值为2000个,实际值是110个。直接通信距离为10km/5Kbps, 40 m/ 1MKbps。传输介质为双绞线和光纤。

相关文档
相关文档 最新文档