语音芯片厂测方案说明*
1. 概述*
本厂测方案通过上位机模组与MCU之间的串口通信协议,对芯片的各项功能进行自动化测试验证。
有关串口协议详细部分请阅读 GX8006大模型开发包下载 国芯微离线语音协议_v*.pdf。
1.1. 测试要求*
- 测试主机(上位机模组)
- 语音芯片(MCU)
- 主机和MCU串口连接
- 音频输入设备(麦克风)
- 音频输出设备(扬声器)
1.2. 包含测试点*
- 录音和回采回路的连通性
- MIC是否可以采集声音
- 喇叭是否可以播放声音
- GPIO是否可以正常输入输出
2. 测试项目及流程*
2.1 GPIO测试(0x0D)*
此测试分为两部分。
2.1.1 GPIO测试T1*
此测试用于验证各GPIO管脚输入输出是否正常。
2.1.1.1 硬件要求*
- 将需要测试的每组引脚相互连接
- 默认软件测试分组为
{2, {11, 13}}, // Group 0 {2, {12, 15}}, // Group 1 {2, {5, 9}}, // Group 2 {2, {14, 6}} // Group 3
2.1.1.2 测试逻辑*
- 先将一个组里的一个引脚设置为输出模式,其他引脚设置为输入模式
- 输出引脚先输出高电平,检测其他引脚是否都能读到高电平
- 输出引脚再输出低电平,检测其他引脚是否都能读到低电平
- 如果任一测试失败,说明该组引脚间可能存在问题
- 使用上述逻辑测试其它分组
2.1.2 GPIO测试T2*
此测试用于验证MICN
是否接地。
2.1.2.1 硬件要求*
- 将
GX_MICN
和GPIO10
连接。 GPIO10
需根据实际硬件情况调整,默认软件使用的GPIO10
2.1.2.2 测试逻辑*
- 检测
GPIO10
是否为0
判断GX_MICN
引脚贴片是否正确接地。
2.1.3 测试流程*
-
上位机模组发送测试指令
字段 长度 说明 帧头 2 0x55aa 版本 1 0x00 命令字 1 0x92 数据长度 2 0x0002 数据 1 0x0D(子命令) 数据 1 0x01(测试T1 + T2)
0x02(仅测试T2)校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余 -
MCU接收到指令后执行相应的GPIO测试
-
测试完成后返回结果
字段 长度 说明 帧头 2 0x55aa 版本 1 0x03 命令字 1 0x92 数据长度 2 0x0002 数据 1 0x0D(子命令) 1 0x00(成功)
0x01(失败)校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余 返回说明:
- 0x00:成功
- 0x01:失败
2.2 音频回路测试(0x0C)*
此测试用于验证音频录音
和回采
通路的完整性。
连接框图:
语音板 MCU
┌───────┐ ┌──────────┐
│ │ ┌──────▶│ MIC │
│ SPK│───────│ │ │
│ │ └──────▶│ AEC(REF) │
│ │ │ │
│ MIC|◀──────────────│ SPK │
└───────┘ └──────────┘
2.2.1 硬件要求*
- 需要一个语音板产生音频信号
- 语音板的SPK给到MCU的MIC和AEC
- MCU的SPK输出环回到语音板的MIC
- 语音回路测试8006仅做波形采集和播放,最终测试结果由语音底板输出给到上位机。
- 注意MCU的回采电路未连通,连通会导致播放的时候再被采集回来。
2.2.2 测试逻辑*
- MCU的
GX_MICN
接地由GPIO
的T2
测试项进行验证。 - 语音板产生音频信号例如1K
- MCU在采集后进行播放,输出到语音板
- 语音板检测收到的信号,验证回路是否正常
2.2.3 测试流程*
-
上位机模组发送测试指令
字段 长度 说明 帧头 2 0x55aa 版本 1 0x00 命令字 1 0x92 数据长度 2 0x0003 数据 1 0x0C(子命令) 数据 1 0x00(麦克通道)
0x01(回采通道)
0xFF(结束测试)校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余 需要测试两次,一次麦克,一次回采,测试需要结束时需上位机发送结束测试。
-
MCU返回执行结果
字段 长度 说明 帧头 2 0x55aa 版本 1 0x03 命令字 1 0x92 数据长度 2 0x0002 数据 1 0x0C(子命令) 1 0x00(成功);0x01(失败) 校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余 返回说明:仅作语音回路测试8006波形采集和播放是否执行成功的结果,最终测试结果由语音底板输出给到上位机。
-
MCU接收到指令后启动对应通道的音频回路采集并播放
2.3 录音播音测试(0x0B)*
此测试用于验证芯片的MIC和喇叭是否正常。
2.3.1 硬件要求*
- 需要连接好MIC和喇叭
2.3.2 测试逻辑*
- MCU接收到指令后启动录音,录制指定时长的音频,并在录音完成后播放。通过听喇叭的声音判断是否正常。
2.3.3 测试流程*
-
上位机模组发送测试指令:
字段 长度 说明 帧头 2 0x55aa 版本 1 0x00 命令字 1 0x92 数据长度 2 0x0002 数据 1 0x0B(子命令) 1 N(录音时间,单位秒,由于存内存限制,当前时间最大两秒) 校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余 -
MCU接收到指令后启动录音,录制指定时长的音频。这时开始说话,使MIC可以收到声音。
-
录音完成后自动播放录制的音频,听喇叭声音是否为刚刚说话的声音,判断是否正常。
-
MCU 返回测试执行结果
字段 长度 说明 帧头 2 0x55aa 版本 1 0x03 命令字 1 0x92 数据长度 2 0x0001 数据 1 0x0B(子命令) 校验和 1 从帧头开始,按字节求和,得出的结果对 256 求余 返回说明:仅作软件是否执行成功的结果,具体是否有问题需要听喇叭声音。