摘要:量化復雜視頻信號鏈中微小工程變更的影響,常常是件吃力不討好的工作。諸如循環冗余校驗(CRC)之類的簡單錯誤檢測算法,盡管有多方面的局限性,但不失為一種有效的工具。本文以ADI公司功能全面的單芯片影音前端ADV7850為基礎,詳細介紹了一種有效視頻應用的CRC測試方法。本文網絡版地址:http://www.eepw.com.cn/article/245923.htm
關鍵詞:CRC;HIDMI;ADV7850;ADI
DOI: 10.3969/j.issn.1005-5517.2014.4.001
1 數字視頻系統
近年來,消費、專業和汽車應用中數字視頻傳輸媒體大行其道,促使許多視頻產品設計和制造商轉移焦點。實現出色模擬性能的要求已經走到盡頭,取而代之的是實現盡可能高的數字數據速率的要求。傳輸媒體包括DVI、HDMI、LVDS、MHL和APIX。
在這場追逐更高數據速率的競賽中,HDMI的增長是主要驅動因素之一。近年來,HDMI規范進一步發展,最大支持視頻分辨率的數據速率已達到2.25GHz到3GHz,在將來的規范升級中極有可能會進一步提高。
開發一個集成所有這些器件的可靠視頻信號鏈以支持如此高數據速率的視頻格式,正在成為視頻產品設計和制造商的重大挑戰。 為了成功支持此類視頻格式,電纜質量、電源設計、信號完整性、PCB質量和芯片設置都必須處于絕對最佳水平。 但是,視頻產品設計和制造商如何才能輕松評估各種調整對上述系統要素的影響呢?
2 循環冗余校驗
循環冗余校驗(CRC)是W. Wesley Patterson于1961年發明的一種冗余校驗方法。它可以檢測數字數據中的錯誤,主要用于數據傳輸中,例如32位CRC被用于以太網數據傳輸。 CRC的局限性包括:CRC只能檢測數字數據中的錯誤,無法在檢測到錯誤后予以糾正,只有更復雜的算法(如糾錯碼(ECC)或前向糾錯(FEC)等)才具有糾錯功能;CRC無法確定接收數據中的錯誤數目。
CRC實現方案有很多種,但基本前提是一樣的:數據發送器先計算并追加校驗位數(常稱作“校驗和”)到數據上,再發送數據。
誤碼率測試是一種引入注目的CRC測試替代方案,其主要優勢在于它能協助量化數據受損的程度。 誤碼率測試要求將一個參考圖案輸入系統,然后將系統的輸出與參考圖案進行比較分析,差異的數量即表示發生誤碼的數量。 如果輸出圖案與參考圖案完全一致,則無誤碼,系統工作在“最有效點”上。如果輸出圖案與參考圖案不同,則差異的數量可在某種意義上指示數據受損的程度。
雖然誤碼率測試是一項非常強大的工具,但它需要輸入已知圖案并能對照已知圖案分析輸出,這也是它的一個主要缺點。 對參考圖案的需求(以便能夠量化數據受損程度),大大降低了其靈活性。 誤碼率測試只能應用于已知圖案,CRC則可應用于任何靜態數據圖案,也就是說,它可以非常靈活地用在各種情況下: 從原型系統的開發和評估到產品線路測試結束,直至現場調試客戶反映的問題。
3 ADV7850
ADV7850是ADI公司首款針對消費和專業影音市場而開發的完整影音前端器件。 該器件包含:一個4路輸入HDMI接收器,支持高達4k x 2k @ 30 Hz的視頻分辨率;一個視頻和圖形數字化儀,工作頻率高達162MHz;一路高速串行視頻輸出;一個3D梳狀視頻解碼器;以及一個音頻編解碼器。
除了用作功能全面的單芯片影音前端之外,ADV7850還集成了一個采用CRC的幀檢查器。 它位于ADV7850輸出端之前,接近ADV7850信號鏈的末端,可檢查HDMI輸入的完整視頻路徑。該特性不可用于模擬輸入,因為以最高170MHz頻率工作的模數轉換器(ADC)會引入最低有效位(LSB)誤差。
ADV7850中的幀檢查器利用CRC-16-CCITT多項式(x16 + x12 + x5 + 1)來分析用戶可配置數量的幀,通過一個I2C位2使能。一旦使能,幀檢查器就會分析各視頻通道(綠、紅、藍)上的每個數據像素(從480p的30萬像素到4k x 2k的800萬像素),從而計算每個幀(幀數由用戶配置,最多255)的校驗和。 要分析的幀數通過I2C控制寄存器進行配置。
幀檢查器完成分析后,通過I2C報告每個通道(HDMI在紅色、綠色和藍色通道上傳輸數據)的一組結果。 如上所述,對于靜態輸入,對CRC執行多次迭代應當產生一致的結果。兩個幀之間只要有一個像素不同(最多有1600萬像素的數據),校驗和結果就會不同。
無論該像素差異是由視頻源上的噪聲或傳輸介質間歇產生的噪聲引起,還是由ADV7850的配置錯誤引起,它都會指出錯誤。
這樣,系統設計師就能優化系統并重新測試。
幀檢查器的功能當然非常好,但只有將其投入實際應用,才能體現其真正的價值。 ADV7850的幀檢查器可以在視頻產品的整個開發周期中使用,也可以在制造周期中使用。
4 CRC的各個階段
(1)開發階段
CRC可以在視頻產品開發階段的多個方面派上用場,用來衡量視頻信號鏈的性能;用在熱效應測試中;用在電源測試中;用在布局變化評估中,用在最終軟件配置變化中;甚至用在線纜選擇中(如果產品要搭配線纜的話)。(2)合規測試
視頻產品在作為HDMI合規產品上市并貼上HDMI標簽之前,必須在正式許可的HDMI認證測試中心(ATC)進行一系列嚴格的測試。這些測試確保了產品符合HDMI合規測試規范(與HDMI主體規范共同發布)中規定的所有要求。在這套測試中,最難的測試是分析視頻接收器在時鐘通道和數據通道上抖動條件的魯棒性。
如果沒有指定的設備,可以將 ADV7850中的幀檢查器當作一種低成本的替代測試設備,用于進行預合規初期迭代測試;通過該檢查器可以了解接收器是否能正確接收和解碼HDMI數據(可能對此造成影響的因素從配置寫入操作是否正確到電源設計,多種多樣,不一而足)。
如果有指定設備,仍然可以使用該幀檢查器,因為它能確定接收器是否能正確接收和解碼數據。這一分析層次超出了CTS的范圍,其要求的只是肉眼檢查。
(3)HDMI線纜選擇
許多視頻產品設計和制造商,尤其是專業音頻/視頻市場,依賴HDMI線纜來實現視頻在系統組件之間的傳輸。HDMI線纜以19條導線制成;HDMI規格根據不同的速率等級,規定了5種不同的HDMI線纜類別。
線纜因帶寬受限,往往會把特定類型的噪聲或抖動帶進視頻流中;稱為符號間干擾(ISI)抖動。ISI抖動是當前符號與后續符號之間的干擾。這種“模糊的”符號使得接收器對數據的解碼和解讀變得更加困難。
在評估這類不同線纜時,CRC測試大有用武之地;以系統效果穩定可靠的、值得信賴的已知好線為基準,負責評估工作的工程師可以比較價格更低或者更長的線纜對CRC結果的影響——取得目標數據點,為確定這些線纜是否合適提供參照。
以下是一個可能的典型測試場景:視頻產品設計和制造商當前正在使用一條某個系統搭載的特定線纜,該線纜的性能水平合理、可靠;從線纜接收到的數據,性能出現了下降,在1080p下,對HDMI合規測試規范抖動容限掩模有輕微影響(見圖1),但在ADV7850恢復數據中并不會造成任何問題。對從該線纜接收到的視頻數據運行幀檢查器,結果,全部通道均合格,最高達255幀。
如果在產品升級時,硬件增加了4k x 2k支持(1080p 8位時鐘和數據速率提高一倍),則需重新驗證線纜。如果以簡單的方式來檢查線纜對4k x 2k數據的影響,則會得到令人擔憂的結果(見圖2)。
現在,線纜中的損耗導致信號性能大幅下降;在功能測試中,ADV7850可能仍然能恢復數據,但是,全部數據仍然毫發無損嗎?數據中現在存在可能引發嚴重系統問題(如HDCP雪花噪聲,如前所述)的隨機或間歇性比特誤差嗎?
運用ADV7850的幀檢查器功能,評估工程師可以精確確認是否發生任何數據錯誤;在幀檢查器工作期間,也可能需要對線纜進行延伸測試,如加熱/冷卻/彎曲等。
(4)電源測試
電源是設計中需要處理的最重要的一個方面,而且被許多人認為是最為棘手的問題。許多因素都可能影響電源輸出的質量;電源輸出可能會影響到系統的許多特性。電源一般給視頻流帶來一種特定的噪聲或抖動,稱為周期性抖動。(見圖3)
設計師必須選擇是使用線性壓差穩壓器(LDO),還是使用開關模式電源(SMPS);要使用哪種頻率開關穩壓器,應該用哪種濾波器來抑制進入系統的任何諧波;把電路層布設在單層還是多層;各層是否有可能在鄰接層重疊;去耦電容架構如何實現——甚至是所選去耦電容的位置、大小和材料;所有這些因素以及諸多其他因素都可能造成顯著影響。
在電路板單次改動時,以及在電路板多次改動之間,如果要評估電源設計變化的影響,可以采用CRC測試。通過改變系統上采用的去耦電容,并在每次改動后運行一次CRC測試,系統評估工程師可以衡量出哪種去耦架構下的系統最為穩定。
系統評估工程師還可以衡量原型系統后續改動的變化情況,方法是在未做出其他重大布局和原理改動的情況下,運行CRC測試。最后,CRC測試可以用來了解改動的影響,這可能體現在系統可能存在的容差,比如,電源器件容差而造成的電源電壓電平變化。
(5)布局變化
高速數字視頻信號鏈布局中使用的技術非常復雜,需要專文進行探討。HDMI規范要求,走線的差分阻抗為100歐姆,但要支持4k x 2k視頻數據會帶來額外的挑戰;在如此高的數據速率之下,信號完整性成為一個大問題,而走線寬度和走線長度等因素則成為需要考慮的重要因素。
后續改動之間的布局變化的影響可以通過CRC測試獲得。對于具有根本變化的原型板,如采用不同的電路板材料,不同層疊方式,不同HDMI走線寬度等,通過比較兩次后續改動后的輸出,可以獲得變化的影響。
(6)熱效應測試
確認視頻產品能在其額定溫度范圍內正常工作,這是評估過程中一個極其重要的階段。視頻產品設計和制造商必須確保,其產品中的環境溫度不超過芯片供應商的額定值,并且在產品將面對的整個環境溫度范圍內(如消費類產品為0℃至+70℃,汽車產品為-40℃至+85℃/+125℃),產品性能保持穩定、可靠。(見圖4)
在這類測試中,通常將一個原型系統置于可以在產品額定溫度范圍內(如-40℃至+85℃)循環的溫控爐中。對系統輸出進行觀察,確保輸出在整個溫度范圍、視頻頻率和視頻圖案能保持穩定。
運用CRC測試可以輕松實現這種測試的自動化,并能無限制地運行。通過自動控制溫控爐、視頻發生器和CRC分析工具,評估工程師可以輕松掃描溫度、改變視頻格式和圖案,同時逐幀監控視頻數據的CRC結果。
如果在視頻圖案和格式保持不變的情況下無變化,則可繼續測試;如果在視頻圖案和格式保持不變時CRC發生變化,則應記錄環境變量(如溫度、視頻格式、視頻圖案等),然后繼續測試。這類測試可以輕松設置成通宵運行,或者在周末運行,從而在無人值守的情況下完成數百小時的魯棒性測試。
(7)軟件配置變化
現代半導體器件在某些方面需要進行調節,具體取決于其所在的原型系統,比如,時鐘和數據關系可能需要調節,以適應特別長或特別短的信號路由。在這種情況下,可以利用CRC測試來協助調節可用的控制手段,如均衡器設置、PLL設置、時鐘和數據相位關系,從而最大程度地提高系統的穩定性。
(8)制造階段
當視頻產品設計和制造商需要通過檢查其成品的全部或橫截圖,以驗證其生產工藝的穩定性和正確性時,CRC不失為一種理想的工具,可以用來衡量某些連接器(即HDMI)、外部無源和有源器件(如HDMI ESD器件)以及CRC處理器件(如HDMI接收器)是否焊接正確。
CRC可按多種方式用在最終測試中;可以在視頻產品本身中實現是CRC;可以把CRC集成到線路測試設備的分立端(見圖11)。在視頻產品中實現CRC需要在視頻信號鏈中采用一種半導體解決方案,該方案需要具備提供CRC測試的能力(如FPGA或微控制器)。
在分立器件中實現CRC可能會降低視頻產品的物料成本,卻要增加分立器件的成本。但這種方式確實具有以下好處,它能夠測試整個系統的穩定性;嵌入視頻信號鏈的CRC測試解決方案的覆蓋范圍取決于測試解決方案在信號鏈中所處的位置;如果CRC測試解決方案靠近信號鏈起始位置,則其覆蓋范圍可能處于低中水平;如果CRC測試解決方案靠近信號鏈末端,其覆蓋范圍可能就處于中高水平。
在此基礎上,生產質量控制部門可以基于對裝置取得的CRC測試結果,設置合格和不合格標準;將不合格裝置送回去進行調試(這一過程也可能涉及CRC測試),把合格裝置送往包裝和發貨。
結論
CRC測試是工程師手中眾多系統開發、制造和調試測試方法中的一種強大工具。盡管它無法量化某些問題(如比特誤差率測試)使系統性能下降的確切程度,但它卻具有更高的靈活性(可以運用于任何靜態圖案——無需提前知道圖案),實現起來也非常容易。