用于ddr控制器中dqs延迟的相位校准方法及装置的制作方法

文档序号:6772892阅读:422来源:国知局
专利名称:用于ddr控制器中dqs延迟的相位校准方法及装置的制作方法
技术领域
本发明涉及通信技术领域,更具体的说是涉及一种应用于DDR控制器中的DQS延迟的相位校准方法及装置。
背景技术
随着便携式设备和移动终端产品的快速发展,以前应用于PC机(Personal Computer,个人计算机)上的各种各样的应用也被应用于手持终端上,并且这样的应用越来越多、越来越复杂,而应用的复杂化,必然要求应用于手持终端上的基带处理器和应用处理器的存储器访问带宽足够大,这样便可以使DDR(Double Data Rate,双倍速率同步动态随机存储器)控制器越来越多的应用,使用到手持终端的基带芯片、应用处理器芯片或SOC 芯片上。DQS(Bidirectional data strobe,双向数据滤波信号)相位延迟技术是DDR上的一个重要技术点。在读取DDR数据的周期中,DDR处输出的DQ与DQS信号是边沿对齐的,为了使用DQS作为选通信号来获取DQ信号,对接口送来的DQS要相对于DQ信号作1/4SDCLK 周期(时钟周期)的延迟,以确保DQS处于有效数据窗的中央,保证数据读取的稳定、精确。现有技术中,DDR控制器大多采用数字DLL(Delay Locked Loop,延时锁定回路或数据锁相环)的方式实现DQS延迟,以确保DQS能够稳定的延迟1/4SDCLK周期。而数字DLL —般由延迟输出电路和延迟参数判定电路两部分组成,其中延迟参数判定电路根据 DQS和延迟输出电路的工作时钟的相位关系,检测出实现1/4SDCLK周期延迟输出电路应该配置的延迟参数,而延迟输出电路则加载延迟参数判定电路输出的延迟参数,然后依据配置的延迟参数对DQS进行延迟,从而确保输出的新DQS_Dly信号比DQS信号稳定延迟了 1/4SDCLK周期,以保证DDR控制器侧的DQS能够稳定的采样DDR数据,即实现DDR数据稳定、精确的读取。但是,在现有技术中,常规的相位判决电路大多采用相位检测的方法实现相位校准,附图1为现有技术的基本原理框图。这种方法至少存在以下缺点相位检测器101固定延迟1/4SDCLK周期,忽略了因为PCB布局布线原因,以及MEMORY(存储)芯片时序飘逸原因,造成的DQ有效数据采样窗的位置不一定落在DQS的1/4SDCLK周期延迟处。另外,当相位差超出软件预先设定的范围后,硬件会自动更新相位差,但由于相位检测器101的工作时钟是接口时钟SDCLK,使得相位检测器101输出结果的精度依赖于 SDCLK的频率。通常,当接口时钟SDCLK的频率大于100MHz时,依据相位检测器101的输出结果延迟后的DQS可以达到比较精确的1/4相位延迟,但当接口时钟SDCLK的频率低于 100MHz后,依据相位检测器101的输出结果延迟后的DQS —般处于1/4SDCLK周期延迟的左边,并且接口时钟SDCLK的频率越低,DQS的1/4周期延迟的误差也越大。因此,采用现有技术中的DDL延迟技术,针对软硬件结合的相位检测技术,容易使 DQS的相位延迟不稳定、以及产生较大的误差,影响DDR数据的读取,使其不够稳定和精确。

发明内容
有鉴于此,本发明提供了一种应用于DDR控制器中DQS延迟的相位校准方法与装置,以实现提高DQS的相位延迟的稳定性和精确度,从而保证稳定、精确的读取DDR数据。为实现上述目的,本发明提供如下技术方案一种用于双倍速率同步动态随机存储器DDR控制器中双向数据滤波信号DQS延迟的相位校准方法,包括依据DQS信号不同级延迟后的触发信号对DDR数据DQ进行采样;将采样获取的所述数据DQ按字节与预设自检数据进行比较,并经过延迟两拍后获取最小边界延迟参数与最大边界延迟参数;将所述最大边界延迟参数与最小边界延迟参数的平均值赋予DQS选择信号DQS_ SEL ;依据所述DQS_SEL信号输出时钟延迟DQS信号,得到处于有效数据窗中央的DQS信号。优选的,所述将采样获取的所述数据DQ按字节与预设自检数据进行比较之后,还包括获取依据最小边界延迟参数延迟DQS的DQS_Bef0re信号,以及获取依据最大边界延迟参数延迟DQS的DQS_Last信号;及在输出时钟延迟DQS信号之后,还包括依据所述DQS_Bef0re信号和DQS_Last信号对DQ数据进行采样;当所述DQS_Bef0re信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据不一致时,使两者的比较信号Bef0re_UP信号输出高电平;当所述DQS_Last信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据不一致时,使两者的比较信号Last_D0Wn信号输出高电平;利用所述Before_UP和Last_D0Wn信号进行逻辑或操作,当逻辑或操作的结果为 1时,使所述DQS_SEL信号的更新指示信号update信号输出高电平;依据所述update信号,生成新的最小边界延迟参数与最大边界延迟参数,并返回执行将所述最大边界延迟参数与最小边界延迟参数的平均值赋予DQS_SEL信号这一步骤。优选的,包括当所述DQS_Bef0re信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据一致时,使所述Bef0re_UP信号输出低电平;当所述DQS_Last信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据一致时,使所述Last_D0Wn信号输出低电平;利用所述Before_UP和Last_D0Wn信号进行逻辑或操作,当逻辑或操作的结果为 0时,使所述update信号输出低电平;依据所述update信号,停止进行所述DQS_SEL信号的更新。优选的,所述预设自检数据具体为0X5A5A和0XA5A5。一种用于DDR控制器中DQS延迟的相位校准装置,包括延迟参数判定单元,用于依据DQS信号不同级延迟后的触发信号对DDR数据DQ 进行采样,将采样获取的所述数据DQ按字节与预设自检数据进行比较,得到最小边界延迟参数与最大边界延迟参数,并将所述最大边界延迟参数与最小边界延迟参数的平均值赋予 DQS选择信号DQS_SEL ;
延迟输出控制电路,用于依据所述DQS_SEL信号,输出时钟延迟DQS信号,获取处于有效数据窗中央的DQS信号。优选的,所述延迟参数判定单元中包括 初始延迟判定电路,用于依据DQS信号不同级延迟后的触发信号对DDR数据DQ进行采样,将采样获取的所述数据DQ按字节与预设自检数据进行比较;延迟参数输出电路,用于利用所述初始延迟判定电路中的所述比较结果,获取最大边界延迟参数与最小边界延迟参数,并将所述最大边界延迟参数与最小边界延迟参数的平均值赋予所述DQS_SEL信号,传输给所述延迟输出控制电路。优选的,所述延迟参数判定单元中还包括延迟跟踪电路,用于对所述最小边界延迟参数、所述最大边界延迟参数和DQS_SEL 信号进行更新。优选的,所述延迟参数判定单元中用于比较的所述预设自检数据具体为0X5A5A 禾口 0XA5A5。经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种用于DDR控制器中DQS延迟的相位校准方法与装置,本发明采用延迟参数判定单元和延迟参数输出电路中的硬件逻辑实现对DQS延迟的相位进行校准,主要利用延迟参数判定单元通过数据筛选的方法将延迟后的DQS精确的落在有效数据窗中央,从而增强了数据采样的稳定性和抗干扰性。此外,由于本发明没有利用接口时钟,而是采用对数据DQ进行采样,并针对采样数据进行比较,在DQS延迟的相位进行校准的过程中与接口时钟无关,所以,即便是在慢时钟条件下仍然能够保证较高的延迟精度。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为现有技术的基本原理框图;图2为本发明实现DQS延迟的相位校准的基本原理框图;图3为本发明公开的实施例一中实现DQS延迟的相位校准的方法流程图;图4为本发明公开的DQS初始相位延迟判定时序图;图5为本发明公开的实施例二中实现DQS延迟的相位校准的方法流程图;图6为本发明公开的DQS相位延迟跟踪过程时序图;图7为本发明公开的DQS延迟的相位校准装置框图;图8为本发明公开的延迟参数判定单元框图。
具体实施例方式为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下DDR =Double Data Rate,双倍速率同步动态随机存储器;
DQS =Bidirectional data strobe,双向数据滤波信号;DLY_Before 为最小边界延迟参数;DLY_Last 为最大边界延迟参数;DQS_DLY 为时钟延迟DQS信号;DQS_SEL 为 DQS 选择信号;MEMORY芯片记忆存储芯片;在文中符号“ >> ”表示向右移一位。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例公开了一种用于DDR控制器中DQS延迟的相位校准方法和装置,请参阅附图2,为本发明实现DQS延迟的相位校准的基本原理框图。首先,在DDR控制器(图中未示出)初始化完成后,自动启动相位校准初始化,并通过在相位校准初始化过程中写入和读出自检数据序列的方法,延迟参数判定单元201利用DQS经过不同级延迟后的触发信号对DDR的DQ数据进行采样,将采样后的结果直接与初始化过程中写入的自检数据序列进行比较,在判断读出数据正确的条件下,将延迟级数最小边界延迟级参数赋值给DLY_ Before,而将延迟级数最大边界延迟级参数赋值给DLY_Last,同时取DLY_Last和DLY_ Before的平均值赋予DQS_SEL,从而控制选择器202输出最适合DQ数据读采样的DQS_DLY 信号。此外,在电压、温度变化的同时,DDR读数据的实际有效数据窗会有一定变化,此时 DDR控制器自动进入跟踪模式,在读数据期间,当经过延迟后的DQS信号采样的DQ数据出错,或者经过DLY_Last延迟后的DQS信号采样的DQ数据出错,则DDR控制器中的电路自动更新DLY_Bef0re和DLY_Last这两个延迟参数,以及DQS_SEL信号,直到这两种延迟所对应的DQS信号能够正确采样DQ数据,即在稳定、精确的完成DQS的相位延迟的基础上,完成对 DDR数据的不受干扰的、稳定和精确的读取。请参阅附图3,为本发明实施例一的一种用于DDR控制器中DQS相位校准方法流程图,具体步骤如下所示步骤S301,DDR控制器对DDR芯片开始进行初始化,写入自检数据。在步骤S301中,DDR控制器发出对DDR芯片的初始化请求后,DDR控制器自动在 DDR芯片的地址0和1中写入数据0X5A5A和0XA5A5,作为自检数据。0X5A5A和0XA5A5是常规MEMORY测试数据,为应用于本发明的方法中的较优的测试数据,但是本发明并不仅限于此。步骤S302,DDR控制器中的延迟参数判定单元自动启动,进入初始化判定模式,读取DDR数据DQ和DDR芯片地址1中的自检数据,依据不同的DQS_DLYx信号对所述数据DQ 进行采样。在执行完步骤301对DDR芯片地址0和1的写入之后,在步骤S302中,延迟参数判断单元自动启动,并进入初始化判定模式,在此模式下通过不同的DQS_DWx信号对读取到的DDR数据DQ进行采样。所谓不同的DQS_DLYx是指DQS信号经过不同级延迟后的触发信号,并依据该触发信号对DDR数据DQ进行采样。步骤S303,将采样得到的所述数据DQ按字节与步骤S302中的自检数据依次进行比较,并生成DQS的两个边界初始相位延迟参数DLY_BeforeJnit和DLY_Last_Init,其中 DLY_Before_Init为最小边界初始相位延迟参数,DLY_Last_Init为最大边界初始相位延
迟参数。步骤S304,判断步骤S303依次进行的比较是否完成,如果是,则转而执行步骤 S305 ;如果否,则返回执行步骤S303。步骤S305,将生成的DLY_Before Jnit和DLY_Last Jnit参数经过延迟两拍后,得到DLY_Before和DLY_Last边界延迟参数。步骤S306,利用获取的DLY_Bef0re和DLY_Last边界延迟参数进行相加计算,并将DLY_Before和DLY_Last之和向右移一位,即取DLY_Before和DLY_Last这两个参数的平均值赋予DQS_SEL。步骤S307,依据步骤S306生成的DQS_SEL输出数据DQ读采样的时钟延迟DQS_ DLY,使DQS相位延迟后处于有效数据窗的中央,确保DDR数据的读取稳定和精确。需要说明的是在步骤S303、步骤S305和步骤S306中,有关依据数据DQ与自检数据的比较结果生成DQS的边界初始相位延迟参数DLY_BeforeJnit和DLY_LastJnit的过程,以下举例详细说明。根据DDR规范,由于每Sbit数据线都具有一个单独的DQS信号,所以对于16位 DDR控制器来说,对于上述的DQS相位延迟电路相应的应该有独立的两套电路。这里为了使本领域的技术人员能够更清楚的了解上述过程,只考虑低字节数据DQ[7:0]及其DQSO之间的相位延迟判定过程。请参阅附图4,为本发明DQS初始相位延迟判定时序图。考虑板卡走线延迟差及 MEMORY芯片输出延迟差的原因,例如在开始时,到达DDR控制器一侧的DQ有效数据窗的前边沿与DQS前边沿之间的延迟为1. 2ns,在DQ有效数据窗的后边沿处与DQS后边沿之间的延迟为0. 8ns。因为在DQS判定单元中设定的每级延迟为0. Ins,从而在DDR控制器初始化完成后,依据DQS信号经过不同级延迟后的触发信号对读取的DDR数据DQ采样,在执行步骤 S303时,例如发现当延迟级数小于12,或者延迟级数大于30时,数据DQ不等于写入DDR芯片地址1中的部分自检数据0XA5,即通过上述处理得出DQS的边界初始相位延迟参数DLY_ Before_Init = 12,DLY_Last_Init = 30。需要说明的是,由于一直处于初始化判定模式中,Update —直为0 (Update为DQS_ SEL是否需要更新的指示信号,当Update为低电平0时,则DQS_SEL不需要更新;当Update 为高电平1时,则DQS_SEL需要更新)。因此在执行步骤S305中,对DLY_BeforeJnit和 DLY_Last_Init参数所进行的处理为将DLY_BeforeJnit和DLY_Last_Init参数进行一级锁存后,再通过加法器和右移逻辑,延迟两拍后生成边界延迟参数DLY_Bef0re和DLY_ Last,此时 DLY_Before 为 12,DLY_Last 为 30,将(DLY_Las+DLY_Before) > > 1 (取 30 和 12的平均值)的结果赋值给DQS_SEL,然后执行步骤S306,依据该DQS_SEL输出数据DQ读采样的时钟延迟DQS_DLY。如图4中所示,DQS_DLY即为DQS延迟2. Ins后的时序波形。从图4中可以看出,延迟后的DQS边沿基本处于DQ数据有效窗的中央,而现有技术的方法因为是固定1/4周期延迟,因此其延迟结果最终相对DQS延迟1. 9ns,对于类似此例中DQS有效数据窗两边不对称的情况,无法保证延迟后的DQS处于有效数据窗的中央。采用本发明中的常规MEMORY测试数据0XA5A5和0x5A5A的强自相关性和弱互相关性,在初始化时依靠读取自检序列检测出两个边界延迟参数,进而推算出DQS有效数据窗中央对应的延迟参数,从而确保了不受干扰的读取DDR数据,保证其稳定性和精确性。在本发明的另一个优选实施例中,上述实施例的步骤S303中还包括同时依据 DLY_Before_Init 和 DLY_Last_Init 延迟 DQS,获取 DQS_Before 和 DQS_Last 信号。此夕卜, 请参阅附图5所示,在步骤S307之后,还可以包括以下步骤步骤S308,延迟参数判定单元进入自适应跟踪模式,依据DQS_Bef0re信号和DQS_ Last信号对DQ数据进行采样。步骤S309,判断DQS_Bef0re信号采样得到的数据是否与DQS_DLY采样到的数据一致,如果否,则使两者的比较信号Before_UP信号输出高电平;如果是,则使该Before_UP 信号输出低电平;同时,判断DQS_Last信号采样得到的数据是否与DQS_DLY采样到的数据一致,如果否,则使两者的比较信号Last_D0Wn信号输出高电平;如果是,则使该Last_D0Wn 信号输出低电平。步骤S310,将步骤S309获得的Before_UP和Last_D0Wn信号进行逻辑或操作,并判断是否进行更新,当逻辑或操作的结果为1时,使update信号输出高电平,转而执行步骤 S311 ;当逻辑或操作的结果为0时,使update信号输出低电平,停止更新工作,返回执行步骤 S303。步骤S311,更新边界延迟参数DLY_Before和DLY_Last,获取新的边界延迟参数 DLY_Before和DLY_Last,并返回执行步骤S306。在步骤S308至步骤S311中,如果update信号为低电平即为无效,则延迟参数判定单元中的延迟输出电路将不进行更新工作以节省功耗;如果update信号为高电平时,则延迟输出电路将根据Before_UP和Last_Down信号对DLY_Before参数和DLY_Last参数进行更新。如果Last_Down信号为高电平即有效,则DLY_Last = DLY_Last_l ;如果Before_ UP信号为高电平即有效,则DLY_Before = DLY_Before+l,这两个参数的更新将在一拍内完成,在执行步骤S311之后,返回执行步骤S306,在两个时钟周期后输出DQS_SEL给延迟电路;从而使延迟输出控制电路的选择器输出最适合数据DQ读采样的时钟延迟DQS信号,即 DQS_DLY信号。从而完成了对有效数据窗边沿的自适应跟踪,使DQS_DLY信号的边沿一直处于有效数据窗的中央,从而确保了读取DDR数据的稳定和精确性。在本发明这一优选的实施例二中,步骤S308至步骤S311中的具体执行过程,下面举例进行说明。在外界环境参数(电压、温度等参数)没有发生变化的正常情况下,执行步骤S308 使延迟参数判定单元进入自适应跟踪模式,依据步骤305中生成的DQS_Before和DQS_Last 信号同时对DQ数据进行采样。在执行步骤S309时,由于外界环境参数(电压、温度等参数) 没有发生变化的正常情况下,DQS_Before和DQS_Last信号对DQ数据的采样与DQS_DLY采样得到的数据是一致的,此时,使Bef0re_UP和Last_D0Wn信号输出低电平,然后再执行步骤S310,将Before_UP和Last_D0Wn信号进行逻辑或操作,得到的结果为0。致使update 输出低电平,此时,不进行任何更新的工作以节省功耗。
而当外界环境参数(电压、温度等参数)发生变化之后,DQS_Before或DQS_Last 信号会有所变化。如附图6所示,数据DQ有效数据窗的前边沿和后边沿距离DQS两个边沿之间的延迟变为了 1. 2ns和0. 9ns,即后边沿发生前移,致使数据DQ的有效数据窗变窄。此时,由于延迟参数判定单元工作在自适应跟踪模式下,当出现此种延迟飘逸后, 因为DQS延迟30级后采样到的数据与DQS_DLY信号采样到的数据不一致,在执行步骤S309 时,Before_UP会输出低电平,而Last_D0wn信号会输出高电平,然后再执行步骤S310,将 Before_UP和Last_D0Wn信号进行逻辑或操作,结果为1,则Update信号会输出高电平。在Update信号输出为高电平时,转而执行步骤S311进行边界延迟参数DLY_ Before和DLY_Last信号的更新,此时更新后的DLY_Last为29,DLY_Before为12。返回执行步骤S306,依据更新后DLY_Before和DLY_Last信号进行计算,获得(DLY_Last+DLY_ Before) >> 1(取四和12的平均值)的结果,并将该结果赋予DLY_SEL,然后执行步骤 S307,依据更新后的DQS_SEL输出数据DQ读采样的时钟延迟DQS_DLY。此时,如图6所示, DQS_DLY将变为DQS延迟2. Ins后的时序波形,从而完成了对有效数据窗边沿的自适应跟踪,使DQS_DLY信号的边沿一直处于有效数据窗的中央,从而确保了读取DDR数据的稳定和精确性。此外在更新之后,DQS延迟DLY_Last即四级后采样的数据与DQS_DLY信号采样到的数据一致,即Last_D0wn信号和Update信号自动清零,致使DLY_SEL停止进行再次更新以节省功耗。通过上述本发明实施例方法的描述,所属领域的技术人员可以清楚地了解到,本发明的方法可以依托于通用的硬件完成,因此,在上述公开的方法的基础上,本发明还提供了一种应用于DDR控制器中DQS延迟的相位校准装置,请参阅附图7,主要包括初始化单元701,延迟参数判定单元702和延迟输出控制电路703。初始化单元701,用于对DDR控制器进行初始化,并在DDR芯片的地址0和1中写
入预设自检数据。延迟参数判定单元702,用于依据DQS信号不同级延迟后的触发信号对DDR数据 DQ进行采样,将采样获取的所述数据DQ按字节与初始化单元701中预设自检数据进行比较,得到DLY_Before与DLY_Last,并将所述DLY_Last与DLY_Before参数的平均值赋予 DQS_SEL 信号。延迟输出控制电路703,接收延迟参数判定单元702输出的所述DQS_SEL信号,依据所述DQS_SEL,输出DQS_DLY信号,即获取处于有效数据窗中央的DQS信号。初始化单元701在对DDR控制器进行初始化的时候,在DDR芯片的地址0和1中写入数据0X5A5A和0XA5A5,作为自检数据。其中,0)(5A5A和0XA5A5是常规MEMORY测试数据,本发明只采用硬件MEMORY芯片的常规测试数据,依据0X5A5A和0XA5A5的强自相关性和弱互相关,在延迟参数判定单元702中推算出有效数据窗中央对应的DQS延迟参数的 DQS_SEL信号,并在延迟输出控制电路703中,依据该DQS_SEL信号输出最佳的用于采样数据DQ的读数据DQSx_DLY。使DQS相位延迟后处于有效数据窗的中央,确保DDR数据的读取不受干扰,以保证DDR数据读取的稳定性和精确性。请参阅附图8,需要说明的是,在上述本发明公开的装置中,延迟参数判定单元 702中主要包括初始延迟判定电路7021,延迟参数输出电路7022和延迟跟踪电路7023,此外,在图8中还标示出了比较器70 ,延迟更新控制逻辑7025,延迟更新逻辑70 和延迟排序逻辑7027。初始延迟判定电路7021,用于依据DQS信号不同级延迟后的触发信号对DDR数据 DQ进行采样,将采样获取的所述数据DQ按字节与预设自检数据进行比较。延迟参数输出电路7022,利用所述初始延迟判定电路7021中的所述比较结果,获取DLY_Before与DLY_Last参数,并将所述DLY_Before与DLY_Last参数的平均值赋予DQS_ SEL信号,并将该DQS_SEL信号传输给所述延迟输出控制电路703。延迟跟踪电路7023,用于对所述DLY_Before参数、所述DLY_Last参数和所述 DQS_SEL信号进行更新。在初始延迟判定电路7021中,依据DQS信号经过不同级延迟后的触发信号对数据 DQ采样,将采样获取的数据DQ与DDR芯片地址中写入的自检数据0XA5A5进行比较,在数据 DQ不等于写入DDR芯片地址1中的部分自检数据0XA5时,将延迟的数据赋予DLY_Before_ Init 和 DLY_Last_Init。将比较获取的结果 DLY_BeforeJnit 和 DLY_Last_Init 传输给延迟参数输出电路7022。延迟参数输出电路7022对DLY_BeforeJnit和DLY_Last Jnit参数进行一级锁存后,再通过加法器和右移逻辑,延迟两拍后生成DLY_BefOTe和DLY_Last边界延迟参数。 同时依据 DLY_BeforeJnit 和 DLY_Last_Init 延迟 DQS,获取 DQS_Before 和 DQS_Last 信号,并将其传输给延迟跟踪电路7023。在延迟跟踪电路7023中,判断DQS_Before信号采样得到的数据是否与DQS_DLY 采样到的数据一致,如果否,则使Bef0re_UP信号输出高电平;如果是,则使Bef0re_UP信号输出低电平;同时,判断DQS_Last信号采样得到的数据是否与DQS_DLY采样到的数据一致, 如果否,则使Last_D0Wn信号输出高电平1 ;如果是,则使Last_D0Wn信号输出低电平0。然后,再依据判断获取的结果将Bef0re_UP和Last_D0Wn信号进行逻辑或操作,如果Before_ UP和Last_D0Wn信号中的任意一个信号输出高电平1,则使update信号输出高电平1,并开始更新DLY_Before参数、DLY_Last参数和DQS_SEL信号,并将更新后的DQS_SEL信号传输给延迟输出控制电路703,使其根据更新后的DQS_SEL信号输出DQS_DLY信号,以获取处于有效数据窗中央的DQS信号,使得DDR数据的读取更加的稳定和精确,并且不受任何干扰。此外,图8中标示出了位于不同电路中的比较器70M,延迟更新控制逻辑7025,延迟更新逻辑70 和延迟排序逻辑7027,用于辅助实现初始延迟判定电路7021,延迟参数输出电路7022和延迟跟踪电路7023的功能。综上所述通过本发明所公开的方法与装置,采用延迟参数判定单元和延迟参数输出电路中的硬件逻辑实现对DQS延迟的相位进行校准,避免了因为实际板卡走线和器件参数的影响,1/4周期延迟位置并不一定是有效数据窗的中央。其中,主要利用延迟参数判定单元通过数据筛选的方法将延迟后的DQS精确的落在有效数据窗中央,从而增强了数据采样的稳定性和抗干扰性。此外,由于本发明没有利用接口时钟,而是采用对数据DQ进行采样,并针对采样数据进行比较,在DQS延迟的相位进行校准的过程中与接口时钟无关,所以,即便是在慢时钟条件下仍然能够保证较高的延迟精度。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种用于双倍速率同步动态随机存储器DDR控制器中双向数据滤波信号DQS延迟的相位校准方法,其特征在于,包括依据DQS信号不同级延迟后的触发信号对DDR数据DQ进行采样; 将采样获取的所述数据DQ按字节与预设自检数据进行比较,并经过延迟两拍后获取最小边界延迟参数与最大边界延迟参数;将所述最大边界延迟参数与最小边界延迟参数的平均值赋予DQS选择信号DQS_SEL ; 依据所述DQS_SEL信号输出时钟延迟DQS信号,得到处于有效数据窗中央的DQS信号。
2.根据权利要求1所述的方法,其特征在于,所述将采样获取的所述数据DQ按字节与预设自检数据进行比较之后,还包括获取依据最小边界延迟参数延迟DQS的DQS_Bef0re 信号,以及获取依据最大边界延迟参数延迟DQS的DQS_Last信号;及在输出时钟延迟DQS信号之后,还包括 依据所述DQS_Bef0re信号和DQS_Last信号对DQ数据进行采样; 当所述DQS_Bef0re信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据不一致时,使两者的比较信号Bef0re_UP信号输出高电平;当所述DQS_Last信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据不一致时,使两者的比较信号Last_D0wn信号输出高电平;利用所述Before_UP和Last_D0Wn信号进行逻辑或操作,当逻辑或操作的结果为1时, 使所述DQS_SEL信号的更新指示信号update信号输出高电平;依据所述update信号,生成新的最小边界延迟参数与最大边界延迟参数,并返回执行将所述最大边界延迟参数与最小边界延迟参数的平均值赋予DQS_SEL信号这一步骤。
3.根据权利要求2所述的方法,其特征在于,包括当所述DQS_Bef0re信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据一致时,使所述Bef0re_UP信号输出低电平;当所述DQS_Last信号采样得到的数据与所述时钟延迟DQS信号采样得到的数据一致时,使所述Last_D0wn信号输出低电平;利用所述Before_UP和Last_D0Wn信号进行逻辑或操作,当逻辑或操作的结果为0时, 使所述update信号输出低电平;依据所述update信号,停止进行所述DQS_SEL信号的更新。
4.根据权利要求1所述的方法,其特征在于,所述预设自检数据具体为0X5A5A和 0XA5A5。
5.一种用于DDR控制器中DQS延迟的相位校准装置,其特征在于,包括延迟参数判定单元,用于依据DQS信号不同级延迟后的触发信号对DDR数据DQ进行采样,将采样获取的所述数据DQ按字节与预设自检数据进行比较,得到最小边界延迟参数与最大边界延迟参数,并将所述最大边界延迟参数与最小边界延迟参数的平均值赋予DQS选择信号DQS_SEL ;延迟输出控制电路,用于依据所述DQS_SEL信号,输出时钟延迟DQS信号,获取处于有效数据窗中央的DQS信号。
6.根据权利要求5所述的装置,其特征在于,所述延迟参数判定单元中包括初始延迟判定电路,用于依据DQS信号不同级延迟后的触发信号对DDR数据DQ进行采样,将采样获取的所述数据DQ按字节与预设自检数据进行比较;延迟参数输出电路,用于利用所述初始延迟判定电路中的所述比较结果,获取最大边界延迟参数与最小边界延迟参数,并将所述最大边界延迟参数与最小边界延迟参数的平均值赋予所述DQS_SEL信号,传输给所述延迟输出控制电路。
7.根据权利要求6所述的装置,其特征在于,所述延迟参数判定单元中还包括延迟跟踪电路,用于对所述最小边界延迟参数、所述最大边界延迟参数和DQS_SEL信号进行更新。
8.根据权利要求5所述的装置,其特征在于,所述延迟参数判定单元中用于比较的所述预设自检数据具体为0X5A5A和0XA5A5。
全文摘要
本发明公开了一种用于DDR控制器的DQS延迟相位校准方法及装置,包括依据DQS信号不同级延迟后的触发信号对DDR数据DQ进行采样;将采样获取的数据DQ按字节与预设自检数据进行比较,并经过延迟两拍后获取最小边界延迟参数与最大边界延迟参数;将该最大边界延迟参数与最小边界延迟参数的平均值赋予DQS选择信号;依据该DQS选择信号输出时钟延迟DQS信号,得到处于有效数据窗中央的DQS信号。本发明采用延迟参数判定单元和延迟参数输出电路中的硬件逻辑实现对DQS延迟相位校准,利用延迟参数判定单元通过数据筛选的方法将延迟后的DQS精确的落在有效数据窗中央,从而增强了数据采样的稳定性、精确性和抗干扰性。
文档编号G11C29/02GK102347081SQ20101024534
公开日2012年2月8日 申请日期2010年7月30日 优先权日2010年7月30日
发明者史公正 申请人:联芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1