首页> 中国专利> 用于生成无失真脉宽调制波形的方法和设备

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

摘要

一种技术基于从处理器接收的一个序列编程周期和宽度值的组合来提供无失真且可预测的实时PWM波形。在一个示范实施例中,这通过如下方式实现:使用两组寄存器来存储周期和宽度值,以及三级周期寄存器进一步存储具有它们相关联的定时控制的周期值,以提供可预测的实时PWM波形。

著录项

  • 公开/公告号CN1898866A

    专利类型发明专利

  • 公开/公告日2007-01-17

    原文格式PDF

  • 申请/专利权人 模拟装置公司;

    申请/专利号CN200480038344.6

  • 发明设计人 T·P·林格;S·罗伊;

    申请日2004-10-22

  • 分类号H03K7/08(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人杨凯;陈景峻

  • 地址 美国麻萨诸塞州

  • 入库时间 2023-12-17 18:08:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-10-27

    未缴年费专利权终止 IPC(主分类):H03K 7/08 专利号:ZL2004800383446 申请日:20041022 授权公告日:20091014

    专利权的终止

  • 2009-10-14

    授权

    授权

  • 2007-03-14

    实质审查的生效

    实质审查的生效

  • 2007-01-17

    公开

    公开

说明书

技术领域

本发明一般涉及生成脉冲信号,更具体地来说,生成脉宽调制(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波形。这还允许最高速率的周期和宽度更新。

上述说明用于说明性而非限制性目的。对于本领域技术人员来说,显然还有许多其他实施例。因此,本发明的范围应由所附权利要求以及这些权利要求授权的等效项的全部范围来确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号