XVF3000项目导入
阅读前确认
用户需要确认一下内容,以方便阅读下文
- 已拥有了PXVF3000-KIT
- 已详细了解XVF3000 内置的前端算法AEC , BF , NS, AGC等
- 已使用PXVF3000-KIT已经通过vfctrl_usb工具调试出理想的参数
- 已确认XMOS XVF3000 4路麦克风阵列方案性能可满足导入项目产品中
概要
使用XVF3000作为圆形4麦阵列方案的主控,需要了解硬件设计和软件设计,结合结构设计,才能使得产品顺利落地。并且根据我司现有的XMOS麦克风阵列方案,建议使用XVF3000来做桌面会议 产品(Comms 方向)
如需要做语音识别(ASR方向)建议使用我们2麦阵列方案XVF3510方案。
XVF3000项目导入前,根据下文的描述需要了解以下几点:
- XVF3000的硬件框架的确定
- 熟悉USB的对产测和测试的作用
- XVF3000的固件获取, 烧录和更新
- XVF3000 DSP算法参数
- 麦克风阵列的外壳结构的声学设计
- XVF3000的产测需具备的设备和测试的流程
- XVF3000过认证需要提前准备的工作
XVF3000 硬件基本框架
XVF3000芯片基本特性如下:
- 商用温度等级(0 °C to 70 °C)
- TQ128 封装
- 580mA典型工作电流,700mW左右(固件运行)
- 内置了16Mbit QSPI Flash
- I/O 驱动能力为4mA
- 订购型号:XVF3000-TQ128-CA; 丝印:VSM01C
XVF3000 硬件系统最小系统如下图。XVF3000 圆形4路麦克风阵列根据音频传输接口的不同,大体分为如下三种硬件框架。用户根据项目需求选择其 一,并且以确定硬件上是否需要设计ADC和DAC。
使用USB连接Host | USB_in&out
Host主机的音频传输都通过XVF3000的USB来输入输出,XVF3000作为一个USB Audio声卡设备,产品应用一般为外置的拾音设备。 其框架如下图,其中:
- XVF3000前端信号处理完后,提供干净的声音(Comms/ASR)给Host进行会议通话,通过USB接口输入给Host
- Host播放声音时通过USB声卡播放输出,XVF3000为声卡设备,XVF3000的AEC参考信号在USB协议音频传输过程中获取
- XVF3000 USB UAC1.0包含传输音频输入输出、vfctrl_usb和dfu_usb,UAC输入输出的音频格式为16KHz/48KHz
使用USB连接Host | Analog_ref
XVF3000通过USB输入声音给host主控,Host主控提供模拟AEC参考信号给XVF3000。
其框架如下图,其中:
- XVF3000前端信号处理完后,提供干净的声音(Comms/ASR)给Host进行会议通话,通过USB接口输入给Host
- Host提供播放声音的参考信号给XVF3000做回音消除的参考信号,ADC采集Host端的模拟声音传输给XVF3000
- XVF3000 USB UAC1.0包含传输音频输入、vfctrl_usb和dfu_usb,UAC输入的音频格式为16KHz/48KHz
使用I2S连接Host| I2S_in&out
该框图不常用,仅推荐XVF3000需要连接WiFi/蓝牙时使用,并且建议Host(无线模组)的I2S需要做I2S slave模式,因为XVF3000需要音频时钟做16KHz的音频算法处理
其框图如下图,其中:
- XVF3000前端信号处理完后,提供干净的声音(Comms/ASR)给Host进行会议通话,通过I2S接口输入给Host
- Host提供播放声音的参考信号给XVF3000做回音消除的参考信号,Host通过I2S传输给XVF3000
- I2S协议要求16KHz/48KHz 16bit,64fs, 标准I2S,其两路I2S共用时钟线MCLK,BCLK,LRCLK
- 预留USB接口,方便工程样机的调试和产测。
XVF3000 固件基本框架
ASR 和 Comms 的选择
XVF3000 固件麦克风阵列算法DSP 运行后,可同时提供两路前端处理后的声音信号输出,且其分别为用于语音识别(ASR,Automatic Speech Recognition )和用于会议电话(Comms, communication and conferencing)。用户 根据产品需求,可以选择ASR信号和Comms信号同时输出,或者选择其中一个输出。
ASR ASR信号主要是用于语音识别,接入类似Alexa等各大语音识别引擎平台,做语音交互使用。ASR信号整体的特征是人声清晰,频谱比较丰满,降噪系数较小,以满足语音高识别率。
Comms Comms信号主要是用于会议通话使用,类似接入微软的teams, skype和企业微信或者钉钉等会议产品使用。Comms信号整体的特征是底噪比较小,由于降噪系数比较大,其频谱比较干净明显。
AEC参考信号选择
XVF3000仅支持mono(单声道)参考信号,固件中默认选择立体声中的右声道(Right channel)作为AEC的参考信号,所以产品中的喇叭建议使用1个喇叭,或者2个喇叭都由右声道(Right channel)输出。AEC回音消除所需要的参考信号有两种方式提供给XVF3000
选择 USB UAC 提供AEC参考信号
USB UAC作为声卡播放的时候,播放的声音信号经过XVF3000时,XVF3000已经copy了参考信号提供给AEC算法模块使用。但是,后级的DAC和功放都需要保持线性输出,喇叭播放出的声音不能有EQ处理。如有EQ处理,则喇叭播放出来的声音跟已提供的参考信号已经失去了线性的对比,结果会导致AEC性能发挥不好。
选择 I2S(ADC)模拟提供AEC参考信号
需要增加I2S接口接入数字参考信号或者增加ADC接入模拟参考信号提供给XVF3000 AEC算法模块使用。建议在功放前选择右声道信号提供给ADC。同理,功放后级不能有EQ处理。
烧录方式的选择
XVF3000芯片可以使用XMOS专用XTAG进行烧录,也可以使用QSPI flash 烧录器进行PCBA烧录和裸片烧录factory固件。同时可以通过dfu_usb工具更新dfu固件。根据产线实际情况,进行评估和选择。
木瓜电子通常会提供3种后缀命名的固件,分别为xxx.xe, xxx_factory.bin和xxx.dfu。这三者中,xxx.xe和xxx_factory.bin都统称为factory固件,xxx.dfu称为更新固件。其中
- xxx.xe固件由XMOS IDE编译生成,仅能通过XTAG调试工具烧录到XVF3000芯片,其烧录时间上,效率很低。
- xxx_factory.bin固件由xxx.xe通过XMOS IDE导出,仅能通过spi flash烧录器烧录,效率较高。
- xxx.dfu更新固件由xxx.xe通过XMOS IDE结合QSPI Flash型号信息来导出,仅能通过USB dfu_usb工具进行更新固件。更新固件后,需要重启XVF3000才会正常运作更新后的固件。
使用dfu_usb工具进行更新固件的前提是:XVF3000已经烧录了factory固件,XVF3000能够正常运作,USB能够在操作系统枚举成功,