CN112217701A - 总线冲突避免方法及装置 - Google Patents
总线冲突避免方法及装置 Download PDFInfo
- Publication number
- CN112217701A CN112217701A CN201910613525.5A CN201910613525A CN112217701A CN 112217701 A CN112217701 A CN 112217701A CN 201910613525 A CN201910613525 A CN 201910613525A CN 112217701 A CN112217701 A CN 112217701A
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- frame data
- sending
- collision detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000001514 detection method Methods 0.000 claims abstract description 91
- 230000005540 biological transmission Effects 0.000 claims abstract description 88
- 230000004044 response Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 11
- 230000007704 transition Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
- H04L12/40156—Bus networks involving priority mechanisms by using dedicated slots associated with a priority level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供一种总线冲突避免方法及装置,该方法应用于数据传输设备,所述数据传输设备为与总线连接的设备中的任一个,该方法包括:获取待发送的帧数据的类型;根据所述帧数据的类型确定冲突检测等待时间,其中,所述总线对应的多个帧数据的类型中,存在至少两个帧数据的类型对应的冲突检测等待时间不同;在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据。本发明实施例提供的一种总线冲突避免方法及装置,能够减小总线上数据发送的冲突,提高数据发送的效率。
Description
技术领域
本发明实施例涉及数据传输技术领域,尤其涉及一种总线冲突避免方法及装置。
背景技术
RS-485总线在工业控制领域运用很广泛,其采用平衡发送和差分接收的方式,具有较好的抑制共模干扰的能力。RS-485总线由于布线简单、稳定可靠,因此被应用于视频监控、门禁对讲、楼宇报警等各个领域中。
对于RS-485总线的访问方式是半双工方式,即同一时刻总线上只能允许一台设备发送数据,如果有其他设备同时发送数据就会造成冲突。例如RS-485总线上有10台设备同时需要发送数据,每台设备会去抢占总线,抢到总线的设备就有发送数据的权力,但由于10台设备是公平竞争总线的发送权力,1台设备抢到总线的概率是10%。一般针对RS-485总线优化都集中在如何提高总线的利用率,现有的总线冲突避免和抢占总线的方法,容易造成严重的数据冲突,很难把重要数据及时发送出去,发送效率较低。
因此,现在亟需一种方法解决现有技术容易造成总线上数据冲突从而导致数据发送效率较低的问题。
发明内容
本发明实施例提供一种总线冲突避免方法及装置,以解决现有技术容易造成总线上数据冲突从而导致数据发送效率较低的问题。
第一方面,本发明实施例提供一种总线冲突避免方法,应用于数据传输设备,所述数据传输设备为与总线连接的设备中的任一个,所述方法包括:
获取待发送的帧数据的类型;
根据所述帧数据的类型确定冲突检测等待时间,其中,所述总线对应的多个帧数据的类型中,存在至少两个帧数据的类型对应的冲突检测等待时间不同;
在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据。
在一种可能的实现方式中,所述根据所述帧数据的类型确定冲突检测等待时间,包括:
获取待发送的帧数据类型对应的发送优先级;
根据所述发送优先级确定冲突检测等待时间,其中,不同发送优先级对应的冲突检测等待时间不同。
在一种可能的实现方式中,发送优先级的优先级高低与冲突检测等待时间成负相关。
在一种可能的实现方式中,不同帧数据的类型对应的发送优先级从高到低具体为:
请求数据对应的发送优先级、回应数据对应的发送优先级、状态上报数据对应的发送优先级、执行成功数据对应的发送优先级、日志数据对应的发送优先级。
在一种可能的实现方式中,若所述待发送的帧数据对应的发送优先级对应至少两种类型的帧数据,所述在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据,包括:
在所述总线的空闲时间达到所述冲突检测等待时间时,根据随机抢占方式通过所述总线发送所述帧数据。
在一种可能的实现方式中,所述通过所述总线发送所述帧数据之前,所述方法还包括:
获取总线的空闲时间,其中,所述总线的空闲时间是通过载波监听方式,获取的所述总线的状态由传输数据状态转变为空闲状态的转变时刻至当前时刻之间的空闲时间;
判断所述总线的空闲时间是否达到所述冲突检测等待时间。
在一种可能的实现方式中,若所述总线在所述总线的空闲时间未达到所述冲突检测时间时开始传输其它数据传输设备的数据,则所述方法还包括:
重复执行获取总线的空闲时间的步骤,直至所述总线的空闲时间达到所述冲突检测等待时间。
第二方面,本发明实施例提供一种总线冲突避免装置,包括:
获取模块,用于获取待发送的帧数据的类型;
处理模块,用于根据所述帧数据的类型确定冲突检测等待时间,其中,所述总线对应的多个帧数据的类型中,存在至少两个帧数据的类型对应的冲突检测等待时间不同;
发送模块,用于在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据。
在一种可能的实现方式中,所述处理模块具体用于:
获取待发送的帧数据类型对应的发送优先级;
根据所述发送优先级确定冲突检测等待时间,其中,不同发送优先级对应的冲突检测等待时间不同。
在一种可能的实现方式中,发送优先级的优先级高低与冲突检测等待时间成负相关。
在一种可能的实现方式中,不同帧数据的类型对应的发送优先级从高到低具体为:
请求数据对应的发送优先级、回应数据对应的发送优先级、状态上报数据对应的发送优先级、执行成功数据对应的发送优先级、日志数据对应的发送优先级。
在一种可能的实现方式中,若所述待发送的帧数据对应的发送优先级对应至少两种类型的帧数据,所述发送模块具体用于:
在所述总线的空闲时间达到所述冲突检测等待时间时,根据随机抢占方式通过所述总线发送所述帧数据。
在一种可能的实现方式中,所述通过所述总线发送所述帧数据之前,所述获取模块还用于:
获取总线的空闲时间,其中,所述总线的空闲时间是通过载波监听方式,获取的所述总线的状态由传输数据状态转变为空闲状态的转变时刻至当前时刻之间的空闲时间;
判断所述总线的空闲时间是否达到所述冲突检测等待时间。
在一种可能的实现方式中,若所述总线在所述总线的空闲时间未达到所述冲突检测时间时开始传输其它数据传输设备的数据,则所述获取模块还用于:
重复执行获取总线的空闲时间的步骤,直至所述总线的空闲时间达到所述冲突检测等待时间。
本发明实施例提供的总线冲突避免方法及装置,首先获取待发送的帧数据的类型,然后根据帧数据的类型确定对应的冲突检测等待时间,最后在总线的空闲时间达到冲突检测等待时间时,通过总线发送对应的帧数据,由于多个帧数据的类型中至少两个帧数据的类型对应的冲突检测等待时间不同,因此,本发明实施例提供的方法,通过对帧数据类型的划分来确定冲突检测等待时间,从而确定各个数据传输设备对应的帧数据的发送,避免了同一总线上多个数据传输设备同时发送数据时的频繁冲突导致的发送效率低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的总线传输数据的应用场景示意图;
图2为本发明实施例提供的总线冲突避免方法的流程示意图;
图3为本发明实施例提供的数据传输设备发送优先级抢占总线示意图;
图4为本发明实施例提供的不同发送优先级的数据传输设备抢占总线示意图;
图5为本发明实施例提供的第一发送优先级的数据传输设备抢占总线后的示意图;
图6为本发明实施例提供的一种智能家居设备的连接示意图;
图7为本发明实施例提供的场景面板控制开关的流程示意图;
图8为本发明实施例提供的总线冲突避免装置的结构示意图;
图9为本发明实施例提供的总线冲突避免设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本申请中涉及到的部分名词概念进行解释说明。
帧数据:数据传输设备占用总线后,在一段时间内连续发送的数据总和。
帧间隔:总线上前后两帧数据之间的空闲时间,这个时间视实际情况而定。
载波侦听:数据传输设备通过硬件物理连接线来检测总线上是否有数据在传输,有数据则是冲突,无数据则是不冲突。只有在总线上无数据传输时,数据传输设备才能够抢占总线。
总线空闲时间:数据传输设备通过载波侦听方式检测到总线上无数据的时间。
冲突检测等待时间:在发送数据前,设备需要通过载波侦听检测到总线空闲时间达到某一预设的值,比如2毫秒,这2毫秒就是发送数据前的冲突检测等待时间。
图1为本发明实施例提供的总线传输数据的应用场景示意图,如图1所示,包括总线10和设备20,其中,设备20有多个,如第一设备201、第二设备202、第三设备203和第四设备204等,具体的设备数量可以根据实际需要确定。其中,多个设备20均与总线10连接,从而通过总线10来传输数据。
设备20对于总线10的访问方式是半双工方式,半双工方式是指数据既可以从一个设备A传向另一个设备B,也可以从设备B向设备A传输。因此,设备A和设备B既可作为发送器,又可作为接收器,但是,由于设备A和设备B之间只有一根总线10作为传输线,所以信号只能分时传送,即在同一时刻,只能进行一个方向传送,不能双向同时传输。在这种工作方式下,要么设备A发送,设备B接收;要么设备B发送,设备A接收。当不工作时,令设备A和设备B均处于接收方式,以便随时响应对方的呼叫。
下面以具体的实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的总线冲突避免方法的流程示意图,该方法应用于数据传输设备,所述数据传输设备为与总线连接的设备中的任一个,如图2所示,包括:
S21,获取待发送的帧数据的类型。
本发明实施例中,数据传输设备对于总线的访问方式是半双工方式,其中,总线具体可以为RS-485总线,也可以是其他满足需要的总线。在同一时刻,总线上只能允许最多一台数据传输设备发送数据。现有技术中,若有多台数据传输设备需要同时发送数据,则每台数据传输设备会抢占总线,抢占成功的数据传输设备有发送数据的权利,而剩下的数据传输设备则需要继续等待。这种方式会造成严重的数据冲突,为解决该问题,本发明实施例通过每台数据传输设备待发送的帧数据的类型来进行相应处理。
S22,根据所述帧数据的类型确定冲突检测等待时间,其中,所述总线对应的多个帧数据的类型中,存在至少两个帧数据的类型对应的冲突检测等待时间不同。
不同的数据传输设备传输的帧数据类型可能相同,也可能不同,相同的数据传输设备在不同的时刻需要传输的帧数据类型可能相同,也可能不同。本发明实施例首先根据不同的帧数据类型确定相应的冲突检测等待时间,其中,多个帧数据的类型中存在至少两个帧数据的类型对应的冲突检测等待时间不同,即,不可能所有的帧数据的类型对应的冲突检测等待时间相同。
S23,在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据。
总线可能处于两种状态,一种是数据传输状态,总线处于数据传输状态时,表明总线正在传输数据,此时数据传输设备是不能够抢占总线并通过总线传输数据的;另一种是空闲状态,总线处于空闲状态时,表明总线此时没有传输数据,数据传输设备在总线处于空闲状态时可以抢占总线,从而通过总线传输数据。数据传输设备会实时获取总线的空闲时间,在总线的空闲时间达到待发送的帧数据类型对应的冲突检测等待时间时,对应的数据传输设备会抢占总线,从而通过总线将帧数据发送出去。
现有技术中,总线上的很多设备的冲突检测等待时间相同,同时发送数据产生冲突的概率会很大,例如,总线上现有设备一、设备二、设备三和设备四,需要同时发送数据,其中各个数据传输设备对应要发送的帧数据类型分别为:设备一-类型一、设备二-类型二、设备三-类型三、设备四-类型四。现有技术中,四台数据传输设备抢占到总线的概率为0.25,冲突较大。若采用本发明实施例的方案,首先根据各个不同的帧数据类型确定对应的冲突检测等待时间,例如可以将类型一的冲突检测等待时间设定为1ms,将类型二的冲突检测等待时间设定为2ms,将类型三和类型四的冲突检测等待时间设定为3ms。则,在进行数据传输时,当总线的空闲时间达到1ms后,设备一会率先抢占总线,类型一对应的帧数据通过总线发送,其次是类型二对应的帧数据、类型三和类型四对应的帧数据。
本发明实施例提供的总线冲突避免方法,首先获取待发送的帧数据的类型,然后根据帧数据的类型确定对应的冲突检测等待时间,最后在总线的空闲时间达到冲突检测等待时间时,通过总线发送对应的帧数据,由于多个帧数据的类型中至少两个帧数据的类型对应的冲突检测等待时间不同,因此,本发明实施例提供的方法,通过对帧数据类型的划分来确定冲突检测等待时间,从而确定各个数据传输设备对应的帧数据的发送,避免了同一总线上多个数据传输设备同时发送数据时的频繁冲突导致的发送效率低的问题。
下面结合图3-图7,并采用具体的实施例,对本申请的方案实现过程进行详细说明。
本发明实施例中,首先根据不同的帧数据类型来确定对应的发送优先级,然后根据不同的发送优先级来确定对应的冲突检测等待时间。其中,同一发送优先级对应的帧数据类型可能为一个,也可能为多个,不同的发送优先级对应的冲突检测等待时间不同。各个数据传输设备会以载波监听的方式来获取总线的空闲时间,其中总线的空闲时间是指总线的状态由传输数据状态转变为空闲状态的转变时刻至当前时刻之间的空间时间。
图3为本发明实施例提供的数据传输设备发送优先级抢占总线示意图,如图3所示,在T0和T1时间段内,总线传输帧数据1,总线处于数据传输状态。T1结束后,在T2和T3时间段内,总线处于空闲状态,而T1时间段结束、T2时间段开始的时刻,即为对应的转变时刻。数据传输设备以载波监听的方式获取转变时刻到当前时刻之间的空闲时间,当T2时间段结束时,若第一发送优先级对应的帧数据的冲突检测等待时间为T2,则此时第一发送优先级对应的帧数据的数据传输设备抢占总线,发送对应的帧数据。若没有待发送的帧数据类型处于第一发送优先级,而第二发送优先级对应的冲突检测等待时间为T2+T3,则在T3时间段结束时,第二发送优先级对应的帧数据的数据传输设备抢占总线,发送对应的帧数据,以此类推。
由于不同类型的帧数据重要程度不一致,而实际中,对一些类型的帧数据,希望能够尽早的发送出去,对于另一些不太重要的帧数据,希望能够将其延后发送出去。表1是本发明实施例提供的帧数据类型的优先级排序表:
表1
如表1所示,控制命令请求数据和事件触发请求数据同属于请求数据,控制命令回应数据和事件触发回应数据同属于回应数据。不同帧数据的类型对应的发送优先级从高到低具体为:
请求数据对应的发送优先级、回应数据对应的发送优先级、状态上报数据对应的发送优先级、执行成功数据对应的发送优先级、日志数据对应的发送优先级。
其中,控制命令请求数据和事件触发请求数据为同一发送优先级,控制命令回应数据和事件触发回应数据为同一发送优先级,且发送优先级的优先级高低与冲突检测等待时间成负相关。即,发送优先级越高的帧数据类型,对应的冲突检测等待时间越小。例如,第一发送优先级的冲突检测等待时间可以设定为2ms,第二发送优先级的冲突检测等待时间可以设定为4ms,第三发送优先级的冲突检测等待时间可以设定为6ms,第四发送优先级的冲突检测等待时间可以设定为8ms,第五发送优先级的冲突检测等待时间可以设定为10ms,等等。上述设定仅为一种可能的设定方式,冲突检测等待时间的具体数值可以根据实际需要确定,此次不作特别限定。
将不同的帧数据类型划分到不同的帧数据发送优先级后,高优先级的帧数据类型发送时冲突检测等待时间越短,抢占总线的优先级就越高,越容易抢占到总线发送数据,当高优先级的设备抢到总线后就会进入发送数据状态,其他需要发送低优先级的设备检测到总线上有数据时就会继续冲突检测等待,一直到检测到和优先级别数据相同的总线空闲时间后才会开始发送数据。
图4为本发明实施例提供的不同发送优先级的数据传输设备抢占总线示意图,如图4所示,第一发送优先级抢占:在T1时间结束后,所有需要发送帧数据的数据传输设备开始载波侦听,冲突检测等待总线对应的空闲时间,在T2总线空闲后,需要发送第一发送优先级的数据传输设备抢到了总线控制权。
第二发送优先级抢占:如图4所示,当总线在T2、T3时间片都是空闲的,那需要发送第2发送优先级的数据传输设备抢到了总线控制权。如果总线在T2、T3任何时刻有数据,那抢占总线控制权都要从数据发送结束后重新开始,重复执行获取总线的空闲时间的步骤,直至所述总线的空闲时间达到所述冲突检测等待时间。所以如果在被第一发送优先级别的设备抢占,那第二发送优先级别的数据传输设备需要推后发送。
图5为本发明实施例提供的第一发送优先级的数据传输设备抢占总线后的示意图,如图5所示,在T2时间结束后被需要发送第一发送优先级别数据的设备抢占了总线,发送了T3、T4时间的数据,需要发送第二发送优先级别数据的设备在最理想情况下要到T6时间结束后才能抢到总线控制权。若在某一时刻,总线的空闲时间达到了某一发送优先级对应的冲突检测等待时间,而此时有不止一个数据传输设备需要发送第一发送优先级的帧数据,则此时需要通过随机抢占的方式来通过总线发送帧数据,即,若多个数据传输设备需要发送的帧数据为同一发送优先级,则此时多个数据传输设备随机抢占总线,抢占成功的数据传输设备通过总线传输数据,其他数据传输设备则重新获取总线的空闲时间,直至总线的空闲时间达到对应的冲突检测等待时间后,再通过总线传输数据。其他优先级抢占类推。
下面结合图6和图7,通过一个具体的智能家居的控制案例来进一步解释总线冲突避免和优先级抢占方法的实现。
图6为本发明实施例提供的一种智能家居设备的连接示意图,如图6所示,包括总线,以及与总线连接的多个数据传输设备,其中多个数据传输设备具体包括网关X、场景面板A、开关面板B、开关面板C和开关面板D。场景面板A要通过网关X控制总线上的多个开关面板B、开关面板C、开关面板D。
在场景面板通过网关控制开关过程中,总线上传输的数据会有:场景面板按键事件请求数据、按键事件回应数据、网关命令控制请求数据、命令控制回应数据和开关面板状态数据。
图7为本发明实施例提供的场景面板控制开关的流程示意图,如图7所示,在用户一次操作后,总线上的数据交互的步骤如下:
步骤701,场景面板A按键发送事件请求数据,场景面板A此时发送的数据类型属于事件触发请求数据;
步骤702,场景面板A判断事件请求数据是否发送成功,若是,执行步骤703,若否,执行步骤701;
步骤703,网关X收到事件请求数据后发送场景面板按键事件回应数据,此时网关X发送的数据类型属于事件触发回应数据;
步骤704,网关X判断场景面板按键事件回应数据是否发送成功,若是,执行步骤705,若否,执行步骤703;
步骤705,网关X发送控制命令请求数据;
步骤706,网关X判断控制命令请求数据是否发送成功,若是,执行步骤707,若否,执行步骤705;
步骤707,开关B/C/D响应并发送控制命令回应数据;
步骤708,开关B/C/D判断控制命令回应数据是否发送成功,若是,执行步骤709,若否,执行步骤707;
步骤709,开关B/C/D发送状态请求数据,此时开关B/C/D发送的状态请求数据属于状态上报数据;
步骤710,开关B/C/D判断状态请求数据是否发送成功,若是,执行步骤711,若否,执行步骤709;
步骤711,网关X响应状态回应,此时网关X发送的响应状态回应数据属于状态上报数据。
图7展示了用户操作一次的交互流程,当步骤707和步骤709正在执行时,用户又按了一次场景面板,这时总线上的数据冲突会比较严重,使用不用的处理方式将会有不同的控制效果,下面从两种不同方法来看控制的效果。
现有的总线冲突处理时,由于总线上的设备具备一样的抢总线的能力,所以在总线上有控制命令回应数据和状态请求数据正在发送时,数据传输设备要发送事件请求发送数据和控制命令请求数据时,将会遇到总线冲突重发的情况,数据发送必然会延迟,控制效果不会太好。
运用本发明实施例提供的总线冲突避免方法处理时,首先会将控制命令请求数据和事件触发请求数据归类在第一优先级,控制命令回应数据和事件触发回应数据归类在第二优先级,状态上报数据归类在第三优先级。
优先级高的数据,其对应的冲突检测等待时间更短,因此,步骤701中场景面板A发送的事件请求数据,和步骤705中网关X发送的控制命令请求数据处于第一优先级,能够保证总是及时发送出去。步骤703中网关X发送的场景面板按键事件回应数据,和步骤707中,开关B/C/D发送的控制命令回应数据处于第二优先级,在第一优先级的数据发送后,第二优先级的数据能够顺序发送出去。步骤709中开关B/C/D发送的状态请求数据,和步骤711中网关X发送的响应状态回应数据处于第三优先级,在第一优先级的数据和第二优先级的数据发送出去后,第三优先级的数据才进行发送。这种实现方式,使得高优先级的数据总是能及时发送出去,这样开关就能及时得到响应,无论用户操作场景面板多频繁,控制效果始终是稳定的。
本发明实施例提供的总线冲突避免方法,首先获取待发送的帧数据的类型,然后根据帧数据的类型确定对应的冲突检测等待时间,最后在总线的空闲时间达到冲突检测等待时间时,通过总线发送对应的帧数据。由于总线上的数据根据不同帧数据类型划分不同帧数据优先级,不同优先级帧数据的冲突检测时间不同,根据不同冲突检测时间来实现帧数据的优先级发送,从而保证了高优先级的数据优先发送,避免了同一总线上多设备同时发送数据时的频繁冲突导致的发送效率降低,解决了高冲突下的数据发送问题能够将优先级较高的数据及时发送出去。
图8为本发明实施例提供的总线冲突避免装置的结构示意图,如图8所示,包括获取模块81、处理模块82和发送模块83,其中:
获取模块81用于获取待发送的帧数据的类型;
处理模块82用于根据所述帧数据的类型确定冲突检测等待时间,其中,所述总线对应的多个帧数据的类型中,存在至少两个帧数据的类型对应的冲突检测等待时间不同;
发送模块83用于在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据。
在一种可能的实现方式中,所述处理模块82具体用于:
获取待发送的帧数据类型对应的发送优先级;
根据所述发送优先级确定冲突检测等待时间,其中,不同发送优先级对应的冲突检测等待时间不同。
在一种可能的实现方式中,发送优先级的优先级高低与冲突检测等待时间成负相关。
在一种可能的实现方式中,不同帧数据的类型对应的发送优先级从高到低具体为:
请求数据对应的发送优先级、回应数据对应的发送优先级、状态上报数据对应的发送优先级、执行成功数据对应的发送优先级、日志数据对应的发送优先级。
在一种可能的实现方式中,若所述待发送的帧数据对应的发送优先级对应至少两种类型的帧数据,所述发送模块83具体用于:
在所述总线的空闲时间达到所述冲突检测等待时间时,根据随机抢占方式通过所述总线发送所述帧数据。
在一种可能的实现方式中,所述通过所述总线发送所述帧数据之前,所述获取模块81还用于:
获取总线的空闲时间,其中,所述总线的空闲时间是通过载波监听方式,获取的所述总线的状态由传输数据状态转变为空闲状态的转变时刻至当前时刻之间的空闲时间;
判断所述总线的空闲时间是否达到所述冲突检测等待时间。
在一种可能的实现方式中,若所述总线在所述总线的空闲时间未达到所述冲突检测时间时开始传输其它数据传输设备的数据,则所述获取模块81还用于:
重复执行获取总线的空闲时间的步骤,直至所述总线的空闲时间达到所述冲突检测等待时间。
本发明实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明实施例提供的总线冲突避免设备的硬件结构示意图,如图9所示,该总线冲突避免设备包括:至少一个处理器91和存储器92。其中,处理器91和存储器92通过总线93连接。
可选地,该模型确定还包括通信部件。例如,通信部件可以包括接收器和/或发送器。
在具体实现过程中,至少一个处理器91执行所述存储器92存储的计算机执行指令,使得至少一个处理器91执行如上的总线冲突避免方法。
处理器91的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述图9所示的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的总线冲突避免方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种总线冲突避免方法,其特征在于,应用于数据传输设备,所述数据传输设备为与总线连接的设备中的任一个,所述方法包括:
获取待发送的帧数据的类型;
根据所述帧数据的类型确定冲突检测等待时间,其中,所述总线对应的多个帧数据的类型中,存在至少两个帧数据的类型对应的冲突检测等待时间不同;
在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述帧数据的类型确定冲突检测等待时间,包括:
获取待发送的帧数据类型对应的发送优先级;
根据所述发送优先级确定冲突检测等待时间,其中,不同发送优先级对应的冲突检测等待时间不同。
3.根据权利要求2所述的方法,其特征在于,发送优先级的优先级高低与冲突检测等待时间成负相关。
4.根据权利要求2或3所述的方法,其特征在于,不同帧数据的类型对应的发送优先级从高到低具体为:
请求数据对应的发送优先级、回应数据对应的发送优先级、状态上报数据对应的发送优先级、执行成功数据对应的发送优先级、日志数据对应的发送优先级。
5.根据权利要求2所述的方法,其特征在于,若所述待发送的帧数据对应的发送优先级对应至少两种类型的帧数据,所述在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据,包括:
在所述总线的空闲时间达到所述冲突检测等待时间时,根据随机抢占方式通过所述总线发送所述帧数据。
6.根据权利要求1所述的方法,其特征在于,所述通过所述总线发送所述帧数据之前,所述方法还包括:
获取总线的空闲时间,其中,所述总线的空闲时间是通过载波监听方式,获取的所述总线的状态由传输数据状态转变为空闲状态的转变时刻至当前时刻之间的空闲时间;
判断所述总线的空闲时间是否达到所述冲突检测等待时间。
7.根据权利要求6所述的方法,其特征在于,若所述总线在所述总线的空闲时间未达到所述冲突检测时间时开始传输其它数据传输设备的数据,则所述方法还包括:
重复执行获取总线的空闲时间的步骤,直至所述总线的空闲时间达到所述冲突检测等待时间。
8.一种总线冲突避免装置,其特征在于,包括:
获取模块,用于获取待发送的帧数据的类型;
处理模块,用于根据所述帧数据的类型确定冲突检测等待时间,其中,所述总线对应的多个帧数据的类型中,存在至少两个帧数据的类型对应的冲突检测等待时间不同;
发送模块,用于在所述总线的空闲时间达到所述冲突检测等待时间时,通过所述总线发送所述帧数据。
9.一种总线冲突避免设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的总线冲突避免方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的总线冲突避免方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910613525.5A CN112217701A (zh) | 2019-07-09 | 2019-07-09 | 总线冲突避免方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910613525.5A CN112217701A (zh) | 2019-07-09 | 2019-07-09 | 总线冲突避免方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112217701A true CN112217701A (zh) | 2021-01-12 |
Family
ID=74048383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910613525.5A Pending CN112217701A (zh) | 2019-07-09 | 2019-07-09 | 总线冲突避免方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112217701A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799788A (zh) * | 2021-02-07 | 2021-05-14 | 北京华如科技股份有限公司 | 一种在仿真运行中并行行为执行冲突检测方法及存储介质 |
CN113438691A (zh) * | 2021-05-27 | 2021-09-24 | 翱捷科技股份有限公司 | 一种tas帧的处理方法及装置 |
CN114238182A (zh) * | 2021-12-20 | 2022-03-25 | 北京奕斯伟计算技术有限公司 | 一种处理器、数据处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546141A (zh) * | 2012-02-20 | 2012-07-04 | 杭州海康威视系统技术有限公司 | 485总线系统及其异步半双工通信方法 |
CN105591857A (zh) * | 2015-03-02 | 2016-05-18 | 海信(山东)空调有限公司 | 一种485多主通信的方法和装置 |
CN109311625A (zh) * | 2016-06-09 | 2019-02-05 | 因温特奥股份公司 | 具有用通过等待时间作优先级排序的数据电报进行通信的中央控制单元和多个现场设备的乘客运输系统 |
-
2019
- 2019-07-09 CN CN201910613525.5A patent/CN112217701A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546141A (zh) * | 2012-02-20 | 2012-07-04 | 杭州海康威视系统技术有限公司 | 485总线系统及其异步半双工通信方法 |
CN105591857A (zh) * | 2015-03-02 | 2016-05-18 | 海信(山东)空调有限公司 | 一种485多主通信的方法和装置 |
CN109311625A (zh) * | 2016-06-09 | 2019-02-05 | 因温特奥股份公司 | 具有用通过等待时间作优先级排序的数据电报进行通信的中央控制单元和多个现场设备的乘客运输系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799788A (zh) * | 2021-02-07 | 2021-05-14 | 北京华如科技股份有限公司 | 一种在仿真运行中并行行为执行冲突检测方法及存储介质 |
CN112799788B (zh) * | 2021-02-07 | 2023-10-03 | 北京华如科技股份有限公司 | 一种在仿真运行中并行行为执行冲突检测方法及存储介质 |
CN113438691A (zh) * | 2021-05-27 | 2021-09-24 | 翱捷科技股份有限公司 | 一种tas帧的处理方法及装置 |
CN113438691B (zh) * | 2021-05-27 | 2024-01-05 | 翱捷科技股份有限公司 | 一种tas帧的处理方法及装置 |
CN114238182A (zh) * | 2021-12-20 | 2022-03-25 | 北京奕斯伟计算技术有限公司 | 一种处理器、数据处理方法和装置 |
CN114238182B (zh) * | 2021-12-20 | 2023-10-20 | 北京奕斯伟计算技术股份有限公司 | 一种处理器、数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112217701A (zh) | 总线冲突避免方法及装置 | |
CN110459221B (zh) | 多设备协同语音交互的方法和装置 | |
CN109150680B (zh) | 一种适用于rs485总线的自适应确定地址组网电路及方法 | |
US10803004B2 (en) | Modular UPS system and data transmission method for power device | |
JPS6097752A (ja) | 多重アクセス制御方法 | |
CN112817886B (zh) | 基于spi的主从通信方法及装置 | |
CN106502936B (zh) | 一种多主总线的冲突避让方法及节点设备 | |
EP4325439A1 (en) | Image processing method and apparatus, and device and storage medium | |
CN111064552A (zh) | 智能设备控制方法、装置、电子设备和存储介质 | |
CN102137091B (zh) | 一种过负荷控制方法、装置、系统及客户端 | |
CN117221037A (zh) | 报文发送方法、装置、电子设备及存储介质 | |
CN111586644B (zh) | 基于物联网窄带通信的多节点防碰撞方法及装置 | |
CN108600044B (zh) | 一种接口状态获取方法、装置及设备 | |
CN113971148A (zh) | 基于linux实时操作系统的PCIE实时网卡数据传输方法及装置 | |
CN111475439A (zh) | 基于异步传输协议的通讯控制方法及装置、电子设备 | |
CN216253087U (zh) | 一种智能电视机顶盒装置 | |
EP3547617B1 (en) | Modular ups system, and data transmission method for power devices | |
CN115085800B (zh) | 地面卫星设备、卫星过境的监控方法及存储介质 | |
CN117472810A (zh) | 车控信号传输方法、装置、设备和存储介质 | |
JPS6141246A (ja) | パケツト通信網の局番号設定方式 | |
CN116723064A (zh) | 一种can报文的传输优化方法、装置、设备及存储介质 | |
JP2502850B2 (ja) | Scsiシステムのコミュニケ―ション方法 | |
CN116633876A (zh) | 车载以太网数据帧传输方法、装置及电子设备 | |
CN118034875A (zh) | 中断响应方法、装置、设备及存储介质 | |
CN117671910A (zh) | 一种安防报警融合系统、方法、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210112 |