18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ESP32 I2S音頻總線學習筆記(二):I2S讀取INMP441音頻數(shù)據(jù)

jf_88434166 ? 來源:jf_88434166 ? 作者:jf_88434166 ? 2025-10-23 19:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

在這個系列的上一篇文章中,我們介紹了ESP32 I2S音頻總線的相關知識,簡要了解了什么是I2S總線、它的通信格式,以及相關的底層API函數(shù)。沒有看過上篇文章的可以點擊文章進行回顧:

[ESP32 I2S音頻總線學習筆記(一):初識I2S通信與配置基礎]

這篇文章將介紹一個小案例——ESP32驅動INMP441讀取音頻數(shù)據(jù),它是關于如何使用I2S讀取數(shù)據(jù)的一個應用,主要是將ESP32讀取到的音頻數(shù)據(jù)發(fā)送到串口上并實時顯示波形,這個我們可以通過串口繪圖儀來實現(xiàn)。在這之前先來看一下INMP441這個模塊吧

INMP441全向麥克風模塊

在這里插入圖片描述

NMP441是一款高性能、低功耗、數(shù)字輸出,帶底部端口的全向MEMS麥克風。該完整的INMP441解決方案由一個MEMS傳感器、信號調節(jié)模塊、數(shù)字混合濾波器、電源管理和行業(yè)標準的24位I2S接口組成。I2S接口允許INMP441直接連接到數(shù)字處理器,如DSP微控制器,無需額外的音頻解碼器。NMP441具有高信噪比,是一種適用于近場應用的理想選擇。

產品特性:

具有高精度24位數(shù)據(jù)的數(shù)字I2S接口
高信噪比為61 dBA
高靈敏度-26 dBFS
從60 Hz到15 kHz的穩(wěn)定頻率響應
低功耗:低電流消耗1.4 mA
高PSR:-75 dBFS

功能框圖

INMP441模塊使用到的芯片內置ADC,用于將采集到的模擬信號轉換成數(shù)字信號,上面還有濾波器和硬件控制、電源相關的引腳。
在這里插入圖片描述

引腳定義

VDD輸入電源,1.8V至3.3V
GND電源地
SCKI2S接口的串行數(shù)據(jù)時鐘
WS用于I2S接口的串行數(shù)據(jù)字選擇
SDI2S接口的串行數(shù)據(jù)輸出
L/R左/右聲道選擇

其中L/R是 左/右聲道選擇。設置為低電平時,麥克風在I2S幀的左聲道輸出信號。設置為高電平時,麥克風在右聲道輸出信號。

安裝I2S驅動

上篇文章我們在介紹I2S底層API函數(shù)提到,在使用I2S通信時需要加載I2S驅動,不知道小伙伴們還記不記得。這個加載I2S驅動的函數(shù)就是:esp_err_t i2s_driver_install(i2s_port_t i2s_num, const i2s_config_t *i2s_config, int queue_size, void *i2s_queue),里面有4個參數(shù)需要配置,在上次都有提到每個參數(shù)的意義。 其中比較復雜的是i2s_config這個結構體變量,我們需要對結構體的每個參數(shù)進行配置,如下:

除了后面幾個整型變量,每個結構體成員其實是一個枚舉類型

I2S工作模式mode

音頻采樣率bits_per_sample

通道格式channel_format

通信傳輸格式communication_format

知道了每個參數(shù)的含義以及知道它可以配置哪些參數(shù),就可以調用i2s_driver_install這個函數(shù)了。 這里我們舉一個安裝I2S驅動的例子,就比較容易理解了。同時配置的時候,我們把它放在一個函數(shù)里面,起名為i2s_install( )。

配置I2S引腳

I2S通信最重要的三個信號是位時鐘BCK、字時鐘WS、數(shù)據(jù)引腳SD,因此我們需要對其引腳進行配置,設置I2S引腳的函數(shù)是esp_err_t i2s_set_pin(i2s_port_t i2s_num, const i2s_pin_config_t *pin),第一個參數(shù)傳入I2S端口,填I2S_NUM_0或I2S_NUM_1, 第二個參數(shù)是結構體如下:

其中mck_io_num; bck_io_num,ws_io_num等都是整型變量,data_out_num如果我們沒有用到就傳入-1,在driver/i2s.h頭文件定義了

假設我們要配置的引腳位時鐘BCK、字時鐘WS、數(shù)據(jù)引腳SD分別是D13, D12, D14,同樣把要配置的參數(shù)寫入一個函數(shù)i2s_setpin()里面,配置I2S引腳示例如下:

安裝完I2S驅動和配置好I2S引腳后,我們只要在setup()函數(shù)里面調用這兩個函數(shù)就可以了。

讀取I2S數(shù)據(jù)

上面只是對I2S進行了一下初始化,要通過INMP441讀取i2s數(shù)據(jù),我們只需要調用esp_err_t i2s_read(i2s_port_t i2s_num, void *dest, size_t size, size_t *bytes_read, TickType_t ticks_to_wait);這個函數(shù)。因為前面在初始化I2S時的量化位數(shù)是16位,所以每個采樣點的數(shù)據(jù)大小為2字節(jié),我們將讀取到的數(shù)據(jù)放入一個緩存區(qū)數(shù)組sBuffer,將數(shù)組長度bufferLen定義為64,確保每次從I2S接口讀取時能獲得足夠的音頻數(shù)據(jù)。 如果讀取成功2s_read這個函數(shù)會返回一個ESP_OK,成功后就進入數(shù)據(jù)處理部分。這里我們將讀取到的音頻數(shù)據(jù)求均值然后可以用串口繪圖儀觀察它的數(shù)據(jù)波形,代碼如下:

完整代碼

接線圖

寫完代碼后就可以開始接線了,接線圖如下圖所示:供電這里接3.3V,L/R接地。

實驗效果

一開始接收到的是外界的聲音,波形是雜亂無章的。后面用嘴吹氣,波形會跟著吹氣變化,不吹氣波形是平緩不變的,后面大概吹了幾次,可以看到波形變化,如下圖:

總結

本篇文章介紹了通過ESP32的I2S通信實時讀取INMP441麥克風模塊的音頻數(shù)據(jù),并通過串口繪圖儀顯示音頻數(shù)據(jù)波形。后面我們還會介紹使用INMP441采集音頻并實時播放音頻,感興趣的可以先關注收藏一下!

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • I2S
    I2S
    +關注

    關注

    1

    文章

    78

    瀏覽量

    43769
  • ESP32
    +關注

    關注

    21

    文章

    1049

    瀏覽量

    20532
  • 音頻總線
    +關注

    關注

    0

    文章

    3

    瀏覽量

    224
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    音頻總線I2S協(xié)議:I2S收發(fā)模塊FPGA的仿真設計

    1 概述 I2S(Inter—IC Sound)總線, 又稱 集成電路內置音頻總線,是飛利浦公司為數(shù)字音頻設備之間的
    的頭像 發(fā)表于 12-14 17:34 ?9621次閱讀
    <b class='flag-5'>音頻</b><b class='flag-5'>總線</b><b class='flag-5'>I2S</b>協(xié)議:<b class='flag-5'>I2S</b>收發(fā)模塊FPGA的仿真設計

    全面解析I2S、TDM、PCM音頻總線

    I2S是比較簡單的數(shù)字接口協(xié)議,沒有地址或設備選擇機制。在I2S總線上,只能同時存在一個主設備和發(fā)送設備。主設備可以是發(fā)送設備,也可以是接收設備,或是協(xié)調發(fā)送設備和接收設備的其它控制設備。
    發(fā)表于 09-20 10:58 ?1.5w次閱讀

    請問ESP-WROOM-32 I2S音頻信號幅度讀取異常怎么解決?

    。 通過以下代碼獲取ESP32 i2s接口采集的數(shù)據(jù)最大幅度: #include //I2S音頻數(shù)據(jù)采樣率48K #define
    發(fā)表于 07-01 07:50

    如何從INMP441 I2S麥克風向ESP32輸入音頻?

    = I2S_CHANNEL_FMT_ONLY_LEFT, // Ground the L/R pin on the INMP441. .communication_format
    發(fā)表于 04-13 07:45

    音頻接口I2S實驗

    實驗目的 1.掌握有關音頻處理的實驗原理及說明;2.通過實驗了解I2S(Inter–ICSound)音頻接口的工作原理;3.通過實驗掌握對處理器S
    發(fā)表于 12-29 00:07 ?116次下載

    基于FPGA和AD1836的I2S接口設計

    I2S(Inter IC Sound Bus)是飛利浦公司為數(shù)字音頻設備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標準,它既規(guī)定了硬件接口規(guī)范,也規(guī)定了數(shù)字
    發(fā)表于 03-29 11:02 ?7096次閱讀
    基于FPGA和AD1836的<b class='flag-5'>I2S</b>接口設計

    i2s音頻總線學習

    I2S是飛利浦公司針對數(shù)字音頻設備(如CD播放器、數(shù)碼音效處理器、數(shù)字電視音響系統(tǒng))之間的音頻數(shù)據(jù)傳輸而制定的一種總線標準。它采用了獨立的導線傳輸時鐘與
    發(fā)表于 01-29 16:29 ?4770次閱讀
    <b class='flag-5'>i2s</b><b class='flag-5'>音頻</b><b class='flag-5'>總線</b><b class='flag-5'>學習</b>

    i2si2c的區(qū)別

    I2C總線是由Philips公司開發(fā)的一種簡單、雙向線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。
    發(fā)表于 01-29 16:47 ?8w次閱讀
    <b class='flag-5'>i2s</b>和<b class='flag-5'>i2</b>c的區(qū)別

    I2S接口工作原理_I2S接口介紹

    I2S總線, 又稱 集成電路內置音頻總線,是飛利浦公司為數(shù)字音頻設備之間的音頻數(shù)據(jù)傳輸而制定的一
    發(fā)表于 01-29 17:18 ?11.4w次閱讀
    <b class='flag-5'>I2S</b>接口工作原理_<b class='flag-5'>I2S</b>接口介紹

    幾種常見的I2S數(shù)據(jù)格式

    I2S總線簡單有效,可以有效提升輸出數(shù)據(jù)的質量,在各種嵌入式音頻系統(tǒng)中有廣泛應用。但是在嵌入式音頻系統(tǒng)設計中,并不是所有的MCU都支持
    發(fā)表于 01-29 19:18 ?1.3w次閱讀
    幾種常見的<b class='flag-5'>I2S</b><b class='flag-5'>數(shù)據(jù)</b>格式

    I2S音頻總線基本知識科普

    I2S(Inter—IC Sound)總線, 又稱集成電路內置音頻總線,是飛利浦公司為數(shù)字音頻設備之間的
    的頭像 發(fā)表于 04-12 07:48 ?3.2w次閱讀
    <b class='flag-5'>I2S</b><b class='flag-5'>音頻</b><b class='flag-5'>總線</b>基本知識科普

    I2S、TDM、PCM音頻總線

    I2S包括兩個聲道(Left/Right)的數(shù)據(jù),在主設備發(fā)出聲道選擇/字選擇(WS)控制下進行左右聲道數(shù)據(jù)切換。通過增加I2S接口的數(shù)目或其它I2
    的頭像 發(fā)表于 09-20 11:01 ?6887次閱讀

    基于MM32F5270的I2S音頻播放

    基于MM32F5270的I2S音頻播放
    的頭像 發(fā)表于 10-30 17:13 ?2383次閱讀
    基于MM32F5270的<b class='flag-5'>I2S</b><b class='flag-5'>音頻</b>播放

    基于I2S接口的Linux內核音頻技術

    I2S是飛利浦定義的數(shù)字音頻傳輸標準,用于數(shù)字音頻數(shù)據(jù)在系統(tǒng)內部器件之間傳輸。
    發(fā)表于 02-27 14:00 ?5206次閱讀
    基于<b class='flag-5'>I2S</b>接口的Linux內核<b class='flag-5'>音頻</b>技術

    I2S總線的定義和特點

    I2S(Inter-IC Sound)總線,又稱為集成電路內置音頻總線,是飛利浦公司(現(xiàn)為恩智浦半導體)為了數(shù)字音頻設備之間的
    的頭像 發(fā)表于 09-03 14:08 ?4456次閱讀