用于生成无失真脉宽调制波形的方法和设备的制作方法

文档序号:6502839阅读:184来源:国知局
专利名称:用于生成无失真脉宽调制波形的方法和设备的制作方法
技术领域
本发明一般涉及生成脉冲信号,更具体地来说,生成脉宽调制(PWM)波形。
背景技术
脉宽调制(PWM)信号发生器用于多种电路,包括嵌入式控制器、音频处理器和电动机控制电路。一般来说,PWM信号发生器采用一种由系统时钟信号生成矩形时钟信号的锁相环电路,以及用于由矩形时钟信号和调制信号产生PWM信号的PWM控制器。一般来说,PWM控制器对于处理器来说是外围装置,并可通过由用户程序改变周期和宽度值来调制PWM信号。
在要控制PWM信号的周期和宽度值的情况下,对于处理器来说必须管理周期和宽度值的写入定时,以便防止PWM信号在非期望的时间以及周期和宽度值组合生成。此外,高速改变周期和宽度值可能导致PWM波形非期望定时形式的失真,并还可能导致非期望的周期和宽度值组合。这些缺点可使当前的PWM波形发生器不适于关键的实时应用。
一种当前的PWM波形发生器类型,尝试在要控制周期和宽度值时生成可靠的PWM波形,它根据从控制器接收的一个序列的周期设置值和宽度设置值的组合生成PWM信号。上述PWM波形发生器将两个寄存器用于周期值以及另两个寄存器用于宽度值。写历史标志控制传输许可信号,以将周期和宽度值从一组寄存器移到下一组。
上述PWM波形发生器的一个潜在问题是,当在PWM循环边界的对侧上发生周期和宽度更新/改变时,它无法生成期望的波形。再者,该技术不响应这些更新,以在周期和宽度更新在连续PWM周期中持续发生在PWM循环边界对侧上时提供期望的波形。当生成PWM波形时,周期和/或宽度更新一般发生在几乎PWM信号的每一周期。如果周期和宽度更新发生在每个PWM信号循环中PWM循环边界的对侧上,则更新/改变决不会通过上述PWM波形发生器得以实现。
通常困难的是,当使用运行在处理器上的软件写寄存器时,顺序地控制更新以发生在PWM波形循环的期望位置(以同时发生或在PWM循环边界内)。更困难的是,当使用运行在处理器上的软件程序时,在需要进行高速改变时控制周期和宽度更新以发生在期望的位置。此外,当处理器工作时,对软件添加额外功能特征以监控和控制周期和宽度更新的定时增加了处理器上的负载。因此,该技术不足以可靠地生成期望的实时高频PWM波形。

发明内容
本发明提供一种技术,用于基于从处理器接收的一个序列的编程周期和宽度值组合生成无失真、可靠且可预测的实时PWM波形。在一个示范实施例中,这通过在接收到周期和宽度写信号时分别将当前周期和宽度值存储在初级周期和宽度寄存器中来实现。然后使用这些周期和宽度值计算次级周期值。再者,在接收到宽度写信号时,分别将宽度值和次级周期值存储在次级宽度和周期寄存器中。然后递减计数器具有宽度值,并然后将次级周期值存储在三级周期寄存器。然后在每个时钟循环对宽度值递减计数,直到宽度值达到零为止,并输出终止宽度信号,并然后加载次级周期值。然后在每个时钟循环对次级周期值递减计数,直到它达到零为止,并输出终止周期信号。然后基于终止周期和宽度信号生成PWM信号。对于从处理器接收的下一组周期和宽度值自身重复上述过程。


图1是PWM波形发生器的一个示范实施例的框图。
图2是说明使用图1所述的PWM波形发生器生成的所有定时信号的时序图。
图3是说明如图1所示当周期和宽度更新发生在PWM循环边界的对侧时使用PWM波形发生器生成的所有定时信号的时序图的另一个实施例。
图4是说明如图1所示当生成最低可能PWM循环周期时使用该PWM波形发生器生成的所有定时信号的时序图的另一个实施例。
图5是说明基于实时生成无失真PWM波形的方法流程图。
具体实施例方式
本发明主题提供一种体系结构,用于基于从处理器接收的一个序列的编程周期和宽度值组合生成无失真且可预测的实时PWM波形。在一个示范实施例中,使用可编程脉宽调制(PWM)波形发生器生成具有期望的宽度和周期组合的无失真且可靠的PWM信号来生成PWM波形。PWM发生器对于数字信号处理器(DSP)是外围装置,它可快速地改变周期和宽度值。该PWM波形发生器适于其中DSP需要生成可预测PWM波形的关键实时应用。这通过使用存储周期和宽度值的两组寄存器以及具有其定时控制的周期值的特殊三级周期寄存器来实现。该体系结构还可基于实时且无任何失真地生成具有一个时钟循环的宽度和两个时钟循环的周期的PWM波形。上述所有这些功能特征通过基于目前技术在硬件上最小增加来实现。
在下文对本发明实施例的详细说明中,参考了构成其一部分的附图,并且在附图中以图示方式示出了可以实施本发明的具体实施例。对这些实施例予以足够详细地描述,以使本领域技术人员能够实施本发明,并要理解,可以利用其他实施例,以及在不背离本发明范围的前提下可以进行改变。因此,下文的详细说明不应认为是限制意义,并且本发明的范围仅由所附权利要求书来定义。
在整个文档中术语“循环”和“周期”是可互换使用的。此外,在整个文档中术语“宽度”和“占空”是可互换使用的。术语“存储单元”和“寄存器”也表示同一个概念,指存储器单元。此外,在整个文档中术语“写”和“更新”是可互换使用的。再者,术语“时钟循环”表示系统时钟循环。术语“处理器”表示“数字信号处理器”、“微控制器”、“音频处理器”、“微处理器”等。
现在参考图1,图示有根据本发明主题的PWM波形发生器100的一个示范实施例。PWM波形发生器100包括初级周期寄存器105和初级宽度寄存器110。在一些实施例中,初级周期寄存器105和初级宽度寄存器110是存储器映射的寄存器。PWM波形发生器100还包括与初级周期寄存器105和初级宽度寄存器110耦合的减法器115。PWM波形发生器100还包括与减法器115耦合的次级周期寄存器120以及与初级宽度寄存器110耦合的次级宽度寄存器125。
如图1所示,PWM波形发生器100还包括三级周期寄存器130、递减计数器135、状态机140、定时控制器145、配置寄存器150和末级输出波形发生器155。还如图1所示,PWM波形发生器100还包括以操作方式耦合以从用户程序165接收程序指令的DSP核160。再如图1所示,DSP核160经由数据总线170耦合到PWM波形发生器100。再如图1所示,PWM波形发生器100和DSP核160是DSP片上系统(SoC)的组件。
操作中,在一个示范实施例中,当在DSP核160上执行的用户程序165改变PWM波形发生器100中的周期和宽度值时,在分别从用户程序165接收到初级周期寄存器写信号和初级宽度寄存器写信号时,分别将当前周期和宽度值存储在初级周期和宽度寄存器105和110。在一些实施例中,初级周期和宽度寄存器105和110经由数据总线170接收当前周期和宽度值以及相关联的初级寄存器写信号。
然后减法器115从初级宽度寄存器110接收宽度值并从初级周期寄存器105接收周期值,并用接收的宽度和周期值计算次级周期值。
递减计数器135按每个时钟循环对加载的编程宽度值递减计数,直到它达到零为止,并当递减计数器达到零时生成EXPIRE(终止)信号。状态机140基于EXPIRE信号生成状态值。(EXPIRE信号和状态值的生成参考图2予以更详细的解释)。在一些实施例中,状态机140从递减计数器135接收EXPIRE信号,并输出状态值。使用EXPIRE信号连同状态值来生成终止宽度和终止周期信号。
定时控制器145然后在从用户程序165接收到初级宽度寄存器写信号时生成次级存储单元写控制信号。定时控制器145还基于从递减计数器135接收的EXPIRE信号以及从状态机140接收的状态值生成三级周期寄存器写信号。三级周期寄存器写信号是位于当前PWM循环边界的单个时钟循环脉冲。EXPIRE信号连同状态值在内部被定时控制器145和末级输出波形发生器155用于产生终止宽度和终止周期信号。此外,定时控制器145还基于终止周期信号生成宽度更新计数器信号并基于终止宽度信号生成周期更新计数器信号。在这些实施例中,宽度更新计数器信号和三级周期寄存器写信号在时间域是相同的信号。
次级周期和宽度寄存器120和125在从定时控制器145接收到次级存储单元写控制信号时分别存储次级周期和宽度值。三级周期寄存器130在接收到三级周期寄存器写信号时从次级周期寄存器120接收次级周期值,并将次级周期值存储在三级周期寄存器130。
然后递减计数器135在从定时控制器145接收到宽度更新计数器信号时从次级宽度寄存器125接收宽度值,并基于该宽度值生成EXPIRE信号。该EXPIRE信号对应于终止宽度信号。递减计数器135还在生成EXPIRE信号时从三级周期寄存器130接收次级周期值,并基于该周期值再次生成EXPIRE信号。该EXPIRE信号对应于终止周期信号。在一些实施例中,递减计数器135按每个时钟循环对加载的编程宽度值递减计数,直到递减计数器达到零为止,并然后生成终止宽度信号。同样在这些实施例中,递减计数器135按每个时钟循环对加载的编程次级周期值递减计数,直到递减计数器达到零为止,然后生成EXPIRE信号。
然后末级输出波形发生器155从递减计数器135接收EXPIRE信号,并从状态机140接收状态值,以在内部生成终止周期和宽度信号。然后末级输出波形发生器155实时地生成PWM信号,作为终止周期和宽度信号的函数。配置寄存器150从用户程序165接收控制信号,并输出配置信号。末级输出波形发生器155基于该配置信号生成PWM信号或它的反信号。在这些实施例中,末级输出波形发生器155基于终止周期和宽度信号以及配置信号输出PWM信号。同样在这些实施例中,末级输出波形发生器155生成具有1个时钟循环的宽度和2个时钟循环的周期的PWM波形。在一些实施例中,末级输出波形发生器155基于终止周期信号、终止宽度信号、状态值和配置信号输出PWM信号。
现在参考图2,图示有根据本发明实施例使用图1所示PWM波形发生器生成的所有定时信号200。定时信号基于用户更新周期和宽度时的时间并还基于状态机140的状态来控制通过初级周期和宽度寄存器105和110、次级周期和宽度寄存器120和125以及三级周期寄存器130的数据流。递减计数器135对次级宽度值和三级周期值操作。末级输出波形发生器155输出逻辑1或逻辑高,视状态而定。当递减计数器135达到零时,状态机140的状态从状态A改变到状态B,反之亦然,如图2中定时信号260所示。可以设想,当使用周期和宽度的反值时,使用递增计数器代替递减计数器,虽然它们在概念上是相同的。
图2还示出了生成的输出PWM波形205。生成初级周期和宽度写信号,如定时信号P1和W1210和215所示。在一些实施例中,用户首先更新定时信号210中所示的周期值。一旦用户更新了该周期值,也就必须更新宽度值,如定时信号210和215所示。PWM波形发生器100可以只更新宽度,这在许多情况中是必不可少的,诸如与通信相关的PWM,其中周期值对应于恒定的取样周期。在这些实施例中,更新宽度值是实际上在下一个时钟循环将周期和宽度值从初级周期和宽度寄存器105和110分别转移到它们各自的次级周期和宽度寄存器120和125,如定时信号230、235、220和225所示。周期和宽度值从初级寄存器转移到次级寄存器是基于接收到次级存储单元写控制信号,如图使用定时信号P2W2 240。次级周期寄存器实际上获取所计算的次级周期值(周期值-宽度值)。
在PWM循环中,最初对于对应于宽度值的特定数量的时钟循环生成逻辑高。在生成逻辑高之后,对于次级周期值时钟循环的周期生成逻辑低。状态机140在前一种情况中处于状态A,而在后一种情况中处于状态B,如定时信号260所示。控制比特当设置时可以生成配置信号,配置信号又可以生成对应于状态A的逻辑低以及对应于状态B的逻辑高。在状态A开始时,用次级周期寄存器值加载三级周期寄存器130,如定时信号255中所示。这对应于定时信号P3250。三级周期寄存器130阻止任何周期变化,以在当前PWM循环期间转到递减计数器135。同样,递减计数器135加载对应于宽度更新计数器信号LD_WDT 280的次级宽度寄存器值,并开始递减计数,直到递减计数器达到零值为止。在最后一个计数循环中,生成EXPIRE信号270,如定时信号280所示。这对应于终止宽度信号。在状态A结束时,状态B开始,并且递减计数器135加载有对应于周期更新计数器信号LD_PRD的三级周期寄存器值,如定时信号260和285所示。再者,递减计数器135递减计数,直到它达到零值为止。现在它再次生成EXPIRE信号,如定时信号290所示。这对应于终止周期信号。因此,在状态B生成EXPIRE信号时,递减计数器135加载宽度值,如定时290和295所示。类似地,在状态A中生成EXPIRE信号时,递减计数器135加载(周期-宽度)的值,即,次级周期值。在每个时钟循环的其他时间,递减计数器按单位元素递减计数。这样结束了输出PWM波形的完整周期。该机制允许由DSP高速地且无任何失真地生成高频PWM波形。将此类可靠性特征添加到DSP对DSP资源的影响最小,并在DSP硬件上的增加最小。对于PWM波形发生器100生成的下一个PWM波形,上述过程自身重复。
现在参考图3,图示有根据本发明另一个实施例的所有定时信号300,它与图2所示的定时信号相似,用图1所示的PWM波形发生器100生成。图3示出了本发明主题如何解决一个序列周期和宽度更新/改变例如PA、PB和PC310以及WA、WB和WC320发生在PWM周期边界330的对侧时的可靠性问题。生成定时信号300已在上文参考图2详细描述了。图3中所示的定时信号清楚图示了当周期和宽度更新/改变310和320发生在PWM循环340、350和360所示的序列中的PWM边界310上时无任何失真地生成PWM波形。
现在参考图4,图示有根据本发明一个实施例的所有定时信号400,它用图1所示的PWM波形发生器生成。再者,图4所示的定时信号与图2和3所示的定时信号相似,并且这些定时信号的生成已参考图2予以更详细描述。图4图示了无任何失真地无缝生成具有一个时钟循环的宽度以及两个时钟循环的周期的PWM波形。
现在参考图5,图示有根据本发明的方法实施例500。在510,在本示范实施例中的方法500通过DSP核经由数据总线从用户程序接收一个序列的编程周期和宽度值组合及其相关联的初级周期和宽度写信号。在520,将所接收序列的编程周期和宽度值组合的每一个存储在初级周期和宽度寄存器。
在530,在从定时控制器接收到次级存储单元写信号时,通过从初级宽度寄存器获取编程宽度值,来将编程宽度值存储到次级宽度寄存器。
在540,通过从编程周期值减去编程宽度值来计算次级周期值。在550,在从定时控制器接收到次级存储单元写控制信号时,将计算的次级周期值存储在次级周期寄存器中。在一些实施例中,当接收到初级宽度寄存器写信号时,生成次级存储单元写控制信号。在560,当从定时控制器接收到三级周期寄存器写信号时,还将次级周期值存储在三级周期寄存器中。
在560,在从定时控制器接收到宽度更新计数器写信号时,通过从次级宽度寄存器获取编程宽度值,来用编程宽度值加载递减计数器。宽度更新计数器信号和三级周期寄存器写信号在时间域上是相同的。在一些实施例中,基于分别从状态机和递减计数器接收的状态信号和EXPIRE信号,生成三级周期寄存器写信号。在570,按每个时钟循环对加载的编程宽度值递减计数,并当递减计数器达到零时,产生终止宽度信号。此外,生成计数宽度信号,直到产生终止宽度信号为止。
在580,在产生终止宽度信号时并在从定时控制器接收到周期更新计数器信号时,将次级周期值加载到递减计数器。在590,对加载的次级周期值递减计数,直到递减计数器达到零为止,并生成终止周期信号。此外,生成计数周期信号,直到产生终止周期信号为止。在这些实施例中,使用状态信号连同EXPIRE信号来生成与当前PWM信号相关联的终止周期和宽度信号。状态信号包括当前PWM信号的边界信息。同样在这些实施例中,基于状态信号,生成宽度更新和周期更新计数器信号。
在592,基于产生的终止周期和宽度信号生成PWM信号。在一些实施例中,生成配置信号,以使该配置信号能生成PWM波形的反。在这些实施例中,基于配置信号以及终止周期和宽度信号生成PWM信号。对于从用户程序通过DSP核接收的下一编程周期和宽度值,上述方法500自身重复。
虽然方法500包括在该示范实施例中串行排列的框510-592,但是本主题的其他实施例也可使用多个处理器或组织两个或更多个虚拟机或子处理器的单个处理器来执行两个或更多个并行的框。此外,再一些实施例可以作为两个或更多个特定互连的硬件模块来实现这些框,硬件模块具有在这些模块之间和通这些模块通信的相关控制和数据信号,或作为专用集成电路的一部分来实现。因此,该示范流程图可应用于软件、固件和/或硬件实现。
本文所述的PWM波形发生器、系统和方法的各种实施例一般可应用于生成具有期望周期和宽度值组合的无失真且可靠的PWM信号。本发明主题的PWM波形发生器对于数字信号处理器(DSP)来说是外围装置,它可基于实时地改变周期和宽度值。上述的PWM波形发生器高度适用于其中DSP需要生成无失真PWM信号的关键实时应用。而且,上述技术生成了具有一个时钟循环宽度和两个时钟循环周期的最高可达频率的高速PWM波形。这还允许最高速率的周期和宽度更新。
上述说明用于说明性而非限制性目的。对于本领域技术人员来说,显然还有许多其他实施例。因此,本发明的范围应由所附权利要求以及这些权利要求授权的等效项的全部范围来确定。
权利要求
1.一种包括PWM波形发生器[100]的设备,所述PWM波形发生器基于从处理器接收的编程周期和宽度值组合的序列及其相关联的初级周期和初级宽度更新实时地生成可预测的脉宽调制(PWM)信号。
2.如权利要求1所述的设备,其中接收的初级周期和初级宽度更新中的每一个可以发生在正在生成的当前PWM信号的PWM信号边界上或之内。
3.如权利要求1所述的设备,其中所述PWM波形发生器包括初级周期和初级宽度存储单元[105和110],其中在从所述处理器接收到所述初级周期和初级宽度更新时,分别将接收的周期和宽度值存储在所述初级周期和初级宽度存储单元[105和110];分别与所述初级周期和初级宽度存储单元[105和110]耦合的次级周期和次级宽度存储单元[120和125],其在接收到次级存储单元写控制信号时,从所述初级周期和初级宽度存储单元[105和110]接收所述周期和宽度值,并将其分别存储在所述次级周期和次级宽度存储单元[120和125];与所述次级周期存储单元[120]耦合的三级周期存储单元[130],它基于三级周期寄存器写信号从所述次级周期存储单元[120]接收所述周期值,并将所述周期值存储在所述三级存储单元[130];与所述次级宽度存储单元[125]和所述三级周期存储单元[130]耦合的递减计数器[135],它在接收到宽度更新计数器信号时从所述次级宽度存储单元[125]接收所述宽度值,其中所述递减计数器[135]在每个时钟循环对加载的宽度值递减计数,直到所述递减计数器[135]达到零为止,其中所述周期值然后从所述三级周期存储单元[130]加载到所述递减计数器[135],其中所述递减计数器[135]每一时钟循环递减计数,直到它达到零为止,并且其中所述递减计数器[135]在达到零时生成EXPIRE信号;以及与所述递减计数器[135]耦合的末级输出波形发生器[155],它从所述递减计数器[135]接收所述EXPIRE信号,并实时地生成所述PWM信号。
4.如权利要求3所述的设备,其中所述PWM波形发生器[100]还包括与所述递减计数器[135]、末级输出波形发生器[155]和定时控制器[145]耦合的状态机[140],其中所述状态机[140]从所述递减计数器[135]接收所述EXPIRE信号,并生成状态信号。
5.如权利要求4所述的设备,其中所述PWM波形发生器[100]还包括数据总线[170],所述数据总线耦合在所述处理器[160]与所述初级周期和初级宽度存储单元[105和110]之间,以将所述周期和宽度值及其相关联的初级周期和初级宽度更新从所述处理器[160]传送到所述初级周期和初级宽度存储单元[105和110]。
6.如权利要求4所述的设备,其中所述PWM波形发生器[100]还包括经所述数据总线[170]和所述递减计数器[135]与所述处理器[160]耦合的定时控制器[145],它在从所述处理器接收到所述初级宽度更新时生成次级存储单元写控制信号,其中所述定时控制器[145]基于从所述递减计数器[135]接收的所述EXPIRE信号以及从所述状态机[140]接收的状态值生成三级周期寄存器[130]写信号,其中所述三级周期寄存器写信号是在当前PWM信号边界处的单个时钟循环脉冲,其中所述定时控制器[145]和所述末级输出波形发生器[155]使用所述EXPIRE信号连同所述状态值在内部生成终止宽度和终止周期信号,并且其中所述定时控制器[145]还基于所述终止周期信号生成宽度更新计数器信号,并基于所述终止宽度信号生成周期更新计数器信号。
7.如权利要求6所述的设备,其中所述PWM波形发生器[100]还包括经数据总线[170]与所述处理器[160]耦合的配置存储单元[150],它在通过所述数据总线[170]从所述处理器[160]接收到所述周期和宽度值时接收控制信号,并输出配置信号,其中所述末级输出波形发生器[155]基于所述终止周期和宽度信号以及所述配置信号生成PWM信号或所述PWM信号的反信号。
8.如权利要求7所述的设备,其中所述PWM波形发生器[100]还包括减法器[115],其耦合在所述初级周期存储单元[105]与所述次级周期存储单元[120]之间,并还耦合到所述初级宽度存储单元[110],其中所述减法器[115]从所述初级宽度存储单元[110]接收所述宽度值且从所述初级周期存储单元[105]接收所述周期值,并使用接收的周期和宽度值计算次级周期值,其中所述三级存储单元[130]在从所述定时控制器接收到所述三级周期寄存器写信号时接收所述次级周期值,并且其中所述递减计数器在接收到所述周期更新计数器信号时从所述三级周期存储单元接收所述次级周期值,并输出对应于所述终止周期信号的EXPIRE信号。
9.一种用于基于从处理器[160]接收的编程周期和宽度值组合的序列生成PWM波形的设备,包括初级周期存储单元[105],它在从所述处理器[160]接收到初级周期存储单元写信号时存储当前编程周期值;初级宽度存储单元[110],它在从所述处理器[160]接收到初级宽度存储单元写信号时存储当前编程宽度值;递减计数器[135],它在达到零值时生成EXPIRE信号;状态机[140],它从所述递减计数器[135]接收所述EXPIRE信号,并生成状态信号;定时控制器[145],它从所述处理器[160]接收所述初级宽度存储单元写信号,并在接收到所述初级宽度存储单元写信号时输出次级存储单元写控制信号,其中所述定时控制器[145]基于所述EXPIRE和所述状态信号生成三级周期寄存器写信号,并且其中所述定时控制器[145]还基于所述EXPIRE和所述状态信号生成宽度更新计数器信号和周期更新计数器信号;次级宽度存储单元[125],它在接收到所述次级存储单元写控制信号时,从所述初级宽度存储单元[110]接收所述当前宽度值;减法器[115],它分别从所述初级周期存储单元[105]和所述初级宽度存储单元[110]接收所述当前周期和宽度值,并输出次级周期值;次级周期存储单元[120],它在接收到所述次级存储单元写控制信号时,从所述减法器[115]接收所述次级周期值;三级周期寄存器[130],它在从所述定时控制器[145]接收到所述三级周期寄存器写信号时,从所述次级周期存储单元[120]接收所述次级周期值,其中所述递减计数器[135]在接收到所述宽度更新计数器信号时接收所述当前宽度值,而在接收到所述周期更新计数器信号时从所述三级周期寄存器[130]接收所述次级周期值,并输出EXPIRE信号;以及末级输出波形发生器[155],它基于所述EXPIRE信号和所述状态信号输出当前PWM波形。
10.如权利要求9所述的设备,还包括配置寄存器[150],它在输出所述周期和宽度值时从所述处理器[160]接收控制信号,并输出配置信号,其中所述末级输出波形发生器[155]基于所述配置信号输出所述PWM波形或其反。
11.如权利要求10所述的设备,其中所述末级输出波形发生器[155]生成具有一个时钟循环的宽度以及两个时钟循环的周期的PWM波形。
12.如权利要求9所述的设备,还包括总线[170],其耦合在DSP核[160]与所述初级周期寄存器[105]、所述初级宽度寄存器[110]以及所述配置寄存器[150]之间,以将所述初级周期值和所述初级宽度值从所述DSP核[160]分别传送到所述初级周期寄存器[105]和所述初级宽度寄存器[110]。
13.如权利要求9所述的设备,其中所述初级周期和初级宽度存储单元[105和110]是存储器映射的寄存器。
14.一种用于生成实时无失真的PWM信号的DSP片上系统(SoC),包括DSP核[160],它从用户程序接收当前编程周期和宽度值及其相关联的周期和宽度更新信号;与所述核[160]耦合的数据总线[170];与所述数据总线[170]耦合的初级周期和初级宽度寄存器[105和110],其在从所述DSP核[160]经所述数据总线[170]分别接收到所述周期和宽度写信号时,将所述当前编程周期和宽度值存储在所述初级周期和初级宽度寄存器[105和110];分别与所述初级周期和初级宽度寄存器[105和110]耦合的次级周期和次级宽度寄存器[120和125],其在接收到次级存储单元写控制信号时,从所述初级周期和初级宽度寄存器[105和110]接收所述当前编程周期和宽度值;与所述次级周期寄存器[120]耦合的三级周期寄存器[130],它存储所述PWM信号循环的开始边界处的周期值;与所述次级宽度寄存器[125]和所述三级周期寄存器[130]耦合的递减计数器[135],它接收所述PWM信号的开始边界处的当前编程宽度值,其中所述递减计数器[135]在达到零值时生成EXPIRE信号,其中所述周期值然后从所述三级周期存储单元[130]加载到所述递减计数器[135],其中所述递减计数器[135]每一时钟循环递减计数,直到它达到零为止,并且其中所述递减计数器[135]在达到零时生成EXPIRE信号;以及与所述递减计数器[135]耦合的末级输出波形发生器[155],它接收所述EXPIRE信号,并生成所述PWM信号。
15.如权利要求14所述的DSP SoC,还包括减法器[115],其与所述初级周期和初级宽度寄存器[105和110]以及所述次级周期寄存器[120]耦合,以从所述初级周期和初级宽度寄存器[105和110]接收所述当前编程周期和编程宽度值,并通过从所述当前编程周期值减去所述当前编程宽度值来生成次级周期值。
16.如权利要求15所述的DSP SoC,还包括定时控制器[145],其耦合到所述数据总线[170]、所述递减计数器[135]、所述次级周期和次级宽度寄存器[120和125]以及所述三级周期寄存器[130],以在从所述DSP核[160]经所述总线[170]接收到所述宽度写信号时,生成所述次级存储单元写控制信号,其中所述定时控制器[145]接收所述次级周期值和所述当前编程宽度值,并基于所述EXPIRE信号生成三级周期寄存器写信号,并且其中所述定时控制器[145]还基于所述当前编程宽度值生成宽度写计数器信号,并基于所述次级周期值生成周期写计数器信号。
17.如权利要求16所述的DSP SoC,还包括状态机[140],所述状态机耦合到所述定时控制器[145]、所述递减计数器[135]和所述末级输出波形发生器[155],以从所述递减计数器[135]接收所述EXPIRE信号,并生成状态信号,其中所述定时控制器[145]和所述末级输出波形发生器[155]使用所述EXPIRE信号和所述状态信号在内部生成终止宽度和终止周期信号。
18.如权利要求16所述的DSP SoC,其中所述递减计数器[135]在从所述定时控制器[145]接收到所述宽度写计数器信号时,基于所述当前编程宽度值,生成对应于所述终止宽度值的EXPIRE信号,并且其中所述递减计数器[135]在生成所述EXPIRE信号时,从所述三级周期寄存器[130]接收所述次级周期值,并在接收到所述周期写计数器信号时,基于所述次级周期值,再生成所述EXPIRE信号。
19.如权利要求18所述的DSP SoC,还包括配置寄存器[150],其耦合到所述数据总线[170]和所述末级输出波形寄存器[155],以在输出所述周期和宽度值时从所述处理器[160]接收控制信号,并输出配置信号,其中所述末级输出波形发生器[155]基于所述配置信号生成所述PWM信号或所述PWM信号的反信号。
20.一种包括片上系统(SoC)的音频处理器,所述片上系统基于从所述音频处理器接收的编程周期和宽度值组合的序列及其相关联的周期和宽度更新实时地生成可预测的脉宽调制(PWM)信号,其中接收的周期和宽度更新中的每一个可以在正在生成的当前PWM信号的PWM信号边界上或之内。
21.如权利要求20所述的音频处理器,其中所述SoC包括初级周期和初级宽度存储单元[105和110],其中在从所述音频处理器接收到所述周期和宽度更新时,分别将接收的周期和宽度值存储在所述初级周期和初级宽度存储单元[105和110];次级周期和次级宽度存储单元[120和125],分别耦合到所述初级周期和初级宽度存储单元[105和110],以在接收到所述宽度更新时,从所述初级周期和初级宽度存储单元[105和110]接收所述周期和宽度值,并将其分别存储在所述次级周期和次级宽度存储单元[120和125];与所述次级周期存储单元[120]耦合的三级周期存储单元[130],它基于三级周期寄存器写信号从所述次级周期存储单元[120]接收所述周期值,并将所述周期值存储在所述三级存储单元[130];递减计数器[135],其耦合到所述次级宽度存储单元[125]和所述三级周期存储单元[130],以在接收到所述宽度写计数器信号时,从所述次级宽度存储单元[125]接收所述宽度值,其中所述递减计数器[135]在达到零值时生成EXPIRE信号;以及末级输出波形发生器[155],其耦合到所述递减计数器[135],以从所述递减计数器接收所述EXPIRE信号,并实时地生成所述PWM信号。
22.如权利要求21所述的音频处理器,其中所述初级周期和初级宽度存储单元[105和110]是存储器映射的寄存器。
23.一种用于实时地生成无失真PWM信号的微控制器,包括在从所述微控制器核接收到初级周期存储单元写信号时存储编程周期值的部件;在从所述微控制器核接收到初级宽度存储单元写信号时存储编程宽度值的部件;对所述周期和宽度值递减计数并生成终止周期信号和终止宽度信号的部件;从所述微控制器核接收所述初级宽度存储单元写信号并在存储所述宽度值时输出次级存储单元写控制信号的部件,其中接收所述初级宽度存储单元写信号的所述部件基于所述终止周期信号生成三级周期寄存器写信号,并且其中接收所述初级宽度存储单元写信号的所述部件还基于所述终止周期信号生成宽度更新计数器信号,并基于所述终止宽度信号生成周期更新计数器信号;在接收到所述次级存储单元写控制信号时接收所述宽度值的部件;接收所述周期和宽度值并从所述周期值减去所述宽度值并且输出次级周期值的部件;在接收到所述次级存储单元写控制信号时接收所述次级周期值的部件;在接收到所述三级周期寄存器写信号时接收所述次级周期值的部件;在接收到所述宽度更新计数器信号时接收所述宽度值且还在接收到所述周期更新计数器信号时接收所述次级周期值并且基于接收的宽度值输出终止宽度信号并基于所述次级周期值输出终止周期信号的部件;以及基于所述终止周期和宽度信号输出所述PWM信号的部件。
24.如权利要求23所述的微控制器,还包括从所述微控制器核接收所述周期和宽度值并输出配置信号的部件,其中所述末级输出波形发生器[155]基于所述配置信号生成PWM信号。
25.一种用于基于从处理器接收的编程周期和宽度值组合的序列实时地生成可预测脉宽调制(PWM)信号的方法。
26.如权利要求25所述的方法,其中接收的编程周期和宽度写更新组合中的每个都可发生在正在生成的当前PWM信号的PWM信号边界上或之内。
27.如权利要求26所述的方法,其中生成所述PWM信号包括接收所述编程周期和宽度值组合的序列及其相关联的初级周期和宽度写信号;在接收到所述初级周期写和宽度写信号时,将所述编程周期和宽度值中的每一个分别存储在初级周期和宽度寄存器;在接收到次级存储单元写控制信号时,通过从所述初级宽度寄存器获取所述编程宽度值将所述编程宽度值存储到次级宽度寄存器;通过从所述编程周期值减去所述编程宽度值来计算次级周期值;在接收到所述次级存储单元写控制信号时,将所述次级周期值存储到次级周期寄存器;在接收到三级周期寄存器写信号时,将所述次级周期值存储到三级周期寄存器;在接收到所述宽度更新计数器信号时,通过从所述次级宽度寄存器获取所述编程宽度值,来用所述编程宽度值加载递减计数器;每个时钟信号对加载的编程宽度值计数,以产生终止宽度信号;在产生所述终止宽度信号时和在接收到周期更新计数器信号时,将所述次级周期值加载到所述递减计数器中;每个时钟信号对加载的次级周期值计数,以产生终止周期信号;以及基于所述终止周期和宽度信号生成所述PWM信号。
28.如权利要求27所述的方法,还包括在接收到控制信号时生成配置信号;以及基于所述配置信号以及所述终止周期和宽度信号,生成所述PWM信号。
29.如权利要求27所述的方法,其中根据宽度定时信号对加载的编程宽度值计数以产生所述终止宽度信号包括加载对应于所述宽度更新计数器信号的所述编程宽度值;以及按每个时钟循环对加载的编程宽度值递减计数,直到所述递减计数器达到零为止,并然后产生所述终止宽度信号。
30.如权利要求27所述的方法,其中根据周期定时信号对加载的次级周期值计数以产生所述终止周期信号包括加载对应于所述周期更新计数器信号的所述编程次级周期值;及按每个时钟循环对加载的次级周期值递减计数,直到所述递减计数器达到零为止,并然后产生所述终止周期信号。
31.如权利要求27所述的方法,还包括在接收到所述初级宽度寄存器写信号时,生成所述次级存储单元写控制信号;以及基于所述终止周期信号,生成所述三级周期寄存器写信号。
全文摘要
一种技术基于从处理器接收的一个序列编程周期和宽度值的组合来提供无失真且可预测的实时PWM波形。在一个示范实施例中,这通过如下方式实现使用两组寄存器来存储周期和宽度值,以及三级周期寄存器进一步存储具有它们相关联的定时控制的周期值,以提供可预测的实时PWM波形。
文档编号G06F1/025GK1898866SQ200480038344
公开日2007年1月17日 申请日期2004年10月22日 优先权日2003年10月27日
发明者T·P·林格, S·罗伊 申请人:模拟装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1