基于ADV7170的紅外數(shù)字圖像顯示系統(tǒng)設(shè)計(jì)
采用狀態(tài)機(jī)方式實(shí)現(xiàn)I2C模塊的功能,圖3所示狀態(tài)機(jī)中有6個(gè)狀態(tài),分別是St_idle,St_start,St_write,St_read,St_stop和St_ac k。系統(tǒng)復(fù)位之后進(jìn)入St_idle狀態(tài),收到go和start命令后進(jìn)入St_start狀態(tài),在St_start狀態(tài)下判斷隨后到達(dá)的命令,如果是寫寄存器命令,則進(jìn)入寫狀態(tài);如果是其他命令,則進(jìn)入相應(yīng)的狀態(tài)。每次數(shù)據(jù)傳輸完成后會(huì)讀取ack信號(hào),判斷寄存器是否配置完成。如果完成則進(jìn)入停止?fàn)顟B(tài),由于實(shí)際工作中不需要讀寄存器的值,所以讀命令只在調(diào)試中應(yīng)用到。圖4是FPGA實(shí)現(xiàn)I2C模塊。本文引用地址:http://www.ex-cimer.com/article/149562.htm
如圖4所示,用VHDL語(yǔ)言實(shí)現(xiàn)了I2C總線對(duì)ADV7170內(nèi)部寄存器的配置,圖5~圖6為使用中的寫時(shí)序和讀時(shí)序圖。
(2)圖像數(shù)據(jù)格式轉(zhuǎn)換。在PAL制模式下ADV7170能接受的圖像數(shù)據(jù)大小為625×1 728,即每幀圖像有625行,每行有1 728個(gè)像素點(diǎn),這種格式是國(guó)際通用的TTU_R_BT656視頻圖像格式。ITU_R_BT656定義了一個(gè)并行的硬件接口,用來傳送一路4:2:2的YCbCr數(shù)字視頻流和行場(chǎng)所用的控制信號(hào)。ITU_R_BT656視頻圖像格式分為奇場(chǎng)和偶場(chǎng),奇場(chǎng)313行,偶場(chǎng)312行,每場(chǎng)均有24個(gè)消隱行,如圖7所示。每行有行開始狀態(tài)位SAV,行結(jié)束狀態(tài)位EAV,每行對(duì)應(yīng)的場(chǎng)信號(hào)F,行信號(hào)H,消隱信號(hào)V如圖8所示。根據(jù)BT_656的這種格式特點(diǎn)需要對(duì)接受到的紅外數(shù)字圖像進(jìn)行格式變化。紅外熱像儀輸出的數(shù)字圖像大小為256×320,即每幀圖像有256行,每行有320個(gè)像素點(diǎn)。按照數(shù)字圖像的大小,每行里的每個(gè)像素點(diǎn)連續(xù)讀取4次,奇場(chǎng)和偶場(chǎng)各讀取一次圖像。即完成圖像的擴(kuò)展,剩余的像素元素使用消隱值進(jìn)行替代。
評(píng)論