從單板電腦(SBC)到工業物聯網(IIoT)裝置,視訊介面普遍用於各種類型的嵌入式平台中。然而,視訊介面的完整路徑(從類比或數位前端到處理器數位視訊輸入)非常複雜,因此若使用傳統方法對其進行生產測試將會非常困難並且耗時。本文將介紹一種更簡單的測試方法。

嵌入式平台的典型視訊前端以及生產測試設置環境中的資料路徑,其流程一般如圖1所示。

Test_setup_video_front-end

圖1:嵌入式平台的測試設置和視訊前端。

視訊前端包括一個視訊接收器IC,它可以是ASIC,也可以透過FPGA內部的RTL IP來實現。該ASIC/FPGA的輸出通常是採用了BT.1120/BT.656標準格式的平行視訊匯流排,並且連接到處理器的視訊輸入埠。生產測試軟體的目的在於確保整個視訊路徑不會出現任何與組裝有關的問題,例如線路被固定在高電平或低電平,或者多條訊號線之間發生短路。

視訊介面生產測試的常用技術包括主觀評估和使用固定的視訊資料圖案。在主觀評估方面,測試人員擷取幾秒鐘的測試視訊,然後直接以視覺比較所擷取影像與測試影像。這種技術的缺點是它需要人為干預並且依賴於人為判讀。例如,如果視訊資料匯流排的低位元被固定於低值,那麼即使畫素值減少1,這種微小的視覺變化也難以經由人眼觀測而察覺。

使用來自視訊輸入源的固定視訊資料圖案(例如彩條圖案),提供了更定量的測試。即利用系統擷取一些視訊資料畫面並將其與固定視訊資料圖案進行比較。由於擷取的視訊畫面應該會和正在播放的固定視訊資料圖案畫面逐畫素匹配,因此使用MD5之類的校驗可以快速進行這種比較。

這種技術的缺點是不易為所有可能的前端視訊介面和標準取得固定的視訊圖案源,例如視訊播放機等。解決這個限制的常用方法是採用單一標準的播放機,然後透過轉換器將其更改成所需的標準和介面。但是,轉換器在轉換標準的同時會改變畫素值。例如,從HDMI轉換到3G-SDI介面時,視訊資料會從RGB888轉換為YUV422格式。這會使畫素值改變,從而導致偽誤差。

還有一種方法可以對視訊路徑進行生產測試。為了理解這種技術,首先要瞭解該路徑中所使用的平行視訊介面格式BT.1120/BT.656之基本概念。

BT.1120是一種16位元的平行介面,它使用嵌入於視訊資料串流中的程式碼,以區分有效(可見)和消隱(不可見)的視訊片段。BT.656也是同樣的概念,唯一的區別是BT.656是8位元平行匯流排介面。圖2顯示一個隔行掃描視訊畫面中的畫素劃分。

digital_video_frame

圖2:一個完整的數位視訊畫面。

每個視訊畫素的有效掃描線由有效視訊結束(EAV)碼和有效視訊起始(SAV)碼加以劃分。這些程式碼基於當前有效掃描線的H值(水平同步)、V值(垂直同步)和F(場)值,也被稱為定時同步訊號。SAV和EAV程式碼的長度為四個位元組,資料格式為‘FF 00 00 xy’,其中‘FF 00 00’是前導碼,xy是包含定時同步訊號和四個誤差檢測/校正位元的狀態字元。圖3顯示如何產生SAV和EAV程式碼。

code_generation

圖3:產生SAV和EAV程式碼。

這些程式碼就是檢查視訊資料路徑完整性所需的全部程式碼;視訊本身反而並不重要。如果資料路徑中存在生產誤差,例如短路、開路或固定故障,則EAV和SAV程式碼就無法與預期值匹配。

上述方法還可加以擴展,只需將視訊輸出介面連接到視訊輸入介面,即可對其進行測試。但這樣做的缺點是,如果出現誤差,我們將無法區分此誤差是出在輸出還是輸入介面路徑。找出發現誤差的具體介面必須執行更多的測試。

包括Ittiam Systems等業界公司已經廣泛使用上述方法為所開發的硬體電路板進行視訊介面測試。該方法大幅縮短了視訊介面的整體測試時間,從而降低了電路板的測試成本。

(參考原文:Simplify test of embedded video interfaces,by Ayusman mohanty)

本文同步刊登於電子技術設計雜誌2019年12月號