新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SH69P42 PWM的10位D/A转换器

基于SH69P42 PWM的10位D/A转换器

作者:时间:2012-05-24来源:网络收藏

1引言

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

提高单片机片内资源的利用率;缩小最终产品的体积,降低功耗,减轻重量,提高集成度,提高可靠性,是单片机应用系统设计的基本原则。

在单片机选型时,由于内部资源针对不同应用有多种组合,从而形成了单片机系列。例如:片内程序存储器的大小、RAM的大小、A/D精度及通道数、D/A精度及通道数、是否有LCD驱动、I/O数、是否有、精度、中断数量及嵌套、定时器数及精度等。但在实际应用中,也很难做到单片机的配置完全符合应用要求。因为应用是多样化的,而单片机的型号、系列毕竟有限。因此,如果能方便地将单片机所提供的内部功能元件转为另一功能,将大大拓展单片机的应用领域。

当应用需要模拟量输出时,就需要有D/A,一般地,还需有专门的元件以及外围电路。这里阐述一种的一路实现D/A的方法。

是中颖公司SH6610D内核的4位RISC指令集的单片机,内部集成有四通道8位SARA/D,两通道输出,三种两级中断(A/D中断、端口中断和定时器中断)、两个8位定时器,16个I/O引脚,内有OTP型ROM:3072×16位,RAM:192×4位,内置低电压监视复位和看门狗电路,振荡器工作频率从32768Hz至8MHz,可编程选择片内RC振荡、片外RC振荡、外接晶体振荡等形式。共有43条指令,每条指令的执行时间均等,是振荡器周期的4倍。

SH69P42符合工业规格,适用于对系统抗干扰能力要求极高的场合。

3SH69P42的PWM编程

3。1SH69P42的RAM编址

SH69P42的内部寄存器除累加器A、进位标志CY、程序计数器PC之外,端口、定时器、A/D、PWM中断、WDT与通用RAM一起统一编址。其地址由组成,源操作数的有效位为7位,因此采用了BANK概念,每128单元为一个BANK,用BANK值给出高3位地址。

例如:LDAMx,bbb

其中,Mx为取数单元地址的低7位,BANK值bbb为取数单元地址的高3位。

LDA10H,01H

表示将RAM单元90H的内容送至累加器A。

3。2SH69P42的PWM编程

SH69P42具有两通道PWM输出,分别由三个寄存器控制。

系统寄存器PWMC控制PWM输出,系统寄存器PWMP设置PWM输出信号周期,系统寄存器PWMD设置PWM输出信号的占空比。如表1、表2、表3所列。

4PWM实现D/A转换

4。1实现电路及参数计算

图1为SH69P42PWM1的D/A转换的原理图。

(1)振荡选择

由于PWM的周期、占空比与SH69P42的振荡周期密切相关,为保证高精度。尤其是避免温度影响,采用外接晶体振荡器的方法,而不采用内部或外部RC振荡方式。因为后者受工作环境温度影响较大。

4。1。210位D/A的实现方法

从表2、表3看出,SH69P42的PWM输出时,先设定周期再设定占空比,周期确定后,占空比其实就是在本周期内有效高电平(正向,反之同理)脉冲的数量与周期电平数量的比。SH69P42允许最大的周期设定是10位,因此,采用周期固定,也就是3FFH,将待转换数直接对应为占空比的数值,就可以实现10位的D/A转换。

4。1。3输出满量程的分辨率假定输出电压为SH69P42的工作电压为5V,10位数字量的数字分辨率为1/1024,转换为模拟量为5V/1024=4。8mV,这就是模拟输出的分辨率。

4。1。4输出端RC网络的参数选择

输出端根据后续电路的需要,可以采取一阶RC积分网络或二阶RC低通网络。图1所示为二阶RC低通网络,一方面可滤除高频杂波,另一方面可根据PWM的周期频率输出满足需要的不会过滞后随动模拟电压。

当PWM1输出为高电平时,通过电阻R2、R3对电容C5、C4充电,Output电压升高,当PWM1输出低电平时两电容C5、C4通过两电阻R2、R3放电,使得Output电压降低。这样,PWM1输出时,在固定周期下随着占空比的变化,Output电压值上下波动,波动幅度与占空比的数值线性相关。

4。2程序设计规则

SH69P42单片机的PWM在软件设计时需遵循以下规则:

设置PWMn的周期或占空比时,先设置高四位,然后设置中四位,最后设置低四位;

在PWM输出状态下,只有写入PWMn周期或占空比的第四位数据后,数据才会装入重装入计数器并在下一个周期开始时计数;

当选择以PWMn输出(PWMCbit0=1)时,PWMn输出的第一个周期和第一个占空比是按3FFH计数,系统寄存器PWMP和PWMD的数据从第二个周期开始计数;

PWM能在HALT方式下继续工作,并在执行STOP指令后自动停止工作。

另外,SH69P42的振荡方式编程不是在程序中实现,而是在对OTP编程之前的烧写设置中按照实际设定的。

4。3转换结果分析

单片机外接振荡器振荡频率为4MHz,PWM时钟设定为8倍tOSC($21=0111),周期设定为3FFH($2A$29$28=0011,1111,1111)时,PWM的时钟周期为2。048ms,占空比(这里相当于D/A转换的数字量)为0FFH($2D$2C$2B=000011111111)。理论计算输出为1。25V(0FFH×5/3FFH),波形显示约为1。25V,基本一致。此时PWM占空比的时间为125μs,周期为2。048ms,与理论值基本一致。

5结束语

常温下实际转换结果与理论计算结果基本一致。在45℃时,实际转换结果和理论计算值的偏差为0。15%左右,能够满足大多数场合的需要。如果对振荡系统、二阶RC低通网络的元件参数提高筛选要求的话,可以实现偏差值在0。1%以内。

pwm相关文章:pwm是什么


pwm相关文章:pwm原理




评论


相关推荐

技术专区

关闭