为微控制器增加PWM/模拟通道的方法

2011-10-15 18:29:04来源: 互联网
微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。在片上PWM(脉冲宽度调制)资源方面,低成本的8位单片微控制器是很吝啬的。设计人员在采用PWM资源时,经常被迫要牺牲一个捕捉/比较通道或定时器通道,因为PWM通道要共用相同的片上资源。很多基于微控制器的独立电气设备都不会使用同步串行端口。因此,可以用微控制器的波特率发生器和并/串转换器部分来生成位模式,构成一个256位的PWM形式。然后用RC滤波器过滤这个PWM输出,提取出一个模拟信号。同步通信没有异步通信的起始位和停止位,因此位模式可以产生出长周期的高电平或低电平。

  

可以用片上未用的同步串行端口产生PWM信号

 

  图1,可以用片上未用的同步串行端口产生PWM信号,并将其转换为一个慢速运动的模拟信号。

  采用这种概念,可以用一个十进制数165产生原数据(图2)。一个PWM转换周期包含生成的256位,即32字节。“on”位的数量对应于转换为PWM的原数据值。因此,对于165位的原数据,有165位个on,91位个off。要产生一个165位的on周期,前20个字节(即160位)传送为0×ff个on态字节。诀窍在于第21个字节(或过渡字节)的组成。该字节的一些LSB(最低有效位)为1,其余为0,构成所需要的on周期长度。在这一例子中,电路需要5个以上的on位:160+5=165。因此,过渡字节的形式应为0001111b(字节=0×1f)。

  

采用这种概念

 

  图2,采用这种概念,可以用十进制值165产生原数据。

  图3以流程图的形式表示这个过程。通过选择晶体、PLL(锁相环)和波特率,可以根据自己的应用修改PWM频率。用简单的RC滤波器就可以将PWM转换为一个慢速运动的模拟值。虽然本方法描述的是一个8位PWM,但也可以修改每个PWM周期的总位数,从而增加或降低分辨率。相应地增加或减少了转换时间。

  

通过选择晶体

 

  图3,通过选择晶体、PLL和波特率,可以针对自己应用修改PWM频率。

  代码采用的是Microchip公司的PIC18F4525,它用一只4MHz晶体,以及用于同步串行通信的10kHz波特率,获得10000/256=39.31Hz的PWM频率。可以用一个0.1s的RC滤波器对其作滤波,对慢速运动的模拟信号来说这已足够,如运动控制应用的速度设置点。采用20MHz晶体时,可以实现大于1.5MHz的同步串行波特率,以及数kHz的PWM频率。

关键字:微控制器  PWM  模拟通道

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2011/1015/article_12265.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
微控制器
PWM
模拟通道

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved