数字麦克风PDM脉冲到PCM信号需要一个二次采样,ST 提过了PDM2PCM的软件包,可以完成上面的工作.软件包源码没有开源,使用手册也简洁的让人抓狂,我觉得可能是因为ST更高级的MCU直接带了硬解码,所以对中低端MCU I2S接口的软解码关注度也不够.幸好之前做过信号处理工作,一些概念和内在逻辑能猜个八九不离十,使用起来没有任何难度就上手了,这个软件包的使用方法主要参考下面几个文档. 参考文档: 1.如何将PDM数字麦克风连接到STM32单片机 AN5027 使用STM32 32位Arm® C…
数字麦克风采用MEMS技术,将声波信号转换为数字采样信号,由单芯片实现采样量化编码,一般而言数字麦克风的输出有PDM麦克风和PCM麦克风,由于PDM麦克风结构.工艺简单而大量应用,在使用中要注意这二者的区别,尤其是STM32 MCU的文档在I2S接口章节,对此区别含糊不清,比如采样率配置,WS管教的用法,单声道双声道的配置,很多地方无法从文档中得到准确信息,需要一边摸索一边研究文档.本文就是对这些问题的一个研究笔记. 一.数字麦克风通信方式 数字麦克风管教很简单,如下面的图示. 电源和地,时钟脚…
在使用STM32的数字麦克风I2S接口时,计算采样率让人头疼,芯片手册上没有明确的说法,而手册上的计算方法经过测试确和实验不符.借助搜索引擎,大部分资料都是来自于开发板卖家或开发板论坛,主要是咪头采集然后配置WM89系列解码芯片,然后配合FatFS.MP3解码等模式,主要是讲解I2S录音.存储.放音等.外文资料得到的也寥寥无几,也没有找到讲解STM32数字麦克风配置.计算的文档.加上网上资料转载.抄袭.浅尝辄止的笔记教程,这些更是让检索大海捞针,过程艰辛一言难尽,有些网文三言两语抑或作者都没有搞…
数字麦克风采用MEMS技术,将声波信号转换为数字采样信号,由单芯片实现采样量化编码,一般而言数字麦克风的输出有PDM麦克风和PCM麦克风,由于PDM麦克风结构.工艺简单而大量应用,在使用中要注意这二者的区别,尤其是STM32 MCU的文档在I2S接口章节,对此区别含糊不清,比如采样率配置,WS管脚的用法,单声道双声道的配置,很多地方无法从文档中得到准确信息,需要一边摸索一边研究文档.在使用STM32的数字麦克风I2S接口时,计算采样率让人头疼,芯片手册上没有明确的说法,而手册上的计算方法经过测试…
本文是数字麦克风笔记文章的单片机程序.一些朋友私信我,调试出问题. 我就把源码贴出来吧,可能主要问题是DMA的配置. 尤其双DMA时候,需要手动启动I2S的接收DMA,HAL库没有这个接口,不看datasheet是找不到这个毛病的,这也是HAL库用多了引起的问题,一些特底层的问题大家都不愿意去搞了. /* USER CODE BEGIN Header */ /** ******************************************************************…
本文是数字麦克风笔记文章的数据处理篇. 读取数字麦克风的信号,需要嵌入式驱动和PC应用的结合,驱动负责信号采集,应用代码负责声音分析. 一般而言,在完成特征分析和实验之后,把优化过的代码固化到嵌入式端,实现目标应用.本文记录了分析过程的一些基本步骤. 1.ARM驱动 使用STM32F4芯片,驱动使用ST-CUBE MX生成,节约了大量的时间. 1)GPIO 2)I2S配置 目标是16khz音频采样,这里选择为32khz的I2S频率,原因上一篇文章已经阐述了,计算方法为32khz*2*16/64=…
在前面文件夹介绍时,提到了stm32f10x_stdperiph_lib_um.chm文件,此文件是库函数使用帮助文档,可以直接打开如下图. 因为STM32库函数非常多,我们不可能把所有的外设函数都记住,那么这个帮助文档就是学习STM32库函数时所必备的, 所以要学会如何在这个帮助文档内查找函数.使用的库函数全部都在如下图所示列表里. 要查找哪个外设的库函数,只需要找到对应的外设名称即可.比如要查找对GPIO外设操作的库函数,我们可以在这个列表下往下拉找到GPIO栏,其中Functions列表下…
一.关于Delta-sigma(ΔΣ)调制器 Delta-sigma(ΔΣ)调制器是Delta-sigma转换器的核心部件.如下所示为一个简单的一阶Delta-sigma调制器,该调制器产生一个1bit比特流.将该比特流脉冲输入低通滤波器,从滤波器输出端口可以获得比特流信号的平均电平,该电平代表了调制器的输入电平. 一阶Delta-sigma调制器的实例时序如下: 在该实例中,时钟频率(此处等于采样率)为输入信号的64倍.根据采样定理,转换器需要至少2倍于有效信号最高频率的采样率,而Delta-…
PowerDesigner将PDM导出生成WORD文档 环境 PowerDesigner15 1.点击Report Temlates 制作模板 2.如果没有模板,单击New图标创建.有直接双击进入. 3.在弹出的类型(Type)对话框中想选择PBM(Physical data Model),如果有中文汉化包则选择simolified Chinese(中文简体)没有则选择English, 在Name文本框中取名: 4.如图:我们左右2个区,Aavailable区域中选择你想要在WORD文档中展示的…
1.嵌入另一张HTML文档 iframe 元素允许在现有的HTML文档中嵌入另一张文档.下面代码展示了iframe元素的用法: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="author" content="叶超Luka" /> <meta name=&quo…