延迟锁相环电路及调整输出时钟信号相位的方法 【技术领域】
本发明涉及在芯片中调整时钟信号的技术,特别涉及一种延迟锁相环电路及调整输出时钟信号相位的方法。
背景技术
随着互补金属氧化物半导体(CMOS)工艺的迅速发展,采用CMOS工艺的各种数字电路所采用的器件尺寸在不断地减小,数字电路的复杂度在不断地提高,且数据电路所采用的数字系统,如中央处理器(CPU)系统或数字信号处理(DSP)系统的工作速度也达到了几百兆赫兹,甚至更高。这样高速的数字系统对时钟信号提出了严格的要求,然而由于制造工艺和环境变化的不同,提供的时钟信号常常可能无法满足要求。例如,当数字电路采用时钟信号对所传输的数据采样时,在每个时钟周期内需要选择最佳的数据采样点,即需要选择每个时钟周期内所传输数据的中间位置附近进行采样,在实现时设定定时时钟信号,定时在每个时钟周期内所传输数据的中间位置附近时间点触发对所传输数据进行采样。但是,经过若干个时钟周期传输数据后,设定的定时时钟信号和所传输的数据有很大可能不再满足所设定定时时钟和维持定时时钟的约束,造成并不是在每个时钟周期内所传输数据的中间位置附近时间点触发对所传输数据的采样,从而导致采样错误。这种时钟信号和数据经过一段时间后由于电压或温度的不稳定性而不再满足设定的约束条件,会随着数字电路中数字系统处理速度的增加和数据传输速率的加快而变得更加严重。因此,对时钟信号进行延迟调整,使得经过延迟调整的时钟信号和数字电路中处理数据之间一直满足设定的约束条件,从而保证数字电路的正常运行,变得越来越重要。
目前,为了克服时钟信号在一段时间后出现的偏差,满足数据电路正常运行的要求,设计了锁相环(PLL,Phase-locked LOOP)电路和延迟锁相环(DLL,Delay-locked Loop)电路,用于对时钟信号进行延迟调整。与PLL电路相比,由于DLL电路用压控延迟线(VCDL,Voltage Control Delay Line)取代了PLL的振荡器,使得随机误差只在每个时钟周期的内部累加,不影响后续时钟周期;由于DLL的反馈系统的阶数和低通滤波器(LRF,Low PassFilter)相同,使得其稳定性和稳定速度等问题比PLL电路减轻许多。因此,和PLL电路相比,DLL电路受到噪声影响小,并且稳定性更高和稳定速度更快,逐渐成为对时钟信号进行延迟调整的主流电路。
DLL主要可以分为三类,包括:寄存器控制DLL、加/减计数器控制DLL和逐位逼近式DLL,这三类的主要区别在于对延迟线控制方式不同。
图1为现有技术DLL电路的结构示意图,电路包括:鉴相器、分频器、延迟线控制器及延迟线。其中,输入时钟信号在每个时钟周期内通过延迟线及前向传输线后变为输出时钟信号输出。在每个时钟周期内,反馈传输线都采集经过延迟线输出的时钟信号,然后将采集的信号作为反馈时钟信号输出给鉴相器,鉴相器将接收到的反馈时钟信号和输入时钟信号比较,确定反馈时钟信号和输入时钟信号存在相位差后,发送控制信号给延迟线控制器,由延迟线控制器输出调整信号,对通过延迟线的时钟信号进行延迟调整,直到鉴相器经过检测,确定接收到的反馈传输线通过延迟线采集的反馈时钟信号和输入时钟信号之间不存在相位偏差为止,锁定延迟线控制器,也就是对DLL电路的输入时钟信号进行锁定,维持当前对延迟线的延迟调整。在延迟线控制器进行延迟调整过程中,输入时钟信号、反馈时钟信号都是通过放大器输入到鉴相器中的,以便鉴相器精确检测;反馈传输线采集经过延迟线输出的时钟信号为通过放大器进行放大的时钟信号、再经过延迟线输出后进行放大器后采集的;另外,经过放大的输入时钟信号还通过分频器分频后,通过集成电路(IC)发送给延迟线控制器,用于延迟线控制器根据分频频率对延迟线传输的输入时钟信号进行延迟调整。
在具体实现上,经过延迟调整锁定输入时钟信号的DLL电路根据不同的结构,实现固定相位的输出时钟信号,比如,图1所示电路的输出时钟信号和输入时钟信号相比,相差的相位为0度;如果在图1所示电路的反馈时钟信号输入鉴相器前增加反向器,则输出时钟信号和输入时钟信号相比,相差的相位为180度;如果图1所示电路的延迟线采用四个相同延迟单元,并每个延迟单元都引出一个输出时钟信号,则从第一个延迟单元引出地输出时钟信号和输入时钟信号相比,相差的相位为90度。
由于为了对所传输数据的采样准确,所以目前常常需要经过延迟调整锁定输入时钟信号的DLL电路输出时钟信号的相位,相比于输入时钟信号可以得到不同的相位差,但是,采用现有技术方案,每一种结构类型的DLL电路经过延迟调整锁定输入时钟信号后,输出时钟信号和输入时钟信号相比,只能得到固定的相位差。
【发明内容】
本发明提供一种延迟锁相环电路,该电路能够根据所传输数据的采样需要,经过延迟调整锁定输入时钟信号后,输出时钟信号和输入时钟信号的相位差为任意值。
本发明还提供一种调整输出时钟信号相位的方法,该方法能够根据所传输数据的采样需要,经过延迟调整锁定输入时钟信号后,输出时钟信号和输入时钟信号的相位差为任意值。
根据上述目的,本发明的技术方案是这样实现的:
一种延迟锁相环DLL电路,包括基本DLL电路、延迟线二和运算单元,其中,
基本DLL电路,用于对输入时钟信号锁定后,发送调整信号给运算单元;
运算单元,用于接收延迟控制字和基本DLL电路发送的调整信号,进行运算,得到延迟线控制信号,发送给延迟线二,延迟控制字用于控制输出时钟信号和输入时钟信号的相位差;
延迟线二,用于根据从运算单元接收的延迟线控制信号,对输入时钟信号进行相位调整,得到输出时钟信号。
所述基本DLL电路包括延迟线一、延迟线控制器和鉴相器,其中,
延迟线一,用于接收输入时钟信号,根据从延迟线控制器接收的调整信号进行延迟调整,输出延迟时钟信号给鉴相器;
鉴相器,用于确定接收的延迟时钟信号和输入时钟信号存在相位差,发送控制信号给延迟线控制器,直到确定延迟时钟信号和输入时钟信号不存在相位偏差为止,锁定延迟线控制器;
延迟线控制器,用于根据从鉴相器接收的控制信号输出调整信号给延迟线一。
所述延迟控制字取1到延迟控制字设置的最大值之间的任意整数。
所述运算单元包括乘法器和除法器,其中,乘法器用于计算所述调整信号和所述延迟控制字的乘积,除法器用于除以延迟控制字设定的最大值,得到延迟线控制信号,该最大值为自然数;
或者所述运算单元包括用于存储调整信号乘以延迟控制字得到的结果和延迟线控制信号之间的对应关系的只读存储器,该对应关系是只读存储器预先采用调整信号×延迟控制字/N计算得到的,其中,N为延迟控制字设定的最大值,为自然数,当只读存储器接收到所述调整信号乘以延迟控制字得到的结果后,根据对应关系,输出延迟线控制信号。
所述除法器为移位寄存器,所述延迟控制字设定的最大值为2N-1,N为延迟线二中的延迟单元的个数,移位寄存器用于根据所述延迟控制字设定的最大值2N-1,进行移位,得到对应所述延迟线二中的延迟单元的延迟线控制信号。
所述延迟线一和延迟线二的结构相匹配。
一种调整输出时钟信号相位的方法,在基本DLL电路基础上设置延迟线二以及运算单元,该方法包括:
在基本DLL电路的输入时钟信号锁定后,根据基本DLL电路发送的调整信号和延迟控制字经运算单元计算延迟线控制信号,该延迟控制字用于控制输出时钟信号和输入时钟信号的相位差;
根据所述延迟线控制信号,对通过延迟线二的输入时钟信号相位调整,得到输出时钟信号。
所述计算延迟线控制信号的算法为:
设置延迟控制字最大值,该延迟控制字最大值为正整数,则延迟线控制信号等于所述调整信号乘以所述延迟控制字除以设置的延迟控制字最大值。
所述运算单元计算延迟线控制信号由运算单元包括的乘法器和除法器完成;
或者通过采用查找所设置的调整信号乘以延迟控制字得到的结果和延迟线控制信号之间的对应关系完成。
所述除法器为移位寄存器,所述延迟控制字设定的最大值为2N-1,N为延迟线二中的延迟单元的个数,移位寄存器根据所述延迟控制字设定的最大值2N-1,进行移位,得到对应所述延迟线二中的延迟单元的延迟线控制信号。
从上述方案可以看出,本发明重新设置了DLL电路,在现有技术DLL电路中增加了延迟线二,该增加的延迟线二的延迟调整由延迟线控制信号控制,得到输出时钟信号,该延迟线控制信号由延迟控制字和锁定输入时钟信号后延迟线控制器输出的调整信号进行运算得到,其中延迟控制字用于控制输出时钟信号和输入时钟信号的相位差,不同的延迟控制字得到的延迟线控制信号不同。本发明提供的DLL电路在锁定输入时钟信号后,不需要更改DLL电路的结构,就可以根据不同的延迟线控制信号,输出和输入时钟信号相比,相位差为任意值的输出时钟信号。因此,本发明提供的电路及方法可以根据所传输数据的采样需要,经过延迟调整锁定输入时钟信号后输出时钟信号和输入时钟信号的相位差为任意值。
【附图说明】
图1为现有技术DLL电路的结构示意图;
图2为本发明提供的DLL电路的结构示意图;
图3为本发明提供的调整输出时钟信号相位的方法流程图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照附图,对本发明进行进一步详细的说明。
图2为本发明提供的DLL电路的结构示意图,包括两组结构相同或不同的延迟线、延迟线控制器、鉴相器和运算单元,两组相同的延迟线分别为延迟线一和延迟线二,其中,
和现有技术相同,输入时钟信号在每个时钟周期内通过延迟线一后输出延迟时钟信号,在每个时钟周期内,鉴相器接收延迟时钟信号和输入时钟信号,确定存在相位差后,发送控制信号给延迟线控制器,由延迟线控制器输出调整信号,对通过延迟线一的输入时钟信号进行延迟调整,直到鉴相器经过检测,确定延迟时钟信号和输入时钟信号不存在相位偏差为止,锁定延迟线控制器,也就是对DLL电路的输入信号进行锁定,维持当前对延迟线一的延迟调整;
在锁定延迟控制器后,延迟线控制器将调整信号发送给运算单元,运算单元根据接收的调整信号和延迟控制字,计算得到延迟线控制信号,对通过延迟线二的输入时钟信号进行相位调整,得到和输入时钟信号相比,具有任意相位差的输出时钟信号,其中,延迟控制字用于控制输出时钟信号和输入时钟信号的相位差。
图2所示的电路也可以如图1所述的电路那样具有分频器、反馈传输线、放大器以及IC,位置和作用都和图1所述的相同,这里不再累述。
可以看出,图2所述DLL电路中的延迟线一、延迟线控制器和鉴相器和现有技术的DLL电路中的在作用上和位置上都相同,因此,将这一部分称为基本DLL电路,实现对基本DLL电路的输入时钟信号锁定过程。
为了得到和输入时钟信号相比,具有任意相位差的输出时钟信号,本发明需要对延迟控制字进行设定后,经过运算单元的运算,生成延迟线控制信号,具体运算的公式为:延迟线控制信号=调整信号×延迟控制字/延延迟控制字最大值,比如当延迟控制字为延迟控制字最大值的二分之一时,输出时钟信号比延迟时钟信号的相位差相差180度,假设本发明提供的DLL电路的输入时钟信号锁定后,延迟时钟信号和输入时钟信号的相位差为360度,则输出时钟信号比输入时钟信号的相位差为180度,即延迟线控制信号可以线性对延迟线二进行控制,控制输入时钟信号和输出时钟信号的相位差。
因此,当延迟时钟信号和输入时钟信号的相位差为360度时,输出时钟信号和输入时钟信号的相位差/360度=延迟线控制信号/调整信号=延迟控制字/延迟控制字设定的最大值,即输出时钟信号和输入时钟信号的相位差=360度×延迟控制字/延迟控制字设定的最大值=360度×延迟线控制信号/调整信号。在这里,延迟控制字设定的最大值可以任意设置,设置的越大,分割的份数就越多,则精度越高,运算单元的运算也就越复杂。
在具体实现上,由于延迟线一是由调整信号控制,调整信号反映了延迟时钟信号和输入时钟信号之间的相位差,该调整信号取值为二进制数,范围可以是延迟线一可以延迟的最大范围。相应地,在对延迟线二进行控制时,延迟线控制信号也为二进制数,范围可以是延迟线二可以延迟的最大范围。
在本发明中,延迟线一和延迟线二采用的结构可以相同或不同,但是一定要匹配,即,输入的调整信号或输入的延迟线控制信号相同时,能够获得相同的相位延迟。相同时易于实现,图2所示的电路为延迟线一和延迟线二具有相同的结构。
本发明中的延迟线一或延迟线二仍然采用现有技术实现,比如可以采用多个级联延迟单元形成,每一个延迟单元的延迟时间长度不一样,延迟单元所含的电容大则延迟时间比较长。延迟时间可以采用单位延迟时间表示,为2n-1个单位延迟时长,其中n为自然数。每个延迟单元是否参与延迟都是由延迟线控制信号来控制的,延迟单元越多,即n越大,则可以延迟的时钟频率范围越大。当然,本发明中的延迟线一或延迟线二还可以采用多个延迟时间长度相同的延迟单元级联而成。
在本发明中,运算单元可以由乘法器和除法器实现,其中,乘法器用于计算所述调整信号和所述延迟控制字的乘积,除法器用于除以延迟控制字设定的最大值,得到延迟线控制信号,该最大值为自然数;也可以通过查找所设置的调整信号乘以延迟控制字得到的结果和延迟线控制信号之间的对应关系实现,这时,需要根据不同的算法来设置运算单元的电路实现。在运算单元采用乘法器和除法器实现时,二进制的除法器也可以用移位寄存器实现,以下用实施例一进行详细论述。
图3为本发明提供的调整输出时钟信号相位的方法流程图,其具体步骤为:
步骤301、在基本DLL电路中设置和延迟线一结构相匹配的延迟线二;
步骤302、在基本DLL电路的输入时钟信号锁定后,根据调整信号和延迟控制字经运算单元计算得到延迟线控制信号,该延迟控制字用于控制输出时钟信号和输入时钟信号的相位差;
在该步骤中,要保证延迟时钟信号和输入时钟信号的相位差为360度;
步骤303、用得到的延迟线控制信号对延迟线二进行延迟控制,得到和输入时钟信号相比,具有任意相位差的输出时钟信号。
举两个具体实施例说明本发明提供的电路及方法。
实施例一:
设延迟控制字最大值为2N-1,其中N为自然数,表示划分的份数,分割的份数越多,则延迟调整精度越高,但运算单元运算起来越复杂。在这个实施例中,N可以为延迟线二中的延迟单元个数,这时,根据输出时钟信号和输入时钟信号的相位差=360度×延迟控制字/延迟控制字设定的最大值=360×延迟线控制信号/调整信号可以推出,延迟线控制信号=调整信号×延迟控制字/2N-1。则当本发明提供的DLL电路的输入时钟信号锁定后,延迟线控制信号线性控制输出时钟信号和输入时钟信号的相位差,取延迟控制字为延迟控制字最大值的1/2,当N为6位,则延迟控制字为100000,则延迟线控制信号=调整信号×100000/111111。因为调整信号直接控制延迟线一得到的和输入时钟信号相差360度相位差的延迟时钟信号,所以调整信号×100000/111111为100000/111111,采用得到的延迟线控制信号控制延迟线二中的各个延迟单元,对输入时钟信号进行延迟,得到输出时钟信号比延迟时钟信号,即输入时钟信号的相位差为180度后,输出。
可以看出,延迟控制字/延迟控制字最大值提供了控制输出时钟信号和延迟时钟信号的相位差的信息,进而得到输出时钟信号和输入时钟信号的相位差的信息。采用实施例一的方法,本发明提供的DLL电路中的运算单元可以通过乘法器和移位寄存器实现,其中,N取延迟线中延迟单元个数,乘法器用于计算调整信号和延迟控制信字的乘积,然后根据延迟控制字最大值所划分的份数,采用移位寄存器进行除2运算后,对延迟线二中的各个不同延迟时间的延迟单元进行延迟控制,得到输出时钟信号。
实施例一的这种输出时钟信号的相位调整的方法,N越大,则输出时钟信号比延迟时钟信号,也就是输入时钟信号的相位差可控制的精度越高。
实施例二
本发明运算单元采用查找所设置的调整信号乘以延迟控制字的结果和延迟线控制信号之间的对应关系实现对输出时钟信号的相位调整,这时运算单元可以采用只读存储器(ROM)实现,当延迟控制字最大值为N时,N为自然数,将预先根据采用调整信号×延迟控制字/N计算得到的对应关系存储到ROM中,每个延迟线控制信号的存储单元对应一个存储地址。这样,当将调整信号和延迟控制字作为存储地址输入ROM,ROM根据对应关系得到对应的延迟线控制信号,对延迟线二进行延迟控制,得到输出时钟信号。
实施例二适用于延迟控制字最大值为N的情况,在实现上比实施例一实现困难。
本发明提供的延迟线控制器可以为寄存器延迟线控制器、加/减计数器控制器或逐位逼近式(SAR)控制器,从而可以实现各种类型的DLL电路。
综上,本发明提供的DLL电路在锁定后,不需要更改DLL电路的结构,就可以根据不同的延迟线控制信号,输出和输入时钟信号相比,相位差为任意值的输出时钟信号,从而可以对所传输的任意相位数据进行采样。本发明提供的DLL电路及输出时钟调整方法在现有的基本DLL电路上拓展实现,方便实现,且可以应用在各种结构类型的DLL电路中。另外,本发明提供的DLL电路继承了现有技术的DLL电路的优点:具有较短的锁定时间,没有偏置电路,可移植性好,容易和其他系统继承,容易成比例缩小,对工艺不是很敏感。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。