國(guó)內(nèi)外的視頻圖像采集方法很多,基本分為兩大類:自動(dòng)圖像采集和基于處理器的圖像采集。自動(dòng)圖像采集多采用專門的視頻解碼芯片,如SAA7113,TVP5150等,自動(dòng)完成模數(shù)轉(zhuǎn)化,并輸出行、場(chǎng)信號(hào)以實(shí)現(xiàn)存儲(chǔ)器地址產(chǎn)生,一般以DSP為主處理器,除了對(duì)采集模式進(jìn)行初始化設(shè)置外,主處理器不參與采集過(guò)程。這種方法的優(yōu)點(diǎn)是采集不占用CPU的時(shí)間,實(shí)時(shí)性較好,適合于對(duì)圖像數(shù)據(jù)的精度要求較高和算法復(fù)雜的場(chǎng)合,如車道識(shí)別、車輛識(shí)別等方向的應(yīng)用。但是該方案對(duì)處理器的速度有很高的要求,成本較高,且電路復(fù)雜。基于處理器的圖像采集則采用視頻同步信號(hào)分離芯片產(chǎn)生行、場(chǎng)中斷信號(hào),用微處理器內(nèi)部的A/D轉(zhuǎn)換器實(shí)現(xiàn)圖像的采集。圖像的采集過(guò)程在CPU控制下完成,由CPU啟動(dòng)A/D轉(zhuǎn)換,得到轉(zhuǎn)換數(shù)據(jù)。該方案的特點(diǎn)是電路簡(jiǎn)單,成本低,易于實(shí)現(xiàn),能滿足簡(jiǎn)單圖像采集系統(tǒng)的需要。但數(shù)據(jù)采集占用CPU時(shí)間,采集速度受微處理器A/D轉(zhuǎn)化時(shí)間限制。
本文提出了基于獨(dú)立的高速A/D轉(zhuǎn)換器TLC5510的視頻采集系統(tǒng)設(shè)計(jì)方案,能高速采集較高精度的視頻數(shù)據(jù),可適用于智能車比賽、室內(nèi)導(dǎo)盲、車隊(duì)仿真平臺(tái)、移動(dòng)機(jī)器人平臺(tái)等道路環(huán)境相對(duì)單一。圖像處理算法簡(jiǎn)單的場(chǎng)合。
1 系統(tǒng)架構(gòu)
本系統(tǒng)主要適用于符合PAL制式的模擬攝像頭輸出視頻信號(hào)的采集。一般的模擬攝像頭的主要工作原理是:按一定的分辨率,以隔行掃描的方式采樣圖像上的點(diǎn),當(dāng)掃描到某點(diǎn)時(shí),就通過(guò)圖像傳感芯片將該點(diǎn)處圖像的灰度轉(zhuǎn)換成與灰度成一一對(duì)應(yīng)的電壓值,然后將此電壓值通過(guò)視頻信號(hào)端輸出。同時(shí),視頻信號(hào)端輸出還隱含了場(chǎng)同步信號(hào)、行同步信號(hào)、奇偶場(chǎng)同步信號(hào)等信息,因此實(shí)際輸出的是復(fù)合視頻信號(hào)。
本系統(tǒng)采用MC9S12DGl28B作為處理器,針對(duì)信號(hào)特點(diǎn),主要設(shè)計(jì)思想如下:首先,通過(guò)專門的視頻同步信號(hào)分離芯片LM1881提取復(fù)合視頻信號(hào)的行同步脈沖、消隱脈沖和場(chǎng)同步脈沖,并將它們轉(zhuǎn)換成數(shù)字式電平直接輸給單片機(jī)的中斷口作為控制信號(hào)。同時(shí)采用高速A/D轉(zhuǎn)換器TLC5510對(duì)視頻信號(hào)進(jìn)行A/D轉(zhuǎn)換,使視頻電壓模擬信號(hào)轉(zhuǎn)換為代表圖像灰度的數(shù)字信號(hào)輸出。接著采用FIFO存儲(chǔ)器uPD42280作為視頻數(shù)據(jù)的緩存,在行中斷服務(wù)函數(shù)中對(duì)其進(jìn)行寫(xiě)控制,將A/D轉(zhuǎn)換數(shù)據(jù)寫(xiě)入其內(nèi)存中。最后,當(dāng)一場(chǎng)圖像結(jié)束時(shí),在場(chǎng)中斷服務(wù)函數(shù)中通過(guò)單片機(jī)的8位IO口將視頻數(shù)據(jù)讀回。為了保證數(shù)據(jù)的穩(wěn)定,在單片機(jī)與FIFO存儲(chǔ)器之間加了一級(jí)74HC245,作為數(shù)據(jù)緩沖。為保證采集同步,LC5510 uPD42280和74HC245采用同一有源晶振作為轉(zhuǎn)換和讀寫(xiě)的時(shí)鐘源。本系統(tǒng)框架如圖1所示。
圖一
2 系統(tǒng)硬件設(shè)計(jì)
視頻采集系統(tǒng)一場(chǎng)圖像時(shí)間內(nèi)的采集數(shù)據(jù)量決定了成像質(zhì)量,也就是常說(shuō)的分辨率或者叫像素。按照我國(guó)PAL制式的信號(hào)特點(diǎn),每秒掃描25幀圖像,每一幀圖像又分奇偶兩場(chǎng),那么,一場(chǎng)圖像的掃描時(shí)間就是20 ms。目前市場(chǎng)上的攝像頭,不管是CCD或是CMOS成像的,縱向分辨率基本都在400線的以上。因此推得單行視頻信號(hào)的持續(xù)時(shí)間小于20 ms/400=50μs左右。那么,如何在50μs內(nèi)對(duì)視頻信號(hào)進(jìn)行快速地A/D轉(zhuǎn)換,得到更多的灰度值數(shù)據(jù),以提高橫向分辨率就成為視頻采集系統(tǒng)設(shè)計(jì)的關(guān)鍵問(wèn)題。
2.1 高速A/D轉(zhuǎn)換器
TLC5510是美國(guó)TI公司生產(chǎn)CMOS,8位高阻抗并行的模數(shù)轉(zhuǎn)換器件(ADC)。它采用+5 V單電源工作,能提供的最大采樣率為20 MSPS。TLC-551O的滿輸入量程是2 V,TLC551OA的滿輸入量程是4 V。TLC5510采用了半閃速結(jié)構(gòu)及CMOS工藝,所以大大減少了器件中比較器的數(shù)量,并在高速轉(zhuǎn)換的同時(shí)能夠保持較低的功耗。在推薦的工作條件下,TLC5510的功耗僅為130 mW。
TLC5510模數(shù)轉(zhuǎn)換器內(nèi)含時(shí)鐘發(fā)生器、內(nèi)部基準(zhǔn)電壓分壓器、1套高4位采樣比較器、編碼器、鎖存器、2套低4位采樣比較器、編碼器和1個(gè)低4位鎖存器等電路。TLC5510的外部時(shí)鐘信號(hào)CLK通過(guò)其內(nèi)部的時(shí)鐘發(fā)生器可產(chǎn)生3路內(nèi)部時(shí)鐘,以驅(qū)動(dòng)3組采樣比較器。基準(zhǔn)電壓分壓器則可用來(lái)為這3組比較器提供基準(zhǔn)電壓。輸出A/D信號(hào)的高4位由高4位編碼器直接提供,而低4位的采樣數(shù)據(jù)則由2個(gè)低4位的編碼器交替提供。 TLC551O的工作時(shí)序如圖2所示。時(shí)鐘信號(hào)CLK在每一個(gè)下降沿采集模擬輸入信號(hào)。第N次采集的數(shù)據(jù)經(jīng)過(guò)2.5個(gè)時(shí)鐘周期的延遲后送到內(nèi)部數(shù)據(jù)總線上。此時(shí)如果輸出使能端OE有效,則數(shù)據(jù)可送至8位數(shù)據(jù)總線上。
圖二
TLC5510不僅具有高速的A/D轉(zhuǎn)換功能,還帶有內(nèi)部采樣和保持電路,從而大大簡(jiǎn)化了外圍電路的設(shè)計(jì)。只需要使用內(nèi)部基準(zhǔn)電阻和VDDA構(gòu)成基準(zhǔn)分壓器即可實(shí)現(xiàn)2V的滿量程轉(zhuǎn)換范圍。因?yàn)檎5膹?fù)合視頻信號(hào)最大電壓值不超過(guò)2V,所以在本系統(tǒng)設(shè)計(jì)過(guò)程中,將TLC5510的REF-BS端短接至REFB端,REFTS端短接至REFT端,從而獲得2V基準(zhǔn)電壓。視屏信號(hào)從ANALOGIN引腳輸入,同時(shí)采用4MHz的有源晶振提供時(shí)鐘信號(hào)。通過(guò)計(jì)算可知,該芯片在單行視頻信號(hào)掃描時(shí)間內(nèi)可進(jìn)行200次的A/D轉(zhuǎn)換,對(duì)于簡(jiǎn)單圖像算法而言,橫向分辨率已完全能夠滿足要求。如果提高TLC5510工作時(shí)鐘頻率,可以繼續(xù)提高橫向分辨率。若使TLC5510工作在極限情況下(20 MHz的采樣率),橫向分辨率可達(dá)到約800個(gè)點(diǎn),也就是30萬(wàn)像素以上。上電以后,由于將TLC5510的OE引腳接到GND,芯片始終處于低有效狀態(tài),所以A/D轉(zhuǎn)換將持續(xù)工作。8位數(shù)據(jù)輸出直接接到下一級(jí)FIFO存儲(chǔ)器的輸入,由處理器決定存儲(chǔ)器是否將A/D轉(zhuǎn)換數(shù)據(jù)寫(xiě)入。
具體的應(yīng)用電路如圖3所示。需要注意的是,因?yàn)門LC5510的AGND引腳和DGND引腳在內(nèi)部沒(méi)有連接,所以在外部需要連接。建議采用電感或磁珠連接,用以去除模擬地對(duì)數(shù)字信號(hào)的噪聲。同時(shí),在VDDA與AGND,VDDD與DGND引腳之間,應(yīng)分別使用0.1 μF的電容去耦,建議使用陶瓷電容,并配以10 μF以上的鉭電容儲(chǔ)能。
圖三
2.2 FIFO存儲(chǔ)器
uPD42280是一種2 Mbit的雙口FIFO(先入先出)存儲(chǔ)器。在本系統(tǒng)中作為A/D轉(zhuǎn)換數(shù)據(jù)的緩存,容量大且性價(jià)比較高,能滿足一幀圖像數(shù)據(jù)約25萬(wàn)個(gè)像素點(diǎn)存儲(chǔ)的要求。A/D轉(zhuǎn)換數(shù)據(jù)按照一定的時(shí)鐘節(jié)拍順序?qū)懭牖蜃x出,它的讀寫(xiě)時(shí)鐘速率最高可達(dá)33 MHz。uPD42280本身的數(shù)據(jù)是8 bit并行輸入輸出,通過(guò)控制它的WE引腳、WRST引腳、RE引腳和RRST引腳的電平高低,實(shí)現(xiàn)數(shù)據(jù)的寫(xiě)入和讀取。圖4為uPD42280的讀、寫(xiě)周期時(shí)序。
圖四
在寫(xiě)控制周期,WE若處于低有效狀態(tài)(WRST此時(shí)為高電平),數(shù)據(jù)在下一周期上升沿到來(lái)前寫(xiě)入存儲(chǔ)器地址中;WE若處于高禁能狀態(tài)。寫(xiě)入暫停,寫(xiě)地址指針保持。在WE處于低有效狀態(tài)時(shí)。若WRST處于低電平,則寫(xiě)地址指針將從當(dāng)前地址回到地址0,WRST回復(fù)高電平后,數(shù)據(jù)也將從地址0開(kāi)始寫(xiě)入。在讀控制周期,RE若處于低有效狀態(tài)(RRST此時(shí)為高電平),數(shù)據(jù)在下一周期上升沿到時(shí)被讀取;RE若處于高禁能狀態(tài),讀取暫停,讀地址指針保持。在RE處于低有效狀態(tài)時(shí),若RRST處于低電平,則讀地址指針將從當(dāng)前地址回到地址0,RRST回復(fù)高電平后,數(shù)據(jù)也將從地址0開(kāi)始讀取。
在本系統(tǒng)中,uPD42280的讀寫(xiě)時(shí)鐘與TLC5510的工作時(shí)鐘使用同一信號(hào)源(4 MHz),既保證了FIFO的寫(xiě)操作與A/D轉(zhuǎn)換操作的同步,避免出現(xiàn)數(shù)據(jù)漏接或混接現(xiàn)象,又可以使數(shù)據(jù)讀取時(shí),讀取速率僅由處理器IO口的讀取時(shí)間決定。通過(guò)處理器IO口控制讀、寫(xiě)使能信號(hào),讀、寫(xiě)地址復(fù)位信號(hào),可完成一幀圖像數(shù)據(jù)的讀寫(xiě)和更新。在處理器的總線頻率為32 MHz時(shí),單行視屏信號(hào)掃描時(shí)間內(nèi)(約50 us),IO口最終可讀入約190個(gè)有效像素的灰度值。去除行消隱區(qū)和圖像中心對(duì)正需要省略的點(diǎn),本系統(tǒng)每行視頻信號(hào)可采集到的有效像素點(diǎn)為160個(gè)。
需要注意的是,uPD42280本身外圍電路很簡(jiǎn)單,只需要在電源與地之間加1個(gè)去耦電容即可。但是由于FIFO存儲(chǔ)器有別于RAM,是不能進(jìn)行內(nèi)部尋址操作的,只能是簡(jiǎn)單的地址復(fù)位。所以在軟件控制時(shí)一定要注意邏輯,嚴(yán)格按照讀寫(xiě)時(shí)序去控制4個(gè)引腳,才能保證一場(chǎng)圖像的完整寫(xiě)入和讀取。
本系統(tǒng)創(chuàng)新之處在于將高速A/D轉(zhuǎn)換器TLC5510與FIFO存儲(chǔ)器uPD42280聯(lián)合使用,實(shí)現(xiàn)視頻信號(hào)的轉(zhuǎn)換和數(shù)據(jù)存儲(chǔ)。這樣做使得整個(gè)前端的轉(zhuǎn)換和存儲(chǔ)完全由幾個(gè)IO口控制,對(duì)單片機(jī)本身的性能要求低、資源要求少,僅僅用到了單片機(jī)的兩路中斷和多路普通IO口。這樣的設(shè)計(jì)使得本系統(tǒng)移植性很強(qiáng),可用于多種單片機(jī)或DSP。并且這兩款核心器件都是8 bit并行數(shù)據(jù)輸入輸出,速度很快,可以實(shí)現(xiàn)視頻數(shù)據(jù)的高速傳輸。
3 軟件流程
軟件部分主要包括初始化、寫(xiě)操作、讀操作和圖像處理。首先將處理器的IO口,中斷口初始化,PORTB8位作為數(shù)據(jù)入口,輸入使能;PORTK0~PORTK3作為存儲(chǔ)器的讀寫(xiě)使能和地址控制線,輸出使能,PORTJ0、PORTJ1分別響應(yīng)行、場(chǎng)中斷,上升沿觸發(fā)。
主函數(shù)是一個(gè)無(wú)限循環(huán),不斷檢測(cè)圖像是否采集完成,如果采集完成則進(jìn)行圖像處理,然后作出相應(yīng)的控制輸出。場(chǎng)中斷服務(wù)函數(shù)的主要功能是將行計(jì)數(shù)器清零,寫(xiě)地址回零,為新一幀圖像作準(zhǔn)備。行中斷服務(wù)函數(shù)主要功能是行計(jì)數(shù)器自加,用以判斷圖像當(dāng)前的行數(shù)。判斷采集是否開(kāi)始,控制寫(xiě)入使能,判斷采集是否結(jié)束,控制寫(xiě)入禁能,控制讀取地址回零,讀取使能,將數(shù)據(jù)經(jīng)過(guò)一級(jí)緩沖,通過(guò)8位數(shù)據(jù)總線讀入單片機(jī)的二維數(shù)組中,并通知主函數(shù)圖像數(shù)據(jù)準(zhǔn)備好了。具體流程如圖5所示。
圖五
4 實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)環(huán)境是白底黑線的模型跑道,一場(chǎng)圖像數(shù)據(jù)的實(shí)際采集像素點(diǎn)為160個(gè)x20行,圖像處理的算法主要是邊緣檢測(cè)和一次線性插值,目的是得到跑道的中心線軌跡。圖6所示為單行A/D轉(zhuǎn)換數(shù)據(jù),其中灰度值高的對(duì)應(yīng)白板,灰度值低的對(duì)應(yīng)黑線,橫坐標(biāo)為每個(gè)采樣點(diǎn)在實(shí)際圖像中的X軸的比例坐標(biāo),量綱是1。
圖7所示為該系統(tǒng)對(duì)不同道路類型的識(shí)別情況,上邊是攝像頭拍攝的實(shí)際圖像,下邊是圖像數(shù)據(jù)經(jīng)邊緣檢測(cè)和線性插值處理之后得到的中心線軌跡。橫坐標(biāo)為每行中心線在實(shí)際圖像中的X軸的比例坐標(biāo),縱坐標(biāo)為每行中心線在實(shí)際圖像中的Y軸的比例坐標(biāo),量綱為1。該橫、縱坐標(biāo)可以通過(guò)對(duì)圖像的實(shí)際測(cè)量標(biāo)定得到現(xiàn)實(shí)世界的二維坐標(biāo)。再將對(duì)應(yīng)值存入單片機(jī)一個(gè)靜態(tài)的二維數(shù)組中,控制需要時(shí)通過(guò)查表提取使用;也可以根據(jù)三維坐標(biāo)變化計(jì)算得出。
圖七
可以看出,在跑道中心線軌跡與實(shí)際圖像符合得較好。曲線的軌跡能很好地反映跑道特征,從而較為容易地判斷跑道類型,為下一步控制策略提供了可靠的信息依據(jù)。
5 結(jié)論
本文提出基于高速A/D轉(zhuǎn)換器TLC5510和FIFO存儲(chǔ)器uPD42102的視頻采集系統(tǒng),為普通單片機(jī)實(shí)現(xiàn)視頻信號(hào)的高速、高精度采集提供了一種新思路。該系統(tǒng)電路簡(jiǎn)單穩(wěn)定,移植性較強(qiáng),對(duì)徽處理器要求低,可適用于絕大多數(shù)CCD或CMOS攝像頭輸出的復(fù)合視頻信號(hào)采集。實(shí)驗(yàn)證明,該系統(tǒng)可以為圖像處理提供可靠的前端硬件平臺(tái)。
評(píng)論
查看更多