CN106326172B - 一种APB总线slave接口扩展电路及其使用方法 - Google Patents
一种APB总线slave接口扩展电路及其使用方法 Download PDFInfo
- Publication number
- CN106326172B CN106326172B CN201610727056.6A CN201610727056A CN106326172B CN 106326172 B CN106326172 B CN 106326172B CN 201610727056 A CN201610727056 A CN 201610727056A CN 106326172 B CN106326172 B CN 106326172B
- Authority
- CN
- China
- Prior art keywords
- interface
- apb
- slave
- apb bus
- expansion interface
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4045—Coupling between buses using bus bridges where the bus bridge performs an extender function
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种外围总线APB总线从接口slave接口扩展电路及其使用方法,包括:接口扩展实现电路、APB slave扩展接口;APB总线需要扩展的slave接口的地址空间划分为N个互不交叠的子地址空间,N为大于1的整数,所述APB总线需要扩展的slave接口根据所述N个子地址空间扩展为N个APB slave扩展接口;所述接口扩展实现电路,与APB总线需要扩展的slave接口、APB slave扩展接口相连,用于确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的APB slave扩展接口连通。因此,采用本发明可以使得增加APB slave接口的实现过程变得较为简单。
Description
技术领域
本发明涉及数字电路技术领域,特别涉及一种APB总线slave接口扩展电路及其使用方法。
背景技术
APB(Advanced Peripheral Bus,外围总线)总线是ARM(Advanced RISCMachines)公司研发推出的AMBA(Advanced Microcontroller Bus Architecture,片上总线)系列总线中的一种,已经成为一种标准的片上总线结构。主要用于SOC(System onChip,系统级芯片)与低带宽的周边外设之间的连接和通讯,例如UART(UniversalAsynchronous Receiver/Transmitter,通用异步收发传输器),GPIO(General PurposeInput Output,通用输入输出接口)等。图1为APB总线应用示意图,如图所示,APB总线只有一个主接口(master),就是APB桥,其它都是从接口(slave),用于连接各种外设。
由于SOC系统越来越复杂,一个SOC系统中连接多个外设也越来越普遍。但是一般地,一条APB总线可连接的最多的slave个数固定,比如16个,如果需要增加slave接口数目,则常用的方法有两种方法:
方法一:修改APB总线结构,以支持更多slave接口;
方法二:增加一条同样配置的APB总线。
图2为方法一的实施例示意图,如图所示,如果APB总线是一个成熟IP,修改APB总线结构来支持更多的slave,并不是最佳方法,即使是自行设计的APB总线,修改结构意味着需要重新验证,而且不断变化的需求可能导致反复多次的修改,而每次修改都需要对APB总线自身的结构重新验证。
图3为方法二的实施例示意图,如图所示,增加一条同样配置的APB总线,可将支持的APB slave个数提高一倍,但需要在SOC系统中增加一个APB桥的接口,这个对整个SOC系统结构影响较大。例如APB桥接口是连接到AHB或AXI总线上,则要求AHB或AXI总线需要有空闲的接口可供新增的APB桥接口使用。如果没有,则可能需要修改AHB或AXI总线结构,以增加接口连接新增的APB桥接口。
现有技术的不足在于:增加APB slave接口时需要修改APB总线结构或SOC系统,实现较为复杂。
发明内容
本发明提供了一种APB总线slave接口扩展电路及其使用方法,用以使得增加APBslave接口的实现过程变得较为简单。
本发明实施例提供了一种APB总线slave接口扩展电路,包括:接口扩展实现电路、APB slave扩展接口;其中,所述APB总线需要扩展的slave接口的地址空间划分为N个互不交叠的子地址空间,N为大于1的整数,所述APB总线需要扩展的slave接口根据所述N个子地址空间扩展为N个APB slave扩展接口;
所述接口扩展实现电路,与APB总线需要扩展的slave接口、APB slave扩展接口相连,用于确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的APBslave扩展接口连通。
较佳地,所述接口扩展实现电路包括:PSEL接口扩展实现电路、PRDATA接口扩展实现电路;所述APB slave扩展接口包括:PENABLE扩展接口、N个PSEL扩展接口、PRDATA扩展接口、PADDR扩展接口、PWRITE扩展接口以及PWDATA扩展接口;其中:
所述PSEL接口扩展实现电路,与APB总线的PSEL接口、APB总线的PADDR接口以及所述PSEL扩展接口相连,接收所述PSEL接口的选择信号和所述PADDR接口的地址信号,并将所述地址信号的子地址空间与预设子地址空间进行对比来确定选中的子地址空间,将所述选择信号连通到所选中的子地址空间对应的PSEL扩展接口;
所述PRDATA接口扩展实现电路,与APB总线的PRDATA接口、所述PRDATA扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PRDATA扩展接口,接收所述选中的PRDATA扩展接口的读回数据信号,并将所述读回数据信号连通到APB总线的PRDATA接口;
所述PENABLE扩展接口,与APB总线的PENABLE接口相连,接收以广播的形式发出的所述PENABLE接口的选通信号;
所述PADDR扩展接口,与APB总线的PADDR接口相连,接收以广播的形式发出的所述PADDR接口的地址信号;
所述PWRITE扩展接口,与APB总线的PWRITE接口相连,接收以广播的形式发出的所述PWRITE接口的写标识信号;
所述PWDATA扩展接口,与APB总线的PWDATA接口相连,接收以广播的形式发出的所述PWDATA接口的写数据信号。
较佳地,所述接口扩展实现电路进一步包括:PREADY接口扩展实现电路、PSLVERR接口扩展实现电路;所述APB slave扩展接口进一步包括:PREADY扩展接口、PSLVERR扩展接口;其中:
所述PREADY接口扩展实现电路,与APB总线的PREADY接口、所述PREADY扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PREADY扩展接口,接收所述选中的PREADY扩展接口的读数据准备好信号,并将所述读数据准备好信号连通到APB总线的PREADY接口;
所述PSLVERR接口扩展实现电路,与APB总线的PSLVERR接口、所述PSLVERR扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PSLVERR扩展接口,接收所述选中的PSLVERR扩展接口的传输错误响应信号,并将所述传输错误响应信号连通到APB总线的PSLVERR接口。
较佳地,所述接口扩展实现电路为逻辑门电路和/或比较器。
本发明实施例提供了一种APB总线slave接口扩展电路的使用方法,包括:
所述接口扩展实现电路确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的APB slave扩展接口连通;
当APB总线传输处于IDEL状态,对应的PSEL扩展接口的选择信号为0,对应的PENABLE扩展接口的使能信号为0;
当传输被请求时,APB总线进入SETUP状态,所述选择信号被置位,所述使能信号为0;
APB总线在SETUP状态停留一个时钟周期后,在下个时钟周期进入ACCESS状态,在SETUP状态转入ACCESS状态的过程中,对应的PADDR扩展接口的地址信号、对应的PWRITE扩展接口的写标识信号、对应的PWDATA扩展接口的写数据信号保持不变;
APB总线进入ACCESS状态后,所述选择信号被置位,所述使能信号被置位。
较佳地,进一步包括:
若对应的PREADY扩展接口的读数据准备好信号为低电平,APB总线保持ACCESS状态;
若对应的PREADY扩展接口的读数据准备好信号为高电平,APB总线退出ACCESS状态;
APB总线退出ACCESS状态后,若无传输请求,APB总线转入IDEL状态,若有传输请求,APB总线转入SETUP状态。
较佳地,所述确定选中的子地址空间是将子地址空间与预设子地址空间进行对比来确定的。
本发明有益效果如下:
在本发明实施例提供的技术方案中,提出一种APB总线slave接口扩展电路,包括:信号扩展实现电路、APB slave扩展接口;由于所述APB总线需要扩展的slave接口的地址空间划分为N个互不交叠的子地址空间,N为大于1的整数,一个子地址空间对应一个APBslave扩展接口,所述APB总线需要扩展的slave接口扩展为N个APB slave扩展接口;信号扩展实现电路,用于确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的APB slave扩展接口连通。新增加的slave扩展接口时序符合标准的APB slave接口时序。可以在不修改APB总线及SOC结构的基础上,仅增加了扩展电路来增加APB slave接口,实现简单。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明背景技术中APB总线应用示意图;
图2为本发明背景技术中方法一的实施例示意图;
图3为本发明背景技术中方法二的实施例示意图;
图4为本发明实施例中APB总线slave接口扩展电路的应用示意图;
图5为本发明实施例中APB总线slave接口扩展电路整体结构示意图;
图6为本发明实施例中PSEL接口扩展实现电路示意图;
图7为本发明实施例中PRDATA接口扩展实现电路示意图;
图8为本发明实施例中PREADY接口扩展实现电路示意图;
图9为本发明实施例中APB总线slave接口扩展电路的使用方法实施流程示意图;
图10为本发明实施例中slave接口写数据时序示意图;
图11为本发明实施例中slave接口读数据时序示意图;
图12为本发明实施例中APB接口状态图。
具体实施方式
下面结合附图对本发明的具体实施方式进行说明。
图4为APB总线slave接口扩展电路的应用示意图,包括:接口扩展实现电路401、APB slave扩展接口402;其中,所述APB总线需要扩展的slave接口的地址空间划分为N个互不交叠的子地址空间,N为大于1的整数,一个子地址空间对应一个APB slave扩展接口,所述APB总线需要扩展的slave接口扩展为N个APB slave扩展接口;
所述接口扩展实现电路,与APB总线需要扩展的slave接口、APB slave扩展接口相连,用于确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的APBslave扩展接口连通。
APB slave扩展接口与APB slave设备相连,将一个APB slave接口扩展为多个扩展接口,因而可以连接多个APB slave设备。
下面介绍图4中APB总线slave接口扩展电路的工作原理。
如图所示,APB总线slave接口扩展电路可以包括两个部分,接口扩展实现电路401和APB slave扩展接口402。接口扩展实现电路401又与APB总线slave接口连接。
APB总线上的各个slave接口是通过地址空间区分的,在接口扩展实现电路中,仍然通过地址空间区分扩展后的salve接口。将一个APB slave接口扩展为N个时,需要将这个slave接口的地址空间ADDRn再细分成N个子地址空间ADDRn_0,ADDRn_1,ADDRn_2…ADDRn_(n-1),N个子地址空间互不交叠,但是N个子地址空间可能只是某几位地址线互不相同。接口扩展实现电路的主要原理是通过将地址线PADDR[31:0]中的几位(在子地址空间中互不相同的位)和预定的子地址空间中对应的位进行比较,如果相同,则选中对应的子地址空间,访问相应的slave设备。
如图4所示,从整个SOC系统来看,本方案更有助于SOC系统架构的稳定性和最小化验证的工作量。通过扩展电路改变SOC系统能支持的APB slave个数,仅影响扩展电路和增加或减少的APB slave接口,SOC其它部分完全不受APB slave个数改变带来的影响,更有助于系统架构的稳定性,也避免了由于SOC系统架构修改或APB总线修改导致的大量重复验证工作。
下面对APB总线slave接口扩展电路的具体结构、连接关系进行说明。
目前常用的APB总线版本有两个,APB2和APB3。APB2总线没有PREADY和PSLVERR接口,因此,在APB2总线系统中应用本发明时,APB slave扩展接口不包括PREADY扩展接口和PSLVERR扩展接口。APB2总线slave接口扩展电路的具体结构、连接关系具体如下所示:
具体实施中,所述接口扩展实现电路包括:PSEL接口扩展实现电路、PRDATA接口扩展实现电路;所述APB slave扩展接口包括:PENABLE扩展接口、PSEL扩展接口、PRDATA扩展接口、PADDR扩展接口、PWRITE扩展接口以及PWDATA扩展接口;其中:
所述PSEL接口扩展实现电路,与APB总线的PSEL接口、APB总线的PADDR接口以及所述PSEL扩展接口相连,接收所述PSEL接口的选择信号和所述PADDR接口的地址信号,并将所述地址信号的子地址空间与预设子地址空间进行对比来确定选中的子地址空间,将所述选择信号连通到所选中的子地址空间对应的PSEL扩展接口;
所述PRDATA接口扩展实现电路,与APB总线的PRDATA接口、所述PRDATA扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PRDATA扩展接口,接收所述选中的PRDATA扩展接口的读回数据信号,并将所述读回数据信号连通到APB总线的PRDATA接口;
所述PENABLE扩展接口,与APB总线的PENABLE接口相连,接收以广播的形式发出的所述PENABLE接口的选通信号;
所述PADDR扩展接口,与APB总线的PADDR接口相连,接收以广播的形式发出的所述PADDR接口的地址信号;
所述PWRITE扩展接口,与APB总线的PWRITE接口相连,接收以广播的形式发出的所述PWRITE接口的写标识信号;
所述PWDATA扩展接口,与APB总线的PWDATA接口相连,接收以广播的形式发出的所述PWDATA接口的写数据信号。
APB3总线slave接口扩展电路的具体结构、连接关系具体如下所示:
在APB3总线系统中应用本发明时,在上述APB总线slave接口扩展电路中添加PREADY扩展接口和PSLVERR扩展接口等相关电路。
实施中,所述接口扩展实现电路进一步包括:PREADY接口扩展实现电路、PSLVERR接口扩展实现电路;所述APB slave扩展接口进一步包括:PREADY扩展接口、PSLVERR扩展接口;其中:
所述PREADY接口扩展实现电路,与APB总线的PREADY接口、所述PREADY扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PREADY扩展接口,接收所述选中的PREADY扩展接口的读数据准备好信号,并将所述读数据准备好信号连通到APB总线的PREADY接口;
所述PSLVERR接口扩展实现电路,与APB总线的PSLVERR接口、所述PSLVERR扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PSLVERR扩展接口,接收所述选中的PSLVERR扩展接口的传输错误响应信号,并将所述传输错误响应信号连通到APB总线的PSLVERR接口。
实施中,所述接口扩展实现电路为逻辑门电路和/或比较器。
具体的,接口扩展实现电路由逻辑门电路和/或比较器组成。关于接口扩展实现电路的内部结构在下述实施例中具体说明。
为了更清楚地理解本发明,下面以具体实施例进行说明。
图5为APB总线slave接口扩展电路整体结构示意图,如图所示,将一个APB slave接口扩展为三个slave接口,需要将这个slave接口的地址空间ADDRn再细分成三个子地址空间ADDRn_0,ADDRn_1,ADDRn_2,三个子地址空间互不交叠,但是三个子地址空间可能只是某几位地址线互不相同。扩展电路的主要原理是通过将地址线PADDR[31:0]中的几位(在子地址空间中互不相同的位)和预定的子地址空间中对应的位进行比较,如果相同,则选中对应的子地址空间,访问相应的slave设备。
例如:ADDRn={0x10000000~0x100fffff},设置三个子地址空间分别为:
ADDRn_0={0x10000000~0x1003ffff},
ADDRn_1={0x10040000~0x1007ffff},
ADDRn_2={0x10080000~0x100fffff}。
则三个子地址空间中只有第18、19位不一样(从0位开始),即ADDRn_0[19:18]=0,ADDRn_1[19:18]=1,ADDRn_2[19:18]=2或3。扩展电路只需要判断APB slave接口上的地址线PADDR[19:18],如果PADDR[19:18]=0,则选择地址空间ADDRn_0,图5中左边的APBslave接口和右边后缀“_0”的slave接口连通;如果PADDR[19:18]=1,则选择地址空间ADDRn_1,图5中左边的APB slave接口和右边后缀“_1”的slave接口连通;如果PADDR[19:18]=2或3,则选择地址空间ADDRn_2,图5中左边的APB slave接口和右边后缀“_2”的slave接口连通。
如图5所示,在APB总线slave接口扩展电路中,地址信号PADDR[31:0]、写标识信号PWRITE、选通信号PENABLE和写数据信号PWDATA[31:0]这四组信号以广播的形式发出,直接连接到3个APB slave上。选择信号PSEL需要通过地址仲裁后实现扩展,扩展后每次最多连通到一个slave。扩展后的3个APB slave返回的读回数据信号PRDATA_n和读数据准备好信号PREADY_n也需要通过地址仲裁判断,选择其中一路连通到PRDATA和读数据准备好信号PREADY(n=0,1,2)。
下面详细介绍接口扩展实现电路各个部分的电路。
图6为PSEL接口扩展实现电路示意图,如图6所示,将PADDR第19位和第18位分别和3个预设定的地址空间对应的位做逻辑比较,对比相同的时候,比较电路输出值为逻辑1,PSEL信号通过与门输出。对比不相同的时候,比较电路输出值为逻辑0,对应的与门输出一直为0,PSEL信号无法传递。且由于地址空间的唯一性,图3中的三个比较电路,最多只有一个是对比相同的,即PSEL信号连通到PSEL_0,PSEL_1和PSEL_2中的一个。
图7为PRDATA接口扩展实现电路示意图,如图7所示,通过两级二输入比较器实现对多路返回的读数据PRDATA_n[31:0](n=0,1,2)进行选择。
第一级选择:用图6中的PSEL_0作为第一级二输入选择器的选择端sel,如果PSEL_0为1,则选择二输入选择器1端输入的信号即PRDATA_0[31:0]连通到选择器输出端。如果PSEL_0为0,则二输入选择器0端的输入信号即PRDATA_1[31:0]将连通到选择器输出端,然后进入二级选择。
第二级选择:用图6中的PSEL_2作为第二级二输入选择器的选择端sel,如果PSEL_2为1,则选择二输入选择器1端输入的信号即PRDATA_2[31:0]连通到选择器输出端,即连通到PRDATA。如果PSEL_2为0,则二输入选择器0端的输入信号第一级选择器输出的数据将连通到选择器输出端,即连通到PRDATA。最终实现从PRDATA_0[31:0],PRDATA_1[31:0],PRDATA_2[31:0]中选择一路数据连接到PRDATA[31:0],完成选择。
图7所示电路并不是唯一电路,如果将PSEL_0换成PSEL_1,PRDATA_0[31:0]和PRDATA_1[31:0]连接位置交换,也是可以实现的。
图8为PREADY接口扩展实现电路示意图,如图8所示,通过两级二输入比较器实现对多路返回的PREDAY_n(n=0,1,2)进行选择。
第一级选择:用图6中的PSEL_0作为第一级二输入选择器的选择端sel,如果PSEL_0为1,则选择二输入选择器1端输入的信号即PREDAY_0连通到选择器输出端。如果PSEL_0为0,则二输入选择器0端的输入信号即PREDAY_1将连通到选择器输出端,然后进入二级选择。
第二级选择:用图6中的PSEL_2作为第二级二输入选择器的选择端sel,如果PSEL_2为1,则选择二输入选择器1端输入的信号即PREDAY_2连通到选择器输出端,即连通到PREDAY。如果PSEL_2为0,则二输入选择器0端的输入信号第一级选择器输出的数据将连通到选择器输出端,即连通到PREDAY。最终实现从PREDAY_0,PREDAY_1,PREDAY_2中选择一路数据连接到PREDAY,完成选择。
图8所示电路并不是唯一电路,如果将PSEL_0换成PSEL_1,PREDAY_0和PREDAY_1连接位置交换,也是可以实现的。
从PSLVERR_0,PSLVERR_1,PSLVERR_2中选择一路数据连接到PSLVERR的实现方法和图8中PREADY接口扩展实现电路的实现方法一样。
根据以上电路图描述,将一个APB slave接口扩展成三个APB slave接口的电路完全由组合逻辑构成,不增加通讯的延时,扩展后的slave接口时序仍然符合标准的APBslave接口时序,并且组合逻辑面积功耗都比较小。
下面介绍APB总线slave接口扩展电路的使用方法。
图9为APB总线slave接口扩展电路的使用方法实施流程示意图,如图所示,可以包括如下步骤:
步骤901、所述接口扩展实现电路确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的APB slave扩展接口连通;
步骤902、当APB总线传输处于IDEL状态,对应的PSEL扩展接口的选择信号为0,对应的PENABLE扩展接口的使能信号为0;
步骤903、当传输被请求时,APB总线进入SETUP状态,所述选择信号被置位,所述使能信号为0;
步骤904、APB总线在SETUP状态停留一个时钟周期后,在下个时钟周期进入ACCESS状态,在SETUP状态转入ACCESS状态的过程中,对应的PADDR扩展接口的地址信号、对应的PWRITE扩展接口的写标识信号、对应的PWDATA扩展接口的写数据信号保持不变;
步骤905、APB总线进入ACCESS状态后,所述选择信号被置位,所述使能信号被置位。
实施中,还可以进一步包括:
若对应的PREADY扩展接口的读数据准备好信号为低电平,APB总线保持ACCESS状态;
若对应的PREADY扩展接口的读数据准备好信号为高电平,APB总线退出ACCESS状态;
APB总线退出ACCESS状态后,若无传输请求,APB总线转入IDEL状态,若有传输请求,APB总线转入SETUP状态。
对于步骤901的实施,首先使用接口扩展实现电路来确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的。这样,APB总线slave接口通过接口扩展实现电路与APB slave扩展接口连通。
新增加的APB slave扩展接口时序符合标准的APB slave接口时序,下面具体介绍新增加的APB slave扩展接口如何在IDEL状态、SETUP状态以及ACCESS状态工作。
对于步骤902的实施,系统初始化为IDLE状态(空闲状态),即默认APB状态,此时没有传输操作,也没有选中任何从模块,PSELx=0,PENABLE=0;
对于步骤903的实施,当有传输要进行时,PSELx=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP状态停留一个周期。
对于步骤904、905的实施,当PCLK的下一个上升沿时到来时,系统进入ACCESS状态。系统进入ENABLE状态时,维持之前在SETUP状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ACCESS状态维持一个周期,在经过SETUP与ACCESS状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。
实施中,所述确定选中的子地址空间是将子地址空间与预设子地址空间进行对比来确定的。
确定选中的子地址空间的具体实施在上述实施例中已经说明,此处不再赘述。
图10为slave接口写数据时序示意图,图11为slave接口读数据时序示意图,APB接口读写时序可分为3个状态:IDEL,SETUP和ACCESS。图12为APB接口状态图,如图12所示,三个状态通过PSEL和PENABLE的变化切换。在SETUP状态时准备PADDR,PSEL,PWDATA,PWRITE信号的值,在ACCESS状态完成写数据或读数据。PSLVERR信号不是必须的,在PREADY为1时,若PSLVERR是也是1则表示传输失败。新增加的slave扩展接口仍然符合标准的APB slave接口时序。
综上所述,在本发明实施例提供的技术方案中,提出一种APB总线slave接口扩展电路,包括:信号扩展实现电路、APB slave扩展接口;由于所述APB总线需要扩展的slave接口的地址空间划分为N个互不交叠的子地址空间,N为大于1的整数,一个子地址空间对应一个APB slave扩展接口,所述APB总线需要扩展的slave接口扩展为N个APB slave扩展接口;信号扩展实现电路,用于确定选中的子地址空间,并将APB总线slave接口与所选中的子地址空间对应的APB slave扩展接口连通。新增加的slave扩展接口时序符合标准的APBslave接口时序。可以在不修改APB总线及SOC结构的基础上,仅增加了扩展电路来增加APBslave接口,实现简单。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种外围总线APB总线从接口slave接口扩展电路,其特征在于,包括:接口扩展实现电路、APB slave扩展接口;其中,所述APB总线需要扩展的slave接口的地址空间划分为N个互不交叠的子地址空间,N为大于1的整数,所述APB总线需要扩展的slave接口根据所述N个子地址空间扩展为N个APB slave扩展接口;
所述接口扩展实现电路,与APB总线需要扩展的slave接口、APB slave扩展接口相连,用于确定选中的子地址空间,并将APB总线需要扩展的slave接口与所选中的子地址空间对应的APB slave扩展接口连通。
2.根据权利要求1所述的电路,其特征在于,所述接口扩展实现电路包括:PSEL接口扩展实现电路、PRDATA接口扩展实现电路;所述APB slave扩展接口包括:PENABLE扩展接口、PSEL扩展接口、PRDATA扩展接口、PADDR扩展接口、PWRITE扩展接口以及PWDATA扩展接口;其中:
所述PSEL接口扩展实现电路,与APB总线的PSEL接口、APB总线的PADDR接口以及所述PSEL扩展接口相连,接收所述PSEL接口的选择信号和所述PADDR接口的地址信号,并将所述地址信号的子地址空间与预设子地址空间进行对比来确定选中的子地址空间,将所述选择信号连通到所选中的子地址空间对应的PSEL扩展接口;
所述PRDATA接口扩展实现电路,与APB总线的PSEL接口、APB总线的PADDR接口、APB总线的PRDATA接口以及所述PRDATA扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PRDATA扩展接口,接收所述选中的PRDATA扩展接口的读回数据信号,并将所述读回数据信号连通到APB总线的PRDATA接口;
所述PENABLE扩展接口,与APB总线的PENABLE接口相连,接收所述PENABLE接口的选通信号;
所述PADDR扩展接口,与APB总线的PADDR接口相连,接收所述PADDR接口的地址信号;
所述PWRITE扩展接口,与APB总线的PWRITE接口相连,接收所述PWRITE接口的写标识信号;
所述PWDATA扩展接口,与APB总线的PWDATA接口相连,接收所述PWDATA接口的写数据信号。
3.根据权利要求2所述的电路,其特征在于,所述接口扩展实现电路进一步包括:PREADY接口扩展实现电路、PSLVERR接口扩展实现电路;所述APB slave扩展接口进一步包括:PREADY扩展接口、PSLVERR扩展接口;其中:
所述PREADY接口扩展实现电路,与APB总线的PSEL接口、APB总线的PADDR接口、APB总线的PREADY接口以及所述PREADY扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PREADY扩展接口,接收所述选中的PREADY扩展接口的读数据准备好信号,并将所述读数据准备好信号连通到APB总线的PREADY接口;
所述PSLVERR接口扩展实现电路,与APB总线的PSEL接口、APB总线的PADDR接口、APB总线的PSLVERR接口以及所述PSLVERR扩展接口相连,根据所述PSEL扩展接口的选择信号确定选中的PSLVERR扩展接口,接收所述选中的PSLVERR扩展接口的传输错误响应信号,并将所述传输错误响应信号连通到APB总线的PSLVERR接口。
4.根据权利要求1至3任一所述的电路,其特征在于,所述接口扩展实现电路为逻辑门电路和/或比较器。
5.一种根据权利要求1至4任一所述的电路的使用方法,其特征在于,包括:
所述接口扩展实现电路确定选中的子地址空间,并将APB总线需要扩展的slave接口与所选中的子地址空间对应的APB slave扩展接口连通;
当APB总线传输处于空闲IDEL状态,对应的PSEL扩展接口的选择信号为0,对应的PENABLE扩展接口的使能信号为0;
当传输被请求时,APB总线进入SETUP状态,所述选择信号被置位,所述使能信号为0;
APB总线在SETUP状态停留一个时钟周期后,在下个时钟周期进入ACCESS状态,在SETUP状态转入ACCESS状态的过程中,对应的PADDR扩展接口的地址信号、对应的PWRITE扩展接口的写标识信号、对应的PWDATA扩展接口的写数据信号保持不变;
APB总线进入ACCESS状态后,所述选择信号被置位,所述使能信号被置位。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
若对应的PREADY扩展接口的读数据准备好信号为低电平,APB总线保持ACCESS状态;
若对应的PREADY扩展接口的读数据准备好信号为高电平,APB总线退出ACCESS状态;
APB总线退出ACCESS状态后,若无传输请求,APB总线转入IDEL状态,若有传输请求,APB总线转入SETUP状态。
7.根据权利要求5所述的方法,其特征在于,所述确定选中的子地址空间是将子地址空间与预设子地址空间进行对比来确定的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610727056.6A CN106326172B (zh) | 2016-08-24 | 2016-08-24 | 一种APB总线slave接口扩展电路及其使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610727056.6A CN106326172B (zh) | 2016-08-24 | 2016-08-24 | 一种APB总线slave接口扩展电路及其使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326172A CN106326172A (zh) | 2017-01-11 |
CN106326172B true CN106326172B (zh) | 2019-03-26 |
Family
ID=57790885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610727056.6A Active CN106326172B (zh) | 2016-08-24 | 2016-08-24 | 一种APB总线slave接口扩展电路及其使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326172B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274182A (zh) * | 2020-02-21 | 2020-06-12 | 天津飞腾信息技术有限公司 | 一种总线地址拓展的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674075B (zh) * | 2019-09-27 | 2023-03-10 | 山东华芯半导体有限公司 | 一种axi总线广播机制的实现方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1707403A (zh) * | 2004-06-09 | 2005-12-14 | 上海华博科技(集团)有限公司 | 输入输出接口控制器 |
CN101876960A (zh) * | 2009-12-21 | 2010-11-03 | 北京中星微电子有限公司 | 一种apb总线系统及一种芯片 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100464319C (zh) * | 2006-06-23 | 2009-02-25 | 华为技术有限公司 | 实现处理器之间进行通讯的装置和方法 |
-
2016
- 2016-08-24 CN CN201610727056.6A patent/CN106326172B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1707403A (zh) * | 2004-06-09 | 2005-12-14 | 上海华博科技(集团)有限公司 | 输入输出接口控制器 |
CN101876960A (zh) * | 2009-12-21 | 2010-11-03 | 北京中星微电子有限公司 | 一种apb总线系统及一种芯片 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274182A (zh) * | 2020-02-21 | 2020-06-12 | 天津飞腾信息技术有限公司 | 一种总线地址拓展的方法及装置 |
CN111274182B (zh) * | 2020-02-21 | 2021-10-01 | 飞腾信息技术有限公司 | 一种总线地址拓展的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106326172A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101706552B (zh) | 支持芯片不同引脚封装的可配置式片上测试模块 | |
CN107153622B (zh) | 一种基于spi总线的驱动控制方法 | |
CN107085560A (zh) | 一种emif接口与ahb/apb时序桥接电路及其控制方法 | |
CN109032973B (zh) | Icb总线系统 | |
CN107992390B (zh) | 一种基于片上总线的芯片调试方法 | |
JP2011065685A (ja) | 開放形コアプロトコルを基盤とするバスシステム | |
CN1570907B (zh) | 多处理器系统 | |
CN104298628A (zh) | 一种用于并发访问的数据存储器仲裁电路及仲裁方法 | |
CN106469127B (zh) | 一种数据访问装置及方法 | |
CN114265872B (zh) | 一种用于总线的互联装置 | |
CN105335548A (zh) | 一种用于ice的mcu仿真方法 | |
CN106326172B (zh) | 一种APB总线slave接口扩展电路及其使用方法 | |
Deeksha et al. | Effective design and implementation of AMBA AHB bus protocol using Verilog | |
CN117075572A (zh) | 测试系统 | |
Gaikwad et al. | Verification of AMBA AXI on-chip communication protocol | |
CN104216856A (zh) | 一种dcr总线和apb总线之间的总线桥 | |
CN102750254A (zh) | 高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥 | |
CN102722457B (zh) | 总线接口转换方法及总线桥接装置 | |
CN102708079B (zh) | 应用于微控制器的控制数据传输的方法及系统 | |
US8799699B2 (en) | Data processing system | |
CN102591817B (zh) | 一种多总线桥控制器及其实现方法 | |
CN107426118B (zh) | 一种基于mdc/mdio接口的千兆以太网交换电路访问装置 | |
CN111079922B (zh) | 基于axi-apb的神经网络交互系统、方法、服务器及存储介质 | |
CN108228517A (zh) | I3c电路设备、系统及通信方法 | |
US20170212861A1 (en) | Clock tree implementation method, system-on-chip and computer storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |