关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 利用单片机定时器实现信号采样和PWM控制

利用单片机定时器实现信号采样和PWM控制

作者:时间:2009-11-03来源:网络收藏
方式广泛应用于各种系统中,但对脉冲宽度的调节一般采用硬件来。如使用器或在系统中增加电路[1]等,则成本高、响应速度慢,而且PWM控制器与系统之间存在兼容问题。另外,控制系统中的通常是由A/D来完成,因此检测精度要求较高时,调理电路复杂,而且因A/D的位数高,从而使设计的系统成本居高不下。

  本文以应用于温度控制系统为例,介绍Motorola公司生产的新型MSP430F413内的Time_A设计可以用时间量进行温度以及PWM调节的方法。为了可在使用少量外围电路的情况下控制系统的高精度测量和控制,一方面用时间量,在省去1片A/D的情况下得到12位的高精度;另一方面在定时中断内完全用软件实现PWM调节,以易于进行数据的通信和显示。该系统在中断内可以解决波形产生的实时在线计算和计算精度问题,可精确、实时地计算设定频率下的脉冲宽度。

本文引用地址:http://www.eepw.com.cn/article/163506.htm

1MSP430F413及

  MSP430系列的F413在超低功耗和功能集成上都有一定的特色,可大大减小外围电路的复杂性,它的实时处理能力及各种外围模块使其可应用在多个低功耗领域[2]。MSP430F413中通用16位Timer_A有如下主要功能模块。

  (1)一个可连续递增计数至预定值并返回0的计数器。

  (2)软件可选择时钟源。

  (3)5个捕获/比较寄存器,每个有独立的捕获事件。

  (4)5个输出模块,支持脉宽调制的需要。

  定时器控制寄存器TACTL的各位可控制Timer_A的配置,并定义16位定时器的基本操作,可选择原始频率或分频后的输入时钟源及4种工作模式。另外还有清除功能和溢出中断控制位。5个捕获/比较寄存器CCRx的操作相同,它们通过各自的控制寄存器CCTLx进行配置。

2时间量采样及PWM控制的实现原理

  以应用于温度控制系统为例,介绍用定时器实现采样和PWM控制的方法。该温度控制系统包括单片机、温度测量电路、负载驱动电路及电源控制、低电压检测和显示电路等其他外围部分。

  单片机MSP430F413中用于测量和控制温度的主要I/O口有:

  P1.0:输出50Hz方波,用于产生三角波。

  P1.2:驱动温度控制执行元件,2kHz方波PWM输出。

  P2.0:脉宽捕捉。

2.1 单片机端口的中断设置

  温度控制系统的50Hz方波输出、PWM输出和输入捕捉都是由定时中断来实现。这3个中断分别由P0、P1和P2口的外围模块引起,属于外部可屏蔽中断。初始化时,对这3个I/O口进行中断设置,并对Time_A控制寄存器TACTL设置,包括输入2分频、选用辅助时钟ACLK等。当定义完捕获/比较寄存器后,重新赋值TACTL,启动定时器,开始连续递增计数。

2.2 脉宽捕捉实现温度值的采样

  温度测量电路将温度值转换为电压值,同时单片机产生的50Hz方波经电容充放电电路变换得到同频率的三角波,其电压值切割三角波,从而将温度值转换为相应宽度的脉冲送入单片机。波形变化如图1所示。

  通过设置CCTLx中的模式位,可将对应的捕获/比较寄存器CCRx设定为捕获模式,用于时间事件的精确定位。如果在选定的输入引脚上发生选定脉冲的触发沿,则定时器计数的值将被复制到CCRx中。根据这一原理,选定P2.0为输入引脚,设置CCTL2为捕获模式,所测温度值由模拟量经测量电路转换为脉冲后,P2.0捕捉脉冲下降沿,进入中断T2,得到与温度值一致的单位时间内的脉冲数,存入CCR2作进一步处理。

  这样,系统就在不使用A/D的情况下完成了模数转换。因为单片机的时钟精确度高,而且时间量是一个相对精度极高的量,但本系统中用时间量进行温度采样可获得12位的高精度,同时采用50Hz脉冲,可以大大消除工频干扰。这些都为进行精确的温度控制提供了必要的条件。

pwm相关文章:pwm原理



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭