33. SPI模拟I2S
33.1. 概述
该示例工程展示了SPI模拟I2S主机接收音频解码模块录音数据并且播放录音数据的功能。
评估板需要接入音频解码模块,本例程使用wm8978
33.2. 注意
由于该示例所用的SPI需要大长度传输,目前仅支持hpm5300系列。
33.3. 需要使用到的组件
dma_mgr
spi
i2s_over_spi
codec(wm8978)
33.4. 硬件设置
通过音频模块板载mic进行录音
连接3.5mm耳机到音频模块的输出耳机接口
需要用到GPTMR输出以及SPI引脚,引脚(请参考引脚描述部分)
5V <–> 5V(WM8978)
3.3V <–> 3.3V(WM8978)
GND <–> GND(WM8978)
MCLK(GPTMR) <–> MCLK(WM8978)
LRCK(GPTMR) <–> LRCK(WM8978)
BLCK(GPTMR) <–> SCLK(SPI) <–> SCK(WM8978)
MISO(SPI) <–> (DAT)DACDATA(WM8978)
MOSI(SPI) <–> (SDB)ADCDATA(WM8978)
(CS)GPIO <–> CS(SPI)
I2C_SDA <–> I2C_SDA(WM8978)
I2C_SCL <–> I2C_SCL(WM8978)
33.5. 运行步骤
当工程正确运行后,串口终端会输出如下信息。
---------------------------------------------------------------
* *
* i2s_emulation demo *
* *
* 1 - start play *
* 2 - stop play *
* 3 - start record *
* 4 - stop record *
*-------------------------------------------------------------*
终端输入’3’字符,开启录音,如果录音时长大于指定时长会自行退出保存。
record start enter....
record size overflow, now exit..
终端输入’1’字符,开启录音播放
play start enter....
play end, now exit....
终端输入’4’字符,停止录音
record_stop finish....
终端输入’2’字符,停止播放
play stop finish....