主机端外围接口电路转让专利

申请号 : CN201410727086.8

文献号 : CN104375968B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 惠志强钟凌燕董云星

申请人 : 上海兆芯集成电路有限公司

摘要 :

本发明公开一种供应外围设备操作时钟信号的主机端外围接口电路,所述主机端外围接口电路包括:一总线时钟信号发生器、以及一数据寄存器。该总线时钟信号发生器是基于一主机端时钟信号输出一总线时钟信号交由一总线供应一外围设备作该外围设备输出数据的依据。基于该主机端时钟信号所读取的来自于该外围设备的数据则是由该数据寄存器暂存。该总线时钟信号发生器依据该主机端时钟信号与基于该主机端时钟信号所读取的来自于该外围设备的该数据的不同步相位调整该总线时钟信号,使该数据寄存器所暂存的数据准确。

权利要求 :

1.一种主机端外围接口电路,其特征在于,包括:一总线时钟信号发生器,基于一主机端时钟信号输出一总线时钟信号交由一总线供应一外围设备作该外围设备输出数据的依据;以及一数据寄存器,接收基于该主机端时钟信号所读取的来自于该外围设备的该数据;

其中,该总线时钟信号发生器依据该主机端时钟信号与基于该主机端时钟信号所读取的来自于该外围设备的该数据的不同步相位调整该总线时钟信号,使该数据寄存器所暂存的数据准确,并且,该数据寄存器于该主机端时钟信号的一个周期内接收到基于该主机端时钟信号所读取的来自于该外围设备的该数据。

2.根据权利要求1所述的主机端外围接口电路,其特征在于,其中该总线时钟信号发生器是使该总线时钟信号领先该主机端时钟信号。

3.根据权利要求1所述的主机端外围接口电路,其特征在于,其中所述不同步相位由该总线时钟信号从该总线时钟信号发生器经由该总线传递至该外围设备的延迟决定。

4.根据权利要求1所述的主机端外围接口电路,其特征在于,其中所述不同步相位由该外围设备从接收到该总线时钟信号至输出该数据的延迟,以及该数据经由总线传递至该数据寄存器的延迟决定。

5.根据权利要求1所述的主机端外围接口电路,其特征在于,其中该总线时钟信号发生器从该主机端时钟信号及根据该主机端时钟信号所产生的复数个相位移时钟信号中择一输出作该总线时钟信号,其中所述复数个相位移时钟信号是领先该主机端时钟信号k/N周期,k为变量,数值为1至(N-1)。

6.根据权利要求5所述的主机端外围接口电路,其特征在于,其中N=2n,n为自然数。

7.根据权利要求1所述的主机端外围接口电路,其特征在于,其中还包括:一第一D型正反器,接收一源头时钟信号,并将该源头时钟信号除频形成该主机端时钟信号。

8.根据权利要求7所述的主机端外围接口电路,其特征在于,其中该总线时钟信号发生器包括:一第一反相器,接收该主机端时钟信号;

一第二D型正反器,基于该主机端时钟信号除频该源头时钟信号的反相信号;

一第二反相器,接收该第二D型正反器的输出;以及一多工器,

其中:

该第二反相器的输出是一第一相位移时钟信号,领先该主机端时钟信号1/4周期;

该第一反相器的输出是一第二相位移时钟信号,领先该主机端时钟信号1/2周期;

该第二D型正反器的输出是一第三相位移时钟信号,领先该主机端时钟信号3/4周期;

该多工器是接收该主机端时钟信号、以及所述第一至第三相位移时钟信号,以择一输出作该总线时钟信号。

9.根据权利要求1所述的主机端外围接口电路,其特征在于,其中包括一多工器以及产生该主机端时钟信号的一锁相回路。

10.根据权利要求9所述的主机端外围接口电路,其特征在于,其中:该锁相回路还产生一第一相位移时钟信号、一第二相位移时钟信号以及一第三相位移时钟信号;

该第一相位移时钟信号领先该主机端时钟信号1/4周期;

该第二相位移时钟信号领先该主机端时钟信号1/2周期;

该第三相位移时钟信号领先该主机端时钟信号3/4周期;且该多工器是接收该主机端时钟信号、以及上述第一至第三相位移时钟信号,以择一输出作该总线时钟信号。

11.根据权利要求1所述的主机端外围接口电路,其特征在于,其中该总线时钟信号发生器包括:一延迟链,供应该主机端时钟信号一延迟量以产生该总线时钟信号。

12.根据权利要求11所述的主机端外围接口电路,其特征在于,其中该总线时钟信号发生器包括:一第一多工器,接收该主机端时钟信号以及该主机端时钟信号的反相信号,以择一输出;

一延迟链,接收该第一多工器的输出;

一第二多工器,接收该延迟链的输出以及该第一多工器的输出,以择一输出作该总线时钟信号。

说明书 :

主机端外围接口电路

技术领域

[0001] 本发明涉及主机与外围设备通讯接口技术领域,尤其涉及一种主机端外围接口电路。

背景技术

[0002] 信号同步为主机与外围设备通讯的一项重要课题。
[0003] 一种传统技术是基于一源头时钟信号(通常由主板上一振荡器提供)分两条独立路径产生一主机端时钟信号以及一总线时钟信号,个别操作主机以及经由该总线耦接至该主机的外围设备。如此技术在总线时钟信号的产生路径中需要增加额外的锁相回路PLL,且需复杂的时钟信号路径分析才能提供适当的主机端时钟信号以及总线时钟信号使主机与外围设备经由该总线正确通讯。

发明内容

[0004] 本案是由主机端供应时钟信号给一外围设备。
[0005] 根据本发明一种实施方式所实现的一主机端外围接口电路包括一总线时钟信号发生器以及一数据寄存器。该总线时钟信号发生器是基于一主机端时钟信号输出一总线时钟信号交由一总线供应一外围设备作该外围设备输出数据的依据。基于该主机端时钟信号所读取的来自于该外围设备的数据则是由该数据寄存器暂存。该总线时钟信号发生器依据该主机端时钟信号与基于该主机端时钟信号所读取的来自于该外围设备的该数据的不同步相位调整该总线时钟信号,使该数据寄存器所暂存的数据准确。
[0006] 下文特举实施例,并配合所附图示,详细说明本发明内容。

附图说明

[0007] 图1图解根据本发明一种实施方式所实现的一主机端外围接口电路100、以及具有该主机端外围接口电路100的一主机102;
[0008] 图2A、图2B为信号波形图,说明本发明两种实施方式的实施状况;
[0009] 图3A图解一种生成主机端时钟信号HostCLK以及总线时钟信号BusCLK(h)的技术;
[0010] 图3B图解图3A信号的波形图;
[0011] 图4图解另一种生成主机端时钟信号HostCLK以及总线时钟信号BusCLK(h)的技术,其中运用锁相回路(phase-locked loop);
[0012] 图5图解另一种生成总线时钟信号BusCLK(h)的技术,其中运用延迟链(delay chain);
[0013] 图6图解根据本发明一种实施方式所实现的一主板600。
[0014] 附图标记:
[0015] 100:主机端外围接口电路;
[0016] 102:主机;
[0017] 104:总线时钟信号发生器;
[0018] 106:数据寄存器;
[0019] 108:总线;
[0020] 110:外围设备;
[0021] 302、402:多工器;
[0022] 600:电子系统;
[0023] 602:相位移控制信号设定模块;
[0024] BusCLK(d)、BusCLK(h):总线时钟信号;
[0025] CP:D型正反器接收端;
[0026] Data[N:0]:数据;
[0027] Delay_Chain:延迟链;
[0028] DFF_1、DFF_2:D型正反器;
[0029] Early_CLK(0)…Early_CLK(3):不同相位移的相位移信号;
[0030] HostCLK:主机端时钟信号;
[0031] Inv1、Inv2:反相器;
[0032] Mux1、Mux2:多工器;
[0033] PIN_CLK:时钟信号管脚;
[0034] PIN_Data:数据管脚;
[0035] PLL:锁相回路;
[0036] Sel、Sel1、Sel2:相位移控制信号;
[0037] SourceCLK:源头时钟信号;
[0038] TX/RX:收发模组;
[0039] Q:D型正反器输出端。

具体实施方式

[0040] 以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围来界定。
[0041] 图1图解根据本发明一种实施方式所实现的一主机端外围接口电路100、以及具有该主机端外围接口电路100的主机102。主机102例如为一芯片组。
[0042] 主机102除了包括该主机端外围接口电路100,还具有一时钟信号管脚PIN_CLK、以及一数据管脚PIN_Data。
[0043] 主机端外围接口电路100包括一总线时钟信号发生器104以及一数据寄存器106。该总线时钟信号发生器104是基于一主机端时钟信号HostCLK输出一总线时钟信号BusCLK(h),经该主机102的时钟信号管脚PIN_CLK交由一总线108供应一外围设备110作该外围设备110输出数据Data[N:0]的依据。数据寄存器106接收基于主机端时钟信号HostCLK读取的来自于外围设备110的数据Data[N:0]。在一实施例中,总线时钟信号BusCLK(h)经主机102内走线、总线108以及外围设备110内走线后,其相位可能略有延迟,标号成BusCLK(d)。外围设备110是基于该总线时钟信号BusCLK(d)输出数据Data[N:0],经该数据管脚PIN_Data由主机102接收,继而传递至该主机端外围接口电路100的收发模组TX/RX。收发模组TX/RX是基于该主机端时钟信号HostCLK读取来自于该外围设备110的数据Data[N:0],并将其暂存至该数据寄存器106。外围设备110从接收到总线时钟信号BusCLK(d)直至输出数据Data[N:
0]需要一段延迟;以总线108为一LPC总线为例,在LPC总线规范中规定,从LPC外围设备看到总线时钟信号BusCLK(d)的第一个上升沿直到LPC外围设备输出稳定数据的时延为一输出有效时间(output valid time)最多达12ns。此外,数据Data[N:0]从外围设备110发出经由总线传递至收发模组TX/RX的数据寄存器106的路径上,相位也有延迟。本发明的该总线时钟信号发生器104依据该主机端时钟信号HostCLK与基于主机端时钟信号HostCLK所读取的来自于该外围设备110的数据Data[N:0]的不同步相位调整所产生的总线时钟信号BusCLK(h),使该数据寄存器106所暂存的数据准确。如前所述,主机端时钟信号HostCLK与数据Data[N:0]的不同步相位有下列几种因素所致:总线时钟信号BusCLK(h)从该总线时钟信号发生器104发出经由该总线108传递至外围设备110的延迟(在一实施例中该延迟包括了总线时钟信号BusCLK(h)在主机102内走线及外围设备110内走线的延迟)、外围设备110从接收到总线时钟信号BusCLK(d)至输出数据Data[N:0]的延迟以及数据Data[N:0]经由总线传递至数据寄存器106的延迟。
[0044] 在一实施例中,总线时钟信号发生器104调整总线时钟信号BusCLK(h),使得数据寄存器106于主机端时钟信号HostCLK的一个周期(1个T)内接收到基于主机端时钟信号HostCLK所读取的来自于外围设备110的数据Data[N:0]。在诸如总线108为低管脚数(Low Pin Count,LPC)总线、串行外设接口(SPI)总线、快闪存储(如SM、SD)总线等总线时钟信号较低且总线上传递的是数字信号的总线规范中,会要求数据寄存器106尽量于主机端时钟信号HostCLK触发后的一个周期内能够接收到数据Data[N:0],以减少延迟,提高吞吐量。
[0045] 在一种实施方式中,该总线时钟信号发生器104是使该总线时钟信号BusCLK(h)领先该主机端时钟信号HostCLK。在另一种实施方式中,相位移控制信号Sel用以决定该总线时钟信号BusCLK(h)领先该主机端时钟信号HostCLK的量,可选择不领先、或自多种领先相位量中择一设定。
[0046] 图2A为波形图,其中是根据本发明一种实施方式使总线时钟信号BusCLK(h)领先主机端时钟信号HostCLK四分之一周期,致使根据总线时钟信号BusCLK(d)所输出的数据Data[N:0]得以正确基于主机端时钟信号HostCLK读取。以主机端时钟信号HostCLK周期为30ns(33MHz)为例,经由时钟树合成(Clock Tree Synthesis,CTS)的结果得知造成前述不同步相位的延迟共计为35ns,其中包括:总线时钟信号BusCLK(h)与外围设备110看到的总线时钟信号BusCLK(d)之间的走线延迟为13ns;数据Data[N:0]的输出有效时间(output valid time)造成的延迟为12ns(数据Data[N:0]的阴影部分表示输出数据尚未稳定);数据Data[N:0]传递的走线延迟为10ns。因此如果总线时钟信号发生器104直接以主机端时钟信号HostCLK作为总线时钟信号BusCLK(h)供外围设备110输出数据则无法在主机端时钟信号HostCLK触发后一个周期(30ns)内接收到数据Data[N:0]。在图2A的实施例中,将总线时钟信号BusCLK(h)领先主机端时钟信号HostCLK四分之一周期(7.5ns)触发,数据寄存器106则将于在主机端时钟信号HostCLK触发后的27.5ns时接收到数据Data[N:0],以符合一个周期(30ns)内收到数据Data[N:0]的要求。
[0047] 图2B为波形图,其中是根据本发明一种实施方式使总线时钟信号BusCLK(h)领先主机端时钟信号HostCLK二分之一周期,致使根据总线时钟信号BusCLK(d)所输出的数据Data[N:0]得以正确基于主机端时钟信号HostCLK读取。
[0048] 图2A和图2B中分别将总线时钟信号BusCLK(h)领先主机端时钟信号HostCLK四分之一和二分之一周期仅为示例性说明,本发明并不限于此。本发明的总线时钟信号发生器104从主机端时钟信号HostCLK及根据主机端时钟信号HostCLK所产生的复数个相位移时钟信号中择一输出作总线时钟信号BusCLK(h),其中所述复数个相位移时钟信号包括领先该主机端时钟信号HostCLK 1/N周期的第一相位移时钟信号、领先该主机端时钟信号HostCLK 
2/N周期的第二相位移时钟信号、领先该主机端时钟信号HostCLK 3/N周期的第三相位移时钟信号,以此类推,直至领先该主机端时钟信号HostCLK(N-1)/N周期的第(N-1)相位时钟信号,其中N=2n,n为自然数。
[0049] 以下还披露多种生成主机端时钟信号HostCLK以及总线时钟信号BusCLK(h)的技术。以下均以N=4为例说明,但本发明并不限于此。
[0050] 图3A图解一种生成主机端时钟信号HostCLK以及总线时钟信号BusCLK(h)的技术。图3B图解图3A信号的波形图。
[0051] 参考图3A,其中以一D型正反器DFF_1以接收端CP接收一源头时钟信号SourceCLK,并将该源头时钟信号SourceCLK除频形成该主机端时钟信号HostCLK(又编号Early_CLK(0))以输出端Q输出。图3A还以D型正反器DFF_2、反相器Inv1与Inv2、以及多工器302实现上述总线时钟信号发生器104。反相器Inv1接收该主机端时钟信号HostCLK。D型正反器DFF_2基于该主机端时钟信号HostCLK除频该源头时钟信号SourceCLK的反相信号(以接收端CP接收)。反相器Inv2接收该D型正反器DFF_2的输出。以上连结架构使得反相器Inv2的输出是一相位移时钟信号Early_CLK(1),领先该主机端时钟信号HostCLK四分之一周期(图中标号T为周期)。反相器Inv1的输出是一相位移时钟信号Early_CLK(2),领先该主机端时钟信号HostCLK二分之一周期。D型正反器DFF_2的输出(输出端Q)是一相位移时钟信号Early_CLK(3),领先该主机端时钟信号HostCLK四分之三周期。该多工器302是接收该主机端时钟信号HostCLK(或编号Early_CLK(0))、以及上述相位移时钟信号Early_CLK(1)、Early_CLK(2)、Early_CLK(3),以择一输出作该总线时钟信号BusCLK(h)。多工器302可根据上述相位移控制信号Sel作输出选择。
[0052] 参阅图3B,相较于源头时钟信号SourceCLK,主机端时钟信号HostCLK(或编号Early_CLK(0)的波形)频率减半,且其相位移时钟信号Early_CLK(1)、Early_CLK(2)、Early_CLK(3)逐个提供四分之一T相位领先。
[0053] 图4图解另一种生成主机端时钟信号HostCLK以及总线时钟信号BusCLK(h)的技术,其中包括一多工器402以及一锁相回路PLL。锁相回路PLL除了产生该主机端时钟信号HostCLK(又编号Early_CLK(0)),还产生相位移时钟信号Early_CLK(1)、Early_CLK(2)、Early_CLK(3)。相位移时钟信号Early_CLK(1)领先该主机端时钟信号HostCLK四分之一周期。相位移时钟信号Early_CLK(2)领先该主机端时钟信号HostCLK二分之一周期。相位移时钟信号Early_CLK(3)领先该主机端时钟信号HostCLK四分之三周期。该多工器402是接收该主机端时钟信号HostCLK(又编号Early_CLK(0))、以及上述第一至第三相位移时钟信号Early_CLK(1)、Early_CLK(2)、Early_CLK(3),以择一输出作该总线时钟信号BusCLK(h)。多工器402可根据上述相位移控制信号Sel作输出选择。
[0054] 图5图解另一种生成总线时钟信号BusCLK(h)的技术,其中运用延迟链(delay chain)。图5以延迟链Delay_Chain与多工器Mux1与Mux2实现上述总线时钟信号发生器104。多工器Mux1接收该主机端时钟信号HostCLK以及该主机端时钟信号HostCLK的反相信号,以择一输出。延迟链Delay_Chain接收该多工器Mux1的输出。多工器Mux2接收该延迟链Delay_Chain的输出以及该多工器Mux1的输出,以择一输出作该总线时钟信号BusCLK(h)。此实施例以信号Sel1与Sel2组成上述相位移控制信号Sel。多工器Mux1与Mux2分别可根据上述相位移控制信号Sel1与Sel2作输出选择。
[0055] 相较于图5的小尺寸延迟链Delay_Chain,单纯采用延迟链但无使用多工器Mux1、Mux2的电路也属于本案欲保护范围。延迟链用于供应该主机端时钟信号HostCLK一延迟量以产生该总线时钟信号BusCLK(h)。
[0056] 图6图解根据本发明一种实施方式所实现的一电子系统600,包括以上主机端外围接口电路100以及一相位移控制信号设定模块602。在一实施例中,该电子系统600可为一主板,该主机102可为一芯片组。在其它实施例中,电子系统600为一片上系统(System On Chip,SOC)。该相位移控制信号设定模块602是产生上述相位移控制信号Sel供主机端外围接口电路100的总线时钟信号发生器104调整总线时钟信号BusCLK(h)。为了图面简洁,图6略去主机102与外围设备110的连结状况(已详述于图1)。相位移控制信号设定模块602可包括运算单元以及BIOS存储器,由该运算单元执行储存于BIOS存储器的固件程序代码来实现。另一种设定相位移控制信号Sel的方式,是采用束带管脚(strapping pins)技术,在主机端未给电时,由束带管脚设定该相位移控制信号Sel。
[0057] 相位移控制信号设定模块602依据对主机端时钟信号HostCLK与总线时钟信号BusCLK(h)作一时钟树合成(Clock Tree Synthesis,CTS)的结果产生该相位移控制信号。具体而言,在时钟树合成(CTS)时,是直接以主机端时钟信号HostCLK作为总线时钟信号BusCLK(h)供外围设备110输出数据,而后统计在主机端时钟信号HostCLK触发后多长时间内接收到数据Data[N:0],用该时间决定将总线时钟信号BusCLK(h)调整为领先于主机端时钟信号HostCLK多少相位,才能保证主机102能在主机端时钟信号HostCLK触发后的一个周期内接收到数据Data[N:0],以此结果决定相位移控制信号Sel。在一实施例中,相位移控制信号Sel可存储于软件(例如BIOS)的寄存器(register)中。在主机端未给电时且需要从外围设备110读入数据开机的实施例中,相位移控制信号Sel可由复数个束带管脚设定。
[0058] 以上技术可应用于多种外围设备接口,包括低管脚数(Low Pin Count,LPC)接口、串行外设接口(SPI)、快闪存储(如SM、SD卡)通讯接口等。
[0059] 虽然本发明已以较佳实施例揭露如上,但其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视申请专利范围所界定的为准。