一种apb总线系统及一种芯片的制作方法

文档序号:6585310阅读:403来源:国知局
专利名称:一种apb总线系统及一种芯片的制作方法
技术领域
本发明涉及电子技术领域,特别是涉及一种APB总线系统及一种芯片。
背景技术
随着芯片集成度、复杂度和功能需求的增加,特别是多媒体应用的增加,电源功耗 也随之大幅提升。为减少电源能量的消耗和简化接口的复杂度,基于ARM (Advanced RISC Machines) core 处理器的总线 AMBA(AdvancedMicrocontroller Bus Architecture)协议 中,对于低带宽的外围设备使用了 APB (Advanced Peripheral Bus)协议。由于APB总线上 一般可以带多个设备,并且总线时钟较快,如何最优化的实现低功耗的APB总线,对降低系 统的电源消耗起到很大的作用。而电子逻辑状态翻转时产生的动态功耗占数字电路系统总功耗的一大部分。要想 更好的降低系统的电源功耗,必须尽量减少系统中无意义的逻辑状态翻转。参考图1,示出了现有技术一种APB总线系统示意图。APB总线系统主要由作为主 模块的APB桥,以及APB从模块组成。图中,整个APB总线上有5个APB从模块。对于每一 个APB从模块都有一个APB接口,其APB接口的写读操作的时序如图2和图3所示。其中, 时钟信号PCLK,地址信号PADDR,读写控制信号PWRITE,选择信号PSEL,使能信号PENABLE 和写数据信号PWDATA为APB从模块的输入信号,读数据信号PRDATA为输出信号;对于每一 个APB从模块都有一个独立的PSEL输入信号和PENABLE输入信号。而其它信号都是所有 APB从模块共用APB总线上的信号线。读写操作开始时,地址信号PADDR,读写控制信号PWRITE和选择信号PSEL会在同 一个时钟(如T2)的上升沿后发生改变,在下一个时钟的上升沿(如T3),使能信号PENABLE 置‘1’,然后在下一个时钟上升沿(如T4)完成读写的操作。在整个操作结束之前,地址信 号PADDR,读写控制信号PWRITE和选择信号PSEL都需要保持稳定。APB总线上一般接入APB多个从模块,并且有很好的延展性,可以很容易增加需要 的APB从模块或删除多余的APB从模块。每个APB模块都需要接入波形中的各个总线信号, 且各模块对应不同的地址分配。对于某个APB从模块,当发生读写操作时,它接入的选择信号PSEL和使能信号 PENABLE才会置‘1’。但地址信号PADDR的地址线都接在同一组源上,不管该模块发不发生 读写操作,32位的地址线都会发生变化。这样,地址线连接的所有组合逻辑,包括多个32位 地址译码器及相关逻辑都会发生翻转。但同一时刻只能有一个模块的寄存器是被选中进行 读写操作,因此,其它所有未选中的APB从模块及其存储单元的相关判断的电路发生的逻 辑状态翻转都是无效翻转。由于总线的读写时钟很高,而且这种读写操作不断的进行,所以 芯片中这些电子逻辑的无效翻转发生的频率会非常高,对有限电源的利用是一种很大的浪 费。总之,需要本领域技术人员迫切解决的一个技术问题就是如何能够减少无意义 的电子逻辑状态翻转,以降低芯片系统的电源功耗。

发明内容
本发明所要解决的技术问题是提供一种APB总线系统及一种芯片,用以减少无意 义的逻辑状态翻转,从而降低芯片系统的电源功耗。为了解决上述问题,本发明公开了一种APB总线系统,包括一个 APB 桥;多个APB从模块;APB总线,与所述APB桥相连,其具有多个APB接口,用于在所述APB桥和多个APB 从模块之间传递总线信号,其中,所述总线信号包括地址信号和针对每个APB从模块的选 择信号;以及地址控制电路,其一端与所述APB从模块相连,另一端与所述APB接口相连,用于 基于输入的地址信号和选择信号进行逻辑与运算,并将所述逻辑运算结果输出给相应APB 从模块的地址线。优选的,所述总线信号还包括系统时钟信号;所述地址控制电路包括一个D触发器,包括两个第一输入端,其中,所述两个第一输入端分别接收所述系统时钟信号和选择 信号;以及一个第一输出端;以及一个与门电路,包括两个第二输入端,其中的一个与所述第一输出端相连,另一个接收所述地址信号; 以及一个第二输出端,与相应APB从模块的地址线相连。优选的,所述APB从模块包括地址译码电路,与所在APB从模块的地址线相连,用于在该地址线上输出的地址 处于未溢出状态时,对该地址进行译码计算。本发明还公开了一种芯片,包括CPU,与CPU相连的系统总线,以及,与系统总线相连的APB总线系统;其中,所述APB总线系统包括多个APB从模块;一个APB桥,用于接收所述系统总线发出的读写操作命令,或者,向所述APB从模 块发出读写操作命令;APB总线,与所述APB桥相连,其具有多个APB接口,用于在所述APB桥和多个APB 从模块之间传递总线信号,其中,所述总线信号包括地址信号和针对每个APB从模块的选 择信号;以及地址控制电路,其一端与所述APB从模块相连,另一端与所述APB接口相连,用于 基于输入的地址信号和选择信号进行逻辑与运算,并将所述逻辑运算结果输出给相应APB
5从模块的地址线。优选的,所述总线信号还包括系统时钟信号;所述地址控制电路包括一个D触发器,包括两个第一输入端,其中,所述两个第一输入端分别接收所述系统时钟信号和选择 信号;以及一个第一输出端;以及一个与门电路,包括两个第二输入端,其中的一个与所述第一输出端相连,另一个接收所述地址信号; 以及一个第二输出端,与相应APB从模块的地址线相连。优选的,所述APB从模块包括地址译码电路,与所在APB从模块的地址线相连,用于在该地址线上输出的地址 处于未溢出状态时,对该地址进行译码计算。优选的,所述系统总线为AHB总线,或者,ASB总线。与现有技术相比,本发明具有以下优点本发明在APB接口和APB从模块之间设置一个地址控制电路,该地址控制电路针 对某个APB从模块,基于输入的地址信号PADDR和选择信号PSEL进行逻辑与运算,并将所 述逻辑运算结果输出给所述APB从模块的地址线;由于PADDR= 1,这样,在所述APB从模块 被选中进行读写操作时,PSEL = 1,所述APB从模块的地址线连接的组合逻辑会发生翻转; 在不发生读写操作时,PSEL = 0,故该APB从模块所连接的32位地址线不会发生变化,所述 地址线连接的所有组合逻辑,包括多个32位地址译码器及相关逻辑都不会发生翻转;由于 同一时刻只有一个APB从模块被选中进行读写操作,这样,同一时刻只有一个APB从模块的 组合逻辑发生翻转,因而本发明可以避免读写操作中无意义的电子逻辑状态翻转;再者,由于电子逻辑状态翻转时产生的动态功耗占数字电路系统总功耗的一大部 分,这样,APB总线上接入的从模块越多,总线时钟越快,模块读写访问越频繁,本发明对系 统动态总功耗的节省效果就越明显。


图1是现有技术一种APB总线系统示意图;图2是APB总线的写操作时序图;图3是APB总线的读操作时序图;图4是本发明一种APB总线系统实施例的结构图;图5是本发明一种地址控制电路的电路实现;图6是本发明一种APB总线系统的结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
当APB总线系统需要对某个APB从模块内的寄存器进行读写操作时,会对该从模 块的输入信号进行如下设置将其APB接口的PSEL信号置为1 ;将其它从模块的PSEL信号 置为0 ;在地址信号PADDR的地址线上输出该从模块内的寄存器地址;设置PWRITE信号,其 中,在PWRITE置为1时表示写操作,为0时表示读操作,相应地,PWDATA为需要写入的数据, PRDATA为需要读取的数据;将PEANBLE置为1,表示读取的数据有效。由于地址信号PADDR 的地址线都接在同一组源上,无论从模块是否被选中,其地址译码电路都会进行地址译码 的计算,从而产生一定的功耗。这样,如果能够控制APB总线系统中未被选中的从模块的地 址译码电路不进行译码计算,则可以节省一定的功耗。本专利发明人注意到了这一点,因此创造性地提出了本发明的核心构思之一,也 即,在APB接口和APB从模块之间设置一个地址控制电路,该地址控制电路针对某个APB从 模块,用该模块的PSEL信号对地址信号做开关逻辑,使得只有在发生读写操作时,该模块 的地址线连接的组合逻辑才发生翻转;而在不发生读写操作时,该模块所连接的32位地址 线不会发生变化,所述地址线连接的所有组合逻辑,包括多个32位地址译码器及相关逻辑 都不会发生翻转,因而可以避免读写操作中无意义的电子逻辑状态翻转。参考图4,示出了本发明一种APB总线系统实施例的结构图,具体可以包括一个 APB 桥 401;多个APB从模块402 ;APB总线403,与所述APB桥401相连,其具有多个APB接口 431,用于在所述APB 桥401和多个APB从模块402之间传递总线信号,其中,所述总线信号包括地址信号和针对 每个APB从模块的选择信号;以及地址控制电路404,其一端与所述APB从模块402相连,另一端与所述APB接口 431 相连,用于基于输入的地址信号和选择信号进行逻辑与运算,并将所述逻辑运算结果输出 给相应APB从模块402的地址线。图中的APB从模块有n个,依次为APB从模块0,APB从模块1,. . .,APB从模块 m, ,APB从模块n-2, APB从模块n_l,其中,m,n为自然数。本发明的APB总线系统又称为外围总线系统,可以用于SoC(片上系统,System on Chip),主要用于连接UART (通用异步接收/发送装置,UniversalAsynchronous Receiver/ Transmitter)、定时器 Timer、PI0(过程输入输出,Process Input Output)和键盘 Keyboard等低速设备。在APB总线系统中,唯一的主模块就是APB桥,用于向所述APB从模块发出读写操 作命令;而所述低速设备都是APB从模块,用于接收APB桥发出的读写操作命令。所述总线 信号可以包括APB从模块的输入信号时钟信号PCLK,地址信号PADDR,读写控制信号PWRITE,选 择信号PSEL,使能信号PENABLE、写数据信号PWDATA ;以及,输出信号读数据信号PRDATA。APB总线系统的特性主要包括两个时钟周期传输;无需等待周期和回应信号;控 制逻辑简单,只有四个控制信号,具有32位地址空间,最大32位数据总线,且读数据总线与 写数据总线分开,其传输状态如下1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块;
2)当有传输要进行时,设置PSELx = 1,PENABLE = 0,系统进入SETUP状态,并只 会在SETUP状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE状态;3)系统进入ENABLE状态时,维持之前在SETUP状态的PADDR、PSEL、PWRITE不变, 并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状 态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则 进入SETUP状态。在具体实现中,可以直接用PSEL信号和PADDR信号做“与”逻辑,由于所有APB从 模块的PADDR信号都接在同一组源上,故PADDR信号始终为高电平,也即,PADDR= 1 ;这样, 针对某个APB从模块,只有在其被选中发生读写操作,也即PSE1 = 1时,地址控制电路404 的输出才为高电平,此时,该APB从模块的地址线连接的组合逻辑才发生翻转,从而达到本 发明减小电子逻辑的无效翻转的目的。进一步的,发明人也发现在某些特殊的情况下,选择信号PSEL从APB桥401的组 合逻辑输出后会有一小段时间不太稳定,这种情况下,如果直接用PSEL信号和PADDR信号 做“与”逻辑,可能导致地址控制电路404输出的有效地址也会有一段时间处于不稳态;而 地址控制电路404是与相应APB从模块402的地址线相连的,因而,这种连锁反应会导致与 该地址线连接的所有组合逻辑,包括多个32位地址译码电路及相关逻辑因为不稳态而全 部产生无效翻转。针对上述情形,在本发明的另一种优选实施例中,采用被系统时钟信号PCLK锁过 一拍的PSEL信号来实现地址控制电路404的功能,此时,所述地址控制电路404可以包括一个D触发器,具体可以包括两个第一输入端,其中,所述两个第一输入端分别接收所述系统时钟信号PCLK和 选择信号PSEL;以及一个第一输出端;以及一个与门电路,具体可以包括两个第二输入端,其中的一个与所述第一输出端相连,另一个接收地址信号 PADDR ;以及一个第二输出端,与相应APB从模块的地址线相连。参考图5,示出了一种地址控制电路的电路实现。图中,D触发器501的输入端包 括数据信号端D和时钟信号端CP,输出端包括Q端;其中,D端接收选择信号PSEL,CP端接 收系统时钟信号PCLK ;与门电路502的输入端分别接D触发器501的输出端Q和地址信号 PADDR,输出端经相应APB从模块的地址线PS_PADDR接地址译码电路503。D触发器的状态转移真值如下表所示,其中,Qn、Qn+1分别代表n时刻和n+1时刻的 输出。
这样,该地址控制电路的工作过程可以为A、在相应APB从模块未被选中时,PSEL = 0,也即D = 0 ;当CP端输入时钟脉冲信 号上升沿(丨)到来之时,D触发器501翻转到与D端那一时刻电平相同的状态;当时钟信 号处于下降沿(丨)时,D触发器501保持上一时钟脉冲信号上升沿到来之时所翻转的状 态;由于此种情况下,D = 0,因此,D触发器501的输出Q保持为0,从而,与门电路502的 输出,也即地址译码电路503的输入一直为0,因而,其不会发生翻转;B、在相应APB从模块被选中时,PSEL = 1,也即D = 1 ;同理,D触发器501的输出 Q保持为1,从而,与门电路502的输出,也即地址译码电路503的输入一直为1,因而,其会 通过翻转以进行地址译码计算。参考图6所示的一种APB总线系统的结构图,在本发明的一种示例中,整个APB总 线601上有5个APB从模块602,对于每个APB从模块602,其通过一个地址控制电路603 与APB总线601的APB接口相连。为便于SoC芯片的访问,每个APB从模块602中可以包括地址译码电路,该地址译 码电路与所在APB从模块602的地址线相连,用于在该地址线上输出的地址处于未溢出状 态(0x00000000)时,对该地址进行译码计算。这样,当APB总线上某个APB从模块602 (如APB从模块0)被选中时,其PSEL输 入信号被置为1,其地址译码电路ADDR decoder的输入由0x00000000变为为PADDR上的地 址Addr 1,并且开始进行地址译码计算。而其它未被选中的APB从模块602 (APB从模块1 APB从模块4),由于PSEL输入信号被置为0,其地址译码电路的输入仍保持为0x00000000, 这样,地址译码电路不会进行地址译码计算,因而,本发明能够减少未被选中APB从模块的 地址译码电路的功耗。可以理解,上述减少地址译码电路功耗只是作为示例,在未被选中时,APB从模块 的与所述地址线连接的其它组合逻辑,也不会发生翻转。因此,本发明能够避免读写访问中无意义的电子逻辑状态翻转,从而,在保持原 APB总线协议实现灵活的扩展性的同时,能够最优化的实现低功耗的APB总线。此外,由于电子逻辑状态翻转时产生的动态功耗占数字电路系统总功耗的一大部 分,这样,APB总线系统上接入的模块和设备越多,总线时钟越快,模块读写访问越频繁,本 发明对系统动态总功耗的节省效果就越明显。本发明的APB总线系统可以用于芯片中,在这种情况下,本发明的芯片可以包括CPU,与CPU相连的系统总线,以及,与系统总线相连的APB总线系统;
其中,所述APB总线系统具体可以包括多个APB从模块;一个APB桥,用于接收所述系统总线发出的读写操作命令,或者,向所述APB从模 块发出读写操作命令;APB总线,与所述APB桥相连,其具有多个APB接口,用于在所述APB桥和多个APB 从模块之间传递总线信号,其中,所述总线信号包括地址信号和针对每个APB从模块的选 择信号;以及地址控制电路,其一端与所述APB从模块相连,另一端与所述APB接口相连,用于 基于输入的地址信号和选择信号进行逻辑与运算,并将所述逻辑运算结果输出给相应APB 从模块的地址线。在具体实现中,所述芯片可以为S0C芯片,其中的系统总线可以为AHB(AdVanCed High-performance Bus),也可以为 ASB (Advanced System Bus),所述高性能系统总线(AHB 或ASB)主要用以满足CPU和存储器之间的带宽要求,CPU、片内存储器和DMA设备等高速设 备连接在其上,而系统的大部分低速外部设备则连接在低带宽总线APB上;系统总线和外 设APB总线之间用一个桥接器(AHB/ASB-APB-Bridge)进行连接。因此,本发明的APB桥具 有双重作用既作为系统总线的从模块,接收所述系统总线发出的读写操作命令;又作为 所有APB从模块的主模块,向所述APB从模块发出读写操作命令。在实际中,AHB、ASB、APB都遵循AMBA协议。其中,AHB适用于高性能和高时钟频 率的系统模块。它作为高性能系统的骨干总线,主要用于连接高性能和高吞吐量设备之间 的连接,如CPU、片上存储器、DMA设备和DSP或其它协处理器等;ASB适用于高性能的系统 模块。在不必要适用AHB的高速特性的场合,可选择ASB作为系统总线。它同样支持处理 器、片上存储器和片外处理器接口与低功耗外部宏单元之间的连接。其主要特性与AHB类 似,主要不同点是它读数据和写数据采用同一条双向数据总线。在本发明的一种优选实施例中,采用被系统时钟信号PCLK锁过一拍的PSEL信号 来实现所述地址控制电路的功能,此时,所述地址控制电路可以包括一个D触发器,具体可以包括两个第一输入端,其中,所述两个第一输入端分别接收所述系统时钟信号和选择 信号;以及一个第一输出端;以及一个与门电路,具体可以包括两个第二输入端,其中的一个与所述第一输出端相连,另一个接收所述地址信号; 以及一个第二输出端,与相应APB从模块的地址线相连。为便于SoC芯片的访问,每个APB从模块中可以包括地址译码电路,该地址译 码电路与所在APB从模块的地址线相连,用于在该地址线上输出的地址处于未溢出状态 (0x00000000)时,对该地址进行译码计算。这样,当APB总线上某个APB从模块未被选中时,由于其PSEL输入信号被置为0, 其地址译码电路的输入为溢出状态0x00000000,这样,地址译码电路不会进行地址译码计算,因而,本发明能够减少未被选中APB从模块的地址译码电路的功耗。由于电子逻辑状态翻转时产生的动态功耗占数字电路系统总功耗的一大部分,因 而,本发明能够减少芯片的动态总功耗。由于本实施例与图4所示的系统实施例基本相似,所以描述的比较简单,相关之 处参见图4所示系统实施例的说明即可。以上对本发明所提供的一种APB总线系统及一种芯片,进行了详细介绍,本文中 应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助 理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本 发明的限制。
权利要求
一种APB总线系统,其特征在于,包括一个APB桥;多个APB从模块;APB总线,与所述APB桥相连,其具有多个APB接口,用于在所述APB桥和多个APB从模块之间传递总线信号,其中,所述总线信号包括地址信号和针对每个APB从模块的选择信号;以及地址控制电路,其一端与所述APB从模块相连,另一端与所述APB接口相连,用于基于输入的地址信号和选择信号进行逻辑与运算,并将所述逻辑运算结果输出给相应APB从模块的地址线。
2.如权利要求1所述的系统,其特征在于,所述总线信号还包括系统时钟信号; 所述地址控制电路包括一个D触发器,包括两个第一输入端,其中,所述两个第一输入端分别接收所述系统时钟信号和选择信号;以及一个第一输出端;以及 一个与门电路,包括两个第二输入端,其中的一个与所述第一输出端相连,另一个接收所述地址信号;以及 一个第二输出端,与相应APB从模块的地址线相连。
3.如权利要求1所述的系统,其特征在于, 所述APB从模块包括地址译码电路,与所在APB从模块的地址线相连,用于在该地址线上输出的地址处于 未溢出状态时,对该地址进行译码计算。
4.一种芯片,其特征在于,包括 CPU,与CPU相连的系统总线, 以及,与系统总线相连的APB总线系统; 其中,所述APB总线系统包括 多个APB从模块;一个APB桥,用于接收所述系统总线发出的读写操作命令,或者,向所述APB从模块发 出读写操作命令;APB总线,与所述APB桥相连,其具有多个APB接口,用于在所述APB桥和多个APB从模 块之间传递总线信号,其中,所述总线信号包括地址信号和针对每个APB从模块的选择信 号;以及地址控制电路,其一端与所述APB从模块相连,另一端与所述APB接口相连,用于基于 输入的地址信号和选择信号进行逻辑与运算,并将所述逻辑运算结果输出给相应APB从模 块的地址线。
5.如权利要求4所述的芯片,其特征在于,所述总线信号还包括系统时钟信号; 所述地址控制电路包括一个D触发器,包括两个第一输入端,其中,所述两个第一输入端分别接收所述系统时钟信号和选择信号;以及一个第一输出端;以及 一个与门电路,包括两个第二输入端,其中的一个与所述第一输出端相连,另一个接收所述地址信号;以及 一个第二输出端,与相应APB从模块的地址线相连。
6.如权利要求4所述的系统,其特征在于, 所述APB从模块包括地址译码电路,与所在APB从模块的地址线相连,用于在该地址线上输出的地址处于 未溢出状态时,对该地址进行译码计算。
7.如权利要求4所述的系统,其特征在于,所述系统总线为AHB总线,或者,ASB总线。
全文摘要
本发明提供了一种APB总线系统和一种芯片,其中的APB总线系统具体包括一个APB桥;多个APB从模块;APB总线,与所述APB桥相连,其具有多个APB接口,用于在所述APB桥和多个APB从模块之间传递总线信号,其中,所述总线信号包括地址信号和针对每个APB从模块的选择信号;以及地址控制电路,其一端与所述APB从模块相连,另一端与所述APB接口相连,用于基于输入的地址信号和选择信号进行逻辑与运算,并将所述逻辑运算结果输出给相应APB从模块的地址线。本发明用以减少无意义的逻辑状态翻转,从而降低芯片系统的电源功耗。
文档编号G06F13/38GK101876960SQ20091024341
公开日2010年11月3日 申请日期2009年12月21日 优先权日2009年12月21日
发明者余娜敏 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1