完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、DAC是什么
数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器,模数转换器即A/D转换器,简称ADC,它是把连续的模拟信号转变为离散的数字信号的器件。 STM32具有片上DAC外设,它的分辯率可配置为8位或12位的数字输入信号,具有两个DAC输出通道,这两个通道互不影响,每个通道都可以使用DMA功能,都具有出错检测能力,可外部触发。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。 二、DAC主要特征 2个DAC转换器:每个转换器对应1个输出通道 8位或者12位单调输出 12位模式下数据左对齐或者右对齐 同步更新功能 噪声波形生成 三角波形生成 双DAC通道同时或者分别转换 每个通道都有DMA功能 外部触发转换 输入参考电压VREF+ DAC通道框图 MATLAB的正弦波生成 先打开野火官方的文件中有一个matlab脚本,里面就是直接对正弦波进行采样的代码。我们直接在此基础之上,修改采样点数就可以直接将结果复制到我们的源码中了。 修改采样值为3600 此时已经生成一个正弦波,把其放大,就已经可以看到离散图像了 放大后的 正弦波的生成与调试 打开Adobe Audition,依次点击下列 采样率改为2000HZ,位深度改为16 然后等生成完成,选中一段,点击效果,生成基本色,频率改为2000。 就会看到生成了正弦波。 插入音频也是同理,按上面的步骤一样的。 音频截取与输出 随便去下载一首mp3,然后用该软件打开。 选中一段,复制为新文件 将截取到的音频用UltraEdit打开(该软件可以去百度自行下载),里面全是16进制代码,下面我们只需将下列代码复制进keil工程中,再烧录进程序就可以播放出来。 因为在keil中需要0x表示16进制,所以全选右击十六进制复制选定视图,然后再新建一个复制进去。 我们需要的仅仅是中间16进制的数,下面我们选择复制。 将鼠标点击第一个16进制数的前面,可以看到是1排12列 再点击最后一个字符,1187行 59列 下面直接右击,选择范围,按你自己截取到的行列数进行截取。 将其复制进notepad++进行编辑,并进行列操作。 在每列前面加0x,将鼠标光标点在需要加0x的前面 下面是添加完成的。 打开keil工程中的bsp_dac.c,把下面的数字替换成上面我们生成的16进制数。 下面是示波器波形图(正弦) 歌曲的波形: 总结 本次实践学习了Adobe Audition的用法,用其生成正弦波,以及用该软件截取一段音频文件,再使用UltraEdit打开,生成的16进制码,再用notepad++进行修改与添加。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1602 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1536 浏览 1 评论
967 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
680 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1579 浏览 2 评论
1860浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
640浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
513浏览 3评论
526浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
500浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 08:24 , Processed in 0.702368 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号