DAC
数字/模拟转换模块,把输入的数字编码转换成对应的模拟电压输出。
在常见的数字信号系统中,大部分传感器信号被转化成电压信号,而ADC把电压模拟信号转换成易于计算机存储、处理的数字编码,由计算机处理完成后再由DAC输出电压模拟信号,该电压模拟信号常常用来驱动某些执行器件,使人类易于感知。如音频信号的采集和还原。
STM32具有片上外设DAC,它的分辨率可配置为8/12位的数字输入信号,具有两个DAC输出通道(两通道互不影响,每通道都可以使用DMA功能,都具有出错检测能力,可外部触发)。
功能框图
整个DAC模块围绕“数字至模拟转换器x”展开。
参考电源引脚为Vdda、Vssa和Vref+,STM32的DAC规定了它的参考电压Vref+输入范围为2.4~3.3V。
“数字至模拟转换器x”输入为DAC的数据输出寄存器的数字编码(DAC_DORx),经过它转换的模拟信号由DAC_OUTx输出。
而DAC_DORx又受控制逻辑支配,可以控制DAC_DORx加入一些伪噪声信号或配置产生三角波信号。
DAC根据触发源信号来进行DAC转换,相当于DAC转换器的开关,可以配置的触发源为外部中断源触发、定时器触发或软件控制触发。
当需要控制正弦波的频率,就需要定时器定时触发DAC进行数据转换。
参考电压
与ADC外设类似,DAC也使用Vref+硬件作为参考电压。一般Vssa接地,把Vref+和Vdda接3.3V,可得到DAC的输出电压范围为:0~3.3V。
如果想让输出电压范围变宽,可以外部加一个电压调理电路。