基于ADV7183A視頻采集系統(tǒng)的設(shè)計(jì)
摘要 利用FPGA控制視頻解碼芯片ADV7183A,從而輸出8 bit的YCrCb型4:2:2的視頻數(shù)據(jù),再將其進(jìn)行隔點(diǎn)采樣,得到320×256的灰度圖像數(shù)據(jù),并傳輸給DSP,由DSP顯示的采樣數(shù)據(jù)達(dá)到設(shè)計(jì)要求,為后來的濾波處理提供良好的數(shù)字視頻數(shù)據(jù)。
關(guān)鍵詞 FPGA;ADV7183A;視頻采集;YCrCb
人的感覺器官中接受信息最多的是眼睛。為了存儲(chǔ)視覺信息,模擬視頻信號必須通過模擬/數(shù)字(A/D)轉(zhuǎn)換器轉(zhuǎn)變?yōu)閿?shù)字的“0”或“1”,這個(gè)轉(zhuǎn)變過程就是所謂的視頻捕捉。
在數(shù)字圖像處理中,一般采用單片機(jī)控制芯片的I2C總線,而對數(shù)據(jù)的采集處理,則可以用專用的數(shù)字處理芯片DSP或FPGA進(jìn)行。隨著FPGA器件集成度的增長,完全有能力將ADV7183A的控制電路集成到FPGA內(nèi)部完成。這樣實(shí)現(xiàn)了設(shè)計(jì)的小型化、低功耗,并利用FPGA現(xiàn)場可編程特征充分發(fā)揮了ADV7183A的功能。
傳統(tǒng)上是利用I2C總線控制HS,VS和FIELD,并根據(jù)這3個(gè)信號的有效電平采集有效視頻,然而在不用I2C總線配置寄存器的情況下也可提取出有效視頻,因?yàn)樵谀J(rèn)配置下ADV7183A輸出的是8位BT656的YCrCb型4:2:2視頻數(shù)據(jù),可以根據(jù)BT656的標(biāo)準(zhǔn)提取有效視頻,這樣減少了編程工作,降低了FPGA與ADV7183A的連線,從而為FPGA控制其他芯片節(jié)約了引腳,提供了設(shè)計(jì)的靈活性。
1 設(shè)計(jì)方案
文中嵌入式數(shù)字圖像采集系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。在此視頻采集系統(tǒng)中,采用Altera公司的Cyclone 3系列FPGA:EP3C80F484C6,AD公司的視頻解碼芯片ADV7183A,TI公司的TMS320C6416。模擬視頻信號PAL制輸入到ADV7183A中,由FPGA產(chǎn)生的I2C總線配置ADV7183A內(nèi)部的寄存器,控制ADV7183A輸出的像素時(shí)鐘頻率,行場復(fù)位起始位置、寬度以及數(shù)據(jù)寬度等。ADV7183A輸出的數(shù)字視頻信號經(jīng)過FPGA的預(yù)處理傳送到DSP,由DSP顯示圖像來驗(yàn)證隔點(diǎn)采樣是否合理。
2 ADV7183A的設(shè)置
AD公司生產(chǎn)的ADV7183A是一款通用性強(qiáng)的視頻解碼芯片。芯片應(yīng)用的關(guān)鍵就是要設(shè)置ADV7183A內(nèi)部的一些寄存器,使ADV7183A能正常工作。而ADV7183A采用了I2C總線接口標(biāo)準(zhǔn),所以對該芯片的控制主要是通過I2C總線的數(shù)據(jù)傳輸。
對于本系統(tǒng)而言,取默認(rèn)配置,無需再對I2C總線進(jìn)行配置,當(dāng)ADV7183A正常工作后輸出8位BT656的YCrCb型4:2:2視頻數(shù)據(jù),只需320×256的灰度圖像,即取Y,而不要C,因此必須進(jìn)行隔點(diǎn)采樣。
(1)原理圖設(shè)計(jì)方案:給復(fù)位,使能和27 MHz的時(shí)鐘信號分別到引腳,引腳,XTAL引腳,復(fù)位引腳和使能引腳都是低電平有效,通過FPGA控制這3個(gè)引腳來控制ADV7183A的工作。選擇模擬輸入通道AIN1,在AIN1引腳上輸入模擬信號。完成這些設(shè)置后,接上電源,ADV71 83就可以在默認(rèn)配置下正常工作,默認(rèn)配置為:輸入是PAL制的圖像。輸出是P8~P15的8位ITU—BT656的YCrCb型4:2:2視頻數(shù)據(jù),像素時(shí)鐘是LLCC1:27MHz。
(2)對于輸出的8位ITU—BT656,行數(shù)據(jù)由水平消隱,有效視頻開始定時(shí)信號,有效行數(shù)據(jù)以及有效視頻結(jié)束定時(shí)信號組成。幀數(shù)據(jù)由場消隱,第一場數(shù)據(jù),場消隱和第二場數(shù)據(jù)組成。場消隱和場數(shù)據(jù)分別由若干行數(shù)據(jù)組成,消隱數(shù)據(jù)為0X8010,即在水平消隱和場消隱時(shí)一律用16進(jìn)制的0X8010作為流數(shù)據(jù)。
有效視頻開始(SAV)和有效視頻結(jié)束(EAV)為兩個(gè)定時(shí)基準(zhǔn)信號,每個(gè)定時(shí)基準(zhǔn)信號由FF 00 00 XY組成,前3個(gè)是固定前綴,第4個(gè)包含場標(biāo)識(shí),場消隱和行消隱狀態(tài)的信息,其定義為:F為場同步信號,0其他情況,1表示場消隱;H為水平同步信號,0表示有效視頻開始,1表示有效視頻的結(jié)束,P0—P3稱為保護(hù)比特,它們的狀態(tài)取決于F,V,H的狀態(tài),如表1所示。
(3)在此系統(tǒng)中沒有用HS,VS和F信號,即原理圖中沒有接這3個(gè)信號,而是根據(jù)ITU—BT656來截取需要的有效視頻數(shù)據(jù),依上文所述的有效視頻開始(SAV)和有效視頻結(jié)束(EAV)兩個(gè)定時(shí)基準(zhǔn)信號來截取圖像。
截取有效圖像:每幀分為奇場和偶場,兩場的圖像是一樣的,因此文中選擇只截取奇場。由表1可知FF 00 00 AB表示奇場場消隱的開始,F(xiàn)F 00 00 B6表示奇場場消隱的結(jié)束,F(xiàn)F 00 00 80表示奇場有效視頻的開始,F(xiàn)F 00 00 9D表示奇場有效視頻的結(jié)束,由于有效圖像總是先結(jié)束即EAV,然后開始SAV,因此首先檢測FF 00 00 AB,緊接著檢測第一個(gè)FF 00 00 9D,檢測到此認(rèn)為奇場場消隱已經(jīng)結(jié)束,再檢測FF 00 00 80表示奇場有效視頻的開始,再檢測FF 00 00 9D表示奇場有效視頻的結(jié)束,即需要的是FF 00 00 80和FF 00 00 9D之間的數(shù)據(jù),它們之間的數(shù)據(jù)為奇場的有效視頻數(shù)據(jù)。
隔點(diǎn)采樣:由8位ITU—BT656的格式可知,每幀的有效視頻數(shù)據(jù)為1 440×576,因此可知每行有1 440個(gè)數(shù)據(jù),包括Y和C,720個(gè)Y和720個(gè)C,C包括Cr和Cb。第一場即奇場為288行。隔點(diǎn)采樣方案,(1)行截取為:截取第一場的中間256行,即丟掉前后的各16行,由于截取有效視頻的時(shí)候包含了4個(gè)標(biāo)志位,即每行的數(shù)據(jù)為1 444,那么16行就是1 444×16個(gè)數(shù)據(jù),即在有效視頻開始后對于前面的1 444×16個(gè)數(shù)據(jù)進(jìn)行丟棄,而從第1 444×16個(gè)數(shù)據(jù)開始才是想要得到的數(shù)據(jù)。(2)列截取為:由于每行的Y為720個(gè),而只需320個(gè),因此隔點(diǎn)采樣,兩個(gè)時(shí)鐘取一個(gè)數(shù)據(jù),這樣的話是360個(gè)Y,同行截取一樣,取中間的320個(gè)Y,即丟掉前后各40個(gè)Y,由于每行還有C,因此每行開始丟掉40×2個(gè)數(shù)據(jù),從第40×2個(gè)開始,每兩個(gè)時(shí)鐘取一個(gè)數(shù)據(jù)進(jìn)行隔點(diǎn)取數(shù)據(jù)。直到達(dá)到想要的320×256個(gè)數(shù)據(jù),此時(shí)隔點(diǎn)采樣結(jié)束。
3 與DSP的傳輸
(1)將采樣得到的81 920個(gè)數(shù)據(jù)緩存到雙口RAM里面,再由DSP讀取,如圖2所示。
系統(tǒng)采用美國德州儀器公司推出的TMS320C6416。TMS320C6713是德州儀器公司推出的一款浮點(diǎn)型高性能DSP,開發(fā)工具為CCS,它與FPGA的傳輸主要通過中斷控制引腳GP5/。EXT-INT5,片選信號TACE2,AECLKOUT時(shí)鐘引腳,64位數(shù)據(jù)線,20位地址線,還有GPTO口。
設(shè)計(jì)方案中FPGA與DSP的傳輸選擇異步雙口RAM。
RAM設(shè)計(jì):寫時(shí)鐘為LLCC1:27 MHz,寫使能為320×256有效數(shù)據(jù)期間,讀時(shí)鐘是DSP的時(shí)鐘,讀使能是寫完一幀圖像后開始讀,并由DSP的片選信號讀取,通過中斷來連接FPGA和DSP,寫完81 920個(gè)數(shù)據(jù)后給DSP的中斷控制引腳GP5/EXT-INT5發(fā)中斷,中斷可以是上升沿也可以為下降沿,此方案中選擇了下降沿,DSP在中斷控制引腳上檢測到下降沿后,DSP認(rèn)為收到中斷,開始讀數(shù)據(jù),片選信號TACE2有效,從收到中斷到TACE2有效,此期間會(huì)有一個(gè)延遲,但不影響讀數(shù)據(jù)。
DSP設(shè)計(jì):數(shù)據(jù)線使用低8位,即AEDO-AED7,地址線不連接,與FPGA的通信設(shè)置為異步,設(shè)置讀取的數(shù)據(jù)為81 920,DSP在片選信號TACE2有效期間為DSP讀數(shù)據(jù),由于TACE2為低電平有效,而雙口RAM的讀使能是高電平有效,因此需要將片選信號取反后才能作為讀使能,DSP以100 MHz進(jìn)行讀數(shù),當(dāng)讀完后DSP的片選信號自動(dòng)拉高。讀取數(shù)據(jù)結(jié)束,STP如圖3所示。
(2)CCS可以根據(jù)圖像數(shù)據(jù)顯示圖像,因此把傳輸過來的數(shù)據(jù)進(jìn)行顯示,驗(yàn)證采樣的正確與否。DSP讀完后顯示灰度圖像,相機(jī)拍出的原始圖像和隔點(diǎn)采樣后DSP顯示的圖像如圖4和圖5所示。
由圖中可以看出,采樣的數(shù)據(jù)可以很好地顯示攝像機(jī)所拍圖像,表明采樣方法是正確的。
4 結(jié)束語
本視頻采集系統(tǒng)利用FPGA對視頻解碼芯片進(jìn)行設(shè)置,具有小型化、低功耗、靈活性等特點(diǎn),采用ADV7183A作為視頻解碼芯片。同時(shí),作為視頻輸入前端,將彩色攝像頭的模擬視頻源轉(zhuǎn)換成8 bit的ITU-BT656的YCrCb型4:2:2視頻數(shù)據(jù),并進(jìn)行隔點(diǎn)采樣得到320×256的圖像,實(shí)現(xiàn)了FPGA與DSP的接口設(shè)計(jì),將隔點(diǎn)采樣得到的數(shù)據(jù)傳輸給DSP,由DSP顯示圖像達(dá)到了設(shè)計(jì)要求,能夠?yàn)楹髞淼娜ピ肼暫捅尘耙种频葹V波處理提供良好的數(shù)字視頻數(shù)據(jù)。