在不同时钟频率总线之间传输数据的制作方法

文档序号:6404096阅读:367来源:国知局
专利名称:在不同时钟频率总线之间传输数据的制作方法
技术领域
本发明涉及在以不同时钟频率运行的总线之间传输数据。本发明特别地(但不排他地)适用于集成电路,这些集成电路具有以不同时钟频率运行的多个总线的总线网络结构,并能够在总线之间有效的传输数据,这些集成电路用于如蜂窝电话的应用中。
背景技术
美国专利说明书US6064626(专利受让人ARM有限公司)披露了一种用于集成电路的外围总线的设置。说明书的背景技术中披露了一种已知的总线结构,其中系统总线用于高性能的系统模块,外围总线用于低功率设备。系统和外围总线以同样的速率运行,由外围设备的具体运行速率要求的任一时钟再同步在那个外围设备中执行。设置一个桥接器以接收来自于系统总线的处理请求信号,并将处理请求信号与必要的时钟信号一起提供给相应的外围设备,以利用外围总线控制该外围设备的操作。在集成电路中实现这种结构的缺陷在于,电流消耗与系统和外围总线的运行速率和外围总线的容量相关,即,运行速率越高,电流消耗越大,连接到外围总线的外围设备的数量越大,电流消耗越大。
为了减小电流消耗,说明书US6064626披露了一种结构,其中具有一个系统总线、一个高速外围总线和至少一个低速外围总线、以及在系统总线和外围总线之间的桥接电路。根据具有在可能的情况下提供给低速总线一个择优的操作需要,外围设备耦合到较高速和较低速总线。从而与已知总线结构相比,通过最小化耦合到高速外围总线的外围设备的数量,降低了电流消耗。
在另一个由Philips Semiconductors设计的总线结构中,具有一个以78MHz高速时钟速率(HCLK)运行的、称作AHB(高级高性能总线)的系统总线,和一个以13MHz低速时钟速率(PCLK)运行的、称作VPB的外围总线。这样的结构实现了电流的节省,同时由上述已知技术的教导可知,具有一条外围总线而不是至少两条外围总线。使用HDLi(硬件描述语言积分器(integrator)AHB到VPB桥接器。由耦合到AHB的处理器中的寄存器进行的从AHB到外围设备的访问,能够占用到5个PCLK周期,其中外围设备耦合到VPB总线。在最坏的情况中,对于一个传输来说要传输到(每一个PCLK周期的6个HCLK周期)×(5个周期的访问)=30HCLK周期。这对于驱动AHB的微处理器来说是长的延迟,不希望出现这样的延迟。
发明概述本发明的目的是在总线网络结构中,减小在寄存器访问外围设备期间的延迟时间。
根据本发明的第一方面,提供从具有第一时钟频率的第一设备到具有高于第一时钟频率的第二时钟频率的第二设备传输数据的方法,包括在第二时钟频率的一个周期中的第一预定时刻锁存数据,在第二时钟频率的该周期中的第二预定时刻锁存数据,在第二和第一预定时刻之间的时间间隔小于第一时钟频率的周期,如果在第一和第二预定时刻锁存数据的值相等,那么在第三预定时刻传送所锁存的数据到第二设备所耦合的总线,或者如果在第一和第二预定时刻所取样的值不同,那么在第三预定时刻传送当前出现的数据到总线。
根据本发明的第二方面,提供从以第二时钟频率运行的第二设备到以低于第二时钟频率的第一时钟频率运行的第一设备传输数据的方法,该方法包括以第二时钟频率在中间寄存器中存储来自于第二设备的数据,并且以第一时钟频率传送来自于该中间寄存器的数据到第一设备。
根据本发明的第三方面,提供一个用于耦合高速总线到低速总线的数据传送桥接器,该桥接器包括第一锁存装置,第一锁存装置用于在第一预定时刻锁存在低速总线上的第一低速数据样本;第二锁存装置,第二锁存装置用于在第二预定时刻锁存在低速总线上的第二低速数据样本,在第一和第二时刻之间的时间周期小于低速数据的周期;比较装置,比较装置用于比较低速数据的第一和第二样本,所述比较装置包括第一装置和第二装置,第一装置响应第一和第二样本为相同的值的情况,在第三预定时刻传输锁存的数据到高速总线,第二装置响应第一和第二样本不同的情况,在第三预定时刻传送当前出现的低速数据样本到高速总线。
根据本发明的第四方面,提供一种设备,用于传送高速数据到存储设备,该存储设备以低于高速数据的时钟速度的低速时钟速度记时(clocked),该存储设备包括中间存储器,在中间存储器中记时高速数据;用于使存储在中间寄存器的数据以低时钟速度传送到另一个寄存器的装置。
根据本发明第一方面的方法,实现了在AHB总线和低功率快速访问总线LPFAB之间的完全透明,从而允许寄存器使用一个单HCLK周期在LPFAB总线上进行访问。此外,通过限制在LPFAB总线上的记时事件,降低了能量消耗,还保证了在两个时钟域之间的正确的数据通道。


现在将通过实施例、参照附图描述本发明,其中图1是具有一个AHB到LPFAB总线桥接器的系统的方框示意图;图2是该AHB到LPFAB总线桥接器的方框示意图;图3是外围设备的数据输出电路的方框示意图;图4是外围设备的数据输入电路的方框示意图;图5A~5C是第一组时序图,涉及执行根据本发明第一方面的方法;图6A~6C是第二组时序图,涉及与执行根据本发明第一方面的方法;图7是一个流程图,涉及与根据本发明第一方面的方法;图8是如图4所示的影子寄存器控制器的方框示意图。
附图中,相同的附图标记用于指示相同的特征。
具体实施例参照图1,所述系统包括多个设备,它们通过各自双向链路耦合到高级高性能总线(AHB)20,高级高性能总线20以全系统速率HCLK运行,例如78MHz,但也能够是其它的速率,这依赖于所使用的处理器。这些设备包括处理器10、控制耦合到总线的各种设备对AHB 20访问的判定器12、地址解码器14,以及共同标记为16的单片内部和外部存储器控制器。如果处理器10的运行频率比HCLK高,那么在处理器10和到AHB 20的链路之间耦合一个总线桥接器18。
低带宽、非总线主控设备,如UART(通用异步收发器)22、GPIO(通用输入输出)24和计时器26通过双向链路耦合到LPFAB(低功率快速访问总线)接口28,以简化它们的总线接口并卸下AHB接口20。LPFAB接口28能够以AHB 20接口速率或更低的速率运行,如13MHz。一个AHB-to-LPFAB总线桥接器30连接设备22、24和26到AHB 20。总线桥接器30是LPFAB接口上的从属设备。
参照图2,总线桥接器30包括许多操作部件,并且为了便于描述将确定多个所用的缩写。
时钟(Clocks)PCLK 外围时钟,例如13MHz。但是某些外围设备使用更低的PCLK,每个外围设备能够有自己的PCLK速率,只要该速率低于HCLK。
WRITE_CLK 写操作单脉冲(HCLK的一个选通脉冲)READ_CLK 读操作单脉冲(HCLK的一个选通脉冲)仅用于读空寄存器(read-clear register)地址总线和外部设备选择线路HADDR 地址总线(该总线仅用于读数据检验)PA地址总线PSEL 使用PA的外部设备选择EARLY-PSEL使用HADDR总线的外部设备选择(该信号仅用于读数据检验)数据总线PDI 外部数据输入总线PDO 外部数据输出总线(基于PA寻址)EARLY_PDO 外部数据输出(基于HADDR寻址,并且仅用于读取检验)准备线路(Ready line)SHADOW_READY 所选地址的影子寄存器准备接收更多的数据(如果没有影子寄存器用于寻址,那么缺省为“1”)
在总线桥接器30中的各个功能模块包括数据检验模块32,数据总线PDO和EARLY_PDO连接到数据检验模块32上。模块32将PDO总线上的有效数据提供给数据导引模块34,数据导引模块34提供一个输出HRDATA。AHB地址和控制线路36耦合到HADDR输出38、地址解码模块40和模块42,在模块42中,控制信号被延迟一个HCLK周期。模块42具有三个输出44、46和48,输出44耦合到PA,输出46耦合到模块34,输出48提供延迟的控制信号给模块50的一个输入,模块50的这个输入表示读操作(R)/写操作(W)时钟启动和HREADY发生器。
地址解码模块40耦合到1HCLK周期延迟模块52、模块50和EARLY_PSEL输出54,模块52提供一个输出PSEL。模块50具有一个SHADOW_READY输入56和两个输出58、60。输出58提供HREADY和HRESP信号给AHB20,输出60提供时钟启动给一个时钟发生器模块(未示出)。
根据本发明第一方面的方法与寄存器访问有关,它避免了需要同步,并且特别能保证通过AHB总线的任何数据至少在半个HCLK周期内是稳定的,因此能够确认为是有效数据。
当AHB和LPFAB时钟不相关时,一种形式的读检验是必需的,因而,当由AHB20读取时,数据能够在LPFAB寄存器中交换(图1)。为了确认而对于数据稳定的要求是因为,不能稳定至少半个HCLK周期的数据可能是在传送的过程中。
参照图3,通过沿着LPFAB总线28扩展(propagating)AHB地址线和LPFAB地址线来执行读检验(图1)。每个LPFAB外围设备PDEV包括五个寄存器REG1到REG5。每个寄存器具有两个输出,两个输出分别耦合到多路复用器MUX 1和MUX 2的输入以能够同时从当前的HADDR寻址和PA寻址中进行读取,从而启动读检验。更具体的,使用HADDR寻址记时(clocked)MUX 1,使用PA寻址记时(clocked)MUX 2,HADDR寻址至少先于PA寻址一个HCLK周期。在这个例子中,几乎在实际读操作的两个周期之前,在AHB总线上进行HADDR寻址。更具体的,在HCLK的上升沿之后,即在图5A和6A中的T1时刻,进行寻址,在下降沿,即在图5A和6A中的T2时刻,由AHB外围设备进行锁存,在下一个HCLK的上升沿,即在图5A和6A中的T3时刻,数据传送实际发生了。
参照图2、5A到5C和6A到6C,读检验方案包括(1)数据检验模块32锁存在T1时刻,即HCLK上升沿时的EARLY_PDO值(数据输出基于HADDR);(2)数据检验模块32锁存在T2时刻,即紧接着T1时刻的HCLK下降沿时的PDO值(数据输出基于PA);(3)数据检验模块32比较在T1和T2时刻读取的数据,如果相同,即如图5B所示,那么在T3时刻,即时刻T1的下一个上升沿,数据“A”传送到AHB 20(图1),而不管在T3时PDO的值如何。这是因为没有保证数据在T2和T3时刻之间不会改变。然而如果在T1和T2时刻读取的数据不同,即如图6B所示,那么意味着在T1和T2时刻之间出现了一个PCLK上升沿,由于PCLK必定低于HCLK,所以能够保证另一个沿不会在T2和T3时刻之间出现,即如图6B所示。这意味着在时刻T3数据是稳定的,因此,数据检验模块32将允许PDO值“B”(图6C)直接到AHB总线上。
当在数据传送中没有延迟时,这个数据检验方案确保了稳定的数据。进行T1和T2时刻锁存的读取数据之间的比较的逻辑,占用半个HCLK周期来进行这种比较。
图7所示的流程图概括了该读检验过程。框62表示在T1时刻锁存PDO_EARLY的值。框64表示在T2时刻锁存PDO的值。框66表示比较在T1和T2时刻锁存的值。框68表示检查锁存的值是否相等,如果相等(Y),那么框70表示在T3时刻传送数据到AHB总线。如果不相等(N),框72表示传输在T3时刻的数据到AHB总线。
只要PA总线包括了在LPFAB上的一个有效的寄存器地址,就执行寄存器读操作。没有时钟脉冲用于表示读操作的时间。数据通常经过PDO总线从每个外围设备中多路复用输出(MUXed out),并在Wired-OR PDO_MUX模块中结合。不包括在指定地址中的外围设备输出零。
在读空(read-clear)访问的情况下(寄存器的内容在读的过程中需要改变),READ_CLK用于告知模块该存储器正在被读取。
当执行写操作时,寄存器的性质影响所用的程序。参照图4,通过设定PA寻址和PSEL,从PDI经过数据线76控制寄存器74(该寄存器仅能由处理器执行写操作,外围设备则不能对其进行写操作)执行写操作,并且写操作发生在WRITE_CLK的上升沿。
寄存器78能够具有处理器和外围设备写入到其上的功能,当从处理器中接收数据时,寄存器78使用影子寄存器80。在此情况下,处理器写入到影子寄存器80,随后数据通过MUX 84传送到实际寄存器78。影子寄存器控制器82控制在影子寄存器和实际寄存器78之间的数据传送,后者以PCLK记时(clocked)。当从以PCLK记时(clocked)的外围设备上写入时,来自于PDO的数据直接应用于MUX 84以写入到实际寄存器78。
更具体地,,为了确保从HCLK域,即AHB,到PCLK域的正确的数据通路,需要数据与PCLK同步。因为同步可能占用相对长的一个PCLK周期的时间,所以延迟处理器并不理想。使用WRITE_CLK代替处理器写入到影子寄存器80,就好象它是一个控制寄存器,随后继续传送数据到实际寄存器78。
该写操作方法允许处理器在一个HCLK周期内写入到影子寄存器,并继续前进。然而,只要SHADOW_READY是低电平,处理器就将阻止执行对影子寄存器80的另外的写操作或对它的读操作。阻止对影子寄存器80的读/写操作,避免了在旧数据传输到实际寄存器78之前写入新数据到影子寄存器80,也避免了再次从影子寄存器80中读取旧数据。当影子寄存器控制器82忙时,处理器试图执行对某个地址的寄存器访问的情况下,桥接器30将维持HREADY为低电平和HRESP=RETRY,请求处理器重试读/写操作,这会一直持续直到SHADOW_READY线返回到高电平。
图8描述了影子寄存器控制器82(图4)的实施例。该控制器82包括一个T型触发器84,触发器84的输出耦合到第一D型触发器86的D输入,触发器86的输出耦合到第二D型触发器88的D输入。触发器84和88的输出耦合到第一Ex_OR(异或)门90的各个输入。D型触发器86、88的输出耦合到第二异或门92的各个输入。异或门90的输出通过反相器94耦合到触发器84的T输入。WRITE_CLOCK信号施加到触发器84的时钟输入,PCLK信号施加到触发器86、88的时钟输入。异或门90提供Not SHADOW_READY输出,异或门92提供MUX_CTRL输出。
操作中,当写操作发生时,WRITE_CLK导致T型触发器84的输出切换和改变状态,立即将SHADOW_READY线降为低电平。与此同时,也将对影子寄存器执行写操作。通过将SHADOW_READY线供给T型触发器84,另外的写操作将不会切换SHADOW_READY线。在下一个PCLK上升沿,MUX_CTRL将是“1”,并且在下一个上升沿,数据将从影子寄存器80(图4)通过MUX84(图4)传送到实际寄存器78(图4)。在该传送发生的同时,MUX_CTRL将降为低电平“0”,SHADOW_READY将上升回到高电平“1”。
当通过WRITE_CLK写入的影子寄存器的输出用于确定由PCLK记时的一个寄存器的值时,可能出现同步的问题。用两种方法之一能够解决这个问题。在第一方法中,PCLK与WRITE_CLK同步,使得尽管PCLK大大慢于WRITE_CLK,而PCLK还是将仅在HCLK的上升沿的同时升高。在第二方法中,在一个产生PCLK的时钟发生器模块和到达LPFAB的PCLK信号之间设置一个触发器,到达LPFAB的PCLK信号提供一个PCLK上升沿到达的较早报警。这能够随后用来作为AHB 20(图1)的一条未就绪(not ready)线路。这能够阻止处理器写入到LPFAB总线28(图1)。能够使用一个以上的触发器来获得更长的预警时间。
所述的在不同总线间传送数据的方法,对于在快速CPU总线和低速外围总线之间的接口技术来说,提供了一种低功率、高速率的解决方案。这种方法能用于各种总线结构,其中外围总线的速率不高于CPU总线。
在本说明书和权利要求书中,在一个部件前面的用语“一个”不排除表示多个同样的部件。此外,术语“包括”不排除表示所列之外的其它部件或步骤。
通过阅读当前披露的内容,其它的修改对于所述领域技术人员来说是显而易见的。这些修改可能包括有其它在总线结构的设计、制造和使用中已知的特征和部件,因此已知的特征和部件可以用于替换这里所描述的特征或将这里所描述的特征排除在外。
工业实用性使用总线传送数据的电子电路。
权利要求
1.一种从具有第一时钟频率的第一设备到具有高于第一时钟频率的第二时钟频率的第二设备传输数据的方法,包括在第二时钟频率的一个周期中的第一预定时刻锁存数据;在第二时钟频率的该周期中的第二预定时刻锁存数据,在第二和第一预定时刻之间的时间周期小于第一时钟频率的周期;如果在第一和第二预定时刻锁存的数据的值相等,那么在第三预定时刻传送锁存的数据到与第二设备所耦合的总线,或者如果在第一和第二预定时刻的取样的值不同,那么在第三预定时刻传送当前出现的数据到总线。
2.如权利要求1所述的方法,特征在于在第一和第二预定时刻之间的时间差与在第二和第三预定时刻之间的时间差基本相等。
3.如权利要求2所述的方法,特征在于每个时间差基本等于该时钟频率的半个周期。
4.一种从以第二时钟频率运行的第二设备到以低于第二时钟频率的第一时钟频率运行的第一设备传输数据的方法,该方法包括以第二时钟频率在中间寄存器中存储来自于第二设备的数据,并且以第一时钟频率传送来自于该中间寄存器的数据到第一设备。
5.如权利要求4所述的方法,特征在于在数据写入到中间寄存器之后,禁止在中间存储器上进行进一步的数据存储。
6.一种用于耦合高速总线到低速总线的数据传送桥接器,该桥接器包括第一锁存装置,第一锁存装置用于在第一预定时刻锁存在低速总线上的第一低速数据样本;第二锁存装置,第二锁存装置用于在第二预定时刻锁存在低速总线上的第二低速数据样本,在第一预定时刻和第二预定时刻之间的时间周期小于低速数据的周期;比较装置,比较装置用于比较低速数据的第一和第二样本,所述比较装置包括第一装置和第二装置,第一装置响应第一和第二样本为相同值的情况,在第三预定时刻传输锁存的数据到高速总线,第二装置响应第一和第二样本为不同的情况,在第三预定时刻传送当前出现的低速数据样本到高速总线。
7.一种设备,用于传送高速数据到存储设备,该存储设备以低于高速数据的时钟速度的低速时钟速度记时,该存储设备包括中间存储器,在该中间存储器中记时高速数据;用于使存储在中间寄存器的数据以低时钟速度传送到另一个寄存器的装置。
8.如权利要求7所述的设备,特征在于包括一个装置,用于在数据写入到中间寄存器之后,禁止在中间存储器上进行进一步的高速数据存储。
9.如权利要求7所述的设备,特征在于所述用于传送要存储到另一寄存器的数据的装置包括一个多路复用器,该多路复用器具有一个数据输入耦合到中间寄存器的一个输出;其特征还在于设置一个中间寄存器控制器,该中间寄存器控制器具有一个输出耦合到中间寄存器的控制输入,用于由多路复用器控制数据传送。
10.如权利要求9所述的设备,特征在于该中间寄存器控制器包括一个装置,用于在数据写入到中间寄存器之后,禁止在中间存储器上进行进一步的数据存储。
11.如权利要求9或10所述的设备,特征在于该中间寄存器控制器包括T型触发器,具有一个耦合到第一D型触发器的输出;第一D型触发器,具有一个耦合到第二D型触发器的输出;第一Ex-OR门,具有分别耦合到T型触发器的输出和第二D型触发器的输出的输入和一个输出;信号反相器,将第一Ex-OR门的输出耦合到T型触发器的一个输入;和第二Ex-OR门,具有分别耦合到第一和第二D型触发器的输入,第一Ex-OR门的输出用于在数据写入到中间寄存器之后,禁止在中间存储器上进行的数据存储。
全文摘要
一种从低速总线到高速总线异步传送数据的方法,包括在高速总线的时钟频率的一个周期中的第一预定时刻锁存数据;在高速总线的时钟频率的同一周期中的第二预定时刻锁存数据,在第二和第一预定时刻之间的时间周期小于数据的周期;如果在第一和第二预定时刻锁存的数据的值相等,那么在第三预定时刻传送所锁存的数据到高速总线,或者,如果在第一和第二预定时刻所取样的值不同,那么在第三预定时刻传送当前出现的数据的值到高速总线。
文档编号G06F13/42GK1639670SQ03804437
公开日2005年7月13日 申请日期2003年1月28日 优先权日2002年2月22日
发明者A·富克斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1