当前位置: 首页 > 文档资料 > GX8008 开发文档 >

GX8008C_Wukong-Prime_V1.1 开发板用户指南

优质
小牛编辑
207浏览
2023-12-01

概述

文档详细介绍了 GX8008C Wukong-Prime V1.1 方案,包括 USB 相关协议、方案 设计、固件烧写和方案板的使用流程等。

硬件方案

概述

GX8008C_Wukong-Prime(简称 Prime)是面向语音前端处理应用而设计的 方案,运行离线的 demo 程序后可进行基本的本地语音交互。Prime 平台具有如 下功能特点:

  • 1)2 路驻极体麦克风
  • 2)1 个 BOOT 功能按键
  • 3)1 个 RGB 3 色 LED
  • 4)USB 2.0 Device 接口
  • 5)1 个 UART 调试端口
  • 6)1 路 Audio out
  • 7)I2C、UART、I2S/SPI 等多个功能预留 IO 口

方案设计简介

电源

主设备 USB 接口供电或者 5V 适配器供电

存储器

SPI NOR Flash:单颗 2MByte ~ 16MByte(16Mbit ~ 128Mbit)

音频

输入音频:UAC 采用 2 路驻极体模拟麦克风输入方案 输出音频:LODAC 输出到扬声器或者 UART、I2S 输出

数据通道

USB:一路 USB Device 接口(可用于传输数据、时钟同步和下载程序等)

MIC 阵列

方案采用 2 路模拟 MIC 输入,板外式驻极体麦,两个麦克风间距建议 40mm。 GX8008C 最多支持 4 路 MIC。

调试接口

串口:2 路 MCU UART,UART1 用于 MCU 调试,UART0 用于设备间通信; 1 路 DSP UART_TX。

LED 阵列

GX8008C 支持多种型号的 LED Driver IC,通过 I2C 接口控制 LED 阵列。本方案配有 1 颗 RGB LED,通过 IO 口控制。若采用 LED 阵列方案,可以通过 I2C接 LED IC,最多 12 颗 RGB LED。GX8008C 有两路 I2C。

Audio out

Prime 板配有一路 Audio out 方便开发。对于 GX8008C 外接扬声器的产品方案,可以采用此方式,如图 2、图 3;对于 GX8008C 只做语音处理功能,主控带 Audio out 的产品方案,这部分可不用,通过 UART0 将 GX8008C 的音频数据传到主控处理播放,如图 4。对于不同的应用场景,可灵活选择。

GX8008C Wukong-Prime V1.1 平台实物图

电源接法

在图 5 中,通过 USB 线将 UAC 的 USB 口接到 USB HOST 即可上电。

串口接法

将图 6 黑色接线口凸起朝上与图 5 的 UART 连接(红色线靠右),上电后即 可在主机的/dev 目录下看到串口设备节点。

软件方案

概述

GX8008C_Wukong-Prime 是主要用作语音前端处理模块,能实现 AEC、 BeamForming 和 Wakeup 功能。启动 Prime 板,运行 demo 程序,可进行基本的唤醒识别。

VSP(语音前处理系统)运行在 MCU、DSP 和 NPU 上。主要完成语音信号处理,比如降噪、去混响、回声消除、波束合成、特征提取、激活词识别等。实现了原始语音数据采集、系统的启动和初始化、系统状态检测、系统功耗控制、LED 效果等功能。VSP 在设计之初就兼顾考虑了语音信号处理的运算特点、硬件模块的特点、NPU 和 DSP 处理器的特点,并在很大程度上对算法实现的便利性、内存使用效率、处理器性能和系统功耗进行了充分的优化。

当前方案支持以下功能:

  • 支持 USB 即插即用
  • 最多支持录制 6 路麦克风数据
  • 通过唤醒词触发唤醒状态
  • 支持 HID 和 USB 串口
  • 通过按键进入静音状态

协议介绍

USB-UAC

UAC(USB Audio Class)一种通用数据接口,可以有很多种实现数字音频数据传输的方式。不同的开发者可以根据自己的喜好和需求,定义任意的控制方式,传输模 式,音频格式等等参数。

USB 非常适合作为以 PC 为平台的音频(包括语音和音乐等)传输协议,USB 接口拥有远远高于音频需求的带宽,可以传输高品质(高采样率、多声道)的音频数据。因此,例如录音和音乐播放等音频功能都可以很容易在 USB 接口实现。

音频流被打包成 USB 数据包(USB packets)在 USB 总线上传送。每个数据包只能包含整数个音频流数据。 USB 支持的四种传输机制: 控制传输,中断传输,块传输,同步传输(等时输), 如图 4。

UAC 方案采用等时传输,该类型有要求数据的及时性、传输大量数据和速率恒定等 特点,故适合用于音频系统。

USB-HID

HID(Human Interface Device)属于人机交互操作的设备,是 USB 设备中常用的设备类型。例如 USB 键盘、USB 鼠标与游戏杆等。

当插入 USB 设备后,主机会向设备请求各种描述符来识别设备。为了把一个设备识 别为 HID 类,设备在定义描述符的时候必须遵守 HID 规范。HID 设备的描述符除了五个 USB 的标准描述符(设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符)外,还包括三个 HID 设备类特定描述符:HID 描述符、报告描述符、物理描述符。所有的 HID 设备通过 USB 的控制管道和中断管道与主机通信。

描述符之间有一定的关系,一个设备只有一个设备描述符,而一个设备描述符可以包含多个配置描述符,而一个配置描述符可以包含多个接口描述符,一个接口使用了几个端点,就有几个端点描述符。USB 的描述符之间的关系是一层一层的,最上一层是设备描述符,下面是配置描述符,再下面是接口描述符,再下面是端点描述符。

PLC 方案

PLC(Programmable Logic Controller)可编程逻辑控制器,以这个词命名我们的方案是因为它可以根据DSP处理语音信号输出的KWS值和输出算法语音做一些可编程的逻辑控制,来满足不同的产品方案的需求。

PLC 方案支持以下功能:

  • 1)UAC 录音功能;

  • 2)向主机发送 HID 键值功能。PLC 方案兼容 UAC 方案的一些功能,包括 HID 键值发送和声卡录音功能,去除了声卡的输出功能;

  • 3)支持低功耗模式。PLC 方案还支持低功耗,可以应用于语音前处理控制模块对功耗有要求的产品方案。

  • 4)主激活词二次唤醒功能。

  • 5)本地语音播报功能。本地语音播报功能包括主动播报和被动播报。主动 播报是 MCU 收到 DSP 处理完的数据,如果有唤醒事件,MCU 会主动播报唤醒 事件对应的播报语音。被动播报一般应用于从设备模块,8008C 与上位机通过串 口交互,串口通信协议可以使用我们的公用协议也可以自定义。一般处理流程是 DSP 处理完数据后,会发送给 MCU,MCU 判断是否有唤醒事件发生,如果有 唤醒事件发生,会通过串口发送消息数据给上位机,8008C 等待上位机返回的串 口数据,解析后播放相应的语音数据。目前支持 MP3 格式和 16K、8K,单通道,16Bit 的 WAV 数据。

  • 6)串口、I2S 发送音频数据;

有些方案需要 8008C 芯片 DSP 做语音前处理后的音频数据,PLC 方案支持 将 DSP 经过语音算法处理后的数据或者经过 OPUS、Speex 编码后的数据通过串 口和 I2S 发送给上位机做二次语音处理,比如 ASR,来实现一些语音前处理模块 的产品方案。

我们会提供一个带本地语音播报的 demo 给用户演示体验。固件和烧写在固 件烧写部分介绍。

CODEC 方案

CODEC 方案中把 GX8008C 充当音频解码芯片,在该方案中音频数据传输 方式有以下几种:

  • 通过 ADC 从 HOST 接受音频数据,经过 DSP 处理过后,然后通过 DAC 播 出。

  • 将 DSP 算法处理过的音频数据以及 VAD、KWS 信号通过 I2S 接口或 UART 发送到 HOST 端。

  • 支持从麦克风采集环境音频,经过芯片 DSP 语音算法前端处理,产生处理 后的语音信号,并通过音频接口输出到其他设备。