基于XMOS平台的USB麦克风阵列多声道采集装置的制作方法

文档序号:11728579阅读:713来源:国知局
基于XMOS平台的USB麦克风阵列多声道采集装置的制作方法

本实用新型涉及麦克风阵列多声道声音采集领域,尤其涉及基于XMOS平台的USB麦克风阵列多声道采集装置。



背景技术:

麦克风阵列(Array Microphone),是由2个以上数量的声学数字或模拟麦克风组成特定的阵列阵型,利用特定阵型的麦克风阵列技术可以实现更优质的拾音效果。在特定阵型的麦克风提供多声道音频数据到处理器进行DSP算法处理,可以实现优质的远场拾音、回声消除、降噪和声源定位等效果。以算法的理论上,麦克风阵列的麦克风数量与拾音效果成正比,目前现有的麦克风阵列技术普遍为2个麦克风和4个麦,随着处理器的性能不断加强,麦克风阵列的麦克风单元数量也在不断增多以便提供优质的拾音效果。

麦克风阵列多声道采集的数据需要传输到MCU、CPU等处理器或操作系统上进行处理和语音识别,需要数字的传输协议传输到处理器,现有的方案一般为I2S、TDM等传输方式,也就现有的I2S麦克风阵列多声道采集和TDM麦克风阵列多声道采集方案。现有的方案使用多声道的ADC进行模数转换,把多个麦克风的模拟信号转换为数字信号,然后通过I2S或者TDM总线方式传输到处理器。这样通过ADC后再把多声道麦克风的数据通过I2S和TDM总线传输到处理器的方案统称为多声道模拟麦克风采集。

现有的多声道模拟麦克风采集方案因为只有ADC来被动转换麦克风声音信号为数字信号,多声道模拟麦克风采集方案没有类似MCU等处理器在方案上,所以该方案必然会带来诸多问题:

(1)现有的多声道模拟麦克风采集方案只能接模拟麦克风,没有办法把该方案改接为数字麦克风,因为除FPGA性质的处理器外,其他ARM架构、X86架构的MCU和CPU没有办法接高达2个以上的数字麦克风,麦克风阵列技术算法能够实现优质的拾音效果往往需要麦克风数量的增加,一般在4个以上为佳;

(2)多声道模拟麦克风采集方案把多声道的声音数据传输到处理器的通讯总线为I2S和TDM,这两种总线也导致了麦克风阵列的设计必须和主板设计在同一个PCB板子上面,因为I2S和TDM总线为数字传输总线。如果采用分离方式设计,由于外界的干扰,I2S和TDM总线并没有差分信号传输稳定和驱动能力好,所以I2S和TDM总线会带来不能分板设计和总线不作通用这两方面缺点;

(3)多声道模拟麦克风采集方案如果是4个模拟麦克风以上的,则需要两个ADC,两个ADC的设计比较容易出现采集的信号没有一致性和同步性。会因为同步性不好而导致麦克风阵列技术算法没有能很好地发挥,所以现有的多声道模拟麦克风采集方案只能接收数量不超过8个模拟麦克风的采集。



技术实现要素:

为克服现有技术的不足,本实用新型提出基于XMOS平台的USB麦克风阵列多声道采集装置。

本实用新型的技术方案是这样实现的:基于XMOS平台的USB麦克风阵列多声道采集装置,包括

XMOS芯片;

与所述XMOS芯片相连的至少一个数字麦克风和/或通过多通道ADC与所述XMOS芯片相连的至少一个模拟麦克风;

与所述XMOS芯片里面的USB PHY相连的USB数据线;

其中,所述XMOS芯片包括Audio控制板块和USB控制板块,所述Audio控制板块用于接收所述数字麦克风和/或模拟麦克风的Audio数据,并将所述Audio数据传输到所述USB控制板块,所述USB控制板块通过控制所述USB PHY芯片,将所述Audio数据通过所述USB数据线发送到其它操作系统中。

进一步地,所述Audio控制板块包括

接收模块,所述接收模块连接所述数字麦克风和/或模拟麦克风,用于PDM时序实现和麦克风数据输入;

至少一个抽取模块,所述抽取模块连接所述接收模块,用于数字麦克风和/或模拟麦克风数据的抽取和分组;

处理模块,所述处理模块连接所述抽取模块,用于将所述抽取模块传输过来的数字麦克风和/或模拟麦克风数据进行整合和排序;和

音频模块,所述音频模块连接所述处理模块,同时负责产生I2S和I2C时序。

所述USB控制板块包括

解耦合模块,所述解耦合模块连接所述音频模块,用于接收并解压数字麦克风和/或模拟麦克风数据,然后将数字麦克风和/或模拟麦克风数据封包成USB格式数据;

缓冲模块,所述缓冲模块连接所述解耦合模块,用于USB格式数据的缓冲调节;

端点模块,所述端点模块连接所述缓冲模块,用于USB数据线连接的操作系统上的设备名、端点和USB类的描述和定义的管理;和

收发控制模块,所述收发控制模块连接所述缓冲模块和端点模块,用于USB格式数据的收发控制。

进一步地,所述XMOS芯片使用7个1bit port和1个8bit port来控制里面的USB PHY。

本实用新型的有益效果在于,与现有技术相比,本实用新型能够实现高达32个的模拟麦克风和数字麦克风;可以实现分板设计,采用标准化的USB接口,保证了信号传输的稳定性,同时解除了对操作系统的CPU的绑定;本实用新型加上了XMOS主控和外部时钟,使得多个麦克风采集的信号能够在时间上一致和同步。

附图说明

图1是本实用新型基于XMOS平台的USB麦克风阵列多声道采集装置一个实施例结构示意图。

图2是图1中的Audio控制板块结构示意图。

图3是图1中的USB控制板块结构示意图。

具体实施方式

下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型保护的范围。

请参见图1,基于XMOS平台的USB麦克风阵列多声道采集装置,包括

XMOS芯片;

与所述XMOS芯片相连的至少一个数字麦克风和/或通过多通道ADC与所述XMOS芯片相连的至少一个模拟麦克风;

与所述XMOS芯片里面的USB PHY相连的USB数据线;

其中,所述XMOS芯片包括Audio控制板块和USB控制板块,所述Audio控制板块用于接收所述数字麦克风和/或模拟麦克风的Audio数据,并将所述Audio数据传输到所述USB控制板块,所述USB控制板块通过控制所述USB PHY芯片,将所述Audio数据通过所述USB数据线发送到其它操作系统中。

本实用新型的XMOS芯片能够通过编程程序实现PDM通讯接口跟数字麦克风通讯,且最多可以接32个数字麦克风,另外XMOS芯片通过编程程序实现USB Audio通讯协议跟操作系统(安卓、Linux和Windows),SPI Flash和晶振等芯片属于XMOS平台最小系统所需要的外围芯片。硬件电路的设计注重PCB板子的Layout优化和数字麦克风的布线,整个板子的信噪比和信号完整性得到更好的优化,使得采集的模拟麦克风信号更加优质。整体的信号流程为:多个数字麦克风采集声音模拟信号并且将其转换为数字信号,通过PDM通讯协议把麦克风的数字信号传输到XMOS芯片,XMOS芯片整合多个数字麦克风数据到USB总线上,再通USB Audio协议上传到操作系统,操作系统进行更多的DSP算法处理。

本实用新型XMOS芯片能够通过编程程序灵活实现多个I2S和TDM通讯协议来跟ADC通讯,ADC处理来自差分信号的模拟麦克风信号,且最多可以接8个ADC、32个模拟麦克风,麦克风的数量取决于ADC跟XMOS芯片I2S和TDM的通讯接口的数量,TDM通讯协议则可以接收更多的模拟麦克风。另外XMOS芯片通过编程程序实现USB Audio通讯协议跟操作系统(安卓、Linux和Windows),SPI Flash和晶振等芯片属于XMOS芯片最小系统所需要的外围芯片。硬件电路的设计需要注重ADC部分的模拟设计和PCB板子的Layout优化,整个板子的信噪比和信号完整性得到更好的优化,使得采集的模拟麦克风信号更加优质。整体的信号流程为:多个模拟麦克分差分信号进入到ADC,并且将其转换为数字信号,通过I2S或者TDM通讯协议把麦克风的数字信号传输到XMOS芯片,XMOS芯片整合多个数字麦克风数据到USB总线上,再通USB Audio协议上传到操作系统,操作系统进行更多的DSP算法处理。

本实用新型基于XMOS平台USB麦克风阵列多声道采集设备的架构简单清晰,稳定性优良,并且通过标准的USB Audio协议传输到操作系统,USB Audio协议为国际标准通讯接口,可以实现板级之间USB差分通讯,一定程度上保证了传输的稳定性,也实现了分板设计的灵活性,通讯接口标准化和通用化。本实用新型在整体功能系统上,作前端采集作用,属于硬件模块,而采集到的多声道的数据通过USB总线传输到操作系统处理,在操作系统上处理的部分属于算法软件部分,这两部分相辅相成,缺一不可。

请参见图2,所述Audio控制板块包括

接收模块,所述接收模块连接所述数字麦克风和/或模拟麦克风,用于PDM时序实现和麦克风数据输入;接收模块是PDM时序实现和麦克风数据输入模块,接收模块控制多个I/O端口,使用一个1bit端口产生PDM实现的MCLK时序,该时序为3.072MHz,该时序频率通过分频可以实现8KHz~48KHz的麦克风信号采样率;使用一个8bit port端口同时可以接收8个数字麦克风的数据。接收模块一共控制了9个I/O口实现8个PDM实现和接收8个数字麦克风数据。把接收的8个数字麦克风的数据通过通道传输给抽取模块;

至少一个抽取模块,所述抽取模块连接所述接收模块,用于数字麦克风和/或模拟麦克风数据的抽取和分组;抽取模块是8个麦克风数据抽取分组模块,由跟接收模块通讯通道接收到的8个麦克风数据分组成两组麦克风数据,每组为4个麦克风数据,每个抽取模块仅处理其中一组,并把这一组的4个麦克风数据由通道传输到处理模块;如果需要同时把8个麦克风数据传输到处理模块,则需要两个抽取模块,每个抽取模块各处理一组4个麦克风数据;

处理模块,所述处理模块连接所述抽取模块,用于将所述抽取模块传输过来的数字麦克风和/或模拟麦克风数据进行整合和排序;处理模块负责把由各个抽取模块通讯通道传输过来的麦克风数据进行整合和排序,以很明确的形式分开每个麦克风数据并且排序,整齐地、同步地和有序地向音频模块传输这些麦克风数据。和

音频模块,所述音频模块连接所述处理模块,同时负责产生I2S和I2C时序。由处理模块通道传输过来的麦克风数据有序地转发给USB控制板的解耦合模块。如果是数字麦克风为I2S实现,则该线程控制7个1bit port端口产生4个I2S时序总线,这些I2S总线可以时序接收8~48KHz采用率的麦克风数据,并且有序地接收4个I2S时序的数字麦克风数据,并且有序地转发给解耦合模块。如果采集信号的是模拟麦克风,该线程也需要控制7个1bit port端口产生同样的4个I2S时序总线,同时使用1个4bit port产生一组I2C时序总线协议控制硬件的ADC,I2C控制ADC能使得ADC更好地发挥自动增益等性能。该线程接收4组I2S的数据一共为8个麦克风数据,该线程需要整理并且有序地把8个麦克风数据传输到解耦合模块。

请参见图3,所述USB控制板块包括

解耦合模块,所述解耦合模块连接所述处理模块,用于接收并解压数字麦克风和/或模拟麦克风数据,然后将数字麦克风和/或模拟麦克风数据封包成USB格式数据;解耦合模块负责USB Audio总线协议的数据封包和解包工作,接收到音频模块的麦克风数据后,解耦合模块会把这些数据以USB Audio协议数据封包格式封包,然后将这些数据以USB格式数据的形式向缓冲模块传输数据;

缓冲模块,所述缓冲模块连接所述解耦合模块,用于USB格式数据的缓冲调节;缓冲模块作为USB协议总线格式的数据上传和下传时的缓冲区,对USB格式数据传输时缓冲自动调节的作用,缓冲模块缓冲的数据发送到收发控制模块,同时向端点模块发送USB Audio协议等相关标识;

端点模块,所述端点模块连接所述缓冲模块,用于USB数据线连接的操作系统上的设备名、端点和USB类的描述和定义的管理;

收发控制模块,所述收发控制模块连接所述缓冲模块和端点模块,用于USB格式数据的收发控制。收发控制模块为USB的数据的收发控制器,使用7个1bit port和1个8bit port来控制USB PHY芯片,USB PHY为物理收发芯片,并把USB格式的数据由XMOS内核XCORE发送到USB PHY芯片上,USB PHY即可差分信号跟其他USB接口通讯了。

本实用新型能够接多个市面上新推出的数字麦克风,数量范围在4~32个,XMOS芯片接数字麦克风能够保证全部数字麦克风的一致性和同步性,极大地提升了实用新型的性能,为拾音DSP算法做了最基础的优化。

本实用新型能够接多个模拟麦克风,现有的实用新型的模拟麦克风数量最高为8个,本实用新型能够接高达32个模拟麦克风。同时因为使用全局的音频时钟,保证了I2S和TDM时序一致性和同步性,并且能够使用XMOS芯片配置ADC寄存器,可以充分利用ADC的自动增益等功能,整体保证了本实用新型的多声道模拟麦克风采集质量。

本实用新型统一使用USB接口USB Audio协议,使得本实用新型统一兼容操作系统(安卓、Linux和Windows),现有的操作系统的USB驱动都集成支持了USB Audio协议、实质性可以理解本实用新型一定程度上为免驱。另外一方面,使用USB Audio协议可以另外拔插和扩展,使得灵活性有显著的提高,并且使用USB传输数据属于差分信号传输,也起到了信号完整性的保证。

本实用新型可以解决对操作系统的CPU主控的绑定,本实用新型将以免驱的方式和操作系统通讯,几乎兼容市面上所有的CPU。

以上所述是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本实用新型的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1