Skip to main content

XVF3000硬件设计

阅读前确认

用户需要确认一下内容,以方便阅读下文

XVF3000 datasheet 导读

查看XVF3000-3100-TQ128-Datasheet_15.pdf,其描述的为xvf3000裸片(不含固件)的硬件特性。了解基本的硬件数据,电气特性。

基本特性

  • 商用温度等级(0 °C to 70 °C)
  • TQ128 封装
  • 580mA典型工作电流,700mW左右(固件运行)
  • 内置了16Mbit QSPI Flash
  • I/O 驱动能力为4mA

电源

根据datasheet的最小系统框图,XVF3000的需要两路电压供应,3V3和1V0, 其中3V3提供给I/O, USB , Flash等外设使用,1V0提供给XVF3000逻辑核心使用。

其两路电压时序要求为3V3先上电,稳定后,1V0后上电。

复位检测

XVF3000需要外部有复位检测芯片,可以选择单独侦测 3V3或者1V0,以避免在电压不正常时,芯片无法复位来运行固件。

QSPI Flash

XVF3000内置了QSPI Flash(IS25LP016D),其主要是存储XVF3000固件,所以XVF3000项目得预先烧录固件才能启动运行4路麦克风阵列算法。使用QSPI Flash烧录器烧录XVF3000需要配置QE=1的烧录方式。

BOOT MODE

XVF3000的由QSPI Flash启动,根据框图连接XVF3000和Flash时,需要确保X0D01上拉1K电阻,以实现boot mode是由XVF3000芯片读取加载内部的QSPI Flash固件。

I/O 映射

XVF3000的逻辑I/O接口的功能使用由固件定义,datasheet 无描述I/O 功能使用,需参考木瓜电子或者XMOS官方提供的的原理来选择使用特定的I/O map。

时钟信号

XVF3000外部需要24MHz有源晶振接入作为启动晶振,接入到CLK 引脚,而音频时钟16KHz 和48KHz采样率仍需要一个外部的12.2888MHz音频时钟或者晶体接入作为I2S或者PDM麦克风的MCLK时钟使用。

原理图和PCB

根据我司或者XMOS官方的提供的参考原理,结合XVF3000的datasheet最小系统。用户可以比较轻易完成XVF3000的最小系统设计,包含了电源,时钟,启动上拉等。

原理图设计

USB 接口设计

在XVF3000 圆形4路麦克风阵列方案中,USB接口除了提供5V电源供应,仍需要用来作为音频传输,DFU固件,vfctrl调试参数。 XVF3000 芯片内部集成了USB PHY收发器,可以直接使用芯片引脚USB_DM,USB_DP,USB_VBUS,USB_RTUNE连接外部USB端子。

遵循XVF3000 datasheet说明,USB的设计分为USB供电或者外部电源作为XVF3000芯片供电两种情况,如图为USB作为整个XVF3000系统供电原理设计

根据XVF3000 datasheet的描述

  • USB_RTUNE 需要下拉43.2 R电阻
  • USB_VBUS 和USB_ID 不能连接,需悬空
  • USB_VBUS提供5V给DC-DC 转换3V3和1V0电源提供给XVF3000和外围芯片
  • 因为XVF3000 的ESD压力为2KV,建议用户在USB端子设计加入ESD保护电路芯片

如内部有电池或者外部供应5V给整个电源系统,则USB_VBUS的设计需要参考XVF3000 datasheet(page 19)的USB_VBUS设计。

The 10k series resistor and 0.1uF capacitor ensure than any input transient is filtered and does not reach the device. The 47k resistor to ground is a bleeder resistor to discharge the input capacitor when VBus is not present. The 1-10uF input capacitor is required as part of the USB specification. A typical value would be 2.2uF to ensure the 1uF minimum requirement is met even under voltage bias conditions

如用户决定使用XVF3000使用I2S输入输出来连接host主控(ARM,BT,WiFi等芯片)代替USB作为音频传输,同时强烈建议前期保留USB端子以便进行dfu_usb和vfctrl_usb使用。后期确定量产时再去掉USB部分。

电源设计

XVF3000 内部无DC-DC和LDO集成,需要外部提供3V3和1V0的供电。其中3V3提供给XVF3000及其集成的部分的 I/O供电,1V0供应XVF3000核心及其集成组件的核心使用。查看datasheet的Example Application Diagram的框图,得到XVF3000电源的需求情况。

3V3 供应部分 3V3电压范围(3.135 ~ 3.465 V)

  • VDDIO (3V3) : Digital I/O power (left,right,top), VDDIOL,VDDIOR,VDDIOT
  • OTP_VCC (3V3) :pins for OTP
  • USB_VDD33 (3V3) : USB Analog power,analog supply to the USB-PHY

1V0 供应部分 1V0电压范围(0.95 ~ 1.05 V)

  • VDD pins (1V0):Digital tile power ,for the core logic
  • PLL_AVDD (1V0) : Analog power for PLL, pins for the PLL
  • USB_VDD (1V0) : USB Digital tile power , supply to the USB-CORE

查看datasheet的Power Consumption 部分得到XVF3000的核心供电需求电流为580 mA左右(700mA MAX), 确保DC-DC电源芯片1V0输出需要大于700mA,建议值1A的输出能力,且不能使用LDO电源芯片输出1v0,导致损耗过大。 根据datasheet所述的3V3和1V0的上电时序要求,我们建议整体电源设计的时序为3V3先上电,然后使能(enable)1v0后上电

其电源设计如下图,其中

  • 3V3由5V DC-DC转换得到,3V3先稳定后,使能另一个DC-DC转换得到1V0 ; 形成 3V3先上电,1V0后上电的时序
  • 3V3和1V0分别供应相应的电源输入引脚,尽量保证每个电源输入引脚有个104的滤波电容,且这些电容在layout的时候,尽量靠近相应的电源引脚。
  • pin 50 和 pin 65 必须悬空,不能接任何电气
  • PLL_AVDD 需要一个高品质的电源,在PLL_AVDD引脚加入RC 低通滤波器,且在layout的时候,4R7电阻和104电容需要尽可能靠近PLL_AVDD引脚

系统设置

XVF3000外围需要两个有源晶振,24 MHz 和 12.288 MHz。24 MHz时钟为XVF3000起振时钟,提供给内部PLL产生芯片主频,24 MHz有源晶振输出接入XVF3000的CLK 引脚。12.288 MHz时钟为XVF3000核心(Tile 0 和Tile 1)处理音频传输协议需要的音频时钟,XVF3000核心将12.288 MHz进行分频,分别生成I2S 的 LRCLK , BCLK 和 PDM 协议的CLK。 所以12.288 MHz作为MCLK分别输入到XVF3000 的pin 62(芯片定义该引脚为X0D12,即Tile 0的1E 端口) 和 pin 20(芯片定义该引脚为X1D38,即 Tile 1的1o端口)

XTAG接口为XMOS专用的调试和烧录工具,XVF3000内置了QSPI Flash(IS25LP016D),XVF3000需要下使用XTAG烧录factoy固件了后,XVF3000才能正常运行麦克风阵列算法,在原理设计时,需要引出XTAG和QSPI Flash的烧录接口,以便样机或者量产时烧录XVF3000固件。

XVF3000外部需要有个复位检测芯片,避免供电电压不正常时导致固件运行紊乱,根据datasheet的描述,其复位时间必须为1ms~10ms之间的拉低时间

If your design is powered by VBUS,then RST_N should go high within 10 ms of attaching to VBUS in order to ensure that USB timings are met. RST_N should be at least 1 ms after VDDIO good to enable the built-in flash to settle.

其整体设计为, 其中:

  • XTAG 建议接一个2x5 1.27mm的母座端子引出,方便烧录和调试,且脚位排序不变
  • flash point是引出使用QSPI Flash烧录器进行PCBA的方式烧录测试点。烧录前需要接5V和GND,并且RST_N拉低以确保XVF3000在烧录过程中处于复位状态。如果不是PCBA的烧录方式,不需要保留flash point这些测试点
  • XVF3000 pin 27需要上拉1K电阻, 确保XVF3000上电时访问的是内部的QSPI Flash
  • 12.288 MHz有源晶振时钟分出3路时钟,分别提供Tile 0,Tile 1和Codec作为MCLK使用,如果PCBA板子布线较长,建议加个buffer logic器件加以增大驱动能力

音频I/O

XVF3000 支持多路PDM麦克风,但是XMOS官方vocal Fusion算法仅支持4路麦克风阵列算法。多路PDM麦克风接口复用1个clk 时钟信号线,以确保多路麦克风信号高一致性。多路麦克风data信号线各自独立,不分L/R时序。L

XVF3000 支持2路I2S 接口,其I2S协议为标准I2S, 64fs, 有效位可以实现16bit/24bit。 如果I2S连接ADC或者DAC, 则XVF3000 的I2S为master模式 ; 如果XVF3000 连接蓝牙/wifi/CPU, 则XVF3000都可以选择master/slave模式。两路I2S都复用MCLK , LRCLK , BCLK。

其中XVF3000的音频接口PDM和I2S的时钟频率为: PDM_CLK: 3.072 MHz I2S_MCLK: 12.288 MHz I2S_BCLK: 1.024 MHz(@16KHz sample rate) I2s_LRCLK: 16 KHz(@16KHz sample rate)

XVF3000的DAC和ADC选型设计,根据用户项目框架的需要,参考本站XVF3000项目实施落地的应用框架而确定是否都需要ADC和DAC的设计。XVF3000仅支持mono AEC(单声道 回音消除),在DAC或者ADC设计时,仅需要使用DAC的右声道输出(Right channel output)和ADC的右声道输入(Right channel input)。

选择相应的DAC和ADC需要吻合XVF3000的I2S时序,且尽量免I2C配置,为I2S自适应的Codec,避免XVF3000固件有过多的I2C配置造成软件工程师过多投入。

其整体设计如下图,其中

  • 每个所用到的I/O都是XVF3000软件定义,由于需要配合现成的固件,所以I/O不建议更换

  • 4个PDM 麦克风的LR 都需要统一拉低接地。如成本允许,单独生成3V3A干净电源提供给麦克风供电。

  • PXVF3000-KIT评估板麦克风布局为32mm的半径圆形均匀分布,如需其他圆形尺寸,麦克风的间距不小于30 mm,其最大间距由TTL受干扰限制,不建议太大,XVF3000 I/O驱动能力仅为4mA。如更改了圆形尺寸,需要通知固件方修改软件以匹配阵型

  • 用户根据项目框架需要是否DAC,XVF3000仅支持mono AEC, 且DAC在右通道输出(Right channel output)

  • 用户根据项目框架需要是否ADC,XVF3000仅支持mono AEC, 且ADC在右通道输入(Right channel input),并且模拟参考信号(analog AEC ref)在播放的运放前端接入,同时建议设计分压电路,查看ADC的满框输入水平(Full Scale Input Level ),以确定分压值

  • 用户尽量选择免I2C配置的ADC和DAC,选择I2S自适应的Codec,则不需要通知固件方进行I2C配置来吻合XVF3000的I2S协议和驱动Codec

控制I/O

XVF3000固件内部仍有小些逻辑控制资源,可以实现控制LED,按键等功能。LED的控制主要是为了实现XVF3000圆形麦克风阵列DOA(声源定位)和VAD(人声检测)指示使用,XVF3000仅支持12个LED来显示360度方位,分辨率为30度。固件的麦克风阵列算法精度取决于4路麦克风阵列信号的一致性以及阵列麦克风的几何坐标参数是否在固件有足够精准。

按键控制建议仅用在麦克风的静音(MUTE信号)。如功能上需要用到麦克风静音功能,建议在4路PDM复用的CLK引脚加上逻辑器件,实现电气上的静音。

其整体设计如下图,其中

  • LED12为VAD(人声检测)指示使用,建议单独放在圆形中间或者靠边地方,LED[0`11]为角度方位使用,并且建议顺时针圆形分布,需要告知固件方使能VAD且修改固件实现正确的方位指示。如不需要LED指示,可全部去掉

  • MIC_CLK拉高拉低都可以实现麦克风信号静音(MUTE),这里建议用户增加逻辑logic器件来实现物理上MUTE。不建议在XVF3000固件来时间音量+,音量—,会涉及投入比较大的固件开发。如需要,建议直接控制运放。

检查表 Check List

框架检查

  • USB 需要做保留设计,无论是是否有使用I2S作为音频传输,USB的dfu_usb和vfctrl_usb仍需要使用
  • XVF3000的XTAG设计建议使用2x5母座端子,间距1.27mm;或者2x10的2.54mm的母端子,避免留出测试点接线麻烦的方式。木瓜电子可提供转接板,同时用户需要购买XTAG烧录器
  • XVF3000内置了QSPI Flash,需要考虑到批量生产的烧录操作,设计前需要确定好是选择PCBA烧录还是裸片烧录,以便留出flash point相关测试点,同时确保使用QSPI flash烧录方式QE=1的配置烧录
  • 确认好AEC ref的提供给XVF3000的方式,以便确认是否ADC和DAC

原理图和PCB检查

  • 查阅XVF30000的datasheet的Check list(page 72)
  • 查阅XVF30000的VocalFusion Speaker Hardware Manual.pdf
  • 复位芯片是必须要的,可以选择侦测3V3和1V0
  • 麦克风layout布局,建议每个麦克风间距不小于30mm
  • Layout时,USB型号尽量并行走线且不靠近I2S/PDM的时钟线
  • Layout时,需要考虑量产时,麦克风需要加上密封胶套来配合结构外壳,达到声学要求

PCBA问题排查

USB不能正常枚举出声卡设备

  • 确认硬件的电源3V3和1V0是否正常; 确认24 MHz时钟正常进入XVF3000; 确认复位检查芯片是否拉住了XVF3000的复位
  • 确认XVF3000是否已有固件;确认使用QSPI Flash烧录器烧录固件时,配置QE=1,并且烧录时已把配置烧录进去。XVF3000已烧录固件时,板载5V电源会在大于150mA

判断麦克风是否良好

  • 烧录或者dfu_usb一个6通道固件,把麦克风原始信号在audactiy录制查看,或者使用AP分析

AEC 性能不好

  • 如是模拟参考信号到ADC提供给XVF3000的方式,确认ADC接收到的模拟参考信号是否正常,是否为右声道输入,是否有作为分压输入水平不超过ADC的满框输入水平
  • 如是USB提供参考信号给XVF3000的方式,确认是否是右声道输出给喇叭。
  • 确认整个过程中喇叭和麦克风的相对位置没有任何变动
  • 确认喇叭到麦克风声压不大于100dB
  • 确认麦克风有足够好的密封性

服务

XVF3000的硬件设计用户需要自行完成,结合木瓜电子提供的参考原理图设计(PXVF3000-KIT 评估板),XVF3000 datasheet和VocalFusion Speaker Hardware Manual文档完成设计。

木瓜电子可以为用户提供XVF3000 固件,整体设计如有技术问题,可以发邮件发mic@pawpaw.cn咨询。

木瓜电子可以提供XMOS XVF3000 , 麦克风和Code芯片供应服务。