基于ADV7170的紅外數(shù)字圖像顯示系統(tǒng)設(shè)計
摘要 由FPGA控制視頻譯碼芯片ADV7170,接收來自紅外熱像儀輸出的數(shù)字圖像,從而把數(shù)字圖像轉(zhuǎn)化為PAL制模擬信號并由電視機進(jìn)行顯示。該紅外數(shù)字圖像顯示系統(tǒng)具有小型化、低功耗、靈活性強等特點,能夠廣泛應(yīng)用于國防科技中。
關(guān)鍵詞 FPGA;ADV7170;數(shù)字圖像
ADV7170芯片是AD公司推出的一款較新且功能較強的視頻譯碼器,這款高度集成的芯片,既包含精密的模擬電路,又包含高速數(shù)字電路。ADV7170應(yīng)用廣泛,適用于DVD播放器、便攜式視頻設(shè)備、視頻監(jiān)視器和機頂盒等場合。
紅外熱像儀將物體表面的溫度轉(zhuǎn)換成人眼可見的圖像,并以不同灰度值顯示物體表面的溫度分布。紅外熱像儀具有超遠(yuǎn)距離成像特點,成像距離主要由物體溫度決定,從而克服傳統(tǒng)成像器件成像距離短的弊端。文中利用這一特點實現(xiàn)對熱像儀周圍空域的實時監(jiān)測,達(dá)到預(yù)警的效果。
1 設(shè)計方案
文中嵌入式數(shù)字圖像顯示系統(tǒng)硬件系統(tǒng)結(jié)構(gòu)如圖1所示,在此圖像顯示系統(tǒng)中,采用Altera公司的Cyclone 3系列FPGA:EP3C80F484C6,Analog Device公司的視頻譯碼芯片ADV7170。首先FPGA使用I2C總線對ADV7170的內(nèi)部寄存器進(jìn)行配置,然后FPGA接收來自紅外熱像儀輸出的數(shù)字圖像,并轉(zhuǎn)化為ADV7170可識別的數(shù)據(jù)格式,最后由ADV7170把數(shù)字圖像轉(zhuǎn)化為PAL制模擬信號給電視機顯示。
2 ADV7170的配置
Analog Device公司生產(chǎn)的ADV7170是一款通用性強的視頻譯碼芯片。它是一款集成的數(shù)字視頻譯碼器,將數(shù)字形式的ITU_R_BT656組合視頻數(shù)據(jù),轉(zhuǎn)換成標(biāo)準(zhǔn)的模擬基帶電視信號。它可以同時輸出一路復(fù)合視頻信號及一組RGB信號,或一路復(fù)合視頻信號及一組YUV信號,或二路復(fù)合視頻信號及一組亮度與色度信號。ADV7170的數(shù)據(jù)輸入有兩種模式:8位與16位。當(dāng)工作于8位模式時,引腳P7~P0作為數(shù)據(jù)輸入口,輸入數(shù)據(jù)序列為Cb0、Y0、Cr0、Y1、Cb1、Y2……,在每個時鐘的上升沿采樣數(shù)據(jù);當(dāng)工作于16位模式時,引腳P7~P0輸入Y信號,引腳P15~P8輸入Cb、cr信號,每兩個時鐘的上升沿采樣數(shù)據(jù)。無論工作在那種數(shù)據(jù)輸入模式,在輸入數(shù)據(jù)流中都需要嵌入同步控制數(shù)據(jù)。對該芯片應(yīng)用的關(guān)鍵就是要設(shè)置ADV7170內(nèi)部的一些寄存器使ADV7170能正常工作。而ADV7170采用了I2C總線接口標(biāo)準(zhǔn),所以對該芯片的控制就主要是通過I2C總線進(jìn)行寄存器的配置。
(1)I2C總線的基本原理。I2C總線是Philps公司開發(fā)的一種用于芯片間通訊的串行數(shù)據(jù)傳輸總線,它由串行時鐘線SCLOCK和串行數(shù)據(jù)線SDATA完成全雙工數(shù)據(jù)傳送。串行的8位雙向數(shù)據(jù)傳輸速率,在標(biāo)準(zhǔn)模式下可達(dá)100 kbit·s-1,快速模式下可達(dá)400 kbit·s-1,高速模式下可達(dá)3.4Mbit·s-1。I2C總線數(shù)據(jù)傳輸時,在時鐘高電平期間數(shù)據(jù)線上必須保持有穩(wěn)定的邏輯電平轉(zhuǎn)態(tài),高電平為數(shù)據(jù)1,低電平為數(shù)據(jù)0。只有在時鐘線為低電平時,才允許數(shù)據(jù)線的電平狀態(tài)變化。發(fā)送到串行數(shù)據(jù)線SDATA線上的每個字節(jié)必須為8位,每次傳輸發(fā)送的字節(jié)數(shù)量不受限制。每個字節(jié)后鼻血跟一個相應(yīng)位,首先傳輸?shù)氖菙?shù)據(jù)的最高為。如果從機要完成一些其他功能后才能接受或發(fā)送下一個完整的數(shù)據(jù)字節(jié),可以使時鐘線SCLOCK保持低電平迫使主機進(jìn)入等待狀態(tài)。當(dāng)從機準(zhǔn)備好接收下一個數(shù)據(jù)字節(jié)并釋放時鐘線SCLOCK后,數(shù)據(jù)傳輸繼續(xù)。
I2C總線起始信號:在時鐘線保持高電平期間,數(shù)據(jù)線出現(xiàn)由高電平向低電平變化時啟動I2C總線,為I2C總線的起始信號。
I2C總線終止信號:在時鐘線保持高電平期間,數(shù)據(jù)線出現(xiàn)由低電平向高電平變化時停止I2C總線數(shù)據(jù)傳輸,為I2C總線的終止信號。
I2C總線應(yīng)答信號:I2C總線數(shù)據(jù)傳送時,每傳送1Byte數(shù)據(jù)后必須有應(yīng)答信號。應(yīng)答信號在第9個時鐘位上出現(xiàn),接受器輸出低電平為應(yīng)答信號,輸出高電平則為非應(yīng)答信號。
圖2為ADV7170的I2C總線的一次完整的數(shù)據(jù)傳輸。
(2)I2C模塊設(shè)計與VHDL實現(xiàn)。設(shè)計需要配置的ADV7170內(nèi)部寄存器如表1所示。
評論