視頻解碼芯片
TVP5150AM1IPBSR資料
TVP5150AM1IPBSR的低功耗視頻解碼模塊
隨著便攜式多媒體終端需求量迅速增加,在視頻解碼等方面對芯片低功耗的要求也越來越高。
因此,只有將模擬視頻信號轉換成為符合ITU-R BT.656標準的數字信號,才可方便地利用FPGA或者DSP甚至PC機來進行信號處理。本模塊就是利用TI公司的超低功耗TVP5150AM1IPBSR芯片對視頻信號A/D解碼,由單片機通過I2C總線控制,預留地址數據等接口,作為模塊驗證以及后續數字信號處理之用。
1模塊
硬件構成
1.1系統基本構成
系統總體構成框圖如圖1所示。
TVP5150AM1IPBSRAM1IPBSR是超低功耗、支持NTSC/PAL/SECAM等格式的高性能視頻解碼器,在正常工作時,它的功耗僅115 mW,并且具有超小封裝(32腳的TQFP),因此非常適用于便攜、批量大、高質量和高性能的視頻產品。它可以接收2路復合視頻信號(CVBS)或1路S-Video信號。通過單片機I2C總線設置內部
寄存器,可以輸出8位4:2:2的ITU-R BT.656信號(同步信號內嵌),以及8位4:2:2的ITU-R BT.601信號(同步信號分離,單獨引腳輸出)。
單片機選用TI公司的MSP430F2013,超低功耗,有2 kB+256 B Flash存儲器和128 B RAM,14腳超小封裝(TSSOP)。其功耗是一般單片機的1/5,特別適合于手持設備,在1.8 V~3.6 V電壓、1 MHz的時鐘條件下,耗電電流在0.1 μA~400 μA之間(因工作模式不同而不同)。單片機通過
MAX3232與串口連接,由PC機通過串口對單片機在線編程,方便對單片機程序及時修改。由PC設置并且隨時調整TVP5150AM1IPBSR的內部寄存器,控制其工作狀態,輸出信號等。單片機預留控制口,以增加本模塊的可擴展性。
74HC16245總線
控制器用來提高本模塊輸出信號的負載驅動能力,它是可選部分,視需要可將信號直通以降低模塊功耗。如果有多個模塊組合工作,由單片機對74HC16245使能控制,協調各模塊信號輸出。
驗證模塊主要由SAA7121視頻編碼芯片構成,可將8位4:2:2的ITU-R BT.656或者ITU-R BT.601輸入信號編碼成CVBS信號或S-Video信號輸出。如果TVP5150AM1IPBSR解碼模塊工作正常,利用此驗證模塊可以得到模擬視頻信號,接人顯示設備可得到輸入圖像。
1.2系統硬件設計
TVP5150AM1IPBSR芯片應用原理圖如圖2所示。芯片采用14.318 18 MHz晶振,數字和模擬輸入電壓為1.8 V,IO口電壓為3.3 V;信號輸入有CH1和CH2兩路,并且都進行阻抗匹配設計,防止對輸入信號的反射;YOUT[0:7]輸出8路YCbCr信號,消隱信號可選擇單獨引腳HSYNC和VSYNC輸出,或者內嵌于這8路信號中。PCLK/SCLK腳時鐘信號可輸出13.5 MHz和27 MHz兩種頻率。
2模塊程序構成
本模塊主要由PC機與單片機串口通信程序和單片機與TVP5150AM1IPBSR的I2C控制程序兩部分軟件組成。
2.1 PC機與單片機串口通信程序
PC機與單片機通信協議見表1。
注:帶引號部分為傳輸數據頭,供單片機識別處理;Addr為地址;Data為數據。
本程序在dephi7.0開發環境下完成設計,配置文件為txt格式,能讀取和保存配置文件,在配置表格中能對配置文件進行簡單處理,能選取配置文件中的寄存器信息通過串口發送給單片機,并且能讀取單片機發送來的寄存器信息。
程序分為前臺的界面處理與后臺數據和功能處理兩層。前臺只負責界面的設置與動作,對表格中一切數據的處理都在后臺。通過SPcomm串口通信控件進行串口通信操作。
定義Sendlist和Revlist兩個類,將所有允許發送項存入Sendlist,然后通過串口發送,而接收到的單片機發送來的數據存入Revlist。然后,將Sendlist和Revlist兩者進行對比。如果相同,則存儲,并在表格中顯示;否則,報錯處理。每發送一個寄存器項有一定的延時用于單片機處理。軟件有超時設置,如果發送5 s后無法接收到單片機回復數據,則判斷為超時出錯。
本程序流程如圖3所示。
2.2 單片機程序
單片機程序完成串口通信和I2C總線控制兩個功能。
圖4為I2C時序圖。I2C總線是由數據線SDA和時鐘線SCL構成的串行總線,可發送和接收數據。I2C總線在傳送數據過程中有以下3種類型信號:
a)開始信號(Start)。SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。
b)結束信號(Stop)。SCL為高電平時,SDA由低電平向高電平跳變,結束傳送數據。
c)應答信號(AcK)。接收數據的IC在接收到8 bit數據后,向發送數據的IC發出特定的低電平脈沖,表示已收到數據。
I2C總線在傳送數據時,必須保證在SCL高電平時SDA上數據穩定,否則就判斷為開始或結束信號。
單片機內程序按照通信協議與PC機進行數據傳輸,然后識別數據頭,按協議分別處理,經由I2C總線,對TVP5150AM1IPBSR內部寄存器進行讀寫操作。單片機通信收發主程序由C語言編寫,通過串口中斷接收PC機數據,判斷接收的是數據頭還是有效數據。當接收數據頭R時,回發PC機r,然后將后面的1個字節地址,由I2C總線操作讀出TVP5150AM1IPBSR該地址寄存器中的數據,并通過串口回發給PC機。如果幀頭是W,回發PC機w,并且緩存它后面2個字節的數據,第1個字節為TVP5150AM1IPBSR寄存器地址,第2個為寫入該寄存器的數據。通過I2C總線完成此寫操作,并讀出寫入數據后寄存器中數據,通過串口回發給PC機,以備PC機端軟件校驗。
3主要視頻信號
3.1輸出信號
模塊將模擬視頻信號解碼成符合ITU-R BT.656標準的數字視頻信號,輸出8位Y:Cb:Cr=4:2:2的數字信號。同步信號內嵌于數據流中串行輸出,也可以單獨引腳與數據流并行輸出。 圖5所示為完整一幀數據,分奇偶兩場,23~311行是偶數場數據,366~624行是奇數場數據,其余為場控制信號或者無效數據。FID為奇偶場指示信號,在場同步信號(VSYNC)下降沿跳變。VBLK為場消隱信號,高電平有效,可以通過設置TVP5150AM1IPBSR寄存器來改變其長短,控制有效圖像數據輸出,因為在VBLK信號低電平期間對應輸出視頻有效數據。
每一行的數據結構如圖6所示。每行開始的288字節為行控制信號,開始的4字節為EAV(有效視頻結束)信號,緊接著280個固定填充數據,最后4個字節是SAV(有效視頻起始)信號。SAV信號和EAV信號有3字節的前導:FF、FF、00;最后1字節XY表示該行位于整個數據幀的位置以及如何區分SAV、EAV信號。
XY各位的含義如圖7所示。圖中最高位是固定數據1,F=0表示偶數場,F=1表示奇數場;V=0表示該行為有效視頻數據,V=1表示該行沒有有效視頻數據;H=0表示為SAV信號,H=1表示為EAV信號;
P3~P0為保護信號,由F、V、H信號
計算生成。
3.2 AVID截取
AVID信號是TVP5150AM1IPBSR產生的專有信號,是有效視頻數據指示信號,AVID低電平時輸出數據無效,高電平有效。這樣就提供了一種控制TVP5150AM1IPBSR輸出視頻數據帶寬的方法。通過寄存器設置,控制AVID的開始和結束時機,同時對VBLK信號起始時機進行控制,那么就能從一幀圖像中截取某些部分輸出,如圖8所示。
4結束語
本模塊的調試結合了SAA7121視頻編碼模塊。由視頻信號發生器輸出模擬視頻信號經過本模塊解碼,轉換為數字視頻信號,再由SAA7121模塊轉換成模擬視頻信號接入顯示設備,如果模塊運行正常,就可以看到顯示設備上對應的輸入畫面。第1步將RGB各單色視頻信號輸入,通過
示波器觀察輸出視頻及各同步信號,時序正常后,經SAAT121模塊接入顯示設備。得到正確圖像后,模塊由DVD機輸入CVBS信號,顯示設備得到正常影像則調試基本完成。調試的主要工作在于TVP5150AM1IPBSR的內部寄存器正確設置及其改變對輸出各信號的影響。如果開啟74HC16245,那么本實驗模塊總功耗在200 mW左右;關閉則功耗可控制在130 mW左右。可見,本視頻解碼模塊的功耗參數非常低,如果優化單片機程序,還可進一步降低功耗。本模塊將模擬復合視頻信號解碼成符合ITU-RBT.656標準的數字視頻信號輸出。方便利用FPGA、DSP等進行數字視頻信號輸出,方便利用FPGA、DSP等進行數字視頻圖像去隔行,方便利用FPGA等進行數字視頻力圖像去隔行,分辨率轉換甚至MPEG編碼等處理。