嵌入式平臺上的自動音頻接口測試
本文介紹一種常用的技術,用于檢測音頻接口測試中與裝配相關的故障問題。
音頻接口如今已無所不在。應用于工業物聯網(IIOT)的大多數單板計算機(SBC)上也有它們的身影。從模擬音頻到數字音頻端口,各種類型的接口層出不窮。每種類型的接口在設計和測試中都面臨自身的挑戰。在組裝和生產過程中,這些接口的測試涵蓋了整個路徑,從模擬或數字前端到處理單元的數字音頻輸入端口。
嵌入式平臺上的音頻前端和生產測試設置環境中的通用音頻數據流路徑如下所示(圖1):
圖1:嵌入式平臺的測試設置與音頻前端(來源:作者)
上圖顯示了數據路徑中的主要模塊/組件。其中接收器IC可以是模擬前端IC,例如模數轉換器(ADC),也可以是數字音頻接收器IC。IC的輸出可以是任何串行格式,如Inter-IC Sound Bus(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)相同;如果停留在低電平,則其MD5校驗和值將與MD5(0000)相同。如果DATA信號正常切換,則MD5校驗和將是其他任意隨機值。因此,根據MD5校驗和的值,我們可以判斷DATA信號是否存在故障。
I2S總線通常有多個數據信號。我們通過一個示例來說明,假定I2S有四個數據信號DATAx(x = 0,1,2,3)。我們在其中一個DATA信號上提供音頻數據而在所有剩余數據信號上提供0。然后生成所有DATAx(x = 0,1,2,3)信號上捕獲數據的MD5校驗和,并確認MD5校驗和的值是否如預期。
如果僅在DATA0上提供音頻數據,則DATA1-3信號的MD5校驗和應該是MD5(0000),而DATA0的MD5校驗和應為一些隨機值。如表1所示,羅列了分別對四個數據信號執行該測試得到的迭代結果。
該技術的局限性在于它僅可用于識別上述故障。對于某些用例,它無法區分哪里存在故障。例如,如果多個信號線短路,則該技術可以檢測到存在此故障但不能清晰地說明具體哪些線路短路。
結論
上述方法已經過驗證,目前已成功用于測試Ittiam開發的許多硬件板上的音頻輸入接口。 現在我們已經看到,它可以減少音頻接口的整體測試時間,從而降低電路板測試成本。
- 上一篇:Android 11電池共享功能類似于反向無線充電 2020/2/22
- 下一篇:怎樣有效的減慢電源開關轉換? 2020/2/17