瑞芯微Rockchip开发者社区
直播中

王越建

7年用户 1445经验值
私信 关注
[经验]

演示I2S外设驱动板载DMIC的音频电路板通过Audio Cube在线播放的功能

准备工具

一块 bl702 开发板 + DMIC音频子板 + PC 端 Audio_Cube 工具

硬件连接

本 demo 基于 BL706_AVB 开发板,需要用到 DMIC 音频子板,连接方式如下:

如果使用的是BL706_AVB板,请确保FUN1 FUN2两个跳帽处于短接的状态,如下图所示

本 demo 用到的内部外设资源如下:

软件实现

软件代码见 examples/audio_cube 文件夹, 其中 data_protocol.c 数据协议控制,用以与 Audio_Cube 工具交互通讯,获取控制信息、传输音频数据,

data_protocol.c 是音频驱动相关程序,配置相关外设与音频数据解析, 播放与录制音频。main.c 使用以上程序,完成本 demo 的功能实现。

本文档不再详细功能实现的细节,仅概述功能过程,可以参考 I2S 与 UART 相关文档。

配置 I2S, I2C, CLK_OUT(MCLK) 相关复用引脚,见 bsp/board/bl706_iot/pinmux_config.h 中的宏定义选项:

编译和烧录

CDK 编译

打开项目中提供的工程文件:audio_cube.cdkproj

参照 Windows 下使用 CDK (类 MDK Keil)开发指南 的步骤编译下载即可

命令行编译

Audio Cube 上位机的使用

正确编译烧录程序后,复位启动,通过串口连接 PC,打开 Audio Cube 软件,界面如图:

选择对应的串口号(Data Port 与 command Port 相同),设置与已烧录的程序里相同的波特率(默认为3M,在 data_protocol.c 中修改), Refresh Port 按键用于刷新串口信息,Clear Display 用于清除显示的信息,Advanced 按键展开关于录音的设置,包括采样率、声道数、采样位宽(固定为16bit)

录制音频

录制音频前若正在播放音乐,需要点击 Stop 停止播放。点击 Start Record 录制音频,再次点击停止录制,会将录制的音频保存在 record 文件夹下, 录制的音频会以时间作为文件名。如果需要播放录制的音频,点击 Browse 选择录制的音频,再点击 Play 即可。

原作者:BL_MCU_SDK 开发指南

更多回帖

发帖
×
20
完善资料,
赚取积分