增强型数值控制振荡器的制造方法
【专利说明】増强型数值控制振荡器
[0001]相关申请案的交叉参考
[0002]本申请案主张2013年2月21日提出申请的第61/767,633号美国临时申请案的权益,所述美国临时申请案的全文并入本文中。
技术领域
[0003]本发明涉及一种数值控制振荡器,特定来说涉及一种供在微控制器中使用的数值控制振荡器外围装置。
【背景技术】
[0004]在许多微控制器(举例来说由本发明的受让人制造的微控制器)中,数值控制振荡器(NCO)模块为可用的。根据各种实施例,此数值控制振荡器模块(NCO)外围装置可用于提供线性频率信号控制。为此,可将NCO与称作直接数字合成的技术一起使用以产生通常可通过将精确地控制的总和加到所产生输出而极细微地调整的频率。
[0005]图1展示(举例来说)微控制器的外围电路10中的此通用数值振荡器20。数值控制振荡器20接收参考时钟r (x)及可存储于配置寄存器40 (举例来说与NCO相关联的特殊功能寄存器)中的数值q。键入到模块中的数值q对参考时钟执行运算以提供输出频率f(q)o因此,f(q) =r(x)*A;A为数值振荡器转移函数。转移函数可像加法一样简单。然而,可实施其它函数,例如减法、乘法、除法、对数或任何其它数学函数。在本申请案中所论述的以下实施例中,使用简单加法器来形成数值控制振荡器。然而,如上文所定义的数值控制振荡器可具有用以提供如上文所陈述的数值控制时钟信号的其它函数。此数值振荡器外围装置10可提供可精细调谐的输出频率,所述输出频率除了用于线性频率控制之外也可尤其用于产生脉冲宽度调制输出。
【发明内容】
[0006]然而,需要提供不同输出信号或功能性或提供额外任选输出信号的增强型数值振荡器。
[0007]根据实施例,数值控制振荡器用具有可变频率的数字时钟信号产生输出信号,其中所述数值振荡器是通过依据转移函数的可编程数值来控制的,并且包括经配置以将所述转移函数的输出与工作循环寄存器进行比较且产生所述输出信号的比较器。
[0008]根据另一实施例,所述转移函数可为由加法器提供的加法且所述可变频率的平均频率可由存储所述数值的增量寄存器控制,所述增量寄存器的内容由所述加法器加到具有溢出输出的累加器,且其中所述工作循环寄存器与包括“大于”或者“等于或大于”函数的所述比较器耦合。根据另一实施例,所述数值控制振荡器可进一步包括可操作以基于所述溢出输出或所述比较器的输出信号而选择输出信号的输出多路复用器。根据另一实施例,所述加法器的第一输入可与所述增量寄存器耦合,所述累加器通过可选择时钟信号计时且具有与所述加法器的输出耦合的输入及与所述加法器的第二输入耦合的输出,其中所述溢出输出和“与”门的第一输入耦合,所述“与”门的第二输入接收选定时钟信号,且触发器具有和所述“与”门的输出親合的输入及与输出多路复用器的一个输入親合的输出。根据另一实施例,所述增量寄存器及/或所述工作循环寄存器可被缓冲。根据另一实施例,所述数值控制振荡器可进一步包括通过控制信号控制以选择多个输入时钟信号中的一者的时钟输入多路复用器。根据另一实施例,可选择时钟信号可包括外部提供的时钟信号及/或内部提供的时钟信号。根据另一实施例,所述数值控制振荡器可进一步包括:波纹计数器,其具有与所述可选择时钟信号耦合的时钟输入;及多路复用器,其具有与所述波纹计数器的计数器值寄存器耦合的多个输入,其中所述多路复用器的输出与SR触发器的复位输入耦合,所述SR触发器的设置输入与所述累加器的所述溢出输出耦合,所述SR触发器的反相输出将所述波纹计数器复位且所述SR触发器的非反相输出与所述输出多路复用器的另一输入耦合。根据另一实施例,所述数值控制振荡器可进一步包括“与”门,所述“与”门具有与所述波纹计数器的所述时钟输入耦合的输出且具有接收所述可选择时钟信号的第一输入及与所述SR触发器的所述非反相输出耦合的第二输入。
[0009]根据另一实施例,微控制器可包括如上文所描述的数值控制振荡器。
[0010]根据再一实施例,一种用于产生时钟信号的方法可包括以下步骤:由数值控制振荡器通过使数值依据转移函数而产生输出值来用具有可变频率的数字时钟信号提供输出信号;提供与比较器耦合的工作循环寄存器,其中所述比较器将所述输出值与所述工作循环寄存器进行比较且在累加器的值等于或大于所述工作循环寄存器的值时产生所述输出信号。
[0011]根据所述方法的另一实施例,可由将所述数值加到具有溢出输出的累加器的加法器提供所述转移函数。
[0012]根据所述方法的另一实施例,所述方法可进一步包括:选择所述溢出输出信号或所述比较器的输出信号作为所述数值振荡器的输出信号。根据所述方法的另一实施例,所述方法可进一步包括:将加法器的第一输入与增量寄存器耦合;通过可选择时钟信号对所述累加器进行计时;及将所述累加器的输入与所述加法器的输出耦合及将所述累加器的输出与所述加法器的第二输入耦合;将所述累加器的所述溢出输出馈送到“与”门的第一输入,所述“与”门的第二输入接收选定时钟信号;及将所述“与”门的输出信号馈送到具有输出的触发器,从而提供可选择时钟输出信号作为所述溢出输出信号。根据所述方法的另一实施例,所述增量寄存器及/或所述工作循环寄存器可被缓冲。根据所述方法的另一实施例,所述方法可进一步包括由通过控制信号控制的时钟输入多路复用器选择时钟输入信号。根据所述方法的另一实施例,可选择时钟信号可包括外部提供的时钟信号及/或内部提供的时钟信号。根据所述方法的另一实施例,所述方法可进一步包括:通过具有与所述可选择时钟信号耦合的时钟输入的波纹计数器及具有与所述波纹计数器的计数器值寄存器耦合的多个输入的多路复用器提供另一时钟输出信号,其中所述多路复用器的输出与SR触发器的复位输入耦合,所述SR触发器的设置输入与所述累加器的所述溢出输出耦合,所述SR触发器的反相输出将所述波纹计数器复位且所述SR触发器的非反相输出提供所述另一时钟输出信号。根据所述方法的另一实施例,所述方法可进一步包括:通过“与”门对可选择时钟信号及由所述SR触发器的所述非反相输出提供的输出信号进行“与”运算;及将经“与”操作的信号馈送到所述波纹计数器的所述时钟输入。根据所述方法的另一实施例,所述方法可进一步包括控制所述数值控制振荡器的所述输出信号的极性。根据所述方法的另一实施例,所述方法可进一步包括提供所述“与”门的输出信号作为中断信号。根据所述方法的另一实施例,所述方法可进一步包括在微控制器内使用所述数字时钟信号。
【附图说明】
[0013]图1展示通用常规数值振荡器的框图。
[0014]图2展示示范性常规数值控制器。
[0015]图3展示增强型数值振荡器的实施例。
[0016]图4展示根据各种实施例的用于控制增强的功能的特殊功能寄存器。
[0017]图5a到5c展示根据图3的增强型数值振荡器的各种输出值。
【具体实施方式】
[0018]图2展示可实施为微控制器内的外围装置的示范性常规数值控制振荡器。数值控制振荡器(NCO)模块100是使用由加增量值以除以输入频率所得的溢出的计时器。加法方法优于简单计数器驱动的计时器的优点在于:除法分解不随除法器值而变化。然而,如上文所提及,其它转移函数可用于数值振荡器中。因此,本发明不限于自身使用加法器的数值振荡器。NCO 100对于在固定工作循环下需要频率准确度及精细解析度的应用是最有用的。此NCO的特定特征可包含:16位增量函数、固定工作循环(FDC)模式、脉冲频率(PF)模式、输出脉冲宽度控制、多时钟输入源、输出极性控制及中断能力。
[0019]举例来说,如图2中所展示的常规实施例提供由信号NxCKS〈l:0>
(其可为由特殊功能寄存器提供的2位控制信号)控制以选择四个输入时钟信号NC01CLK、LC10UT、F0SC或HFINT0SC中的一者的输入多路复用器140。NC01CLK可为可施加到专用外部引脚的外部时钟信号。LClOUT可为(举例来说)由内部次级振荡器提供的内部低频率信号。FOSC可为内部系统时钟且HFINT0SC可为来自内部RC振荡器的内部产生的时钟。可提供通过启用信号NxEN控制的传输门150,启用信号NxEN同样可由与数值控制振荡器100相关联的配置寄存器提供。选定时钟信号驱动累加器160存储由加法器130处理的输出值,加法器130在一个输入处接收增量值110且在其第二输入处接收累加器的输出值。可通过额外缓冲寄存器120(图3中所展示)缓冲寄存器110。累加器160具有与RS触发器195的设置输入及“与”门170的第一输入耦合的溢出输出。“与”门170的第二输入接收选定时钟信号。“与”门170的输出提供第一内部输出且还与D触发器180的时钟输入连接,所述D触发器的反相输出被往回馈送到其D输入且所述D触发器的非反相输出Q提供数值控制振荡器的馈送到输出选择多路复用器190的第一输入的时钟输出。
[0020]选定时钟进一步从传输门150馈送到“与”门170的第一输入,所述“与”门的输出与计数器175的时钟输入耦合。通过多路复用器185分接计数器值,所述多路复用器的输入与计数器175的相应位连接且所述多路复用器的输出与RS触发器195的复位输入耦合。触发器195的反相输出将计数器175复位,且触发器195的非反相输出Q被往回馈送到“与”门170的第二输入且提供馈送到多路复用器190的第二输入的第二输出信号。多路复用器190的输出与“或”门145的第一输入耦合,所述“或”门的输出提供第二内部输出且也馈送到另一开关155 (其将所述输出信号馈送到三态驱动器165)。“或”门145用于基于其另一输入(其连接到(举例来说)特殊功能寄存器的控制寄存器位NxPOL)的状态而将多路复用器190的输出反相或不反相。
[0021]NCO模块通过借助于加法器130将存储于寄存器110中的固定值重复加到累加器160而在固定工作循环操作模式中操作。以多路复用器140及启用门150提供的输入时钟速率发生加法。累加器160将周期性地溢出并进位,所述进位为原始NCO输出信号。可借助于“与”门172对此输出与输入时钟进行“与”运算以产生输出信号,(举例来说)内部中断信号NCOxIF。此信号可进一步路由穿过如图2中所展示的其它逻辑180且馈送到多路复用器190以产生用作数值控制振荡器的输出信号的最终输出信号NCOxOUT。当多路复用器190选择第一输入信号时,数值控制振荡器提供固定工作循环输出信号NCOxOUT。多路复用器190还可经控制以使用如图2的下部部分中所展示的计数器175及相关联逻辑170、185、195来替代地及任选地选择脉冲频率调制模式。然而,本发明实施例不需要此额外模式且因此此额外模式可被省略。
[0022]根据NCO 100在于固定工作循环模式中操作时的功能性,输入时钟减少了添加值与最大累加器值的比率:
[0023]Foverflow= (NC0 时钟频率 * 增量值)/2 n,
[0024]其中η为以位为单位的累加器宽度。
[0025]可由额外逻辑170、175、185及195通过伸展脉冲或双态切换触发器而进一步修改NCO输出。然后可在内部将经修改的NCO输出散布到其它外围装置且任选地输出到外部引脚。累加器溢出也可产生中断NCOxIF。NCOxOUT信号周期以离散步长改变以形成平均频率。此输出取决于接收电路的对NCOxOUT输出求平均以减小不确定性的能力。
[0026]累加器160可为(举例来说)20位寄存器。可(举例来说)经由三个8位寄存器获得对累加器160的读取及写入存取。NCO加法器130可为独立于系统时钟操作的全加法器。先前结果与增量值的相加替换每一输入时钟的上升边缘上的累加器值。
[0027]增量值110可存储于两个8位寄存器110中,从而构成16位增量。这些寄存器110两者均可为可读取及可写入的。增量寄存器110可由如图3中所展示的缓冲器120进行双缓冲以允许在不首先停用NCO模块100的情况下做出值改变。当停用模块时缓冲器加载为即刻的。首先写入到增量寄存器110为必要的,这是因为在对增量寄存器110执行写入之后即与NCO操作同步地加载缓冲器120。
[0028]在固定工作循环(FDC)模式中,当多路复用器190选择第一输入时,每当累加器160溢出,输出即为双态切换的。此提供50%的工作循环,条件为增量值保持恒定。可在图5中所展示的背景窗中看到时序图。通过清除NCO控制寄存器中的相应控制位而选择FDC模式。
[0029]在脉冲频率(PF)模式中,每当累加器160溢出,输出即经由如图2中所展示的额外电路175、185、195变为作用一或多个时钟周期。一旦时钟周期期满,所述输出即返回到非作用状态。此提供脉冲式输出。所述输出在溢出事件之后立即在上升时钟边缘上变为作用的。作用及非作用状态的值取决于NCO控制寄存器中的极性位。经由多路复用器190通过设置NCO控制寄存器中的相应位NxPFM(其选择如图2中所展示的多路复用器190的第二输入)而选择PF模式。
[0030]当在PF模式中操作时,输出的作用状态可在宽度上变化多个时钟周期。针对控制多路复用器185的NCO时钟寄存器中的相应位选择各种脉冲宽度。当选定脉冲宽度大于累加器溢出时间帧时,NCO操作的输出可为不确定的。
[0031]NCO模块中的最后级为任选输出极性“或”门145。NCO控制寄存器中的NxPOL位选择输出极性。在启用中断时改变极性可造成所得输出转变的中断。可通过源代码或其它外围装置在内部使用NCO输出。
[0032]图2的常规数值控制振荡器100仅提供两种模式:50%的“固定”工作循环及“脉冲频率调制”模式(8个固定计数中的一者)。因此,其功能性为有限的。频率改变造成工作循环(PFM模式)的不想要的改变。
[0033]根据各种实施例,可增强数值控制振荡器以具有额外特征。根据各种实施例,举例来说,可增强NCO以允许任意工作循环选项。常规NCO不支持任意工作循环,而是仅支持固定数目个分接头。因此,可借助最小额外硅增强如图2中所展示的NCO以提供增强的功能性。
[0034]根据各种实施例,可增强(举例来说)供在微控制器中使用的NCO外围装置200的设计,如图3中所展示。如上文所论述,常规数值控制振荡器实施于微控制器(举例来说,8位微控制器装置,例如由申请人制造的PIC12/16F150X及PIC10F3xx系列)中。增强型数值控制振荡器通过提供输出任意工作循环的能力而极大地改进常规NCO设计。所述增强需要硅的极小增加且因此为极低成本改进。
[0035]如上文所陈述,如图2中所展示的常规NCO的选项仅提供固定50%的工作循环或基于寄存器位NxPWS的8个不同设置的固定“作用”时间。此给出极有限的工作循环选项。图3展示数值控制振荡器的经改进实施例。所述修改允许NCO将任意工作循环添加到此模块所提供的选项,而不干扰当前模式。为了实施此特征,由特殊功能寄存器中的NxPFM位控制的多路复用器210经扩展以提供额外选项。为此,控制多路复用器210,从而添加一个额外NxPFM位以选择四个输入中的一者。由多路复用器的二进制选择设计产生的第4个选项可用在增强型NCO外围装置的未来增强选项中且在图3中标记为“RFU”。
[0036]为实施任意工作循环,将数字(量值)比较块240与经缓冲工作循环寄存器220/230 —起使用。位的数目可等于累加器160,或者对于较简单实施方案来说可为较少的,其中当使
用较少位时,此情形中所使用的位将为最高有效位。当多路复用器210选择输入“11”时,所述输出设置控制NCOxOUT输出的作用状态及非作用状态的位,如图3中所展示。此改变展示于与如图2中所展示的常规解决方案相比具有额外元件的图3的电路图中。
[0037]将NCO 200中的累加器160的值与根据某些实施例可被缓冲的工作循环寄存器220/230进行比较。通过比较器240进行的比较的输出产生导致可变工作循环脉冲宽度调制(PWM)的信号,其中所述工作循环是基于工作循环寄存器220/230与累加器寄存器160的位之间的简单比率。因此,比较器240执行“大于”比较或根据另一实施例执行“等于或大于”比较。所述解决方案甚至在频率改变的情况下也允许固定工作循环,这是因为总是将工作循环寄存器230与总是为相同大小的累加器160进行比较。所展示的实例使用20个位,但可针对宽频率范围使用任何数目个位。
[0038]与其它NCO设计一样,增量寄存器110/120设置频率。不使用累加器160与工作循环寄存器220/230之间的比较结果来将所述输出复位。
[0039]任何常规NCO设计仅考虑导致50%的工作循环的溢出位。因此,通过真工作循环寄存器220/230的实施,增强型数值控制振荡器200准许任意工作循环选项且不仅8个时间选项。因此保存宽频率操作范围。根据某些实施例的实施方案可与如上文所论述的常规NCO代码兼容。最终,所述实施方案不需要许多额外逻辑或重新设计且因此提供低成本增强。
[0040]图4展示由真工作循环提供的效应。20位寄存器允许具有0.5ppm精确度的高达100%的工作循环的选择。因此,工作循环选择可仅由于抖动而为有限的,然而,可实施任何数目个位。
[0041]图5a在前窗中展示增强型数值控制振荡器的模拟输出值,其中选择10%的工作循环。图5a在前窗中展示增强型数值控制振荡器的模拟输出值,其中选择50%的工作循环。图5c在前窗中展示增强型数值控制振荡器的模拟输出值,其中选择90%的工作循环。
【主权项】
1.一种用具有可变频率的数字时钟信号产生输出信号的数值控制振荡器,其中所述数值振荡器是通过依据转移函数的可编程数值来控制的,并且包括经配置以将所述转移函数的输出与工作循环寄存器进行比较且产生所述输出信号的比较器。2.根据权利要求1所述的数值控制振荡器,其中所述转移函数为由加法器提供的加法,且其中所述可变频率的平均频率可由存储所述数值的增量寄存器控制,所述增量寄存器的内容由所述加法器加到具有溢出输出的累加器,且其中所述工作循环寄存器与包括“大于”或者“等于或大于”函数的所述比较器耦合。3.根据权利要求2所述的数值控制振荡器,其包括可操作以基于所述溢出输出或所述比较器的输出信号而选择输出信号的输出多路复用器。4.根据权利要求3所述的数值控制振荡器,其中所述加法器的第一输入与所述增量寄存器耦合,所述累加器通过可选择时钟信号计时且具有与所述加法器的输出耦合的输入及与所述加法器的第二输入耦合的输出,其中所述溢出输出和“与”门的第一输入耦合,所述“与”门的第二输入接收选定时钟信号,且触发器具有和所述“与”门的输出耦合的输入及与所述输出多路复用器的一个输入親合的输出。5.根据权利要求2所述的数值控制振荡器,其中所述增量寄存器被缓冲。6.根据权利要求1所述的数值控制振荡器,其中所述工作循环寄存器被缓冲。7.根据权利要求4所述的数值控制振荡器,其进一步包括通过控制信号控制以选择多个输入时钟信号中的一者的时钟输入多路复用器。8.根据权利要求7所述的数值控制振荡器,其中所述可选择时钟信号包括外部提供的时钟信号及/或内部提供的时钟信号。9.根据权利要求4所述的数值控制振荡器,其进一步包括具有与所述可选择时钟信号耦合的时钟输入的波纹计数器及具有与所述波纹计数器的计数器值寄存器耦合的多个输入的多路复用器,其中所述多路复用器的输出与SR触发器的复位输入耦合,所述SR触发器的设置输入与所述累加器的所述溢出输出耦合,所述SR触发器的反相输出将所述波纹计数器复位且所述SR触发器的非反相输出与所述输出多路复用器的另一输入耦合。10.根据权利要求9所述的数值控制振荡器,其进一步包括“与”门,所述“与”门具有与所述波纹计数器的所述时钟输入耦合的输出且具有接收所述可选择时钟信号的第一输入及与所述SR触发器的所述非反相输出耦合的第二输入。11.一种包括根据权利要求1所述的数值控制振荡器的微控制器。12.—种产生时钟信号的方法,其包括以下步骤: 由数值控制振荡器通过使数值依据转移函数而产生输出值来用具有可变频率的数字时钟信号提供输出信号, 提供与比较器耦合的工作循环寄存器,其中所述比较器将所述输出值与所述工作循环寄存器进行比较且在累加器的值等于或大于所述工作循环寄存器的值时产生所述输出信号。13.根据权利要求12所述的方法,其中由将所述数值加到具有溢出输出的累加器的加法器提供所述转移函数。14.根据权利要求13所述的方法,其进一步包括 选择所述溢出输出信号或所述比较器的输出信号作为所述数值振荡器的所述输出信号。15.根据权利要求14所述的方法,其进一步包括 将加法器的第一输入与增量寄存器親合, 通过可选择时钟信号对所述累加器进行计时,以及 将所述累加器的输入与所述加法器的输出耦合及将所述累加器的输出与所述加法器的第二输入耦合, 将所述累加器的所述溢出输出馈送到“与”门的第一输入,所述“与”门的第二输入接收选定时钟信号,及 将所述“与”门的输出信号馈送到具有输出的触发器,从而提供可选择时钟输出信号作为所述溢出输出信号。16.根据权利要求15所述的方法,其中所述增量寄存器被缓冲。17.根据权利要求12所述的方法,其中所述工作循环寄存器被缓冲。18.根据权利要求15所述的方法,其进一步包括由通过控制信号控制的时钟输入多路复用器选择时钟输入信号。19.根据权利要求18所述的方法,其中可选择时钟信号包括外部提供的时钟信号及/或内部提供的时钟信号。20.根据权利要求15所述的方法,其进一步包括通过具有与所述可选择时钟信号耦合的时钟输入的波纹计数器及具有与所述波纹计数器的计数器值寄存器耦合的多个输入的多路复用器提供另一时钟输出信号,其中所述多路复用器的输出与SR触发器的复位输入耦合,所述SR触发器的设置输入与所述累加器的所述溢出输出耦合,所述SR触发器的反相输出将所述波纹计数器复位且所述SR触发器的非反相输出提供所述另一时钟输出信号。21.根据权利要求20所述的方法,其进一步包括:通过“与”门对所述可选择时钟信号及由所述SR触发器的所述非反相输出提供的输出信号进行“与”运算;及将所述经“与”运算的信号馈送到所述波纹计数器的所述时钟输入。22.根据权利要求12所述的方法,其进一步包括控制所述数值控制振荡器的所述输出信号的极性。23.根据权利要求21所述的方法,其进一步包括提供所述“与”门的输出信号作为中断信号。24.根据权利要求12所述的方法,其进一步包括在微控制器内使用所述数字时钟信号。
【专利摘要】本发明揭示一种用具有可变频率的数字时钟信号产生输出信号的数值控制振荡器。所述数值振荡器是通过依据转移函数的可编程数值来控制的,并且包括经配置以将所述转移函数的输出与工作循环寄存器进行比较以产生所述输出信号的比较器。
【IPC分类】H03K5/26, H03K7/08, H03K3/72, G06F17/00, G06F1/08
【公开号】CN104904120
【申请号】CN201480004026
【发明人】布莱特·华特斯
【申请人】密克罗奇普技术公司
【公开日】2015年9月9日
【申请日】2014年2月21日
【公告号】US20140232474, WO2014130754A1