音訊介面如今已無所不在。應用於工業物聯網(IIoT)的大多數單板電腦(SBC)上也有它們的身影。從類比音訊到數位音訊埠,各種類型的介面層出不窮,每種類型的介面在設計和測試中都面臨自身的挑戰。在組裝和生產過程中,這些介面的測試涵蓋了整個路徑,從類比或數位前端到處理單元的數位音訊輸入埠。

嵌入式平台上的音訊前端和生產測試設置環境中的通用音訊資料流程路徑如圖1所示。

20191002TA31P1 圖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所示,羅列了分別對四個資料訊號執行該測試得到的反覆運算結果。

20191002TA31P2 表1 音訊的反覆運算測試。(資料來源:作者製表)

該技術的局限性在於它僅可用於辨識上述故障。對於某些應用案例,它無法區分故障,例如,如果多個訊號線短路,則該技術可以檢測到存在此故障但不能清晰地說明具體哪些線路短路。

結論

上述方法已經過驗證,目前已成功用於測試Ittiam開發的許多硬體板上的音訊輸入介面。現在已經看到,它可以減少音訊介面的整體測試時間,從而降低電路板測試成本。

(參考原文: Automating audio interface testing on embedded platforms,by Ayusman Mohanty)

本文同步刊登於EE Times Taiwan 10月號雜誌