在消费电子行业,难免有时为了省成本而出现需要用到DAC而单片机没有DAC外设的情况,那么遇到这种情况怎么办呢?

PWM+RC滤波器:

使用单片机IO口输出占空比可调的PWM,通过RC滤波器滤除其谐波分量,保留直流分量,便可实现DAC输出(根据傅里叶变化,任何波形均可分解为无数频率的正弦波的叠加)。比如幅值为3.3V占空比为50%的方波中含有1.65V的直流分量和谐波分量;如果将幅值3.3V占空比50%的方波过RC滤波后(对方波的谐波分量进行衰减),输出的电压会是1.65V,如下仿真图所示,红色为输入信号,蓝色为过了二阶RC滤波器后的取出来的直流分量。公式为:

Vout=Vin*D(D为PWM波的占空比)

R/2R型DAC:

使用多个IO加上电阻组合为DAC(分辨率一般较低,N个IO可以生成2bit位的DAC),比如用三个IO和电阻可以组合为一个8bit的DAC。如下图所示,使用开关代替IO输出高电平或者低电平,S3接到VCC(三个开关分别为0 0 1),则输出电压为VCC/8,S2接到VCC(三个开关分别为0 1 0),则输出电压为VCC/4,以此类推,最大输出电压为7*VCC/8(三个开关分别为1 1 1时);若拓展分辨率可按照R/2R型类推

上图中的开关即为IO口,如上图三个IO口通过编码就可以实现多种电平的输出,这种控制响应速度很快。但是缺点也很明显,那也就是输出需要多个IO口。#嘉立创PCB##PCB有什么好玩的##畅聊专区#


那么你还有什么好方法?欢迎评论区留言讨论~

#嘉立创PCB#
#PCB有什么好玩的#
#畅聊专区#
嘉立创PCB

还没有评论,抢个沙发!