嵌入式平臺上進行自動化音頻接口測試
時間:2020-05-07 來源:原創
如今,音頻接口已無處不在。在工業物聯網(IIOT)的大多數單片機(SBC)上都可以使用它。有多種類型的接口可用,從模擬音頻到數字音頻端口。每種類型的界面在設計和測試中都有其自身的挑戰。在組裝和生產期間對這些接口的測試涉及從模擬或數字前端到處理單元的數字音頻輸入端口的完整路徑。
下圖(圖1)顯示了嵌入式平臺上的音頻前端和生產測試設置環境中的音頻數據路徑的一般流程,

圖1:嵌入式平臺的測試設置和音頻前端
上圖顯示了數據路徑中存在的主要塊/組件。存在的接收器IC可以是模擬前端IC,例如模數轉換器(ADC),也可以是數字音頻接收器IC。IC的輸出可以是任何串行格式,例如Inter-IC聲音總線(I2S)。該接口可以以脈沖編碼調制(PCM)格式傳輸原始音頻數據。
生產測試的目的是確保針對各種問題對完整的音頻路徑進行功能測試。可能的問題可能包括以下內容:
前端接收器IC故障。
I2S線上與組裝相關的問題,例如高電平卡死(連接到電源)或低電平卡死(接地)或多條信號線之間的短路。
音頻接口測試將成為更大的生產測試系統的一部分,該系統將測試嵌入式板上的所有接口。
下面列出的是一種用于檢測音頻接口測試中與組裝相關的問題的常用技術。對于前端接收器IC故障,需要使用不同的技術,但是這些技術超出了本文的范圍。
技術1 –主觀測試
主觀測試包括捕獲音頻數據樣本幾秒鐘,并將它們與通過聽力檢查播放的實際音頻進行比較。該技術的缺點是它需要人工干預并且耗時。例如,如果有多個立體聲通道,則用戶需要一個接一個地聆聽并確認。考慮到上述技術的缺陷,我們提出了一種創新的方法來測試音頻接口信號并使整個過程自動化。
技術2 –自動化測試
要了解這種自動測試技術,重要的是要了解I2S接口的一些基本概念。
I2S具有三個信號– BCLK(位時鐘),WCLK(字時鐘),DATA(數據信號)。如果BCLK或WCLK不合適(卡在高/低端),則處理器音頻輸入端口將無法捕獲,并將給出相應的結果,顯示時鐘故障。如果這些信號很好,則將與DATA的值無關地進行音頻捕獲。現在,如果DATA卡在1或0,則音頻數據緩沖區將為每個16位樣本包含所有FFFF或所有0000。因此,當我們生成MD5校驗和時,我們將獲得兩個相應的值:MD5(FFFF)和MD5(0000)。對于音頻數據的所有其他值,MD5校驗和將有所不同。此概念可用于自動化和檢查音頻捕獲信號。
此方法的過程是在播放正確的音頻且未處于靜音狀態時捕獲音頻。這樣可以確保僅捕獲音頻文件,并且緩沖區中的數據正確。音頻數據緩沖區捕獲了大約100個樣本后,即可生成其MD5校驗和。如果DATA信號停留在高電平,則其MD5校驗和值將與MD5(FFFF)相同;如果DATA信號停留在低電平,則其MD5校驗和值將與MD5(0000)相同。如果DATA信號切換,則MD5校驗和值將是任何其他隨機值。因此,基于MD5校驗和值,我們可以得出關于DATA信號是否存在任何問題的結論。
通常,這些I2S線將具有多個數據信號。我們可以通過以下帶有四個數據信號DATAx(x = 0,1,2,3)的I2S總線示例來證明這一點。這可以通過在DATA信號之一上提供音頻數據,并在所有其余數據信號上設置0來完成。這樣,當我們可以生成所有DATAx(x = 0、1、2、3)的捕獲數據的MD5校驗和并確認MD5校驗和的值符合預期時。
如果僅在DATA0上提供了音頻數據,則DATA1-3信號的MD5校驗和應為MD5(0000),對于DATA0則應為某個隨機值。如表1所示,可以在四個迭代中一個接一個地處理所有四個數據信號。

表1:音頻測試的迭代
該技術的局限性在于它只能用于識別上述問題。對于某些用例,它無法區分問題。例如,如果短路了多條信號線,則該技術可以檢測到存在問題,但不能清楚地說出哪些線路一起短路了。
結論
上面提到的方法已經過測試,目前已成功用于測試Ittiam開發的許多硬件板上的音頻輸入接口。我們已經看到,它減少了音頻接口的總體測試時間,從而降低了電路板測試成本。

