附图的简要说明
图1所绘示为利用非门串联耦接以实现延迟锁定回路之延迟模块示意图。
图2为依照本发明较佳实施例所绘示之L型正反器的方块图以及其真值表。
图3为依照本发明所绘示之倍频产生方式示意图。
图4A为依照本发明一较佳实施例所绘示之开回路控制装置的方块图。
图4B为依照本发明另一较佳实施例所绘示之开回路控制装置的方块图。
图5A为应用本发明开回路控制装置于CPLD或FPGA之一较佳实施例所绘示之同步倍频电路的方块图。
图5B为应用本发明开回路控制装置于CPLD或FPGA之一较佳实施例所绘示之同步倍频电路的讯号时序图。
图5C、图5D分别为图5A中输出讯号Dll_out1与Dll_out3之等效电路方块图。
图6为应用本发明开回路控制装置于CPLD或FPGA之另一较佳实施例所绘示之同步倍频电路的等效电路方块图。
图7为应用本发明开回路控制装置于CPLD或FPGA之较佳实施例所绘示之锁相电路的方块图。
图8为应用本发明开回路控制装置于CPLD或FPGA之一较佳实施例所绘示之锁相振荡电路的方块图。
图9为应用本发明开回路控制装置于CPLD或FPGA之另一较佳实施例所绘示之锁相振荡电路的方块图。
图10为应用本发明开回路控制装置之较佳实施例所绘示之同步模拟电路的方块图。
图11为依照本发明所绘示之开回路控制方法的步骤流程图。
图12为本发明所提供的延迟式取样模块示意图。
图13为本发明所提供的延迟模块由外部提供固定时脉clk_in以供储存模块储存数据之示意图。
【主要组件符号说明】
S1110~S1130:开回路控制方法的步骤
100、710:延迟模块
101~104:反相闸
400、450、500、600、700、800、900、1000:开回路控制装置
410、420、510、520、580、590:控制管线
411~41N、42142N:控制单元
515、525、535、545、555、565、585、595、625、635、645、655、...、6N5:控制单元(L型正反器)
544、564、594、624、634、644、...、6N4:控制单元(XOR闸)
573:控制单元(OR闸)
601、740、840:多任务器
720:记忆模块
730:编码模块
910:震荡器
1010、1020:滤波器
1011、1021:加减法器
C401~C402:控制讯号
Clk_in:输入讯号
Clk_out、Dll_out1、Dll_out2、Dll_out3、out1~outN:输出讯号
具体实施方式
本发明提出一种新的信号解析方式,以克服低时脉取样高速信号的方法,如图12,克服 逻辑化简的定律,使 ,然后如图13由外部提供固定时脉clk_in供储存模块储存数据。
本发明以L型正反器串联耦接组成延迟模块,以克服数字集成电路设计流程中延迟模块被逻辑化简之问题。图2为依照本发明较佳实施例所绘示之L型正反器的方块图以及其真值表。
请参照图2,L型正反器具有输入端D、致能端En以及输出端A。请参照图2之真值表,当En输入为逻辑0时,不论D输入为何,A输出会保持上一次的输出状态Q,因此当En输入为逻辑0时,称此L型正反器为无效(disable)。另外一种情形为En输入逻辑1时,若D输入为逻辑0,则A输出跟随D输入值改变成逻辑0;若D输入为逻辑1,则A输出跟随D输入值改变成逻辑1,因此当En输入为逻辑1时称此L型正反器生效(enable)。当然亦可将L型正反器设计成在En输入为逻辑0时生效,En输入为逻辑1时无效。甚至于在L型正反器生效时,输出A亦可以设计成跟随D输入之反相值而改变。实际应用时,L型正反器还需要重置(reset)讯号以重置初始状态,在此并未绘出接收重置讯号的重置端。
由图2之真值表可知:L型正反器因为不需要时脉,如同逻辑闸一样皆为异步组件,因此其在正反器中延迟时间最少,而且因为不需要时脉,不像D型正反器需要保持一个基本时间,所以不会产生习知技术中所产生的抖动现象。由L型正反器所组成的延迟模块将可以直接以软件编译并验证,然后写入CPLD或FPGA再进行电路验证,这样可以大幅缩短设计时间,而且可靠度高。当然亦可以采用专用集成电路(Application Specific Integrated Circuit,ASIC)设计流程,即先用硬件描述语言编译并验证,再用合成软件及自动布局软件完成电路实体布局,最后生产芯片并完成电路实体验证。
图3为依照本发明所绘示之倍频产生方式,其中运算符号为互斥或(XOR)运算。请参照图3,CLK1为输入的原始频率,经过一时间延迟后变成CLK2,然后对CLK1与CLK2进行XOR运算后,就会产生倍频的效果,这种倍频产生方式的优点为省电(输入转态时才有动作,没有输入则输出为定值),无累积性的误差(每半周期锁定一次,也就是每半周校准一次)。事实上,XOR本身也有延迟时间,而且也需要一控制机制控制图3中CLK1与CLK2之间的延迟时间。下面将先说明本发明的开回路控制装置,然后利用上述之L型正反器所组成的延迟模块配合此开回路控制装置,以直接在CPLD或FPGA实现讯号倍频、锁相、震荡等功能。除此之外,还可将此开回路控制装置应用在模拟方面的应用,例如调变或解调。
图4A为依照本发明一较佳实施例所绘示之开回路控制装置的方块图。请参考图4A,开回路控制装置400包括第一控制管线410以及第二控制管线420,而两者之延迟时间约略相同,其中“约略相同”意指两者之延迟时间相同,或者在输出不发生错误的情况下两者之延迟时间近似,为了本发明之实施说明简单起见,接下来均使用“相同”之字眼,但事实上意指“约略相同”。
为使本发明之实施例说明能更加清楚,以下以第一控制管线410以及第二控制管线420为延迟时间相同之控制管线为例加以说明。其中,第一控制管线410包括控制单元411~41N,第二控制管线420包括控制单元421~42N,其中N为自然数,而且控制单元411与421、412与422...41N与42N分别为延迟时间相同之控制单元。控制单元411与421接收输入讯号,控制单元41N输出第一输出讯号,控制单元42N输出第二输出讯号。上述这些控制单元可以是传输闸、逻辑闸、正反器、三态闸、缓存器、逻辑数组等数字组件,还可以是各种放大器、滤波整形电路、VCO等模拟组件,甚至是无效但具有使所属之控制管线的延迟时间与其它控制管线相同之组件。
一般的开回路控制之装置因为没有将输出讯号回授以进行控制,因此工作速度通常远比闭回路控制之装置为快,但是输出若发生错误,则无法进行控制或校正。请再次参考图4A,本发明之开回路控制装置400利用至少一控制讯号(虚线即为控制讯号),由一控制管线回馈讯号至其它控制管线,提供其它控制管线新的控制参数,以进一步控制其输出。举例来说,第一控制管线410之控制单元413回馈控制讯号C401至第二控制管线420之控制单元423,可以使第二控制管线420之输出(即第二输出讯号)受到控制而使二控制管线与第一控制管线的延迟时间相同。本发明之开回路控制装置400还可以将控制管线之输出当作控制讯号回馈至其它控制管线,例如,将第一控制管线410之输出(即第一输出讯号)当作控制讯号C402回馈至第二控制管线420之控制单元425,这可用于实时分析控制管线有负载输出时与理想输出之差异,有利于控制调整与分析控制管线。
对于第一控制管线410以及第二控制管线420而言,其控制方式皆为开回路控制,因此工作速度相当快速,而第一控制管线410回馈控制讯号C401~C402至第二控制管线420,在第二控制管线420提供新的控制参数,控制使其输出准确。
图4B为依照本发明另一较佳实施例所绘示之开回路控制装置的方块图。请参考图4B,图4B之开回路控制装置450与图4A之开回路控制装置400硬件架构相同,因此采用相同的组件标号。但是,控制讯号C402除了回馈至第二控制管线420之控制单元425之外,还回馈至本身第一控制管线410之控制单元415,后者即是传统的闭回路控制(即自我回馈控制),因此本实施例事实上为本发明之开回路控制与传统闭回路控制混和的情况。此外,开回路控制装置450更可以接收外部的参考讯号作为内部控制单元的输入,例如第二控制管线420之控制单元423更接收一个参考讯号,这样可以使得整个开回路控制装置450之设计更加多样化。
图4A、4B所示之开回路控制装置也可以推广至二条以上的控制管线,只要这些控制管线具有相同的延迟时间,接收相同的输入讯号,且每一条控制管线所送出的控制讯号皆回馈至本身以外的控制管线。控制讯号甚至可以采用跳跃的方法,例如由第一控制管线送出的控制讯号可以跳过相邻的第二控制管线而送到第三控制管线。此外,可以外加一讯号处理器(未绘出),用以接收每一控制管线之输出并进行讯号处理。善加设计这些控制单元与控制讯号,可以用任意的无频段的信号锁相或者任意地控制延迟锁相时间、合成或解离讯号、产生锁相倍频时脉等,适用于模拟、数字或模拟数字混合之设计,以下将说明如何应用此开回路控制装置于锁相倍频电路,并且可直接以CPLD或FPGA实现。
分析CPLD与FPGA的内部电路架构后,可以发现CPLD架构不外乎:输入焊垫(PAD)→内部接线矩阵→逻辑门阵列→特殊闸(OR闸、XOR闸)→缓存器→三态闸→输出焊垫,且每一部份之延迟时间均有规格可查询,而FPGA架构只是使用多任务器代替逻辑闸而已。由规格可以知道,CPLD与FPGA之输入到输出之延迟时间为一常数,因为其每一个最短路径是相同的,因此相当适合本发明开回路控制装置之应用。下面将举出数个本发明开回路控制装置应用在倍频、锁相以及震荡电路的实施例,这些实施例皆可以直接以CPLD或FPGA实现。
图5A为应用本发明开回路控制装置于CPLD或FPGA之一较佳实施例之同步倍频电路的方块图。请参考图5A,为使本发明之实施说明更加清楚,其中同步倍频电路500以具有九条相同的控制管线为例,亦即每条控制管线具有相同组成结构之控制单元,其中粗实线箭头代表控制管线的输入与输出讯号,粗虚线箭头代表讯号事实上经过控制管线之控制单元但省略绘出该等控制单元,而以虚线绘出的控制单元方块代表其为控制管线之一控制单元但省略绘出其所在之整个控制管线的其它组件。
同步倍频电路500包括第一控制管线510、第二控制管线520......第八控制管线580以及第九控制管线590,而每一控制管线为CPLD或FPGA之输入到输出路径,因此每一控制管线具有相同之延迟时间,并且皆具有输入焊垫、逻辑门阵列、OR闸、XOR闸、缓存器、三态闸以及输出焊垫之控制单元。其中,每一控制管线之缓存器均设计成前述提及之L型正反器,以克服延迟模块被逻辑化简之问题,将多数个L型正反器串联耦接即可形成一延迟模块,当然其间可能插入其它的控制单元,但是延迟时间仍可由规格推得。
与图3相比较下,图5A中第一控制管线510输出之第一输出讯号Clk_out相当于图3之CLK1,而图5A中输入讯号Clk_in经过延迟模块(由L型正反器525、535、545、555、565以及585所组成)后之讯号相当于图3之CLK2,因此,图5A中第九控制管线590输出之第九输出讯号Dll_out1相当于图3之CLK1与CLK2做XOR运算。较正确的同步倍频电路500之讯号时序图如图5B所示,请参照图5B之Clk_in、Clk_out以及Dll_out1,Clk_in与Clk_out之间的时间延迟即为第一控制管线510所造成,而Clk_out以及Dll_out1同相位且Dll_out1为Clk_out之同步二倍频讯号,因此达到倍频之目的。另外,可以藉由其它的控制单元与控制讯号达到不同步倍频。
另外,增加或减少串联耦接的L型正反器之数目,可以控制延迟模块的延迟时间,产生50%或任意工作区间比(duty cycle)之时脉。亦可以利用其它的控制单元与控制管线间的控制讯号之组合产生多样的输出,例如图5A中输出讯号Dll_out2即为a讯号以及b讯号经过OR闸573运算所得到的结果,其时序图如图5B所示,其中a讯号为Clk_in以及经过L型正反器525与535延迟之Clk_in做XOR运算所得,b讯号为经过L型正反器525、535与545延迟之Clk_in以及经过L型正反器525、535、545与555延迟之Clk_in做XOR运算所得。
图5C、图5D分别为图5A中输出讯号Dll_out1与Dll_out2之等效电路方块图,其中图5A、图5C与图5D中实质上相同之控制单元以相同之组件符号表示,图5C与图5D并绘出可以重置L型正反器之讯号Reset,此外,在等效电路方块图中,L型正反器之输入D、En与输出A并未标示,可参考图2方块图之定义。请先参照图5A,由于第一控制管线510之输出Clk_out以及第九控制管线590之输出Dll_out1之间的延迟时间由L型正反器525、535、545、555、565以及585所造成(L型正反器515与595分别对第一、第九控制管线510与590造成相同延迟,因此对Clk_out以及Dll_out1之间的延迟时间并没有贡献),所以其等效电路如图5C所示。同样地,图5A中输出Dll_out2之等效电路如图5D所示,在此不再详述。
图6为应用本发明开回路控制装置于CPLD或FPGA之另一较佳实施例所绘示之同步倍频电路的等效电路方块图。同步倍频电路600更包括一讯号处理器,例如多任务器601,其中L型正反器625与XOR闸624为第一控制管线之控制单元,L型正反器635与XOR闸634为第二控制管线之控制单元,...,L型正反器6N5与XOR闸6N4为第N控制管线之控制单元,其中N为自然数。输出out1~outN具有相同的工作区间比,但是因为XOR闸624~6N4所接收的L型正反器625~6N5之输出延迟均不同(事实上两相邻讯号相差一个L型正反器的延迟时间),所以输出out1~outN的起始时间均不同,且相邻输出相差一个L型正反器的延迟时间)。利用设置讯号Set控制多任务器601以选择输出out1~outN,可以达到设定输出Dll_out3之延迟时间或倍频频率。
如果同步倍频电路600之讯号处理器以OR闸取代上例之多任务器601,且OR闸接收讯号out1、out3、out5、...(或者out2、out4、out6、...),则此同步倍频电路600之OR闸输出讯号具工作区间比50%之震荡效果,但却不需使用VCO即可达成,不但耗电低还可以直接以CPLD或FPGA实现,当然也可设定或调整锁相后之震荡次数或非50%信号,可应用于资料之异步判断及数字或模拟同步滤波整形输出。
图7为应用本发明开回路控制装置于CPLD或FPGA之一较佳实施例所绘示之锁相电路方块图。请参照图7,锁相电路700包括延迟模块710、记忆模块720、编码模块730以及多任务器740。延迟模块710为利用L型正反器串联耦接而成,如同图5A中由L型正反器525、535、...、585所组成的延迟模块。延迟模块710中所有的L型正反器之输出即为根据输入讯号所产生之多个不同延迟时间的讯号,且两相邻L型正反器所输出的讯号相差一个L型正反器延迟时间,然后这些不同延迟时间的讯号被送到记忆模块720以及多任务器740。
记忆模块720可以由L型正反器或D型正反器所组成,差别只在于L型正反器为位准触发(level-sensitive),D型正反器为边缘触发(edge-trigger),但对锁相电路700而言在记忆资料方面效果相同,因此以下以L型正反器所组成的记忆模块为例,而且是在生效(enable)讯号为高电位时生效,以方便实施例的说明。记忆模块720中每一L型正反器之输入端接收延迟模块710中对应之L型正反器之输出,每一L型正反器之生效端皆接收输入讯号。当输入讯号在高电位时,记忆模块720中每一L型正反器之输出与延迟模块710中每一L型正反器之输出相同,一旦输入讯号转态,则记忆模块720可以保持(或记忆)之前的每一L型正反器之输出,则可以知道输入讯号在高电位期间等于几个L型正反器延迟时间,再将记忆模块720中每一L型正反器之输出利用编码模块730进行编码动作,以便控制多任务器740从延迟模块710所产生之多个不同延迟时间的讯号中选择与输入讯号相位最接近的讯号再输出,达到锁相的目的。
图8为应用本发明开回路控制装置于CPLD或FPGA之一较佳实施例所绘示之锁相振荡电路的方块图。请参照图8,锁相振荡电路800基本上只是比图7的锁相电路700多一个多任务器840。丨开始多任务器840选择输入讯号(例如时脉讯号)送入锁相振荡电路800,则锁相振荡电路800会像锁相电路700一样地对输入的时脉讯号进行锁相。不过,一旦输入讯号不再送入后,利用多任务器840选择将输出讯号回馈,以继续产生相同之时脉讯号,而达到震荡的目的。
图9为应用本发明开回路控制装置于CPLD或FPGA之另一较佳实施例所绘示之锁相振荡电路的方块图。请参照图9,锁相振荡电路900为图8所示之锁相震荡器800的另一种实现方法,但是不像锁相震荡器800需要在输入地方加上多任务器840,而是利用震荡器910来达到自我震荡的目的,其中震荡器910与延迟模块710具有相同构造,但是用来促使讯号震荡。因为一旦由记忆模块720以及编码模块730记忆住输入的时脉讯号之相位、周期与工作区间比之后,就可以利用输出讯号回馈至震荡器910,再经过编码模块730控制多任务器740,可达到震荡的目的。
图10为应用本发明开回路控制装置之较佳实施例所绘示之同步模拟电路的方块图。请参照图10,同步模拟电路1000之第一、第二控制管线分别包括相同的控制单元,即滤波器1010与1020以及加减法器1011与1021。利用滤波器1010与1020可以将讯号高频(或低频)部份滤掉,再藉由第一控制管线之输出回馈至加减法器1021,与加减法器1021接收自滤波器1020的讯号有一时间差,因此可以达到同步的模拟讯号处理,例如调变或解调。
图11为依照本发明所绘示之开回路控制方法的步骤流程图。首先,在步骤S1110,同时将输入讯号输入至第一以及第二控制管线,其中第一以及第二控制管线之延迟时间约略相同。接着,在步骤S1120,第一控制管线输出至少一控制讯号至第二控制管线,其中控制讯号可能是第一控制管线对输入讯号进行讯号处理过程中的某一内部讯号,亦可以是最后处理完成的输出讯号(称为第一输出讯号)。最后,在步骤S1130,第一控制管线输出第一输出讯号,第二控制管线根据所接收之控制讯号输出第二输出讯号,由于控制讯号对第二控制管线提供新的控制参数,因此第二输出讯号较为多样、稳定且延迟时间相同。
综上所述,本发明提供一种延迟模块、开回路控制装置及方法,此延迟模块由L型正反器所组成,以克服数字集成电路设计流程中延迟模块被逻辑化简之问题,而开回路控制装置及方法利用控制管线处理讯号过程中所产生的其它讯号当做控制讯号回馈至本身以外的控制管线,提供其它控制管线新的控制参数,这样可以改善其它控制管线因为开回路所导致的输出无法受到控制之问题,并且保持开回路操作速度快的优点。此外,本发明之延迟模块以及开回路控制装置适用于数字集成电路设计流程,特别是可以直接以CPLD或FPGA实现,其应用有讯号倍频、锁相、震荡等。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明之精神和范围内,当可作些许之更动与润饰,因此本发明之保护范围当视后附之申请专利范围所界定者为准。