一种总线仲裁的方法、装置及系统的制作方法

文档序号:8472915阅读:266来源:国知局
一种总线仲裁的方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及总线仲裁领域,尤其涉及一种总线仲裁的方法、装置及系统。
【背景技术】
[0002]片上集成系统中存在多个设备或功能模块可能同时会申请使用总线,为避免总线使用冲突,一般采用总线仲裁机制管理系统中可能会占用总线的设备或模块,以实现在多个设备或模块同时申请使用总线时,控制各个设备或模块访问总线的次序。
[0003]传统的总线仲裁机制主要有以下两种:
[0004]一种是设定总线占用检测机制,若主机需要占用数据线时,主机检测握手信号线是否处于高电平;若握手信号线处于低电平,主机则等待;若握手信号线处于高电平,主机则通过握手信号端将握手信号线置于低电平,并随即开始检测数据线是否存在数据传输的启动信号;若在对应的时间片内检测到启动信号,则主机退出占用数据线的竞争,若在对应的时间片内检测不到启动信号,则主机占用数据线。但该方案中,总线仲裁是由各主机对总线的抢占实现的,即总线总是由最先抢占的主机占用。这样可能导致有的主机永远无法占用总线,这种方式无法保证总线占用的公平性。
[0005]另一种是通过配备总线仲裁装置,总线仲裁装置根据各设备访问请求的等待时间,调整各设备访问请求的优先级,按照各访问请求的优先级从高到低的顺序分配访问权限的优先级。虽然该方案能够兼顾各个访问请求的差别,以及避免优先级低的访问请求无法获得访问权限,可以保证总线占用的公平性,但总线必须配备一个总线仲裁装置,不能实现总线上所有设备随意增减。而且,总线请求要通过带外通道提交给总线仲裁装置,达不到互联走线最少的目的。
[0006]通过以上两种方案,均不能解决使用最少的互联走线将系统中各个设备互联,以及各个设备即可以公平的占用总线,又可以随时增减设备的问题。

【发明内容】

[0007]本发明提供一种总线仲裁的方法、装置及系统,能够解决现有技术中无法实现系统内各个设备之间互联走线较少,且公平的占用总线的问题。
[0008]本发明第一方面提供一种总线仲裁的方法,所述方法应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,所述方法包括:
[0009]广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
[0010]通过所述总线传输数据;
[0011]在传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
[0012]结合第一方面,本发明第一方面的第一种实现方式中,所述方法还包括如下步骤中的一个:
[0013]在所述工作设备释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
[0014]在所述工作设备新接入所述系统时,将所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
[0015]在所述系统冷启动时,将所述工作设备的仲裁等待时长设置为最大仲裁等待时长Tmax ;
[0016]其中,所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
[0017]结合第一方面的第一种实现方式,本发明第一方面的第二种实现方式中,所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成。
[0018]结合第一方面,及第一方面的第一和第二种实现方式,本发明第一方面的第三种实现方式中,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
[0019]若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax ^ 2Nmax-l,所述工作设备的Tmax大于系统中每个所述候选设备的仲裁等待时长Twait0
[0020]结合第一方面,及第一方面的第一至第三种实现方式,本发明第一方面的第四种实现方式中,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述广播所述工作设备的工作标识号至所述候选设备之前,所述方法还包括:
[0021]所述工作设备开始计时,并监测所述总线的总线状态,在确定计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则所述工作设备占用所述总线,并通过所述总线广播总线占用标识和所述工作设备的工作标识号。
[0022]结合第一方面的第四种实现方式,本发明第一方面的第五种实现方式中,所述方法还包括如下步骤中的一个:
[0023]在确定不需要发送数据时,所述任一设备通过所述总线广播结束标识;
[0024]在确定需要发送数据时,所述任一设备通过所述总线发送数据,并通过所述总线广播所述结束标识。
[0025]本发明第二方面提供一种总线仲裁的装置,所述装置应用于总线仲裁的系统中当前占用总线的工作设备,所述系统还包括候选设备,所述候选设备为所述系统中除所述工作设备之外的所有设备,所述装置包括;
[0026]传输单元,用于广播所述工作设备的工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长;
[0027]传输单元,用于通过所述总线传输数据;
[0028]释放单元,用于在所述传输单元传输完所述数据后,释放所述总线,以使所述候选设备中仲裁等待时长最短的设备占用所述总线。
[0029]结合第二方面,本发明第二方面的第一种实现方式中,所述装置还包括处理单元,所述处理单元用于执行以下步骤中的一个:
[0030]在所述工作设备释放所述总线之后,将所述工作设备的仲裁等待时长设置为所述工作设备的最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在占用顺序环的末端,所述占用顺序环用于指示所述系统中每个设备占用所述总线的顺序;
[0031]在所述工作设备新接入所述系统时,设置所述工作设备仲裁等待时长为最大仲裁等待时长Tmax,并将所述工作设备的占用顺序设置在所述占用顺序环的末端;
[0032]在所述系统冷启动时,设置所述工作设备仲裁等待时长为最大仲裁等待时长Tmax ;
[0033]其中,所述最大仲裁等待时长由设备常数值与所述工作设备的工作标识号相加得到。
[0034]结合第二方面的第一种实现方式,本发明第一方面的第二种实现方式中,所述所述占用顺序环由所述系统中所有设备的最大仲裁等待时长Tmax按从小至大排列拼接形成。
[0035]结合第二方面,及第二方面的第一和第二种实现方式,本发明第二方面的第三种实现方式中,所述仲裁等待时长Twait由所述候选设备的标识号与所述工作标识号相加或相减得到;
[0036]若所述系统的最大可接入的设备的数量为Nmax,则所述工作设备的最大仲裁等待时长Tmax多2Nmax-l,所述工作设备的Tmax大于系统中每个候选设备的仲裁等待时长Twait0
[0037]结合第二方面,及第二方面的第一和第二种实现方式,本发明第二方面的第四种实现方式中,所述工作设备为所述系统冷启动后,所述系统中Tmax最短的设备,所述装置还包括:
[0038]监测单元,用于在检测到所述系统冷启动后,开始计时,并监测所述总线的总线状态;
[0039]所述处理单元还用于在确定所述监测单元计时得到的计时值大于或等于自身的Tmax时,确定所述总线状态为总线空闲,则占用所述总线;
[0040]所述传输单元还用于通过所述总线广播总线占用标识和所述任一设备的标识号;
[0041]结合第二方面的第一和第二种实现方式,本发明第二方面的第四种实现方式中,在所述处理单元确定不需要发送数据时,通过所述总线广播结束标识;
[0042]在所述处理单元确定需要发送数据时,通过所述总线发送数据,并通过所述总线广播所述结束标识。
[0043]本发明第三方面提供一种总线仲裁的系统,其特征在于,所述系统至少包括两个下述装置:
[0044]如第二方面、及第二方面的第一至第六种实现方式中任一所述的总线仲裁的装置。
[0045]从以上技术方案可以看出,本发明通过工作设备广播工作标识号至所述候选设备,以使每个所述候选设备根据自身的标识号和所述工作标识号得到对应的仲裁等待时长,以在确定所述候选设备中仲裁等待时长最短的目标设备,并在通过总线传输完所述数据后,释放所述总线,以使所述目标设备占用所述总线,能够有效减少系统内各个设备之间互联走线,保证各个设备公平的占用总线。
【附图说明】
[0046]图1为本实施例中一种总线仲裁的方法一实施例示意图;
[0047]图2为本实施例中一种占用顺序环一结构示意图;
[0048]图3为本实施例中一种总线仲裁的装置一结构示意图;
[0049]图4为本实施例中一种总线仲裁的装置另一结构示意图;
[0050]图5为本实施例中一种总线仲裁的装置另一结构示意图;
[0051]图6为本实施例中一种总线仲裁的系统一结构示意图;
[0052]图7为本实施例中一种总线仲裁的装置另一结构示意图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1