CN101377691B - 一种apb总线跨时钟域访问的电路及方法 - Google Patents

一种apb总线跨时钟域访问的电路及方法 Download PDF

Info

Publication number
CN101377691B
CN101377691B CN2008101196856A CN200810119685A CN101377691B CN 101377691 B CN101377691 B CN 101377691B CN 2008101196856 A CN2008101196856 A CN 2008101196856A CN 200810119685 A CN200810119685 A CN 200810119685A CN 101377691 B CN101377691 B CN 101377691B
Authority
CN
China
Prior art keywords
apb
trigger
generation unit
control
switching signal
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.)
Expired - Fee Related
Application number
CN2008101196856A
Other languages
English (en)
Other versions
CN101377691A (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.)
Wuxi Vimicro Corp
Original Assignee
Wuxi Vimicro Corp
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 Wuxi Vimicro Corp filed Critical Wuxi Vimicro Corp
Priority to CN2008101196856A priority Critical patent/CN101377691B/zh
Publication of CN101377691A publication Critical patent/CN101377691A/zh
Application granted granted Critical
Publication of CN101377691B publication Critical patent/CN101377691B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种APB总线跨时钟域访问的电路,包括:APB桥,作为APB的控制端,工作在APB时钟域;控制寄存器(Control register),作为APB的被访问端,工作在被访问端的时钟域;以及时钟同步电路,将APB时钟域的片选信号(psel)和使能信号(penable)同步到被访问端的时钟域,作为控制信号(msel)输出到所述控制寄存器,然后将所述控制信号(msel)同步回APB时钟域,作为握手信号(pready)送回所述APB桥。本发明通过让APB总线和模块内部寄存器处在跨时钟域,并结合APB3.0的访问握手方法,保证了模块的控制寄存器工作在模块内部的时钟,去除了模块内部寄存器及其内部状态不确定的风险,同时减少了由此附加的硬件开销,和访问延迟。

Description

一种APB总线跨时钟域访问的电路及方法
技术领域
本发明涉及一种APB总线跨时钟域访问的电路及方法。
背景技术
片上集成系统(SoC)中存在多个功能模块,如处理器和各种硬件模块等。处理器通过修改各个硬件模块内部的控制寄存器来控制硬件模块的运行。同时,为了降低功耗,各个硬件模块和处理器可能分别处于不同的时钟频率。例如,运算密集型模块需要工作在高频时钟,而端口传输等模块可能工作在较低的时钟频率。因此,当处理器对模块内部的控制寄存器进行配置时,需要考虑到跨时钟域的行为。传统地,处理器通过某种通用总线,如APB总线,来访问模块内部的各个寄存器。
图1是APB3.0传输协议的写数据的示意图,图2是APB3.0传输协议的读数据的示意图。
如图1、2所示,PCLK是APB时钟域的时钟信号,PADDR是APB时钟域的地址信号,PWRITE是APB时钟域的写信号,PSEL是APB时钟域的片选信号,PENABLE是APB时钟域的使能信号,PWDATA是APB时钟域的写数据信号(图2中为PRDATA,是APB时钟域的读数据信号),PREADY是APB时钟域的握手信号。
APB总线主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不支持多个主模块,其唯一的主模块(master)就是APB桥。APB3.0的特性在于:不定时钟周期传输;需等待回应信号pready;控制逻辑简单,只有四个控制信号,如图中所示,分别为PWRITE、PSEL、PENABLE、PREADY。系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。当有传输要进行时,PSEL=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE状态。系统进入ENABLE状态时,维持之前在SETUP状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输会在ENABLE状态下维持不定周期,在pready信号为1的时候结束。之后,如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。
传统地,在利用APB总线访问硬件模块内部的寄存器的时候,模块的内部寄存器都必须和APB总线采用相同的时钟。在被访问模块的每个寄存器中一般都会设置一个状态位,用于指示APB桥对该寄存器的配置是否完成。当被访问模块中的所有寄存器都配置完毕后,再将最后一个寄存器的状态位设置为有效。在该状态位没有与模块时钟同步之前,模块中的控制寄存器到模块内部的路径都认为是无效路径(false path)。所述状态位通过两级寄存器实现与模块时钟的同步。所述状态位与模块时钟同步之后,模块发现该状态位有效,再采用各个控制寄存器的配置。可以看出,这种方法使得异步时钟的同步只需要同步一位数据,可靠性高。然而,该方法需要保证每次都一次性完成寄存器的配置,而且处理器如果要探测模块的运行状态,可能读出不确定的状态,增加了系统潜在的错误风险。
发明内容
本发明提供了一种能解决以上问题的APB总线跨时钟域访问的电路及方法。
在第一方面,本发明提供了一种APB总线跨时钟域访问的电路,包括:
APB桥,作为APB的控制端,工作在APB时钟域;
控制寄存器(Control register),作为APB的被访问端,工作在被访问端的时钟域;以及
时钟同步电路,将APB时钟域的片选信号(psel)和使能信号(penable)同步到被访问端的时钟域,作为控制信号(msel)输出到所述控制寄存器,然后将所述控制信号(msel)同步回APB时钟域,作为握手信号(pready)送回所述APB桥。
在本发明的第一方面中,优选地,所述时钟同步电路包括:
顺序串联的第一切换信号生成单元、第一同步单元、控制信号生成单元、第二切换信号生成单元、第二同步单元,握手信号生成单元,其中,
所述第一切换信号生成单元的两个输入端连接到APB桥,分别接收APB时钟域的片选信号(psel)和使能信号(penable),用于生成APB时钟域的第一切换信号(ptrans)并将其送入所述第一同步单元,所述第一切换信号代表APB桥是否发出访问请求;
第一同步单元,用于将所述第一切换信号从APB时钟域同步到被访问端的时钟域并将其送入所述控制信号生成单元;
控制信号生成单元,其分别连接到所述第二切换信号生成单元和被访问端,用于根据模块时钟域的第一切换信号生成所述控制信号(msel),并且将所述控制信号(msel)将其输出到被访问端和所述第二切换信号生成单元,所述控制信号(msel)代表访问是否到来,所述被访问端根据所述控制信号(msel)进行寄存器操作;
第二切换信号生成单元,用于根据所述控制信号(msel)生成第二切换信号(mready)并将其送入所述第二同步单元,所述第二切换信号(mready)代表寄存器操作是否完成;
第二同步单元,用于将所述第二切换信号从模块时钟域同步到APB时钟域并将其送入所述握手信号生成单元;
握手信号生成单元,其连接到APB桥,用于根据APB时钟域的第二切换信号生成握手信号(pready)并将其送回APB桥,握手信号(pready)代表在APB时钟域检测到一次访问完成。
在本发明的第一方面中,优选地,所述第一同步单元是串联并且之间无任何组合逻辑的触发器:和/或所述第二同步单元是串联并且之间无任何组合逻辑的触发器。
在本发明的第一方面中,优选地,所述第一切换信号生成单元包括反相器、与门、多路选择器和触发器:
所述反相器的输入为所述使能信号,其输出端连接到所述与门的一个输入端,
所述与门的另一个输入为所述片选信号,其输出端连接到所述多路选择器的控制端,
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第一切换信号生成单元的输出端。
在本发明的第一方面中,优选地,所述控制信号生成单元包括触发器、异或门:
所述触发器的数据输入端和所述异或门的一个输入端连接到所述第一同步单元的输出端,
所述触发器的正相输出端连接到所述异或门的另一个输入端,
所述异或门的输出端连接到所述多路选择器的控制端,并且将所述控制信号(msel)输出给被访问端。
在本发明的第一方面中,优选地,所述第二切换信号生成单元包括多路选择器和触发器:
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第二切换信号生成单元的输出端。
在本发明的第一方面中,优选地,所述多路选择器是二选一选择器。
在本发明的第一方面中,优选地,所述触发器是D触发器。
在本发明的第一方面中,优选地,所述握手信号生成单元包括触发器和异或门:
所述触发器数据输入端和异或门的一个输入端都连接到所述第二同步单元的输出端,
所述触发器的输出端连接到所述异或门的另一个输入端,所述异或门的输出端为所述握手信号生成单元的输出端。
在本发明的第一方面中,优选地,所述APB桥还包括写寄存器(writedata register),用于在所述控制信号(msel)生成之后,将其中的数据写入被访问的控制寄存器。
在本发明的第一方面中,优选地,所述被访问端还包括读寄存器(readdata register),用于在所述控制信号(msel)生成之后,读入被访问的控制寄存器中的数据,并且在接收到所述握手信号(pready)的同时将其中的数据送入APB桥。
在第二方面,本发明提供了一种实现APB总线跨时钟域访问的时钟同步电路,所述访问由APB桥向被访问端发出,所述电路包括顺序串联的第一切换信号生成单元、第一同步单元、控制信号生成单元、第二切换信号生成单元、第二同步单元,握手信号生成单元,其中:
所述第一切换信号生成单元的两个输入端连接到APB桥,分别接收APB时钟域的片选信号(psel)和使能信号(penable),用于生成APB时钟域的第一切换信号(ptrans)并将其送入所述第一同步单元,所述第一切换信号代表APB桥是否发出访问请求;
第一同步单元,用于将所述第一切换信号从APB时钟域同步到被访问端的时钟域并将其送入所述第二切换信号生成单元;
控制信号生成单元,其分别连接到所述第二切换信号生成单元和被访问端,用于根据模块时钟域的第一切换信号生成所述控制信号(msel),并且将所述控制信号(msel)将其输出到被访问端和所述第二切换信号生成单元,所述控制信号(msel)代表访问是否到来,所述被访问端根据所述控制信号(msel)进行寄存器操作;
第二切换信号生成单元,用于根据所述控制信号(msel)生成第二切换信号(mready)并将其送入所述第二同步单元,所述第二切换信号(mready)代表寄存器操作是否完成;
第二同步单元,用于将所述第二切换信号从模块时钟域同步到APB时钟域并将其送入所述握手信号生成单元;
握手信号生成单元,其连接到APB桥,用于根据APB时钟域的第二切换信号生成握手信号(pready)并将其送回APB桥,握手信号(pready)代表在APB时钟域检测到一次访问完成。
在本发明的第二方面中,优选地,所述第一同步单元是串联并且之间无任何组合逻辑的触发器;和/或所述第二同步单元是串联并且之间无任何组合逻辑的触发器。
在本发明的第二方面中,优选地,所述第一切换信号生成单元包括反相器、与门、多路选择器和触发器:
所述反相器的输入为所述使能信号,其输出端连接到所述与门的一个输入端,
所述与门的另一个输入为所述片选信号,其输出端连接到所述多路选择器的控制端,
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第一切换信号生成单元的输出端。
在本发明的第二方面中,优选地,所述控制信号生成单元包括触发器、异或门:
所述触发器的数据输入端和所述异或门的一个输入端连接到所述第一同步单元的输出端,
所述触发器的正相输出端连接到所述异或门的另一个输入端,
所述异或门的输出端连接到所述多路选择器的控制端,并且将所述控制信号(msel)输出给被访问端。
在本发明的第二方面中,优选地,所述第二切换信号生成单元包括多路选择器和触发器:
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第二切换信号生成单元的输出端。
在本发明的第二方面中,优选地,所述多路选择器是二选一选择器。
在本发明的第二方面中,优选地,所述触发器是D触发器。
在本发明的第二方面中,优选地,所述握手信号生成单元包括触发器和异或门:
所述触发器数据输入端和异或门的一个输入端都连接到所述第二同步单元的输出端,
所述触发器的输出端连接到所述异或门的另一个输入端,所述异或门的输出端为所述握手信号生成单元的输出端。
在第三方面,本发明提供了一种APB总线跨时钟域访问的方法,包括:
将APB时钟域的片选信号(psel)和使能信号(penable)同步到被访问端的时钟域,作为控制信号(msel)输出到所述控制寄存器,然后将所述控制信号(msel)同步回APB时钟域,作为握手信号(pready)送回所述APB桥;
其中,APB桥作为APB的控制端,工作在APB时钟域;
控制寄存器(Control register)作为APB的被访问端,工作在被访问端的时钟域。
本发明通过让APB总线和模块内部寄存器处在跨时钟域,并结合APB3.0的访问握手方法,保证了模块的控制寄存器工作在模块内部的时钟,去除了模块内部寄存器及其内部状态不确定的风险,同时减少了由此附加的硬件开销,和访问延迟。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中:
图1是APB3.0传输协议的写数据的示意图;
图2是APB3.0传输协议的读数据的示意图;
图3是片上集成系统的一个示例框图;
图4是根据本发明的APB跨时钟域访问的框图;
图5是图4的时钟同步模块的电路图;
图6是图5电路中的一种情况的信号图;以及
图7是图5电路中的另一种情况的信号图。
具体实施方式
图3是片上集成系统(SoC)的一个示例框图。
如图3所示,ARM处理器通过高速协议(AHB/ASB)访问高速设备(如存储器,DMA)。具体地说,是通过APB总线桥,采用APB3.0协议去访问模块的寄存器,被访问模块比如有通用异步收发器UART、计时器timer、键盘、编程输入输出PIO等等。AHB和APB总线采用同一时钟,被访问模块采用各自的时钟。
图4是根据本发明的APB跨时钟访问的框图。
本发明的访问方法通过APB3.0的控制端(master)和模块的控制寄存器所处的被访问端(slave)相互配合而实现。APB3.0的控制端发出由处理器发起的对被访问端的访问请求。
如图4所示,APB桥、写寄存器、paddr、pwdata、时钟同步模块pmclk的左半框都工作在APB的时钟域(PCLK,APB CLOCK)下,控制寄存器、读寄存器、prdata、时钟同步模块pmclk的右半框都工作在被访问端的时钟域(MCLK,MODULE CLOCK)下。
APB桥(APB Bridge)作为APB的控制端,被访问模块的控制寄存器(Control register)作为APB的被访问端。所有跨时钟域的处理都在中间的时钟同步模块(pmclk)中完成,该模块用以将PCLK的控制信号PSEL(片选)和PENABLE(使能)同步到MCLK,作为控制信号MSEL输出到被访问模块中的控制寄存器。然后,再把MSEL同步回PCLK,作为握手信号PREADY反馈回APB桥。应当指出,每个被访问模块可以有自己单独的pmclk,也可能多个模块共用一个时钟,即多个模块可以共用一个pmclk。
在本发明的采用APB3.0的访问方法中,所有APB3.0的信号都必须工作在APB的时钟域,即PCLK内。而且,控制端发出的信号PSEL、PENABLE、PWDATA、PADDR、PWRITE都必须是寄存器输出。被访问端返回的握手信号PREADY也处在PCLK域,并且默认值为0。当模块的所有寄存器完全配置完毕后,该值才为1,持续一个PCLK时钟周期。控制端直到PREADY信号为1时才能取消写操作,然后进行下一次的读或写操作。
APB3.0的被访问端需要将控制端发出的访问信号从PCLK同步到模块内部时钟MCLK。PCLK和MCLK是完全异步的,无任何频率和相位的限制。为了减少硬件开销,被访问端只在MCLK域内采样PSEL和PENABLE,生成处于MCLK域的模块内部寄存器访问控制信号MSEL。所有控制端的信号都是寄存器同时生成有效,即这些信号是在同一时刻产生并且在访问过程中保持稳定。所以当MSEL生成时,PADDR,PWRITE,PWDATA虽然是PCLK内部的控制信号,但是已经稳定,可以正确地被MCLK采样。MSEL信号需要从MCLK同步回PCLK,作为握手信号PREADY反馈回APB的控制端,代表在APB时钟域检测到一次访问完成。
对于读寄存器(read data register),在MSEL生成之后,根据PADDR读入被访问的控制寄存器中的数据。读寄存器工作在MCLK时钟内,并且会一直维持状态到下一次读访问。由于PRDATA有效后,MSEL在经过了PCLK的同步之后才会生成PREADY,所以当控制端收到PREADY时,PRDATA已经稳定,控制端可以直接采样PRDATA而不会生成亚稳态。
对于写寄存器(write data register),在MSEL生成之后,模块在MCLK域下,根据PADDR将PWDATA写入需要写入的寄存器。由于此时PADDR和PWDATA已经稳定,所以不会生成亚稳态。在写操作完成之后,MSEL在从MCLK同步到PCLK之后才会生成PREADY。PREADY被送回APB的控制端,代表写操作已经完成。
由于APB桥实际上发出的是由ARM处理器发出的访问,所以下面描述ARM处理器(图4未示出)进行一个寄存器写的过程:
1)以AHB协议(或其他协议)向APB总线桥发起一个写请求,并且发出相应的模块寄存器地址和写数据。
2)APB总线桥根据该模块寄存器地址的高位进行译码,产生对应模块的psel,将该模块寄存器地址的低位作为模块寄存器内部地址paddr。
3)APB总线桥向对应模块发送psel,同时广播发出penable,pwrite,paddr,pwdata。
4)APB总线桥等待对应模块返回pready,在此期间保持各个控制信号和pwdata。在等待过程中,psel和penable通过时钟同步模块pmclk(将在下文中详述)生成控制信号msel。当msel有效(值为1)时,根据paddr将pwdata从写寄存器写入被访问端中需要写入的寄存器。在写操作完成之后,msel再通过时钟同步模块pmclk从MCLK同步到PCLK,生成PREADY并将其送回APB总线桥。
5)APB总线桥收到对应模块返回的pready,产生向ARM处理器发送表示传输完成的反馈信号(图中未示出)。至此,ARM写寄存器传输结束。
寄存器读与寄存器写的区别在于需要将读数据反馈回ARM,其原理与寄存器写的过程相同,因此不再赘述。
图5是图4的时钟同步模块的电路图。
如图5所示,按照信号流向顺序,该电路包括反相器、与门、第一多路选择器、第一触发器(输出ptrans)、第二触发器(输出psel_s1)、第三触发器(输出psel_s2)、第四触发器(输出psel_s3)、第一异或门(输出msel)、第二多路选择器、第五触发器(输出mready)、第六触发器(输出pready_s1)、第七触发器(输出pready_s2)、第八触发器(输出dy_s3)、第二异或门(输出pready
其中,第一、第六、第七、第八触发器都工作在APB的时钟域(PCLK,APB CLOCK)下,第二、第三、第四、第五触发器都工作在被访问端的时钟域(MCLK,MODULE CLOCK)下。
所述反相器的输入为APB时钟域的使能信号(penable),其输出端连接到所述与门的一个输入端。所述与门的另一个输入为APB时钟域的片选信号(psel),其输出端连接到所述第一多路选择器的选择端。
所述第一多路选择器的两个信号输入端分别连接所述第一触发器的正、反相输出端,当所述第一多路选择器的选择信号为1时选择输出所述第一触发器的反相输出,为0时选择输出所述第一触发器的正相输出。
所述第二触发器和所述第三触发器为两级串联并且之间无任何组合逻辑的触发器。所述第三触发器的正相输出端分别连接到所述第一异或门的一个输入端和所述第四触发器的数据输入端。
所述第四触发器的正相输出端连接到所述第一异或门的另一个输入端。所述第一异或门的输出端连接到所述第二多路选择器的选择端。
所述第二多路选择器的两个信号输入端分别连接所述第五触发器的正、反相输出端,当所述第二多路选择器的选择信号为1时选择输出所述第五触发器的反相输出,为0时选择输出所述第五触发器的正相输出。
所述第六触发器和所述第七触发器为两级串联并且之间无任何组合逻辑的触发器。所述第七触发器的正相输出端分别连接到所述第二异或门的一个输入端和所述第八触发器的数据输入端。所述第八触发器的正相输出端连接到所述第二异或门的另一个输入端。所述第二异或门输出握手信号。
本发明的信号同步方法采用的是电平翻转的切换(toggle)信号来传递跨时钟域的控制信号。下面,对本发明的信号同步方法进行具体描述。
psel和penable分别是APB桥发出的片选信号和使能信号。如图5所示,当出现psel=1且penable=0的条件时,代表控制端发出一次访问请求。这时,与门输出1,第一多路选择器的控制信号端为1,控制多路选择器选择输出B。从图中可以看出,第一触发器的正、反相输出分别为A、B。所以,这个条件将使PCLK域的切换(toggle)信号ptrans电平翻转,作为一次控制端访问请求的标志。该切换信号ptrans将经过处于MCLK域内的两级触发器(第二、第三触发器)同步采样,去亚稳态。然后,检查第三、第四触发器的输出值psel_s2和psel_s3是否不相等。可以看出,当二值不等时,异或门输出1,所以信号msel为1,信号msel作为访问到来的控制信号被发送给被访问端的控制寄存器。第二多路选择器输出第五触发器的反相输出B。换言之,第三、第四触发器的输出值psel_s2和psel_s3不等代表在MCLK域检查到一次电平信号翻转。这个信号是MCLK域内的一个时钟周期的脉冲。被访问端根据该信号做出寄存器操作。
为了向控制端通知访问完成,需要将MSEL同步回PCLK域。此时,将再次生成一个代表电平翻转的切换(toggle)信号MREADY。当MSEL=1时,第五触发器电平翻转,代表寄存器操作完成。所谓的寄存器操作完成指的是:寄存器将读数据置于RDATA总线,或将写数据保存到对应的寄存器中。信号MREADY再经过处于PCLK域内的两级触发器(第六、第七触发器)同步采样,去亚稳态。然后,检查第七、第八触发器的数处置pready_s2和pready_s3是否不等。同样可以看出,当二值不等时,异或门送回APB桥的握手信号(pready)为1,代表在PCLK域检查到一次寄存器访问完成。所谓的寄存器访问完成指的是:APB总线对模块的寄存器进行一次读或写的全过程,其中包括访问建立,寄存器操作和模块反馈。
由上述硬件可见,在本发明的跨时钟域传递控制信号的时钟同步方法中,只传递了一比特信号,安全可靠。在硬件上来说增加了8个触发器,开销较小。而且,这种方法的信号延迟有两种极端情况。最差情况是:MCLK采样的上升沿在PCLK之前且非常接近,这样从ptrans到psel_s1需要几乎完整的一个MCLK周期;PCLK采样的上升沿在MCLK之前且非常接近,这样从mready到pready_s1需要几乎完整的一个PCLK周期,加上其他固定同步延迟(ptrans,psel_s2,psel_s3,pready_s2,pready_s3),共需要4个PCLK周期和3个MCLK周期。最好情况是:MCLK采样的上升沿在PCLK之后且非常接近,这样从ptrans到psel_s1需要很小的延迟,可以忽略;PCLK采样的上升沿在MCLK之后且非常接近,这样从mready到pready_s1需要很小的延迟,可以忽略。加上其他固定同步延迟(ptrans,psel_s2,psel_s3,pready_s2,pready_s3),共需要3个PCLK周期和2个MCLK周期。从这两种极端情况可以看出,本发明的同步方案的信号延迟较小。
应当指出,图5的电路图的各个电路元件可以从功能上集合。
按照连线顺序,反相器、与门、第一多路选择器和第一触发器的功能是生成第一切换信号(ptrans),可以将它们统称为第一切换信号生成单元。
第二、第三触发器的功能是将第一切换信号从APB时钟域同步到模块时钟域,可以将它们统称为第一同步单元。
第四触发器、第一异或门的作用是根据模块时钟域的第一切换信号生成控制信号msel并将其分别送入被访问模块的控制寄存器和第二多路选择器的选择端,可以将它们统称为控制信号生成单元。
第二多路选择器和第五触发器的作用是根据模块时钟域的控制信号(msel)生成第二切换信号(mready),可以将它们统称为第二切换信号生成单元。
第六、第七触发器的功能是将第二切换信号从模块时钟域同步到APB时钟域,可以将它们统称为第二同步单元。
第八触发器和第二异或门是根据APB时钟域的第二切换信号生成握手信号(pready)并将其送回APB桥。
本领域的技术人员应当理解,由图5中各个电路元件集合而成的单元也可以由其他不同的电路元件构成,只要它们能实现所集成单元的功能即可。比如,其中的逻辑门可以通过其他逻辑门的组合来完成,本发明所采用的具体的门电路只不过是一种优选形式。又比如,上述多路选择器可以是二选一选择器,也可以是其他的多路选择器,只要能实现如上所述的切换信号取与之相连接的触发器的反相输出即可。再比如,上述的触发器可以是任何能实现所述功能的触发器,如D触发器。因此,图5的电路图只是本发明的时钟同步模块的一个具体实施例,不应当被看作是对本发明的限制。
图6是图5电路中的一种情况的信号图,图7是图5电路中另一种情况的信号图。
如图6、7所示,可见在两种情况下由APB桥对一个被访问模块的寄存器进行读写的信号图。
在图6中,APB时钟频率(PCLK)大于模块时钟频率(MCLK)。具体地,PCLK为133Mhz,MCLK为24Mhz。
在图7中,APB时钟频率(PCLK)小于模块时钟频率(MCLK)。具体地,PCLK为83Mhz,MCLK为166Mhz。
图6、7的左边框内是图5电路中的各个信号,其中:
pclk是APB的时钟信号,mclk是被访问模块的时钟信号,psel是APB时钟域的片选信号,penable是APB时钟域的使能信号,ptrans_on是第一触发器输出的第一切换信号,psel_s1是第二触发器输出的信号,psel_s2是第三触发器输出的信号,psel_s3是第四触发器输出的信号,msel是第一异或门输出的被访问模块时钟域的控制信号,mready是第五触发器输出的第二切换信号,pready_s1是第六触发器输出的信号,pready_s2是第七触发器输出的信号,pready_s3是第八触发器输出的信号,pready是第二异或门输出的信号。
图6、7的右边框内是相应情况下的各信号的波形图。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。

Claims (20)

1.一种APB总线跨时钟域访问的电路,包括:
APB桥,作为APB的控制端,工作在APB时钟域;
控制寄存器,作为APB的被访问端,工作在被访问端的时钟域;以及
时钟同步电路,将APB时钟域的片选信号(psel)和使能信号(penable)同步到被访问端的时钟域,作为控制信号(msel)输出到所述控制寄存器,然后将所述控制信号(msel)同步回APB时钟域,作为握手信号(pready)送回所述APB桥。
2.根据权利要求1的电路,其中,所述时钟同步电路包括:
顺序串联的第一切换信号生成单元、第一同步单元、控制信号生成单元、第二切换信号生成单元、第二同步单元,握手信号生成单元,其中,
第一切换信号生成单元的两个输入端连接到APB桥,分别接收APB时钟域的片选信号(psel)和使能信号(penable),用于生成APB时钟域的第一切换信号(ptrans)并将其送入所述第一同步单元,所述第一切换信号代表APB桥是否发出访问请求;
第一同步单元,用于将所述第一切换信号从APB时钟域同步到被访问端的时钟域并将其送入所述控制信号生成单元;
控制信号生成单元,其分别连接到所述第二切换信号生成单元和被访问端,用于根据模块时钟域的第一切换信号生成所述控制信号(msel),并且将所述控制信号(msel)输出到被访问端和所述第二切换信号生成单元,所述控制信号(msel)代表访问是否到来,所述被访问端根据所述控制信号(msel)进行寄存器操作;
第二切换信号生成单元,用于根据所述控制信号(msel)生成第二切换信号(mready)并将其送入所述第二同步单元,所述第二切换信号(mready)代表寄存器操作是否完成;
第二同步单元,用于将所述第二切换信号从模块时钟域同步到APB时钟域并将其送入所述握手信号生成单元;
握手信号生成单元,其连接到APB桥,用于根据APB时钟域的第二切换信号生成握手信号(pready)并将其送回APB桥,握手信号(pready)代表在APB时钟域检测到一次访问完成。
3.根据权利要求2的电路,其中,
所述第一同步单元是串联并且之间无任何组合逻辑的触发器:和/或
所述第二同步单元是串联并且之间无任何组合逻辑的触发器。
4.根据权利要求2的电路,其中,所述第一切换信号生成单元包括反相器、与门、多路选择器和触发器:
所述反相器的输入为所述使能信号,其输出端连接到所述与门的一个输入端,
所述与门的另一个输入为所述片选信号,其输出端连接到所述多路选择器的控制端,
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第一切换信号生成单元的输出端。
5.根据权利要求2的电路,其中,所述控制信号生成单元包括触发器、异或门:
所述触发器的数据输入端和所述异或门的一个输入端连接到所述第一同步单元的输出端,
所述触发器的正相输出端连接到所述异或门的另一个输入端,
所述异或门的输出端连接到多路选择器的控制端,并且将所述控制信号(msel)输出给被访问端。
6.根据权利要求1的电路,其中,所述第二切换信号生成单元包括多路选择器和触发器:
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第二切换信号生成单元的输出端。
7.根据权利要求4或5的电路,其中,所述多路选择器是二选一选择器。
8.根据权利要求4、5、6中任意一个的电路,其中,所述触发器是D触发器。
9.根据权利要求2的电路,其中,所述握手信号生成单元包括触发器和异或门:
所述触发器数据输入端和异或门的一个输入端都连接到所述第二同步单元的输出端,
所述触发器的输出端连接到所述异或门的另一个输入端,所述异或门的输出端为所述握手信号生成单元的输出端。
10.根据权利要求1的电路,其中,所述APB桥还包括写寄存器(writedata register),用于在所述控制信号(msel)生成之后,将其中的数据写入被访问的控制寄存器。
11.根据权利要求1的电路,其中,所述被访问端还包括读寄存器(readdata register),用于在所述控制信号(msel)生成之后,读入被访问的控制寄存器中的数据,并且在接收到所述握手信号(pready)的同时将其中的数据送入APB桥。
12.一种实现APB总线跨时钟域访问的时钟同步电路,所述访问由APB桥向被访问端发出,所述电路包括顺序串联的第一切换信号生成单元、第一同步单元、控制信号生成单元、第二切换信号生成单元、第二同步单元,握手信号生成单元,其中:
所述第一切换信号生成单元的两个输入端连接到APB桥,分别接收APB时钟域的片选信号(psel)和使能信号(penable),用于生成APB时钟域的第一切换信号(ptrans)并将其送入所述第一同步单元,所述第一切换信号代表APB桥是否发出访问请求;
第一同步单元,用于将所述第一切换信号从APB时钟域同步到被访问端的时钟域并将其送入所述第二切换信号生成单元;
控制信号生成单元,其分别连接到所述第二切换信号生成单元和被访问端,用于根据模块时钟域的第一切换信号生成所述控制信号(msel),并且将所述控制信号(msel)输出到被访问端和所述第二切换信号生成单元,所述控制信号(msel)代表访问是否到来,所述被访问端根据所述控制信号(msel)进行寄存器操作;
第二切换信号生成单元,用于根据所述控制信号(msel)生成第二切换信号(mready)并将其送入所述第二同步单元,所述第二切换信号(mready)代表寄存器操作是否完成;
第二同步单元,用于将所述第二切换信号从模块时钟域同步到APB时钟域并将其送入所述握手信号生成单元;
握手信号生成单元,其连接到APB桥,用于根据APB时钟域的第二切换信号生成握手信号(pready)并将其送回APB桥,握手信号(pready)代表在APB时钟域检测到一次访问完成。
13.根据权利要求12的电路,其中,
所述第一同步单元是串联并且之间无任何组合逻辑的触发器:和/或
所述第二同步单元是串联并且之间无任何组合逻辑的触发器。
14.根据权利要求12的电路,其中,所述第一切换信号生成单元包括反相器、与门、多路选择器和触发器:
所述反相器的输入为所述使能信号,其输出端连接到所述与门的一个输入端,
所述与门的另一个输入为所述片选信号,其输出端连接到所述多路选择器的控制端,
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第一切换信号生成单元的输出端。
15.根据权利要求12的电路,其中,所述控制信号生成单元包括触发器、异或门:
所述触发器的数据输入端和所述异或门的一个输入端连接到所述第一同步单元的输出端,
所述触发器的正相输出端连接到所述异或门的另一个输入端,
所述异或门的输出端连接到多路选择器的控制端,并且将所述控制信号(msel)输出给被访问端。
16.根据权利要求12的电路,其中,所述第二切换信号生成单元包括多路选择器和触发器:
所述多路选择器的两个信号输入端分别连接所述触发器的正、反相输出端,当所述多路选择器的控制信号为1时控制输出所述触发器的反相输出,为0时控制输出所述触发器的正相输出,
所述触发器的正相输出端为所述第二切换信号生成单元的输出端。
17.根据权利要求14或16的电路,其中,所述多路选择器是二选一选择器。
18.根据权利要求14、15、16中任意一个的电路,其中,所述触发器是D触发器。
19.根据权利要求12的电路,其中,所述握手信号生成单元包括触发器和异或门:
所述触发器数据输入端和异或门的一个输入端都连接到所述第二同步单元的输出端,
所述触发器的输出端连接到所述异或门的另一个输入端,所述异或门的输出端为所述握手信号生成单元的输出端。
20.一种APB总线跨时钟域访问的方法,包括:
将APB时钟域的片选信号(psel)和使能信号(penable)同步到被访问端的时钟域,作为控制信号(msel)输出到控制寄存器,然后将所述控制信号(msel)同步回APB时钟域,作为握手信号(pready)送回所述APB桥;
其中,APB桥作为APB的控制端,工作在APB时钟域;
控制寄存器作为APB的被访问端,工作在被访问端的时钟域。
CN2008101196856A 2008-09-05 2008-09-05 一种apb总线跨时钟域访问的电路及方法 Expired - Fee Related CN101377691B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101196856A CN101377691B (zh) 2008-09-05 2008-09-05 一种apb总线跨时钟域访问的电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101196856A CN101377691B (zh) 2008-09-05 2008-09-05 一种apb总线跨时钟域访问的电路及方法

Publications (2)

Publication Number Publication Date
CN101377691A CN101377691A (zh) 2009-03-04
CN101377691B true CN101377691B (zh) 2012-01-11

Family

ID=40421262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101196856A Expired - Fee Related CN101377691B (zh) 2008-09-05 2008-09-05 一种apb总线跨时钟域访问的电路及方法

Country Status (1)

Country Link
CN (1) CN101377691B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510182B (zh) * 2009-04-03 2012-09-05 无锡中星微电子有限公司 低速dma接口的片上系统和内存访问方法
CN101876960B (zh) * 2009-12-21 2012-10-03 无锡中星微电子有限公司 一种apb总线系统及一种芯片
CN101901202B (zh) * 2010-07-29 2012-08-15 东莞市泰斗微电子科技有限公司 一种ahb总线设备跨时钟域访问apb总线设备的电路
US8415981B2 (en) * 2011-08-15 2013-04-09 Mediatek Singapore Pte. Ltd. Integrated circuit device, synchronisation module, electronic device and method therefor
CN103576739A (zh) * 2012-08-02 2014-02-12 中兴通讯股份有限公司 数字芯片、具有数字芯片的设备和大小端模式配置方法
CN104850524B (zh) * 2015-05-29 2018-06-01 大唐微电子技术有限公司 一种跨时钟域的ahb总线桥接方法和装置
CN106294239B (zh) * 2015-06-04 2019-05-31 深圳市中兴微电子技术有限公司 一种外围总线apb总线桥
CN105068957A (zh) * 2015-08-04 2015-11-18 瑞斯康达科技发展股份有限公司 一种apb总线系统中访问从模块的方法及装置
CN108667628B (zh) * 2017-03-31 2020-11-17 深圳市中兴微电子技术有限公司 一种接口转换装置和接口转换方法
CN110321309B (zh) * 2019-05-09 2020-03-17 核芯互联科技(青岛)有限公司 一种数据传输方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
US6571106B1 (en) * 1999-07-14 2003-05-27 Texas Instruments Incorporated Method and apparatus for glitchless signal generation
US6721277B1 (en) * 1999-05-28 2004-04-13 Advanced Micro Devices, Inc. Generic register interface for accessing registers located in different clock domains
CN1636195A (zh) * 2000-10-31 2005-07-06 皇家菲利浦电子有限公司 高级微控制器总线结构(amba)的扩展
CN1666186A (zh) * 2002-01-02 2005-09-07 皇家飞利浦电子股份有限公司 局部同步电路之间的信息交换
CN1832351A (zh) * 2005-04-13 2006-09-13 威盛电子股份有限公司 通用时钟同步器及通用时钟同步方法
CN101126941A (zh) * 2007-10-16 2008-02-20 北京天碁科技有限公司 时钟切换方法以及时钟切换装置
US7352836B1 (en) * 2001-08-22 2008-04-01 Nortel Networks Limited System and method of cross-clock domain rate matching

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
US6721277B1 (en) * 1999-05-28 2004-04-13 Advanced Micro Devices, Inc. Generic register interface for accessing registers located in different clock domains
US6571106B1 (en) * 1999-07-14 2003-05-27 Texas Instruments Incorporated Method and apparatus for glitchless signal generation
CN1636195A (zh) * 2000-10-31 2005-07-06 皇家菲利浦电子有限公司 高级微控制器总线结构(amba)的扩展
US7352836B1 (en) * 2001-08-22 2008-04-01 Nortel Networks Limited System and method of cross-clock domain rate matching
CN1666186A (zh) * 2002-01-02 2005-09-07 皇家飞利浦电子股份有限公司 局部同步电路之间的信息交换
CN1832351A (zh) * 2005-04-13 2006-09-13 威盛电子股份有限公司 通用时钟同步器及通用时钟同步方法
CN101126941A (zh) * 2007-10-16 2008-02-20 北京天碁科技有限公司 时钟切换方法以及时钟切换装置

Also Published As

Publication number Publication date
CN101377691A (zh) 2009-03-04

Similar Documents

Publication Publication Date Title
CN101377691B (zh) 一种apb总线跨时钟域访问的电路及方法
US10140242B2 (en) General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network
US7194581B2 (en) Memory channel with hot add/remove
CN1791120B (zh) 用于有效对准并行数据信道上的数据比特的系统和方法
CN101599053B (zh) 支持多种传输协议的串行接口控制器及控制方法
US7127629B2 (en) Redriving a data signal responsive to either a sampling clock signal or stable clock signal dependent on a mode signal
CN101901202B (zh) 一种ahb总线设备跨时钟域访问apb总线设备的电路
US20110131370A1 (en) Disabling outbound drivers for a last memory buffer on a memory channel
US8006008B2 (en) Apparatus and method for data processing having an on-chip or off-chip interconnect between two or more devices
EP1629394A2 (en) Memory channel with unidrectional links
Pannuto et al. MBus: An ultra-low power interconnect bus for next generation nanopower systems
CN101183347A (zh) 一种自适应速率匹配总线的桥接电路
CN101710311B (zh) 一种非对称多元资源节点体系结构
Kulkarni et al. UVM methodology based functional Verification of SPI Protocol
bin Jamaludin et al. Design and analysis of serial peripheral interface for automotive controller
Paunikar et al. Design and implementation of area efficient, low power AMBA-APB Bridge for SoC
US6959398B2 (en) Universal asynchronous boundary module
US20020178392A1 (en) Method and apparatus for generating a second signal having a clock based on a second clock from a first signal having a first clock
CN208190652U (zh) 一种全双工通用同步异步串行收发器的主板
EP0983554B1 (en) Interfacing peripheral devices via a slave group interface device to a bus
CN101228733B (zh) 在两个异步系统之间传递数据的方法及异步数据缓冲器
Elrabaa A new FIFO design enabling fully-synchronous on-chip data communication network
CN116911222B (zh) 一种低功耗的握手协议同步器及相应的方法
Ning et al. Design of a GALS Wrapper for Network on Chip
US7443742B2 (en) Memory arrangement and method for processing data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: WUXI VIMICRO ELECTRONIC CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGXING MICROELECTRONICS CO., LTD.

Effective date: 20110201

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 16/F, SHINING BUILDING, NO.35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 214028 NATIONAL INTEGRATED CIRCUIT DESIGN PARK (CHUANGYUAN BUILDING), NO.21-1, CHANGJIANG ROAD, NEW DISTRICT, WUXI CITY, JIANGSU PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20110201

Address after: 214028 national integrated circuit design Park, Changjiang Road, New District, Jiangsu,, Wuxi

Applicant after: Wuxi Vimicro Co., Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Applicant before: Beijing Vimicro Corporation

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120111

Termination date: 20170905

CF01 Termination of patent right due to non-payment of annual fee