CN104794079A - 一种总线仲裁的方法、装置及系统 - Google Patents

一种总线仲裁的方法、装置及系统 Download PDF

Info

Publication number
CN104794079A
CN104794079A CN201510148379.5A CN201510148379A CN104794079A CN 104794079 A CN104794079 A CN 104794079A CN 201510148379 A CN201510148379 A CN 201510148379A CN 104794079 A CN104794079 A CN 104794079A
Authority
CN
China
Prior art keywords
bus
waiting time
working equipment
equipment
arbitration
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.)
Granted
Application number
CN201510148379.5A
Other languages
English (en)
Other versions
CN104794079B (zh
Inventor
张兴星
李晓初
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510148379.5A priority Critical patent/CN104794079B/zh
Publication of CN104794079A publication Critical patent/CN104794079A/zh
Priority to PCT/CN2016/076965 priority patent/WO2016155540A1/zh
Application granted granted Critical
Publication of CN104794079B publication Critical patent/CN104794079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明实施例公开了一种总线仲裁的方法、装置及系统,所述方法应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,所述方法包括:广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;通过所述总线传输数据;在传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线,能够有效减少系统内各个设备之间互联走线,保证各个设备公平的占用总线。

Description

一种总线仲裁的方法、装置及系统
技术领域
本发明涉及总线仲裁领域,尤其涉及一种总线仲裁的方法、装置及系统。
背景技术
片上集成系统中存在多个设备或功能模块可能同时会申请使用总线,为避免总线使用冲突,一般采用总线仲裁机制管理系统中可能会占用总线的设备或模块,以实现在多个设备或模块同时申请使用总线时,控制各个设备或模块访问总线的次序。
传统的总线仲裁机制主要有以下两种:
一种是设定总线占用检测机制,若主机需要占用数据线时,主机检测握手信号线是否处于高电平;若握手信号线处于低电平,主机则等待;若握手信号线处于高电平,主机则通过握手信号端将握手信号线置于低电平,并随即开始检测数据线是否存在数据传输的启动信号;若在对应的时间片内检测到启动信号,则主机退出占用数据线的竞争,若在对应的时间片内检测不到启动信号,则主机占用数据线。但该方案中,总线仲裁是由各主机对总线的抢占实现的,即总线总是由最先抢占的主机占用。这样可能导致有的主机永远无法占用总线,这种方式无法保证总线占用的公平性。
另一种是通过配备总线仲裁装置,总线仲裁装置根据各设备访问请求的等待时间,调整各设备访问请求的优先级,按照各访问请求的优先级从高到低的顺序分配访问权限的优先级。虽然该方案能够兼顾各个访问请求的差别,以及避免优先级低的访问请求无法获得访问权限,可以保证总线占用的公平性,但总线必须配备一个总线仲裁装置,不能实现总线上所有设备随意增减。而且,总线请求要通过带外通道提交给总线仲裁装置,达不到互联走线最少的目的。
通过以上两种方案,均不能解决使用最少的互联走线将系统中各个设备互联,以及各个设备即可以公平的占用总线,又可以随时增减设备的问题。
发明内容
本发明提供一种总线仲裁的方法、装置及系统,能够解决现有技术中无法实现系统内各个设备之间互联走线较少,且公平的占用总线的问题。
本发明第一方面提供一种总线仲裁的方法,所述方法应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,所述方法包括:
广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
通过所述总线传输数据;
在传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
结合第一方面,本发明第一方面的第一种实现方式中,所述方法还包括如下步骤中的一个:
在所述工作设备释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
在所述工作设备新接入所述系统时,将所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
在所述系统冷启动时,将所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax;
其中,所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
结合第一方面的第一种实现方式,本发明第一方面的第二种实现方式中,所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成。
结合第一方面,及第一方面的第一和第二种实现方式,本发明第一方面的第三种实现方式中,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax≥2Nmax-1,所述工作设备的Tmax大于系统中每个所述候选设备的仲裁等待时长Twait。
结合第一方面,及第一方面的第一至第三种实现方式,本发明第一方面的第四种实现方式中,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述广播所述工作设备的工作标识号至所述候选设备之前,所述方法还包括:
所述工作设备开始计时,并监测所述总线的总线状态,在确定计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则所述工作设备占用所述总线,并通过所述总线广播总线占用标识和所述工作设备的工作标识号。
结合第一方面的第四种实现方式,本发明第一方面的第五种实现方式中,所述方法还包括如下步骤中的一个:
在确定不需要发送数据时,所述任一设备通过所述总线广播结束标识;
在确定需要发送数据时,所述任一设备通过所述总线发送数据,并通过所述总线广播所述结束标识。
本发明第二方面提供一种总线仲裁的装置,所述装置应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,所述装置包括;
传输单元,用于广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
传输单元,用于通过所述总线传输数据;
释放单元,用于在所述传输单元传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
结合第二方面,本发明第二方面的第一种实现方式中,所述装置还包括处理单元,所述处理单元用于执行以下步骤中的一个:
在所述工作设备释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
在所述工作设备新接入所述系统时,设置所述工作设备仲裁等待时长为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
在所述系统冷启动时,设置所述工作设备仲裁等待时长为最大仲裁等待时长Tmax;
其中,所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
结合第二方面的第一种实现方式,本发明第一方面的第二种实现方式中,所述所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成。
结合第二方面,及第二方面的第一和第二种实现方式,本发明第二方面的第三种实现方式中,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax≥2Nmax-1,所述工作设备的Tmax大于系统中每个候选设备的仲裁等待时长Twait。
结合第二方面,及第二方面的第一和第二种实现方式,本发明第二方面的第四种实现方式中,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述装置还包括:
监测单元,用于在检测到所述系统冷启动后,开始计时,并监测所述总线的总线状态;
所述处理单元还用于在确定所述监测单元计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则占用所述总线;
所述传输单元还用于通过所述总线广播总线占用标识和所述任一设备的标识号;
结合第二方面的第一和第二种实现方式,本发明第二方面的第四种实现方式中,在所述处理单元确定不需要发送数据时,通过所述总线广播结束标识;
在所述处理单元确定需要发送数据时,通过所述总线发送数据,并通过所述总线广播所述结束标识。
本发明第三方面提供一种总线仲裁的系统,其特征在于,所述系统至少包括两个下述装置:
如第二方面、及第二方面的第一至第六种实现方式中任一所述的总线仲裁的装置。
从以上技术方案可以看出,本发明通过工作设备广播工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长,以在确定所述候选设备中仲裁等待时长最短的目标设备,并在通过总线传输完所述数据后,释放所述总线,以使所述目标设备占用所述总线,能够有效减少系统内各个设备之间互联走线,保证各个设备公平的占用总线。
附图说明
图1为本实施例中一种总线仲裁的方法一实施例示意图;
图2为本实施例中一种占用顺序环一结构示意图;
图3为本实施例中一种总线仲裁的装置一结构示意图;
图4为本实施例中一种总线仲裁的装置另一结构示意图;
图5为本实施例中一种总线仲裁的装置另一结构示意图;
图6为本实施例中一种总线仲裁的系统一结构示意图;
图7为本实施例中一种总线仲裁的装置另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本文中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本文中均不作限定。并且,作为分离部件说明的模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分不到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本发明实施例方案的目的。
本发明实施例提供了一种总线仲裁的方法、装置及系统,用于总线仲裁领域。本文中,总线仲裁主要是指,在一个包含很多设备的系统中,每个设备需要使用总线来传输数据时,相互之间会进行竞争,以抢占到总线的使用权。以下进行详细说明。
请参照图1和图2,一种总线仲裁的方法,所述方法应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,包括:
101、广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
在工作设备占用总线期间,工作设备通过所述总线将自身的工作标识号广播至候选设备,候选设备利用自身的标识号和该工作标识号计算得到参与下一次总线仲裁的仲裁等待时长。
可以理解的是,上述各个候选设备通过对仲裁等待时长的计算,最后相互比较得到:所述候选设备中仲裁等待时长最短的设备即为下一次占用总线的目标设备;
在每一次总线总裁过程中,除工作设备之外的所有设备都将参与下一次总线仲裁的竞争,最终获得下一次占用总线的目标设备为所述候选设备中仲裁等待时长最短的设备,上述目标设备即为步骤103中总线被释放后,最先达到自身的仲裁等待时长的设备。
实际应用中,候选设备计算仲裁等待时长的过程也可以在步骤101与步骤103之间进行,具体确定目标设备的时序本文中不做限定,只要在总线被工作设备释放之前完成即可,以保证上述总线被释放后,下一次的总线仲裁可以正常进行,由于得到上述仲裁等待时长的时序与各个设备的运算能力及处理程序效率等有关。
102、通过所述总线传输数据;
工作设备在占用总线时,如果有数据需要传输,便通过占用的总线来进行传输,整个过程中,该系统中其它的设备即候选设备只能接收当前占用总线工作设备所发送的数据。
103、在传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线;
在当前的工作设备释放所述总线后,上述总线便处于空闲状态,由于已确定下一次占用总线的所述目标设备,所以在达到上述目标设备的仲裁等待时长时,上述目标设备会占用上述处于空闲状态的总线。可以理解的是,每次选出的目标设备即为下一次的工作设备,在占用上述总线后,所执行的操作与步骤101-103一致,无限循环,具体本文不再赘述。
本发明实施例中,工作设备广播工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长,以在确定所述候选设备中仲裁等待时长最短的设备,并在通过总线传输完所述数据后,释放所述总线,以使所述仲裁等待时长最短的设备占用所述总线,能够有效减少系统内各个设备之间互联走线,保证各个设备公平的占用总线。
可选的,在上述图1所对应的实施例的基础上,本发明实施例的第一个可选实施例中,所述方法还包括如下步骤中的一个:
1、在所述工作设备释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;这种情况下,所述占用顺序环更新一次,也表明每次占用总线的工作设备释放总线后,不会参与下一次的总线仲裁,
2、在所述工作设备新接入所述系统时,所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
可以理解的是,当所述新接入的设备包括多个时,按照每个设备接入所述系统的时间先后顺序,将所述新设备占用所述总线的占用顺序设置在占用顺序环的末端,以更新所述占用顺序环;
以设备为总线上的节点角度来看,当前的系统共有N个设备,在检测到所述系统新增M1个设备后,设置所述M1个设备的仲裁等待时长,所述系统中包含N+M1个设备;对所述N+M1设备,按所述N+M1个设备对总线的占用时长从小至大进行排序,以更新所述占用顺序环,所述M1为正整数;将所述M1个设备按照加入的先后顺序,从先至后设置在所述占用顺序序列的末端;
另外,在所述系统减少至少一个设备后,所述占用顺序环不变,在后续的总线仲裁中,在到达减少的所述至少一个设备中的任一设备的占用顺序时的占用顺序时,所述系统中当前所有的设备都不占用所述总线;
可以理解的是,在检测到所述系统减少M2个设备后,所述系统中包含N-M2个设备;对所述N-M2设备,按所述N-M2个设备对总线的占用时长从小至大进行排序,以更新所述占用顺序环的节点,所述M2为正整数,删除时,占用顺序环不变,只是下一次轮到原设备的占用总线的时刻时,没有任何设备可以占用总线,只能等待下一时刻的总线总裁,被删除的设备在上述占用顺序环上的位置不变,只是在到达该被删除的设备的仲裁等待时长时,不会有任何设备占用当前处于空闲状态的总线。
由此可见,本可选实施例中,不需要另外为上述系统配备总线仲裁装置,可以实现随时增减总线上的设备,任何设备都可以从总线上隔离,即在总线上增减设备时,不会影响总线仲裁以及数据的传输,支持在系统运行过程中硬件设备的热插拔。并且对总线的访问请求也不需要通过外通道传输至总线仲裁装置,有效减少互联走线。
3、在所述系统冷启动时,所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax;
所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
可以理解的是,每次系统在冷启动后,系统中的每个设备都需要重新计算各自的Tmax,Tmax可能相同或不同,由于每个设备的设备常数值固定,所以Tmax具体根据设备连接在系统的接口位置有关,例如,设备A在系统关闭前在接口3,则该设备A的ID即设备地址为接口3的地址,若在系统重新启动后,设备A并为改变连接的接口,则此次设置的Tmax保持不变,反之,随接口变化。
并且,在系统冷启动后,系统中每个设备均参与第一次总线仲裁,都需要设置各自的最大仲裁等待时长Tmax,具体包括:
将所述N个设备中第一次参与所述总线仲裁的设备设为竞争设备,分别设置所述竞争设备的Tmax,所述最大仲裁等待时长由设备常数值与所述竞争设备的标识号相加得到,所述竞争设备至少满足以下条件中的一个:所述竞争设备为新接入所述系统的新设备;所述竞争设备为所述系统上电后,所述系统中当前接入所述系统的所有设备;
从而,所述系统中每个设备的最大仲裁等待时长会形成设备对总线占用的占用顺序环,可以是系统中的各个设备的Tmax自发形成一个虚拟的占用顺序环,也可以是系统的控制器进行设置,具体本文中不做限定。
可选的,在上述第一个可选实施例的基础上,本发明实施例的第二个可选实施例中,所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成;可选的,也可以按照所述系统中每个设备第一次参与所述总线仲裁的时间先后顺序,从先至后排列拼接形成所述占用顺序环,如图2所示。
可选的,在上述图1所对应的实施例,及上述第一和第二个可选实施例的基础上,本发明实施例的第三个可选实施例中,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
可以理解的是,每个设备的Twait每在下一次的总线仲裁中都会随着当前的工作设备变化,以保证系统各个设备间能够有序的参与总线仲裁,保证公平性。
例如,如图2所示的占用顺序环,系统中有N个设备Device,即Device0,Device1,…DeviceN,假设Device1为当前占用总线的工作设备,Device1利用总线发送自身的标识号和数据,Device1的最大仲裁等待时长为Tmax1那么,在这个阶段中,该系统中各个设备的Twait如下:
Device0:Twait0=id0-id1;
Device1:Twait1=Tmax1;
Device2:Twait2=id2-id1;
……
DeviceN:TwaitN=idN-id1;
也可以是:
Device0:Twait0=id0+id1;
Device1:Twait1=Tmax1;
Device2:Twait2=id2+id1;
……
DeviceN:TwaitN=idN+id1;
由以上可以看出,Twait可以通过四则运算或其它类似算法得到,只要能够得到Twait最小的设备即目标设备,具体计算方式均不作限定。
可选的,若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax≥2Nmax-1,所述工作设备的Tmax大于系统中每个所述工作设备的仲裁等待时长Twait。
可选的,在上述图1所对应的实施例,及上述第一至第三个可选实施例的基础上,本发明实施例的第四个可选实施例中,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述广播所述工作设备的工作标识号至所述候选设备之前,所述方法还包括:
所述工作设备开始计时,并监测所述总线的总线状态,在确定计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则所述工作设备占用所述总线,并通过所述总线广播总线占用标识和所述工作设备的工作标识号。
实际上,在检测到系统上电冷启动后,所述系统中每个设备均开始计时,并监测所述总线的总线状态,进行第一次总线仲裁,所述总线状态包括总线占用和总线空闲中的一个,这个过程中,每个设备都会参与第一次总线仲裁,Tmax最短的设备即可获得第一次占用总线的权利。
可选的,在上述上述第四个可选实施例的基础上,本发明实施例的第五个可选实施例中,所述方法还包括如下步骤中的一个:
在确定不需要发送数据时,所述任一设备通过所述总线广播结束标识;
在确定需要发送数据时,所述任一设备通过所述总线发送数据,并通过所述总线广播所述结束标识。
可以理解的是,在系统上电后,系统进行周期性的计时,在每个计时期间,除上一个占用总线的设备外的所有设备一起参与下一次的总线仲裁即抢占总线。
可选的,本发明实施例中,由于所述系统中每个设备的Tmax都大于所述系统中仲裁等待时长最长的设备的仲裁等待时长,即可保证每个设备在总线仲裁时,在最先达到本次总线仲裁中计算得到的Twait时,即可占用总线,保证每个设备都有机会占用总线,有效提高公平性。
上面对本发明实施例中的一种总线仲裁的方法进行详细的举例说明,下面对本发明实施例中的一种总线仲裁的装置30,请参阅图3,本发明实施例不需要另外配备总线仲裁的装置,直接利用系统中连接总线的设备所具有的处理功能即可,即连接总线的设备都具有总线仲裁的功能。该装置30可以为独立的通信设备,也可以为单板等硬件设备,也可以是集成在上述系统中的任一设备内的一个模块,具体本文中均不作限定。所述装置30应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,本发明实施例包括:
传输单元301,用于广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
并通过所述总线传输数据;
释放单元302,用于在所述传输单元301传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
本发明实施例中,传输单元301广播工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长,释放单元303在传输单元301通过总线传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线,能够有效减少系统内各个设备之间互联走线,保证各个设备公平的占用总线。
可选的,在上述图3所对应的实施例的基础上,参阅图4,本发明实施例的第一个可选实施例中,所述装置还包括处理单元303,所述处理单元303用于执行以下步骤中的一个:
在所述释放单元302释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
在所述工作设备新接入所述系统时,设置所述工作设备的仲裁等待时长为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
在所述系统冷启动时,设置所述工作设备的仲裁等待时长为最大仲裁等待时长Tmax;
所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
可选的,在上述第一个可选实施例的基础上,本发明实施例的第二个可选实施例中,所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成。
可选的,在上述图3所对应的实施例,及第一和第二个可选实施例的基础上,本发明实施例的第三个可选实施例中,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax≥2Nmax-1,所述工作设备的Tmax大于系统中每个候选设备的仲裁等待时长Twait。
可选的,在上述图3所对应的实施例,及第一至第二个可选实施例的基础上,本发明实施例的第四个可选实施例中,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述装置还包括:
监测单元304,用于在检测到系统冷启动后,开始计时,并监测所述总线的总线状态,进行第一次总线仲裁,所述总线状态包括总线占用和总线空闲中的一个;
所述处理单元303还用于在确定所述监测单元304计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则占用所述总线.
可选的,在上述第四个可选实施例的基础上,本发明实施例的第五个可选实施例中,所述传输单元301还用于通过所述总线广播总线占用标识和所述任一设备的标识号;
在所述处理单元303确定不需要发送数据时,通过所述总线广播结束标识;
在所述处理单元303确定需要发送数据时,通过所述总线发送数据,并通过所述总线广播所述结束标识。
请参阅图6,本发明实施例中一种总线仲裁的系统60至少包括两个下述装置:
如上述图3所对应的实施例,及上述图3对应的实施例的第一至第五个可选实施例中任一所述的总线仲裁的装置。
本发明还提供一种计算机存储介质,该介质存储有程序,该程序执行时包括上述总线仲裁的装置执行一种总线仲裁的方法中的部分或者全部步骤。
图7是本发明实施例一种总线仲裁的装置70的另一结构示意图。总线仲裁的装置70可包括至少一个网络接口或者其它通信接口、至少一个接收器701、至少一个发射器702、至少一个处理器703和存储器704,以实现这些装置之间的连接通信,通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
存储器704可以包括只读存储器和随机存取存储器,并向处理器703提供指令和数据,存储器704的一部分还可以包括可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory)。
存储器704存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
本发明实施例中的总线仲裁的装置应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,处理器703通过调用存储器704存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
利用发射器702广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
利用发射器702通过所述总线传输数据;
在利用发射器702传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
在一些实施方式中,上述处理器703还可以执行如下步骤中的一个:
在所述工作设备释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
在所述工作设备新接入所述系统时,设置所述工作设备最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
在所述系统冷启动时,设置所述工作设备最大仲裁等待时长Tmax;
所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
其中,所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成;
所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax≥2Nmax-1,所述工作设备的Tmax大于系统中每个所述候选设备的仲裁等待时长Twait。
在一些实施方式中,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,上述处理器703在广播所述工作设备的工作标识号至所述候选设备之前,还具体执行以下步骤:
通过内置的计时器开始计时,并监测所述总线的总线状态,在确定计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则所述工作设备占用所述总线,并利用发射器702通过所述总线广播总线占用标识和所述工作设备的工作标识号。
在一些实施方式中,上述处理器703具体执行以下步骤中的一个:
在确定不需要发送数据时,利用发射器702通过所述总线广播结束标识;
在确定需要发送数据时,利用发射器702通过所述总线发送数据,并通过所述总线广播所述结束标识。
其中,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的一种总线仲裁的方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种总线仲裁的方法,其特征在于,所述方法应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,所述方法包括:
广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
通过所述总线传输数据;
在传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括如下步骤中的一个:
在所述工作设备释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
在所述工作设备新接入所述系统时,将所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
在所述系统冷启动时,将所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax;
其中,所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
3.根据权利要求2所述的方法,其特征在于,所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成。
4.根据权利要求1-3任一所述的方法,其特征在于,
所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax≥2Nmax-1,所述工作设备的Tmax大于系统中每个所述候选设备的仲裁等待时长Twait。
5.根据权利要求1至4任一所述的方法,其特征在于,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述广播所述工作设备的工作标识号至所述候选设备之前,所述方法还包括:
所述工作设备开始计时,并监测所述总线的总线状态,在确定计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则所述工作设备占用所述总线,并通过所述总线广播总线占用标识和所述工作设备的工作标识号。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括如下步骤中的一个:
在确定不需要发送数据时,所述工作设备通过所述总线广播结束标识;
在确定需要发送数据时,所述工作设备通过所述总线发送数据,并通过所述总线广播所述结束标识。
7.一种总线仲裁的装置,其特征在于,所述装置应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,所述装置包括;
传输单元,用于广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
所述传输单元还用于通过所述总线传输数据;
释放单元,用于在所述传输单元传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括处理单元,所述处理单元用于执行以下步骤中的一个:
在所述释放单元释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
在所述工作设备新接入所述系统时,设置所述工作设备的仲裁等待时长为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
在所述系统冷启动时,设置所述工作设备的仲裁等待时长为最大仲裁等待时长Tmax;
其中,所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
9.根据权利要求8所述的装置,其特征在于,所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成。
10.根据权利要求7至9任一所述的装置,其特征在于,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax≥2Nmax-1,所述工作设备的Tmax大于系统中每个候选设备的仲裁等待时长Twait。
11.根据权利要求7至10任一所述的装置,其特征在于,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述装置还包括:
监测单元,用于在检测到所述系统冷启动后,开始计时,并监测所述总线的总线状态;
所述处理单元还用于在确定所述监测单元计时得到的计时值大于或等于所述工作设备的Tmax时,确定所述总线状态为总线空闲,则占用所述总线;
所述传输单元还用于通过所述总线广播总线占用标识和所述工作标识号。
12.根据权利要求11所述的装置,其特征在于,所述传输单元还用于:
在所述处理单元确定所述任一设备不需要发送数据时,通过所述总线广播结束标识;
在所述处理单元确定所述任一设备需要发送数据时,通过所述总线发送数据,并通过所述总线广播所述结束标识。
13.根据权利要求7至12任一所述的装置,其特征在于,所述系统中任一个设备在第一次加入总线仲裁时的最大仲裁等待时长大于所述系统中仲裁等待时长最长的设备的仲裁等待时长。
14.一种总线仲裁的系统,其特征在于,所述系统至少包括两个下述装置:
如权利要求7至13任一所述的总线仲裁的装置。
CN201510148379.5A 2015-03-31 2015-03-31 一种总线仲裁的方法、装置及系统 Active CN104794079B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510148379.5A CN104794079B (zh) 2015-03-31 2015-03-31 一种总线仲裁的方法、装置及系统
PCT/CN2016/076965 WO2016155540A1 (zh) 2015-03-31 2016-03-22 一种总线仲裁的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510148379.5A CN104794079B (zh) 2015-03-31 2015-03-31 一种总线仲裁的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104794079A true CN104794079A (zh) 2015-07-22
CN104794079B CN104794079B (zh) 2017-12-29

Family

ID=53558882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510148379.5A Active CN104794079B (zh) 2015-03-31 2015-03-31 一种总线仲裁的方法、装置及系统

Country Status (2)

Country Link
CN (1) CN104794079B (zh)
WO (1) WO2016155540A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016155540A1 (zh) * 2015-03-31 2016-10-06 华为技术有限公司 一种总线仲裁的方法、装置及系统
CN107104865A (zh) * 2017-04-07 2017-08-29 惠州市天泽盈丰物联网科技股份有限公司 一种基于rs485总线的后台扩展方法及其系统
CN107678993A (zh) * 2016-08-02 2018-02-09 纬创资通股份有限公司 电脑系统及总线仲裁方法
CN107766267A (zh) * 2017-10-12 2018-03-06 郑州云海信息技术有限公司 一种i2c总线的仲裁方法及系统
CN109582626A (zh) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 一种访问总线的方法、装置、设备及可读存储介质
CN110609803A (zh) * 2019-09-17 2019-12-24 上海钧正网络科技有限公司 主从通信方法、装置、系统、计算机设备和可读存储介质
WO2024092480A1 (zh) * 2022-11-01 2024-05-10 深圳市韶音科技有限公司 通信方法、设备及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763418B1 (en) * 2001-09-07 2004-07-13 Agilent Technologies, Inc. Request bus arbitration
US20040210694A1 (en) * 2003-04-16 2004-10-21 Georgiy Shenderovich Multi-level and multi-resolution bus arbitration
CN101510181A (zh) * 2009-03-19 2009-08-19 北京中星微电子有限公司 一种总线仲裁方法和总线仲裁装置
CN102834816A (zh) * 2010-04-14 2012-12-19 高通股份有限公司 用以减少存取等待时间的总线仲裁技术
CN103077141A (zh) * 2012-12-26 2013-05-01 西安交通大学 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器
CN103136142A (zh) * 2013-03-05 2013-06-05 浪潮齐鲁软件产业有限公司 一种总线仲裁的方法
US20140032803A1 (en) * 2012-07-24 2014-01-30 Freescale Semiconductor, Inc. Prediction of electronic component behavior in bus-based systems
US20140156893A1 (en) * 2012-12-05 2014-06-05 Texas Instruments Incorporated Can bus edge timing control apparatus, systems and methods
WO2014135595A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede de surveillance de communications pour systeme sur puce

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794079B (zh) * 2015-03-31 2017-12-29 华为技术有限公司 一种总线仲裁的方法、装置及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763418B1 (en) * 2001-09-07 2004-07-13 Agilent Technologies, Inc. Request bus arbitration
US20040210694A1 (en) * 2003-04-16 2004-10-21 Georgiy Shenderovich Multi-level and multi-resolution bus arbitration
CN101510181A (zh) * 2009-03-19 2009-08-19 北京中星微电子有限公司 一种总线仲裁方法和总线仲裁装置
CN102834816A (zh) * 2010-04-14 2012-12-19 高通股份有限公司 用以减少存取等待时间的总线仲裁技术
US20140032803A1 (en) * 2012-07-24 2014-01-30 Freescale Semiconductor, Inc. Prediction of electronic component behavior in bus-based systems
US20140156893A1 (en) * 2012-12-05 2014-06-05 Texas Instruments Incorporated Can bus edge timing control apparatus, systems and methods
CN103077141A (zh) * 2012-12-26 2013-05-01 西安交通大学 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器
CN103136142A (zh) * 2013-03-05 2013-06-05 浪潮齐鲁软件产业有限公司 一种总线仲裁的方法
WO2014135595A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede de surveillance de communications pour systeme sur puce

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016155540A1 (zh) * 2015-03-31 2016-10-06 华为技术有限公司 一种总线仲裁的方法、装置及系统
CN107678993A (zh) * 2016-08-02 2018-02-09 纬创资通股份有限公司 电脑系统及总线仲裁方法
CN107678993B (zh) * 2016-08-02 2020-07-07 纬颖科技服务股份有限公司 电脑系统及总线仲裁方法
CN107104865A (zh) * 2017-04-07 2017-08-29 惠州市天泽盈丰物联网科技股份有限公司 一种基于rs485总线的后台扩展方法及其系统
CN107104865B (zh) * 2017-04-07 2020-08-18 惠州市天泽盈丰物联网科技股份有限公司 一种基于rs485总线的后台扩展方法及其系统
CN107766267A (zh) * 2017-10-12 2018-03-06 郑州云海信息技术有限公司 一种i2c总线的仲裁方法及系统
CN107766267B (zh) * 2017-10-12 2020-03-03 郑州云海信息技术有限公司 一种i2c总线的仲裁方法及系统
CN109582626A (zh) * 2018-12-03 2019-04-05 郑州云海信息技术有限公司 一种访问总线的方法、装置、设备及可读存储介质
CN109582626B (zh) * 2018-12-03 2021-10-29 郑州云海信息技术有限公司 一种访问总线的方法、装置、设备及可读存储介质
CN110609803A (zh) * 2019-09-17 2019-12-24 上海钧正网络科技有限公司 主从通信方法、装置、系统、计算机设备和可读存储介质
CN110609803B (zh) * 2019-09-17 2021-02-02 上海钧正网络科技有限公司 主从通信方法、装置、系统、计算机设备和可读存储介质
WO2024092480A1 (zh) * 2022-11-01 2024-05-10 深圳市韶音科技有限公司 通信方法、设备及系统

Also Published As

Publication number Publication date
CN104794079B (zh) 2017-12-29
WO2016155540A1 (zh) 2016-10-06

Similar Documents

Publication Publication Date Title
CN104794079A (zh) 一种总线仲裁的方法、装置及系统
US9575925B2 (en) Rack server system and auto-addressing method thereof
US11080404B2 (en) Firmware upgrade method, slave station of robot, and machine readable storage medium
CN102571996B (zh) Ip地址分配方法、装置以及网络系统
US20180131182A1 (en) Power-over-ethernet power method and system
CN104025421A (zh) 在ups并联系统中的主选择逻辑的方法和装置
CN109040184B (zh) 一种主节点的选举方法及服务器
WO2019052069A1 (zh) 一种主备竞争方法、装置及应用设备
US20140201577A1 (en) Management device, management method, and medium storing management program
RU2015109465A (ru) Стойка с функцией автоматического восстановления и способ автоматического восстановления для этой стойки
CN104077152B (zh) 一种嵌入式系统批量升级的方法及装置
CN109976926A (zh) 一种屏蔽重启保护bmc更新过程的方法、电路、终端及存储介质
EP3672149A1 (en) Method and device for controlling device activation
US9921876B2 (en) Information processing device, resource allocation method, and computer-readable recording medium
CN107181654B (zh) 控制局域网络can通讯方法和系统及空调系统
CN108345562B (zh) 多路服务器及其信号处理方法
JP4959004B2 (ja) ホストコンピューティング装置と周辺装置を通信結合させるシステムおよび方法
JP2012181131A (ja) 蓄電管理装置
US20140229602A1 (en) Management of node membership in a distributed system
CN105183373A (zh) 一种数据处理方法及网络设备
GB2575053A (en) Method and device for controlling activation of a terminal
US20170187650A1 (en) Switch unit, ethernet network, and method for activating components in an ethernet network
US9692646B2 (en) System and method for control of remote wireless data devices
US10795848B2 (en) Dual way communication method, system, and master device thereof
CN109542522A (zh) 一种fpga启动方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant