基於XMOS平臺的USB麥克風陣列多聲道採集裝置的製作方法
2023-09-17 02:56:05 2

本實用新型涉及麥克風陣列多聲道聲音採集領域,尤其涉及基於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。
以上所述是本實用新型的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本實用新型原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本實用新型的保護範圍。