访问数据总线的装置、方法及系统

文档序号:1831096 发布日期:2021-11-12 浏览:14次 >En<

阅读说明:本技术 访问数据总线的装置、方法及系统 (Device, method and system for accessing data bus ) 是由 卢俊明 于 2020-04-27 设计创作,主要内容包括:本发明提出一种访问数据总线的装置、方法及系统,所述访问数据总线的装置包括:主机端口,用于连接主机;从机端口,用于连接从机,所述从机端口通过数据总线连接至所述主机端口,所述主机端口具有访问所述从机端口的固定优先级别;第一多工器以及第二多工器,用于实现所述主机端口与所述从机端口之间的切换;译码器,用于接收所述主机端口发送的地址信号并进行译码,生成相应的选择信号,所述第二多工器根据所述选择信号选择对应的所述从机端口与所述主机端口相连;以及仲裁器,用于接收所述主机端口发送的请求信号,并根据固定优先权与先到先做结合的方式确定所述主机端口访问所述从机端口的顺序。(The invention provides a device, a method and a system for accessing a data bus, wherein the device for accessing the data bus comprises the following steps: a host port for connecting a host; a slave port for connection to a slave, the slave port being connected to the master port by a data bus, the master port having a fixed priority level for accessing the slave port; the first multiplexer and the second multiplexer are used for realizing the switching between the host port and the slave port; the decoder is used for receiving and decoding the address signal sent by the host port to generate a corresponding selection signal, and the second multiplexer selects the corresponding slave port to be connected with the host port according to the selection signal; and the arbiter is used for receiving the request signal sent by the host port and determining the sequence of the host port accessing the slave port according to the combination of the fixed priority and the first-come first-served mode.)

访问数据总线的装置、方法及系统

技术领域

本发明涉及数据处理技术,尤其涉及一种访问数据总线的装置、方法及系统。

背景技术

目前,SOC(System on a Chip,片上系统)大多采用多层AHB(Advanced HighPerformance Bus,高级高性能总线)总线架构进行信息交互。AHB规范包括AMBA(AdvancedMicrocontroller Bus Architecture,高级微控制器总线架构)规范以及AHB-Lite协议。其中,AMBA规范v2.0定义AHB多层之间的连接,并通过定义仲裁器的信号,例如,总线请求(HBUSREQx)信号以及总线授权(HGRANTx)信号来判断多个主机与多个从机之间的切换。AHB-Lite协议则没有明确定义AHB多层之间连接以及定义仲裁器的信号,而是定义单一主机和多个从机的连接,并定义选通(HSEL)信号或者传输类型(HTRANS)信号代替总线请求信号以及总线授权信号,来判断主机与多个从机之间的切换。

然而,上述两种方式中,当从机切换至新主机时,因为AHB-Lite和AHB多层总线架构的管线(pipeline)特征可能会导致插入单个等待状态(wait state),造成延迟。

发明内容

针对上述问题,有必要提供一种减少从机切换过程延迟现象的访问数据总线的装置、方法及系统。

本发明提供一种访问数据总线的装置,所述访问数据总线的装置包括:

主机端口,用于连接主机;

从机端口,用于连接从机,所述从机端口通过数据总线连接至所述主机端口,所述主机端口具有访问所述从机端口的固定优先级别;

第一多工器以及第二多工器,连接至所述主机端口及所述从机端口之间,用于实现所述主机端口与所述从机端口之间的切换;

译码器,连接至所述第二多工器,用于接收所述主机端口发送的地址信号并进行译码,生成相应的选择信号,所述第二多工器根据所述选择信号选择对应的所述从机端口与所述主机端口相连;以及

仲裁器,连接至所述第一多工器,用于接收所述主机端口发送的请求信号,并根据固定优先权与先到先做结合的方式确定所述主机端口访问所述从机端口的顺序。

进一步地,当多个主机端口同时对同一个从机端口发出访问请求时,所述仲裁器根据所述固定优先级别确定所述主机端口访问所述从机端口的顺序,其中,优先级别越高的主机端口具有越优先访问所述从机端口的权限。

进一步地,当多个主机端口不是同时对一个从机端口发出访问请求时,所述仲裁器采用先到先做的方式确定所述主机端口访问所述从机端口的顺序,其中,越先发出所述请求信号的主机端口具有越优先访问所述从机端口的权限。

进一步地,当所述主机端口的数量为N,分别为第一主机端口、第二主机端口、…、直至第N主机端,对应的优先级别依次为第1级、第2级、…、直至第N级,如果所述第M主机端口在所述第M-1主机端口之前请求访问同一所述从机端口,则所述仲裁器根据先到先做的方式确定所述第M主机端口优先访问所述从机端口,直至所述第M主机端口停止请求使用所述数据总线,所述仲裁器再根据所述优先级别确定所述第一主机端口、所述第二主机端口、…、直至所述第M-1主机端口访问所述从机端口的顺序,其中,N、M为自然数,且M小于或等于N。

本发明同时提供一种访问数据总线的方法,所述数据总线用于连接主机端口及从机端口,所述主机端口具有访问所述从机端口的固定优先级别,所述方法包括:

接收所述主机端口发送的地址信号并进行译码,生成相应的选择信号,根据所述选择信号选择对应的所述从机端口与所述主机端口相连;以及

接收所述主机端口发送的请求信号,并根据固定优先权与先到先做结合的方式确定所述主机端口访问所述从机端口的顺序。

进一步地,当多个主机端口同时对同一个从机端口发出访问请求时,根据所述固定优先级别确定所述主机端口访问所述从机端口的顺序,优先级别越高的主机端口具有越优先访问所述从机端口的权限。

进一步地,当多个主机端口不是同时对一个从机端口发出访问请求时,采用先到先做的方式确定所述主机端口访问所述从机端口的顺序,越先发出所述访问请求的主机端口具有越优先访问所述从机端口的权限。

进一步地,当所述主机端口的数量为N,分别为第一主机端口、第二主机端口、…、直至第N主机端,对应的优先级别依次为第1级、第2级、…、直至第N级,如果所述第M主机端口在所述第M-1主机端口之前请求访问同一所述从机端口,则根据先到先做的方式确定所述第M主机端口优先访问所述从机端口,直至所述第M主机端口停止请求使用所述数据总线,再根据所述优先级别确定所述第一主机端口、所述第二主机端口、…、直至所述第M-1主机端口访问所述从机端口的顺序,其中,N、M为自然数,且M小于或等于N。

本发明还提供一种访问数据总线的系统,所述系统包括主机、从机以及连接所述主机及从机的上述访问数据总线的装置。

本发明提出的访问数据总线的装置、方法及系统可避免采用单一固定优先级别的方式确定所述主机端口访问所述从机端口顺序时,优先级别较低的主机端口因长时间等待获取不到数据总线的使用权而导致的数据读写效率较低,也可避免单一采用单一先到先做的方式确定所述主机端口访问所述从机端口顺序时,优先级别较高的主机读写数据的速度较慢而影响系统运行效率,因此,本发明提出的访问数据总线的装置、方法及系统可以增加主机整体上读写数据的效率,实现零等待(zero wait state),减少时延。

附图说明

图1是本发明一实施例的访问数据总线的系统的模块示意图。

图2是本发明一实施例的访问数据总线的方法的流程示意图。

主要元件符号说明

访问数据总线的系统 100
主机 10
从机 20
访问数据总线的装置 30
主机端口 31
从机端口 32
第一多工器 33
第二多工器 34
译码器 35
仲裁器 36

如下

具体实施方式

将结合上述附图进一步说明本发明。

具体实施方式

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其他有益效果显而易见。可以理解,附图仅提供参考与说明用,并非用来对本发明加以限制。附图中显示的尺寸仅仅是为便于清晰描述,而并不限定比例关系。

请参阅图1,图示为本发明提出的访问数据总线的系统一实施例的模块示意图,所述访问数据总线的系统100包括主机10、从机20以及访问数据总线的装置30。

在本实施例中,所述访问数据总线的装置30包括主机端口31、从机端口32、第一多工器33、第二多工器34、译码器35以及仲裁器36。

所述主机端口31用于连接所述主机10。所述主机端口31用于连接所述主机10。所述从机端口32用于连接所述从机20,所述从机端口32通过数据总线连接至所述主机端口31。所述主机端口31具有访问所述从机端口32的固定优先级别。在本较佳实施例中,优先级别越高的主机端口31具有越优先访问所述从机端口32的权限,也就是说,优先级别越高的主机端口31具有对所述数据总线具有越优先的使用权。

所述第一多工器33、所述第二多工器34为多路选择器,连接至所述主机端口31与所述从机端口32之间,用于实现从所述主机端口31至所述从机端口32之间的切换。

所述译码器35连接至所述第二多工器34,用于接收所述主机端口31发送的地址信号(例如,图1中所示HADDR0,HADDR4)并进行译码,生成相应的选择信号,所述第二多工器34根据所述选择信号选择对应的所述从机端口32与所述主机端口31相连。

所述仲裁器36连接至所述第一多工器33,用于接收所述主机端口31发送的请求信号HREQx,并根据固定优先权与先到先做结合的方式确定所述主机端口31访问所述从机端口32的顺序。所述请求信号HREQx表明所述主机端口31请求使用所述数据总线访问从机端口32。

在本实施例中,当多个主机端口31同时对同一个从机端口32发出访问请求时,所述仲裁器36根据所述固定优先级别确定所述主机端口31访问所述从机端口32的顺序,优先级别越高的主机端口31具有越优先访问所述从机端口32的权限。

当多个主机端口31不是同时对一个从机端口32发出访问请求时,所述仲裁器36采用先到先做的方式确定所述主机端口31访问所述从机端口32的顺序,越先发出所述访问请求的主机端口31具有越优先访问所述从机端口32的权限。

请参阅图2,本发明同时提出一种访问数据总线方法。所述方法的步骤如下:

为了便于理解,在本实施例中,以主机端口31以及从机端口32均为四个为例,加以说明。所述主机端口31包括第一主机端口M0、第二主机端口M1、第二主机端口M2以及第三主机端口M3,所述主机端口31访问所述从机端口32的优先级别为,第一主机端口M0>第二主机端口M1>第二主机端口M2>第三主机端口M3。

步骤S101,设置所述仲裁器36的初始状态,具体地,设置所述主机端口31的请求信号HREQ及传输类型信号HTRANS。在本实施例中,所述请求信号初始值设置为HREQ=4'hf,表明所述主机端口31数量为四个,所述传输类型信号Mx_HTRANS[1]设置为IDEL,表明没有所述主机端口31请求访问所述从机端口32。

步骤S102,如果所述第一主机端口M0、所述第二主机端口M1、所述第三主机端口M2以及所述第四主机端口M3同时请求访问同一从机端口32,所述仲裁器36根据优先级别确定所述主机端口31访问所述从机端口32的顺序,对应的所述请求信号HREQ为{!M3_HTRANS[1],!M2_HTRANS[1],!M1_HTRANS[1],M0_HTRANS[1]},表明所述第一主机端口M0优先访问所述从机端口32,所述第二主机M1、所述第三主机M2及所述第四主机M3依次排队等待访问所述从机端口32。所述仲裁器36确定所述第一主机端口M0访问所述从机端口32,直至所述第一主机端口M0停止请求使用所述数据总线,对应的传输类型信号M0_HTRANS[1]设置为IDEL。所述仲裁器36依照所述优先级别依次确定所述第二主机端口M1、所述第三主机端口M2及所述第四主机端口M3访问所述从机端口32,直至没有所述主机端口31请求访问所述从机端口32,对应的所述传输类型信号Mx_HTRANS[1]设置为IDEL,返回至步骤S101。

步骤S103,如果所述第二主机端口M1在所述第一主机端口M0之前请求访问同一所述从机端口32,对应的所述请求信号HREQ为{!M3_HTRANS[1],!M2_HTRANS[1],M1_HTRANS[1],!M0_HTRANS[1]},表明所述仲裁器36根据先到先做的方式确定所述第二主机端口M1优先访问所述从机端口32,直至所述第二主机端口M1停止请求使用所述数据总线,对应的传输类型信号M1_HTRANS[1]设置为IDEL。所述仲裁器36再根据所述优先级别确定所述第一主机端口M0、所述第三主机端口M2及所述第四主机端口M3访问所述从机端口32,直至没有所述主机端口31请求访问所述从机端口32,对应的所述传输类型信号Mx_HTRANS[1]设置为IDEL,返回至步骤S101。

同样地,步骤S104,如果所述第三主机端口M2在所述第一主机端口M0及所述第二主机端口M1之前请求访问同一所述从机端口32,对应的所述请求信号HREQ为{!M3_HTRANS[1],M2_HTRANS[1],!M1_HTRANS[1],!M0_HTRANS[1]},表明所述仲裁器36根据先到先做的方式确定所述第三主机端口M2优先访问所述从机端口32,直至所述第三主机端口M2停止请求使用所述数据总线,对应的传输类型信号M2_HTRANS[1]设置为IDEL。所述仲裁器36再根据所述优先级别确定所述第一主机端口M0、所述第二主机端口M1及所述第四主机端口M3访问所述从机端口32,直至没有所述主机端口31请求访问所述从机端口32,对应的所述传输类型信号Mx_HTRANS[1]设置为IDEL,返回至步骤S101。

步骤S105,如果所述第四主机端口M3在所述第一主机端口M0、所述第二主机端口M1及所述第三主机端口M2之前请求访问同一所述从机端口32,对应的所述请求信号HREQ为{M3_HTRANS[1],!M2_HTRANS[1],!M1_HTRANS[1],!M0_HTRANS[1]},表明所述仲裁器36根据先到先做的方式确定所述第四主机端口M3优先访问所述从机端口32,直至所述第四主机端口M3停止请求使用所述数据总线,对应的传输类型信号M3_HTRANS[1]设置为IDE。所述仲裁器36再根据所述优先级别确定所述第一主机端口M0、所述第二主机端口M1及所述第三主机端口M2访问所述从机端口32,直至没有所述主机端口31请求访问所述从机端口32,对应的所述传输类型信号Mx_HTRANS[1]设置为IDEL,返回至步骤S101。

可以理解,当所述主机端口31的数量为N时,分别为第一主机端口、第二主机端口、…、直至第N主机端口,对应的优先级别依次为第1级、第2级、…、直至第N级,其中N为自然数。如果所述第M主机端口在所述第M-1主机端口之前请求访问同一所述从机端口,其中,M为自然数,M大于或等于1,且小于或等于N,则所述仲裁器36根据先到先做的方式确定所述第M主机端口优先访问所述从机端口32,直至所述第M主机端口停止请求使用所述数据总线,对应的传输类型信号MK_HTRANS[1]设置为IDEL。所述仲裁器36再根据所述优先级别确定所述第一主机端口、所述第二主机端口、…、直至所述第M-1主机端口访问所述从机端口32,直至没有所述主机端口31请求访问所述从机端口32,对应的所述传输类型信号Mx_HTRANS[1]设置为IDEL,返回至步骤S101。

本发明提出的访问数据总线的方法、装置30及系统100可避免采用单一固定优先级别的方式确定所述主机端口31访问所述从机端口32顺序时,优先级别较低的主机端口31因长时间等待获取不到数据总线的使用权而导致的数据读写效率较低,也可避免采用单一先到先做的方式确定所述主机端口31访问所述从机端口32顺序时,优先级别较高的主机10读写数据的速度较慢而影响系统运行效率,本发明提出的访问数据总线的方法、装置30及系统100可以增加主机10整体上读写数据的效率,实现零等待(zerowait state),减少时延。

另外,本发明提出的访问数据总线的方法、装置30及系统100采用第一多工器33及第二多工器34来实现所述主机10与从机20之间的切换,在提高读写数据的效率,同时,也不容易造成时序收敛的问题。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息交互方法和装置、框式网络设备、计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!