《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于FPGA和TMS320DM642的CCD圖像采集和處理系統(tǒng)硬件設(shè)計(jì)

基于FPGA和TMS320DM642的CCD圖像采集和處理系統(tǒng)硬件設(shè)計(jì)

2009-07-29
作者:鄭百源1,,2,,程遠(yuǎn)增1,,任鎖柱3

??? 摘 要:為能高速,、有效,、實(shí)時采集CCD視頻圖像,提出了一種實(shí)時視頻圖像采集和處理系統(tǒng)設(shè)計(jì)方案,。重點(diǎn)介紹其硬件設(shè)計(jì)原理,、關(guān)鍵電路的設(shè)計(jì),其主要功能是從CCD攝像頭輸出的模擬視頻信號中提取實(shí)時圖像,,數(shù)字化后送入處理器作后期圖像處理和分析,。
??? 關(guān)鍵詞: 圖像采集;圖像處理,;FPGA,;TMS320DM642;SAA7115

?

??? 當(dāng)CCD產(chǎn)生的視頻信號為模擬信號對,,對其直接傳輸,、存儲和處理比較困難,須要將模擬視頻信號轉(zhuǎn)換為數(shù)字視頻信號,,以便對其進(jìn)行處理,,并進(jìn)行高效可靠的傳輸和存儲。當(dāng)前,,數(shù)字圖像采集和處理系統(tǒng)不僅要面臨高速寬帶,、高精度的挑戰(zhàn),而且對采樣時機(jī),、采樣點(diǎn)數(shù),、采樣速率的可控性也提出了較高的要求,本文提出了一種實(shí)時圖像采集和處理系統(tǒng)的設(shè)計(jì)方法,,該系統(tǒng)以TMS320DM642[1-2]為核心,,結(jié)合視頻解碼芯片SAA7115H和OSD FPGA構(gòu)成實(shí)時圖像采集和處理系統(tǒng)電路。
1 系統(tǒng)總體設(shè)計(jì)
1.1? 系統(tǒng)結(jié)構(gòu)
??? 本系統(tǒng)以TMS320DM642為核心,,采用模塊化設(shè)計(jì)思想,,整個系統(tǒng)主要由視頻解碼芯片(A/D轉(zhuǎn)換芯片)、可編程邏輯門陣列(OSD FPGA),、TMS320DM642及外圍電路組成,。外圍電路主要包括CCD攝像機(jī)、SDRAM圖像存儲器,、FLASH程序存儲器及TMS320DM642外圍電路(復(fù)位,、電源連接等)。圖1為該系統(tǒng)的結(jié)構(gòu)框圖,。

?


1.2? 系統(tǒng)工作原理
??? 由CCD攝像頭攝入的PAL制圖像傳送到SAA7115解碼器,,SAA7115解碼器將信號轉(zhuǎn)變成并行的BT.656圖像碼流送至TMS320DM642視頻口VP0,TMS320DM642將其再解碼,得到Y(jié)UV(4:2:2)格式的圖像,,并通過EDMA傳輸?shù)絼討B(tài)存貯器(SDRAM)中存儲,,圖像大小為每場720×288(寬×高),每幀720×576(寬×高),。CPU通過訪問SDRAM中的圖像數(shù)據(jù),,依照相應(yīng)的程序進(jìn)行相應(yīng)的圖像處理。
??? 在實(shí)時圖像處理系統(tǒng)中,,為了不影響數(shù)據(jù)處理速度,,需要在恒速的CCD圖像采集與變速的TMS320DM642圖像處理之間加入緩沖電路,緩沖采用TMS320DM642視頻口的片內(nèi)FIFO和片外SDRAM的乒乓緩存結(jié)構(gòu),?!捌古也僮鳌笔且粋€經(jīng)常應(yīng)用于數(shù)據(jù)流控制的處理方法,如圖2所示,,其處理流程為:輸入數(shù)據(jù)流通過指針等時地將數(shù)據(jù)流分配到數(shù)據(jù)緩沖區(qū)1,、2和3中,在第1幀的時間,,將輸入的數(shù)據(jù)流緩存到1,;第2幀將輸入的數(shù)據(jù)流緩存到2,與此同時,,將1的數(shù)據(jù)作運(yùn)算處理。在下個緩沖周期,,再次切換,,將輸入的數(shù)據(jù)流緩存到3,與此同時,,將2的數(shù)據(jù)運(yùn)算處理,。如此循環(huán),A,、B,、C、D,、E為其5種狀態(tài),。

?


??? 乒乓操作的最大特點(diǎn)是按節(jié)拍、相互配合地切換,,將經(jīng)過緩沖的數(shù)據(jù)流不停頓地進(jìn)行運(yùn)算及處理,。把乒乓操作模塊當(dāng)作一個整體,此模塊兩端的輸入數(shù)據(jù)流與輸出數(shù)據(jù)流均是連續(xù)不斷的,,沒有任何停頓,,因此非常適合進(jìn)行流水線式處理,完成數(shù)據(jù)的無縫緩沖與處理。
2? 功能模塊設(shè)計(jì)
2.1 視頻采集模塊

??? 本系統(tǒng)采用Philips公司的SAA7115視頻解碼芯片將CCD模擬視頻進(jìn)行數(shù)字化,,然后傳給TMS320DM642的視頻端口進(jìn)行處理,,同時分離水平同步(XRH)和垂直同步(XRV)等信號。
??? 視頻解碼芯片采用SAA7115,,省去時鐘同步電路的設(shè)計(jì),,簡化接口電路,提高系統(tǒng)的可靠性,。由攝像機(jī)采集到的模擬信號經(jīng)過視頻端子進(jìn)入到解碼器SAA7115的模擬端Al11,,經(jīng)模擬處理和A/D轉(zhuǎn)換后產(chǎn)生數(shù)字色度信號和亮度信號,分別對其進(jìn)行處理,。亮度信號處理的結(jié)果一路送到信號處理器,,進(jìn)行綜合處理,產(chǎn)生Y和UV信號,,經(jīng)格式化后采用4:2:2 YUV格式從IPD[7-0]輸出直接連接到TMS320DM642視頻口的VP0[9-2]管腳,;另一路經(jīng)過同步分離器,由數(shù)字PLL產(chǎn)生相應(yīng)的同步信號與TMS320DM642的VP0CTL0和VP0CTL1相連,,同時PLL驅(qū)動時鐘發(fā)生器,,產(chǎn)生27 MHz的時鐘同步信號LLC,輸出到TMS320DM642的VP0CLK0管腳,。解碼器SAA7115與TMS320DM642的視頻接口的原理如圖3所示,。

?


??? 所有這些功能均在I2C總線控制下完成。SCL作為I2C接口的時鐘線與TMS320DM642的SCL相連,,SDA作為I2C接口的數(shù)據(jù)地址線與TMS320DM642的SDA相連,。通過SCL和SDA的時序配合,可由TMS320DM642向SAA7115的寄存器寫入數(shù)據(jù)或讀出數(shù)據(jù),。
2.2? TMS320DM642圖像處理模塊
??? 本系統(tǒng)中視頻口VP0作為輸入,,與視頻解碼器SAA7115的IPD相連。從解碼器SAA7115出來的BT.656數(shù)據(jù)流進(jìn)入VP0口后,,經(jīng)由BT.656捕獲通道,,進(jìn)入到視頻口緩沖區(qū)中,每個視頻口都有1個5 120 B的視頻輸入/輸出緩沖區(qū),,視頻口輸人的數(shù)據(jù)分別進(jìn)入捕獲FIFO A和FIFO B,,其中Y緩存2 560 B,Cb和Cr緩存分別為1 280 B,。根據(jù)輸出的同步脈沖產(chǎn)生幀存儲器的地址信號,、讀寫和片選等控制信號,將圖像逐幀存入SDRAM存儲器中,,通過中斷通知TMS320DM642讀取,。TMS320DM642通過EDMA事件實(shí)現(xiàn)視頻口緩沖區(qū)和片內(nèi)L2存儲器之間的數(shù)據(jù)傳遞,。用戶編程設(shè)定1個緩沖區(qū)閾值用以產(chǎn)生EDMA事件。BT.656格式的數(shù)據(jù)流經(jīng)由捕獲通道分別進(jìn)入各自的緩沖區(qū),,并打包成64 B的雙字,。當(dāng)雙字增至緩沖區(qū)閾值時觸發(fā)EDMA事件,存儲器映射寄存器即作為EDMA數(shù)據(jù)傳輸?shù)脑吹刂?。為保證每一場的數(shù)據(jù)能夠全部傳完且沒有遺漏,,每次EDMA傳輸?shù)臄?shù)據(jù)大小應(yīng)等于閾值。由于TMS320DM642的強(qiáng)大處理能力,,用戶算法作為任務(wù)線程嵌入TMS320DM642軟件系統(tǒng)中,。
2.3? 外圍存儲模塊
??? 本系統(tǒng)的TMS320DM642在視頻圖像的處理時,處理過程中會產(chǎn)生大量數(shù)據(jù),,而其內(nèi)部最多僅有256 KB的RAM,,所以需要擴(kuò)展大容量的外部存儲器才能滿足數(shù)據(jù)處理的需要。本系統(tǒng)選用2片SDRAM用于存儲程序,、數(shù)據(jù)和緩存數(shù)字視頻信息,,選用1片F(xiàn)LASH存儲器用于固化程序和一些掉電后仍需保存的用戶數(shù)據(jù)。SDRAM芯片和FLASH芯片均通過TMS320DM642的EMIF口實(shí)現(xiàn)無縫連接[3],。TMS320DM642的EMIF有4個獨(dú)立的可設(shè)定地址的區(qū)域,,稱為芯片使能空間(CE0~CE3),當(dāng)FLASH和FPGA映射到CE1時,,SDRAM占據(jù)CE0,,CE3的一部分被配置給OSD功能的同步操作和擴(kuò)展的FPGA中的其他同步寄存器操作。本系統(tǒng)合并形成了一個64 bit長的外部存儲器端口,,將地址空間分割成了4個芯片使能區(qū),,允許對地址空間進(jìn)行8 bit、16 bit,、32 bit和64 bit的同步或不同步的存取,并且使用了芯片使能區(qū)CE0,、CE1和CE3,。CE0被發(fā)送給64 bit的SDRAM總線,CE1被8 bit的FLASH和FPGA功能使用,,CE3被設(shè)置成同步功能,。
2.3.1? SDRAM存儲器
??? 本系統(tǒng)采用MT48LC4M32B2[4]來構(gòu)成SDRAM存儲器,大小為1 M×32 bit×4 banks,, 在CE0空間連接了64 bit的SDRAM總線,。總線由外部PLL驅(qū)動設(shè)備控制,,在133MHz的最佳運(yùn)行狀態(tài)下運(yùn)行,SDRAM的刷新由TMS320DM642自動控制。TMS320DM642的EMIF與SDRAM接口圖如圖4所示,。

?


2.3.2? FLASH存儲器
??? 本系統(tǒng)擴(kuò)展4 M的FLASH,,映射在CE1空間的低位。FLASH寄存器選用4 M×8 bit的AM29LV033C,。FLASH寄存器主要用來導(dǎo)入裝載和存儲FPGA的配置信息,。CE1空間被配置成8 bit,F(xiàn)LASH寄存器也是8bit,。由于CE1的可利用地址空間小于FLASH的空間,,所以利用FPGA可產(chǎn)生3個擴(kuò)展頁。這些擴(kuò)展的線形地址通過FPGA的FLASH基礎(chǔ)寄存器進(jìn)行定義,,復(fù)位后的默認(rèn)值是000,。TMS320DM642的EMIF和FLASH的接口圖如圖5所示。

?


2.4? OSD FPGA模塊
??? FPGA負(fù)責(zé)完成所有芯片的接口和控制,,其中包括SAA7115與I2C總線的接口,、復(fù)位控制信號以及與TMS320DM642的EMIF接口和外設(shè)接口等,其體系結(jié)構(gòu)圖如圖6所示,。本系統(tǒng)的OSD FPGA功能模塊的芯片型號為Xilinx XC2S300E-6PQ208C[5],,主要用來完成以下工作:

?


??? (1)通過寄存器使用TMS320DM642外部存儲器接口(EMIF);
??? (2)通過可編譯寄存器使用TMS320DM642的EMIF接口控制GPIO;
??? (3)產(chǎn)生EMIF緩沖控制信號(DIR和OE),;
??? (4)提供對于PLL1708的連續(xù)控制接口,;
??? (5)為FLASH產(chǎn)生3頁bit空間;
??? (6)使用SAA7115的同步信號,。
2.5? 電源和復(fù)位模塊
??? 該系統(tǒng)通過單+5 V供電,,在板子內(nèi)部轉(zhuǎn)換為+1.4 V和+3.3 V,為各器件供電,。+3.3 V為TMS320DM642的I/O口,、解碼器及其他芯片的電源,+1.4 V為TMS320DM642 CPU內(nèi)核電源,。TMS320DM642內(nèi)核電壓+1.4 V,,外設(shè)I/O電壓+3.3 V,降低內(nèi)核電壓主要是降低功耗,,外部接口引腳采用+3.3 V電壓,,便于直接與外部器件接口。由于是2種不同的電壓,,所以要考慮供電系統(tǒng)的配合問題,。在加電過程中,保證CPU內(nèi)核電源先加電,,最晚也應(yīng)當(dāng)與外設(shè)I/O電源同時加電,。關(guān)閉電源時,,先關(guān)閉I/O電源,再關(guān)閉內(nèi)核電源,。如果內(nèi)核加電晚于I/O,,則會發(fā)生內(nèi)部總線競爭,從而產(chǎn)生不可預(yù)定的結(jié)果,。因此,,選用電源芯片TPS54310[6]獲得上述2種電壓,并利用其電源輸出有效引腳PG和允許電壓輸人引腳EN保證TMS320DM642的內(nèi)核和I/O上電掉電順序,。
??? 為防止系統(tǒng)程序進(jìn)入死循環(huán)或因電壓波動而產(chǎn)生異常,,本系統(tǒng)用看門狗芯片來控制系統(tǒng)復(fù)位。這里采用TI的TPS3823-33DBVT[7]看門狗芯片,,它由+3.3 V電源供電,,能對電源電壓進(jìn)行監(jiān)控,當(dāng)電源電壓降至2.93 V以下時觸發(fā)復(fù)位信號,,使整個系統(tǒng)進(jìn)入復(fù)位狀態(tài),,直至電源電壓復(fù)原,復(fù)位信號的最小長度為200 ms,。同時,,還含有一看門狗計(jì)時器,用來監(jiān)測來自處理器芯片的跳變沿觸發(fā)信號,,如果1.6 s內(nèi)未接收到觸發(fā)信號,,它同樣讓系統(tǒng)進(jìn)入復(fù)位狀態(tài)并持續(xù)200 ms,這樣可在系統(tǒng)程序進(jìn)入死循環(huán)后重新啟動系統(tǒng),。TMS320DM642電源與復(fù)位電路的連接圖如圖7所示,。

?


3? 抗干擾設(shè)計(jì)
??? 由于高頻脈沖噪聲對本系統(tǒng)危害最大,為了提高系統(tǒng)的抗干擾性能,,可采取以下措施:
??? (1)優(yōu)化PCB印制板的設(shè)計(jì),。在本系統(tǒng)中應(yīng)當(dāng):
??? ①采用短而寬的導(dǎo)線來抑制干擾。時鐘引線,、總線驅(qū)動器的信號線常有大的瞬變電流,,其印制導(dǎo)線要盡可能短。對于分立元件電路,,印制導(dǎo)線寬度在1.5 mm左右即可滿足要求,;對于集成電路,,印制導(dǎo)線寬度在0.5 mm~1.0 mm之間選擇,;
②傳輸多種電平信號時,盡量把前,、后沿時間相近的電平信號劃為一組傳輸,;在雙面印制板的背面布置較大面積的地線區(qū)域,,可對部件產(chǎn)生的高頻脈沖噪聲起到吸收和屏蔽的作用;分開模擬和數(shù)字電源層,;
??? (2)增加總線的抗干擾能力,。采用三態(tài)門形式的總線結(jié)構(gòu),并給總線接上拉電阻,,使總線在瞬間處于穩(wěn)定的高電平而避免總線出現(xiàn)懸空狀態(tài),。
??? 本文面向?qū)崟r圖像采集和處理,采用模塊化設(shè)計(jì)思想,,以TMS320DM642,、SAA7115、OSD FPGA等實(shí)現(xiàn)了視頻圖像采集和處理系統(tǒng)的硬件電路,,該系統(tǒng)電路簡單,、結(jié)構(gòu)緊湊、調(diào)節(jié)靈活,、可靠性高,、實(shí)時性強(qiáng)的特點(diǎn),通過驗(yàn)證,,滿足設(shè)計(jì)的應(yīng)用要求,,可為今后視頻圖像采集和處理的進(jìn)一步研發(fā)提供參考。
參考文獻(xiàn)
[1] Texas Instruments Incorporated. TMS320DM642 technical overview: DSP video and imaging digital applications [J]. 2002.
[2] 任麗香.TMS320C6000系列DSPs的原理與應(yīng)用[M].北京:電子工業(yè)出版社,,2000.
[3] 李方慧,,王飛,何佩琨.TMS320C6000系列DSPs原理與應(yīng)用[M]( 第2版).北京:電子工業(yè)出版社,,2003.
[4] Micron Technology,,MT48LC4M32B2 synchronous dRAM Data sheet,2002.
[5]? 郭書軍,,王玉花.流水線技術(shù)在FPGA設(shè)計(jì)中的應(yīng)用[N].北方工業(yè)大學(xué)學(xué)報(bào),,2004(3):62-69.
[6]? Texas Instruments Incorporated. TPS54310 datasheet[Z].2002.
[7]? Texas Instruments Incorporated. TPS3823-XX processor supervisory circuits[Z]. 2002.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]