数字麦克风采用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=…
数字麦克风PDM脉冲到PCM信号需要一个二次采样,ST 提过了PDM2PCM的软件包,可以完成上面的工作.软件包源码没有开源,使用手册也简洁的让人抓狂,我觉得可能是因为ST更高级的MCU直接带了硬解码,所以对中低端MCU I2S接口的软解码关注度也不够.幸好之前做过信号处理工作,一些概念和内在逻辑能猜个八九不离十,使用起来没有任何难度就上手了,这个软件包的使用方法主要参考下面几个文档. 参考文档: 1.如何将PDM数字麦克风连接到STM32单片机 AN5027 使用STM32 32位Arm® C…
ADI高速信号采集芯片与JESD204B接口简介 JESD204B接口 介绍: JEDEC Standard No. 204B (JESD204B)—A standardized serial interface between data converters (ADCs and DACs) and logic devices (FPGAs or ASICs) 也就是说这是一个高速模数信号转换芯片与逻辑器件芯片之间的标准接口. JEDEC是开发微电子行业开放标准的全球领导者,拥有3,000多名志…
定期送福利,今天给大家送上Windows中利用DirectShow采集microphone音频,并将采集到的pcm数据,利用FAAC库编码成AAC,进行本地存储或者网络传输. 直接贴代码,解析看注释: /* 功能描述: 简单实现用DirectShow采集Windows麦克风音频PCM数据 经过FAAC编码成AAC存储文件,可根据项目修改成直播,对讲 等实时传输类应用. From: http://blog.csdn.net/xiejiashu Site: http://www.easydarwin…
一.时钟系统 概述 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令,时钟系统就是CPU的脉搏,决定cpu速率. STM32有多个时钟来源的选择,为什么 STM32 要有多个时钟源呢?因为首先 STM32 本身非常复杂,外设非常的多,而使用任何外设都需要时钟才能启动,但是并不是所有外设都需要系统时钟这么高的频率,比如看门狗以及 RTC 只需要几十 k 的时钟即可.同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所以对于较为复杂的 MCU 一般都是采取多时钟源的方法来解…
目录 前言 一.工具包位置 二.图像采集与色彩空间转换 1.文件读写 2.实现图片读取 3.使用算子cvtColor实现颜色空间转换 三.从摄像头采集图像 1.Camera类 2.属性节点 3.实现摄像头采集图像 四.源码下载 总结 前言 今天我们一起来使用LabVIEW AI视觉工具包快速实现图像的读取与颜色空间转换.从摄像头采集图像.工具包的安装与下载方法可见之前的两篇随笔. 一.工具包位置 已经安装好的工具包位于程序框图-函数选板-Addons-VIRobotics-opencv_yiku…