PSoC 6评测第四篇-录音与放音
- [导读]
- 写上一篇关于EInk的文章的时候,就想着要写这一篇了.因为作者本人除了喜欢阅读之外,还比较喜欢音乐.也喜欢听也喜欢唱K,故此对音频相关的技术也较为感兴趣,至于水平只能说稍知一二.看到这个CY8CKIT开发套件上带有数字麦克风,就动了心思.本文使用开发板子上的资源做一个简单的录音与放音实验,研究一下相关知识.
概述
图 PSoC 6与耳机
写上一篇关于EInk的文章的时候,就想着要写这一篇了.因为作者本人除了喜欢阅读之外,还比较喜欢音乐.也喜欢听也喜欢唱K,故此对音频相关的技术也较为感兴趣,至于水平只能说稍知一二.看到这个CY8CKIT开发套件上带有数字麦克风,就动了心思.本文使用开发板子上的资源做一个简单的录音与放音实验,研究一下相关知识.
录音理论与实践
录音方面,简单来讲就是将声音信号定时采集成数字信号以备后述处理.最常见的当然是驻极体的麦克风:
图 驻极体音频采集参考电路
采集出来的信号叫做PCM,数学原理上就一个一维数组,其单元对应每个时刻的声音震动的幅度.播放时将其恢复为介质振动即可还原当初的声音.
信号大致这种样子:
图 PCM信号参考例子
注意:上述信号为CY8CKIT板子通过PDM采样转换为PCM的实际例子
至于采样率,采样深度,压缩算法等等,感兴趣的同学可以找一找本人之前发的系列贴子,因为内容较多在此不一一照搬过来了.
今天要使用的录音器件并非驻极体麦克风,而是一个PDM格式的麦克风SPK0838HT4H-B,原理图:
图 数字麦克风原理图
这种麦克风出来的信号并非直接的PCM, 而是所谓的PDM信号,类似于下图所示:
图 PDM信号参考例子
简单来讲,PDM信号就是1 bit的ADC采样出来的结果.
之所以使用PDM,不使用PCM输出,理论上有很多依据.简而言之,是因为声音在介质中传播是纵向传输,亦即传播方向与振动方向是相同的,故此用脉冲密度能比脉冲幅度更忠实地反映真实的情形.当然这种麦克风还有其余的优点,如体积比驻极体的麦克风小很多,功耗也更低,稳定性,一致性之类的参数都要强不少.目前的趋势是驻极体形式的麦克风逐步被这种麦克风取代,如智能手机中都是使用这种麦克风.
由于采集进来的第一手数据为PDM形式,故此需要首先将其转换为PCM格式以便进一步的处理与播放.处理的方法一般是通过软件抽样+滤波,Cypress的PSoC 6器件的方式较为特殊,可以使用UDB资源对PDM进行硬件解码转换为PCM信号,省去软件上的处理.此处在后文详述.
放音理论与实践
对于PCM信号,播放起来较为直观,直接将其输出到DAC,再经过可选的滤波/放大,输出到放音设备即可播放.
但是很多微型控制器没有DAC外设,此时可以通过PWM+低通滤波器来模拟DAC进行播放.这也是所谓的D类放大器的原理.
图 PWM+滤波器模拟DAC
这两种方法本文都会使用,DAC与PWM分别作为一个通道进行输出.
顶层设计与硬件连接
图 顶层设计
其中有三个模块(PDM_PCM,VDAC,UART)有Prototype水印,表示该模块只是做演示之用,还没有到达能应用到产品的成熟度.本文也的确是仅仅作演示之用,故此可以不加理会.
首先看PDM_PCM模块几个参数的计算:
最终想要达到的采样率为8KHz, Sinc抽样率为64, HFClk1计算为16.384MHz.
下面的Audio Timer用作播放更新,故此也设定为8 KHz产生一次ISR:
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前