基于ADV7183B的視頻解碼系統(tǒng)的設(shè)計(jì)
首先,初始化時(shí)鐘和傳輸模式,使MSP430F169工作在所需的模式下;其次,初始化I2C功能,使其準(zhǔn)備將從機(jī)地址發(fā)送到I2C總線上,等待總線上的從機(jī)應(yīng)答,若無(wú)應(yīng)答則重復(fù)發(fā)送,若有應(yīng)答則通信初始化并開(kāi)中斷,發(fā)送所需配置的寄存器地址和數(shù)據(jù)[10-11]。需要注意的是,在每次發(fā)送數(shù)據(jù)前都要初始化主機(jī)模式和傳輸模式的設(shè)置,因?yàn)槊看伟l(fā)送完數(shù)據(jù)后,這兩個(gè)標(biāo)志位都會(huì)被自動(dòng)清零。
為了使ADV7183B正常工作,幾個(gè)主要寄存器的配置內(nèi)容如下:
(1)輸入選擇寄存器INSEL,地址為0x00。根據(jù)外部接口情況,用戶可通過(guò)設(shè)置這個(gè)寄存器選擇模擬視頻源的輸入通道和輸入模式,即選擇通過(guò)CVBS、S-Video或YPrPb輸入。在該系統(tǒng)中,CVBS信號(hào)由AIN5輸入,則寄存器內(nèi)容設(shè)置為0x04;S-Video信號(hào)的Y接入AIN1,C接入AIN4,則寄存器內(nèi)容設(shè)置為0x06;YPrPb信號(hào)的Y接入AIN2,Pb接入AIN3,Pr接入AIN6,則寄存器內(nèi)容設(shè)置為0x0A。同時(shí),未連接的其他輸入通道管腳必須接地。
(2)輸出模式選擇寄存器OF_SEL,地址0x03。通過(guò)設(shè)置此寄存器,用戶可控制輸出數(shù)據(jù)為8 bit或16 bit。不過(guò),此寄存器必須和像素時(shí)鐘寄存器(LLC_PAD_SEL,地址0x8F)一起設(shè)置。當(dāng)輸出16 bit數(shù)據(jù)時(shí),像素時(shí)鐘為13.5 MHz;而當(dāng)輸出8 bit數(shù)據(jù)時(shí),像素時(shí)鐘則為27 MHz(默認(rèn)設(shè)置)。所以程序中,8 bit輸出時(shí),0x03設(shè)置為0x0C,0x8F設(shè)置為0x00;16 bit輸出時(shí),0x03設(shè)置為0x00,0x8F設(shè)置為0x50。
(3)ADC低功耗控制寄存器,地址0x3A。這個(gè)寄存器可以選擇ADC的工作個(gè)數(shù)。在CVBS模式下,ADC1和ADC2低功耗,即不工作;在S-Video模式下,ADC2低功耗;而在YPbPr模式下,3個(gè)ADC全部工作。同時(shí),還需要配置相應(yīng)的寄存器地址是0xC3和0xC4,這2個(gè)寄存器設(shè)置了3個(gè)ADC所連接到的管腳。根據(jù)外部的模擬輸入源,CVBS模式時(shí),ADC0連接AIN5,則0xC3設(shè)置為0x05,0xC4設(shè)置為0x80;S-Video模式時(shí),ADC0連接AIN1,ADC1連接AIN4,則0xC3設(shè)置為0x41,0xC4設(shè)置為0x80;YPrPb模式時(shí),ADC0連接AIN2,ADC1連接AIN3,ADC2連接AIN6,則0xC3設(shè)置為0x32,0xC4設(shè)置為0x86。
(4)行、場(chǎng)同步信號(hào)的相關(guān)寄存器,一般采用默認(rèn)設(shè)置即可。
3 實(shí)驗(yàn)結(jié)果
在系統(tǒng)調(diào)試時(shí),采用了一個(gè)彩色數(shù)字?jǐn)z像頭作為視頻輸入源,即輸入CVBS格式的模擬視頻信號(hào),通過(guò)邏輯分析儀捕獲輸出管腳的波形,觀測(cè)相應(yīng)的信號(hào)和輸出數(shù)據(jù)。通過(guò)不斷修改程序,最終實(shí)現(xiàn)視頻圖像的采集、顯示。圖4是通過(guò)MSP430F169設(shè)置ADV7183B的輸出模式選擇寄存器的波形??梢?jiàn),時(shí)序滿足標(biāo)準(zhǔn)的I2C總線協(xié)議的傳輸時(shí)序:起始―從器件地址(0x40)―應(yīng)答―從器件的寄存器地址(0x03)―應(yīng)答―寫數(shù)據(jù)(0x0C)―應(yīng)答―結(jié)束。圖5和圖6是解碼后的視頻數(shù)據(jù)。在圖5中,根據(jù)固定前綴FF 00 00 F1可知,F(xiàn)1(1111 0001)所包含的信息是表示行由0跳變?yōu)?,場(chǎng)由0跳變?yōu)?,傳輸數(shù)據(jù)進(jìn)入的是行和場(chǎng)的消隱期。而圖6中,由固定前綴FF 00 00 80可知,80(1000 0000)所包含的信息是表示行由1跳變?yōu)?,場(chǎng)由1跳變?yōu)?,傳輸數(shù)據(jù)進(jìn)入的是行和場(chǎng)的有效期。由此表明,視頻解碼系統(tǒng)輸出的視頻數(shù)據(jù)符合CCIR656標(biāo)準(zhǔn),達(dá)到了設(shè)計(jì)要求。
綜上所述,本視頻解碼系統(tǒng)利用MSP430F169進(jìn)行解碼芯片ADV7183B的設(shè)置,具有低功耗、小巧靈活等特點(diǎn)。同時(shí),作為視頻輸入前端,將彩色攝像頭的模擬視頻源轉(zhuǎn)換成16 bit的YCrCb型4:2:2數(shù)字視頻數(shù)據(jù),并進(jìn)行格式轉(zhuǎn)換、濾波等處理后,通過(guò)DVI接口在CRT上清晰顯示,達(dá)到了設(shè)計(jì)要求,能夠?yàn)橄鄳?yīng)的視頻后處理設(shè)備(如DSP、FPGA等)提供良好的數(shù)字視頻數(shù)據(jù)。
評(píng)論