您的位置: 嵌入式在线 > 解决方案 > 电源管理 > 产生PWM信号的低成本电路

产生PWM信号的低成本电路

2007-08-20      嵌入式在线      收藏 | 打印

      有时需要在电路中产生一个脉宽调制(PWM)信号,模拟某种行为。本文所述技术可产生一种简单的可编程PWM信号,费用不到1美元。

      该技术使用一个MSP430F20xx 14脚微控制器(MCU)。该系列器件集成有Timer_A2,不需要CPU干预就可以产生一个PWM信号。定时器有两个捕获比较寄存器,分别称作CCR0和CCR1,用于选择PWM信号的占空比和周期。

      设计师可以通过订购eZ430-F2013购买MSP430F2013 MCU、仿真器和集成开发环境,eZ430-F2013是一种的基于USB棒的MCU仿真和开发工具,价格20美元。不需要焊接或添加任何其他元件。一旦这一工程结束,还可以重用工具,因为它支持MSP430F20xx系列的所有器件。该系列最低成本的MCU费用为0.55美元,因为也有Timer_A2,所以可以处理PWM信号。

      以汇编写成的软件实现特别简单,包括以下内容:

      初始化:在本节,看门狗定时器关闭,避免复位MCU。通用I/O(GPIO)配置为输出,避免节点悬空并降低电流耗损。GPIO P1.2和P1.4如下配置:P1.2输出PWM信号,P1.4输出系统时钟(SMCLK),其实际占空比为50%。

      设置时钟频率:MSP430F20xx可以运行其内部时钟DCO(数字控制振荡器),校正后,25℃下精度为1%。要达到此精度,与时钟速度有关的校正值必须载入时钟寄存器,整个操作只需要两条指令。出厂时,校正值已编程入闪存。

      设置PWM信号:所述的配置称作上—下“切换/设置”模式(见图)。但是,Timer_A2也支持其他输出模式。对于“切换/设置” 模式,一半的周期载入CCR0,一半载入CCR1。对于周期为20 ms、占空比为70%,时钟速度率为1 MHz(周期为1秒),如下式计算CCR0和CCR1:

      CCR0=20 ms/(1?s×1000 ms/?s)/2=10,000

      CCR1=(100%-70%)×CCR0=3000


 

产生PWM信号的低成本电路

       假设定时器起始值为典型值0,上—下“切换/设置”模式如下工作:定时器通过计数器增加而开始;当CCR1等于计数器时,口引脚切换。当CCR0等于计数器值时,计数器开始倒计数。同样,在倒计数期间,当CCR0等于计数器值时,口引脚反转。当定时器到零时,周期循环,定时器又开始正计数。

      关断CPU:前面已经提到, Timer_A2无CPU 干预输出一个PWM信号。只需要一条指令,CPU就关闭,而DCO继续给定时器提供高速时钟。低功耗的获得可通过使用32.768kHz晶振作为定时器时钟源,实现PWM而不使用DCO。这必须在DCO关闭的情况下实现。


 
 

本文来源:电子系统设计    作者:TI公司 MSP430市场经理 Juan Alvarez

隐藏原文↑


查看原文↓

验证码:  看不清?换一张

 

快乐大本营
工程师之星
高福东
擅长嵌入式开发及单片机应用开发
  • 王波涛  熟悉单片机及其接口技术
  • 朱伟平  熟悉51单片机系统LCD驱动程序编写及调试。
热门招聘
论坛热贴