首页 » 通讯 » DIY简单纯真音频旗子暗记源_暗记_旗子

DIY简单纯真音频旗子暗记源_暗记_旗子

admin 2024-11-10 09:36:59 0

扫一扫用手机浏览

文章目录 [+]

) 就算没有专门的旗子暗记源,电脑声卡、MP3乃至手机都可以拿来顶替一下。
我也常常是用连在电脑上的DAC来得到音频旗子暗记的,我也DIY了仿照的低失落真旗子暗记源,不过那只有单个频点。
好,先看我本日做出来的旗子暗记源效果图:

呃,这是什么鬼玩意儿? 旗子暗记源?

DIY简单纯真音频旗子暗记源_暗记_旗子 通讯

别焦急,先看这个:

妥妥的正弦波,这次对了吧。
没错,这便是我的旗子暗记源出来的。

下面这个呢,看起来好象波形失落真了……

实在不是,这只是个巧合,示波器现在是当X-Y显示器用的,再来几个就明白了:

如果X,Y输入同频正弦,相位差90度,示波器X,Y增益相称的话,画出来便是一个圆了。

好,效果图看完了,旗子暗记源长啥样?

这东西实在并不大,由于用了单片机,而且可以3.2V电池直供电利用。
输出两路音频正弦旗子暗记,频率1Hz~23999Hz, 1Hz步进可调。
频率很准的,由于是晶振决定。

MCU便是ST的Cortex-m0: STM32F051

不过我这次把MCU给“超频”用了,晶振是49.152MHz, 超过了规格最大48MHz一点。
缘故原由是为了采样频率在48000Hz上。
那么我用什么来产生仿照旗子暗记呢?单片机自带了DAC,这个可以用,但是精度差了点。
我其余用了一片音频的Sigma-Delta DAC: Cirrus Logic的CS4344:

便是直插电容阁下的小芯片了,音频专用哦,用在旗子暗记源上正得当。
这个DAC也很便宜,最高支持192kHz的采样频率,不过我这里只用到48kHz. 通过I2S接口把PCM编码送过去,就出来仿照旗子暗记了,由于STM32F051已经有I2S接口了,以是用起来很方便。

线路挺大略的,我多引了些I/O到插针位上,方便往后做其它运用。
CS4344的I2S旗子暗记MCLK, BCK, LRCK, DATA连到MCU上,作为slave设备。
CS4344的仿照输出就按照手册上的大略接法输出了,没有加滤波电路,实际上高频噪声影响还是有的。
PCB版图:我惯用的Eagle软件出图。

原来想用一块1602 LCD做显示,几个按钮做掌握。
后来以为1602模块本身体积更大,弄出来又不小巧了,一时也没选定盒子。
于是我就决定用串口掌握吧,设置好了往后可以拔下来,全体更小巧。
以是软件上便是更新波形数据,和吸收串口命令的干活…… 一个在DMA的中断里面,一个在串口吸收中断里面。

正弦函数我并没有在程序中计算,而是存了一个表,用查表法。
一方面是ROM刚好够用,另一方面是对Cortex-M0的浮点库不熟习就没有此时考试测验。
采样频率是48000Hz, 如果要输出1Hz的旗子暗记,那么一个周期须要48000个样本,根据对称性,只须要存储1/4的正弦就够了。
一个样本用24-bit足够,16-bit也差不多(截尾会有一些谐波),我任性地直接用了32-bit整型。
打算1Hz的整数倍就很大略,相称于查表时每次跳N个就行了。

末了再强调一下利用CS4344等Sigma-Delta DAC相对付MCU片上DAC的优点:一个是量化精度比较高,谐波失落真也低不少。
二是独立于MCU,减少了滋扰。
三是降落了数据处理量,由于DAC带有8倍的上采样,硬件给你完成了插值。
(不然,在48k采样率下,直接用零阶保持出来一个20k的旗子暗记是什么样子?)

请点击阅读原文查见地式及代码

欢迎参加>>>任性DIY,在这等你来!

以上图文内容均是EEWORLD论坛网友:cruelfox 原创,在此感谢。

欢迎微博@EEWORLD

如果你也写过此类原创干货请关注微信"大众号:EEWORLD(电子工程天下)回答“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!

与更多行业内网友进行互换请上岸EEWORLD论坛。

标签:

相关文章

技能|电脑无法通电怎么解决_戴尔_电脑

如果按下电源按钮后戴尔打算机无法打开,不通电,请按照以下步骤打消故障。视频加载中...01检讨电源线、互换适配器与外设首先检讨电源...

通讯 2025-01-24 阅读1 评论0