可编程斜坡发生器(PRG)(在Microchip最近推出的几款8位PIC®单片机上提供)是一种高度灵活的模拟外设,旨在简化需要电压线性变化的应用。顾名思义,PRG能够在软件控制下输出上升、下降或交替的上升/下降斜坡。不过,经过配置后,外设能够独立于内核运行,从而释放中央处理单元(CPU)来执行其他任务、进入低功耗模式或以其他方式在系统中承担更多监督角色。通过控制集成恒流源可以动态调整上升和下降时间。凭借灵活的输入和输出选项,设计人员可以自由地与片外信号源或单片机上其他外设的信号互连。这通常会使系统响应更快,同时可通过减少外部元件数量来最大程度减少潜在的噪声源及缩小应用尺寸。图1给出了外设的框图。
图1:PRG模块简化框图
用于配置PRG的有用工具是MPLAB®代码配置器(MCC),这是一个用户友好的MPLABX集成开发环境(IDE)插件,见图3。它生成用于控制和驱动MicrochipPIC单片机外设(如PRG)的驱动程序。PRG可以实现不同的功能,每个功能都可以使用MCC进行设置。
图2:MCC——PRG模块硬件设置
三角波发生器
三角波发生器(TWG)产生周期性的非正弦波形,其三角形形状具有相等的上升和下降时间。要产生三角波,PRG必须配置为交替上升和下降模式。MCC允许配置上升(RS)和下降(FS)时序输入源。PRG使用这两个触发斜坡上升和下降的参考电压来确定输出振荡频率。这两个参考电压还可确定三角波信号的最小和最大电压值。
8-bitPIC®MCU8位PIC?MCU
图3:三角波发生器的外设集成
当PRG输出低于数模转换器(DAC)设置的电压大小时,PRG的RS输入被触发,内部电容充电。当PRG输出超过固定参考电压(FVR)时,FS输入被触发,内部电容放电。
由于PRG没有指定的输出引脚,因此PRG的输出通过单位增益运算放大器进行缓冲。可以计算输出频率,但其精度可能受到不同因素影响,例如电容的寄生电阻、噪声、生产差异和温度。
频率值随着DAC输出电平或PRG斜率(SR)的改变而变化。输出斜坡的SR通过PRG的当前设置进行配置。
图4给出了实现的理想行为。通常,产生的三角波由对称的周期性交替上升和下降斜坡组成。
图4:三角波发生器时序图
最大电压和最小电压分别由VFVR和VDAC定义。当信号达到最大电压或最小电压时,将设置上升触发和下降触发。在MCC中更改斜率设置可用于调整频率。VDAC的变化也会导致频率变化,但最小电压会相应地增加或减少。
PRG的振荡频率取决于所选的灌电流和拉电流、内部电容以及设置的上升触发和下降触发。通过在PRG的输出上放置额外的电容,可以实现更低的频率范围。
图5:为实现低频输出添加CLC和电容
通过添加可配置逻辑单元(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输入。
图6:压控振荡器的配置
如果VCNTRL的输入升高,则会缩短重新触发上升事件所需的时间。因此,拉电流和灌电流之间的切换变得更快并且振荡频率增加。
图7给出了控制电压与输出频率之间的关系,其中有三个PRG斜率值。可以针对期望的频率范围改变SR值。较低的SR值可以产生从几Hz至大约500kHz的频率。但较大的SR值可以达到兆赫兹范围。
图7:VCO输出频率与控制电压的关系
标准VCO电路直接修改振荡器频率。对于压控占空比振荡器(VCDCO),其控制电压会修改输出脉冲的占空比。
除了时基触发输出脉冲发生之外,对VCDCO也实现了类似的VCO设置。PWM和TMR模块确定振荡器的周期和频率,而PRG通过VCNTRL确定其占空比。
图8:使用基于时间的触发来实现电压控制的占空比
PWM的上升沿触发PRGRS输入并使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仍然来自CLCSR锁存器。PWM和CMP输出还为CLC提供置位和复位输入。
异步单触发
异步单触发(AOS)在外部触发时产生单输出脉冲。AOS通常称为单稳态多振子,具有一个稳定状态。如果其稳定状态为低电平状态,则外部触发信号会将输出驱动为高电平并持续一段时间。在一个周期结束时,AOS返回其稳定状态并等待下一个触发事件。
图9:使用外部触发实现单触发
CLC的复位状态是AOS的稳定状态。外部触发会将PRG的RS输入置位,并独立于CLC将AOS的输出置位。当PRG达到FVR时,FS输入源被触发,PRG中的内部电容短路,CLC输出复位。脉冲宽度的持续时间取决于FVR电压和PRG斜率。
外部电压触发可以取代PWM和TMR模块来消除PRGRS输入和和CLC置位源的周期性触发序列。输出脉冲来自CLC输出。
压控单触发
接下来的这个例子是前一次单触发的升级。一个输入用作触发信号,而另一个输入确定单触发周期。单触发的一个应用控制临界导通模式(CrCM)PFC控制器的导通时间。
图10:压控单触发的配置
输入电压VCNTRL确定输出的单触发周期或导通时间。VCNTRL的值越大,导通时间越长。当PRG的上升斜坡信号达到VCNTRL时,PRG电容短路,互补输出发生器(COG)占空比完成。输出保持低电平,直至信号重新触发PRG上升斜坡及COG周期开始。
在临界导通控制器中,COG控制功率金属氧化物半导体场效应晶体管(MOSFET)的开关。来自误差放大器的反馈信号被馈送到VCNTRL。恒定的反馈信号将导致固定的导通时间。在导通和关断状态期间,电感电流斜升至输入参考电压对应的值并分别回落到零。图11给出了CrCM控制器的电感电流的典型特性。
图11:固定导通时间CrCM控制器的电感电流波形
要使用MCC配置外设,请使用第二个CMP替换PWM和TMR模块。在正负输入源列表中,分别选择CINx+引脚和FVR。选择COG模块来代替CLC并将比较器设置为上升和下降事件源。对于功率转换器应用,COG外设更适合作为输出驱动器。
结论
凭借PRG的丰富功能,可方便地产生电压斜坡作为参考信号或时序源。可以使用用户友好的MCC轻松配置这些功能。与MicrochipPIC单片机中的其他几个外设配合使用时,可以探索更多基于PRG的应用。
评论
查看更多