可程式设计斜坡产生器(PRG)(在Microchip的几款8位元PIC微控制器上提供)是一种高度灵活的类比周边,旨在简化需要电压线性变化的应用。顾名思义,PRG能够以软体的方式控制其输出产生上升、下降或交替的上升/下降斜坡。经过简易的设定后,周边能够独立于核心外自主运行外,进而释放中央处理单元(CPU)的效能来执行其他任务,进入低功耗模式或以其它方式在系统中承担更多监督角色。
透过控制整合的恒流源可以动态调整上升和下降时间。凭借灵活的输入和输出选项,设计人员可以自由地与晶片外讯号源或微控制器上其他周边的讯号互连。这通常会使系统回应更快,同时可通过减少外部元件数量来尽可能减少潜在的噪音源及缩小应用尺寸。图一显示周边的框图。
用于配置 PRG 的有用工具是 MPLAB 程式产生器(MCC),这是一个简单易用的 MPLAB X整合式开发环境(IDE)外挂程式,见图二。它可产生用于控制和驱动 Microchip PIC 微控制器周边(如PRG)的驱动程式。 PRG 可以实现不同的功能,每个功能都可以使用 MCC 进行设置。
三角波产生器
三角波产生器(TWG)产生周期性的非正弦波形,其三角形形状具有相等的上升和下降时间。要产生三角波,PRG必须配置为交替上升和下降模式。 MCC允许配置上升(RS)和下降(FS)时脉输入源。 PRG使用这两个触发斜坡上升和下降的参考电压来确定输出振荡频率。这两个参考电压还可确定三角波讯号的最小和最大电压值。
当 PRG 输出低于数位类比转换器(DAC)设置的电压大小时,PRG 的 RS输入被触发,内部电容充电。当 PRG 输出超过固定参考电压(FVR)时,FS 输入被触发,内部电容放电。
由于PRG无法指定的其输出接脚,因此PRG的输出需透过一个可配置的运算放大器进行缓冲后输出。可以计算输出频率,但其精确度可能受到不同因素影响,例如电容的寄生电阻、杂讯、生产差异和温度。
频率值随着DAC输出电平或PRG斜率(SR)的改变而变化。输出斜坡的SR通过PRG的当前设置进行配置。
图四提供了实际建置的理想行为。通常,产生的三角波由对称的周期性交替上升和下降斜坡组成。
最大电压和最小电压分别由VFVR和VDAC定义。当讯号达到最大电压或最小电压时,将设置上升触发和下降触发。在MCC中更改斜率设置可用于调整频率。 VDAC的变化也会导致频率变化,但最小电压会相应地增加或减少。
PRG的振荡频率取决于所选的汲入电流和输出电流、内部电容以及设置的上升触发和下降触发。通过在PRG的输出上放置额外的电容,可以实现更低的频率范围。
通过添加可配置逻辑单元(CLC)和外部电容C1,DAC和FVR设置的电压闸变点可分别触发上升事件和下降事件。在运算放大器的输出端添加C1,使其与PRG的内部电容有效并联。额外的电容延迟了触发事件之间的时间,从而产生较低的FOUT频率。
在比较器的输出端连接CLC,使波形产生器产生方波和脉冲。 CLC配置为SR锁存器,低频FOUT来自其输出。与PRG类似,参考电压触发置位元和重定输入。 FOUT在C1的电压(OPAOUT)低于DAC电压大小时置位元。一旦OPAOUT高于FVR,就会清除FOUT。
电压控制振荡器
电压控制振荡器(VCO)是一种输入控制电压决定其振荡频率的电子振荡器。 VCO的暂态频率通常设计成与暂态电压成线性比例;输入电压越高,其振荡频率也越高。 VCO实现的PRG操作与TWG类似,不同之处在于输出频率来自CLC的斜率锁存器,可变电压VCNTRL设置PRG的RS输入。
如果VCNTRL的输入升高,则会缩短重新触发上升事件所需的时间。因此,汲入电流和输出电流之间的切换变得更快并且振荡频率增加。
图七给出了控制电压与输出频率之间的关系,其中有三个PRG斜率值。可以针对期望的频率范围改变SR值。较低的SR值可以产生从几Hz至大约500 kHz的频率。但较大的SR值可以达到兆赫兹范围。
根据两个控制电压值和一个恒定斜率,VCNTRL降低时,CLC的VCO频率输出也会降低。
电压控制工作周期振荡器
标准VCO电路直接修改振荡器频率。此外,对于电压控制工作周期振荡器(Voltage-controlled duty cycle oscillator, VCDCO),其控制电压则会修改其输出脉冲的工作周期。
除了时基触发输出脉冲发生之外,对VCDCO也实现了类似的VCO设置。 PWM 和 TMR 模组决定振荡器的周期和频率,而 PRG 通过 VCNTRL 确定其工作周期。
![图八 : 使用基於时间的触发来实现电压控制的工作周期](/art/2019/05/161413387770/p8.jpg)
图八 : 使用基於时间的触发来实现电压控制的工作周期 |
|
PWM的上升沿触发 PRG RS 输入并使 CLC 输出置 1。当 PRG 输出超过VCNTRL 时,FS 输入被触发,PRG 电容短路并且 CLC 复位。 PRG 和 CLC输出将保持低电平,直至下一个 TMR 溢出和 PWM 正缘。
增加 VCNTRL 会延长斜坡的上升时间和输出的正脉冲宽度。
工作周期计算为VCNTRL与VMAX的比值。为了提高工作周期的范围,当控制电压达到给定斜率的VMAX时,计时器周期应等于斜坡的上升时间。
当使用两个不同的VCNTRL值时,由于计时器和PWM的周期恒定,因此RS触发序列在两种条件下统一。但是,由于斜率恒定且VCNTRL较高,在FS触发之前可能会有一个额外的延时。
PRG斜率和TMR2周期值取决于VCDCO所需的频率和工作周期范围。 PWM的工作周期可以设置得足够低,以触发PRG的RS输入。 FOUT仍然来自CLC SR锁存器。 PWM和CMP输出还为CLC提供置位(S)和复位(R)的输入。
非同步单触发
非同步单触发(AOS)在外部触发时产生单输出脉冲。 AOS通常称为单稳态多振源,基本上是处于一个稳定状态。如果其稳定状态为低电平状态,则外部触发讯号会将输出驱动为高电平并持续一段时间。在一个周期结束时,AOS返回其稳定状态并等待下一个触发事件。
CLC的重置模式是AOS的稳定状态。外部触发会将PRG的RS输入置位,并独立于CLC将AOS的输出置位。当PRG达到FVR时,FS输入源被触发,PRG中的内部电容短路,CLC输出复位。脉冲宽度的持续时间取决于FVR电压和PRG斜率。
外部电压触发可以取代PWM和TMR模组来消除PRG RS输入和和CLC置位源的周期性触发顺序。输出脉冲则是来自于CLC输出。
电压控制单触发
接下来的这个例子是前一次单触发的升级版。使用一个输入做为触发讯号,而另一个输入则做为单触发的周期。单触发的一个应用控制临界导通模式(CrCM)PFC控制器的导通时间。
输入电压VCNTRL确定输出的单触发周期或导通时间。 VCNTRL的值越大,导通时间越长。当PRG的上升斜坡讯号达到VCNTRL时,PRG电容短路,互补输出产生器(COG)工作周期完成。输出保持低电平,直至讯号重新触发PRG上升斜坡及COG周期开始。
在临界导通控制器中,COG控制功率金属氧化物半导体场效应电晶体(MOSFET)的开关。来自误差放大器的回馈讯号被馈送到VCNTRL。恒定的回馈讯号将导致固定的导通时间。在导通和关断状态期间,电感电流斜升至输入参考电压对应的值并分别回落到零。图11给出了CrCM控制器的电感电流的典型特性。
![图十一 : 固定导通时间CrCM控制器的电感电流波形](/art/2019/05/161413387770/p11.jpg)
图十一 : 固定导通时间CrCM控制器的电感电流波形 |
|
要使用MCC配置周边,请使用第二个CMP替换PWM和TMR模组。在正负输入源列表中,分别选择CINx+ 接脚和FVR。选择COG模组来代替CLC并将比较器设置为上升和下降的事件源。对于功率转换器应用,COG周边更适合作为输出驱动器。
结论
凭借PRG的丰富功能,可轻松地产生电压斜坡作为参考讯号或时脉源,并使用亲切易懂的MCC来轻松配置这些功能。与Microchip PIC微控制器中的其他几个周边配合使用时,可以探索更多基于PRG的应用。
(本文作者Mary Iva Rosario Salimbao为Microchip Technology应用工程师)