STM32下的DAC波形输出初体验
DAC介绍
数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。
实验要求
1、输出一个周期2khz的正弦波(循环)。此波形驱动作用至蜂鸣器或喇叭,会呈现一个“滴…”的单音;
2、将一段数字音频歌曲数据转换为模拟音频波形输出(循环)
输出一个周期2khz的正弦波
MATLAB下的操作
先打开野火提供的资料,使用MATLAB打开
因为输出周期为2KHz,通过公式计算得出采样点数为3600
在MATLAB程序中找到对应的部分
将32改成3600
完成后运行查看结果,可以看到一条正弦波图形
生成图形后的数据会保存到dac_sinWave.c中,点击该文件可以看到数据
keil中的操作
打开工程文件,选择下面的文件,找到波形数据的参数,将MATLAB中生成的数据复制粘贴到该函数中
然后将程序烧录至stm32中,与示波器连接后显示波形
音频信号输出
打开软件Adobe Audition CS6,选择一首喜欢的音乐,选择其中的一小部分,几秒就行,右键点击选择下列选项
完成下面的配置
使用WavToc软件进行数据的转换
将数据复制到下面函数中(跟上面的正弦波输出一样)
然后将程序烧录至芯片中,连接示波器就能观察波形了
总结
经过这次在STM32下DAC波形输出实验,让我对音频软件的使用更加熟练,也对相应环境的配置有了更多的了解。