- 相關(guān)推薦
基于FPGA/CPLD和USB技術(shù)的無損圖像采集卡
摘要:介紹了外置式USB無損圖像采集卡的設(shè)計和實現(xiàn)方案,它用于特殊場合的圖像處理及其相關(guān)領(lǐng)域。針對圖像傳輸?shù)奶攸c,結(jié)合FPGA/CPLD和USB技術(shù),給出了硬件實現(xiàn)框圖,同時給出了FPGA/CPLD內(nèi)部時序控制圖和USB程序流程圖,結(jié)合框圖和部分程序源代碼,具體講述了課題中遇到的難點和相應(yīng)的解決方案。現(xiàn)場圖像采集技術(shù)發(fā)展迅速,各種基于ISA、PCI等總線的圖像采集卡已經(jīng)相當(dāng)成熟,結(jié)合課題設(shè)計了一款USB外置式圖像采集卡。該圖像采集卡已成功應(yīng)用于一個圖像處理和識別的項目中,由于圖像信號不經(jīng)過壓縮處理,對后續(xù)處理沒有任何影響,因此圖像處理和識別的效果比一般的圖像采集卡要好,滿足了特殊場合的特殊需要。
1 外置式無損圖像采集卡的系統(tǒng)構(gòu)成
整個無損圖像采集卡由圖像采集、圖像信號的處理和控制、USB傳輸和控制、PC機端的圖像還原和存儲等幾部分組成。
圖1 外置式圖像采集卡的硬件框圖
本文介紹的圖像采集卡采集的一幀圖像是720×576象素,如果取彩色圖像,每象素用2個字節(jié)表示,每幀圖像是720×576×16=6480kbps,分成奇數(shù)場和偶數(shù)場分別存儲在兩片SRAM中,則每片的SRAM存儲3240kbps的圖像數(shù)據(jù),因此選用了256K×16=4M位的靜態(tài)存儲器(SRAM)。在圖像處理領(lǐng)域,通常只需要黑白圖像,可以只取圖像的黑白部分,每象素用1個字節(jié)表示,每幀圖像是720×576×8=3240kbps,每片SRAM存儲1620kbps的圖像數(shù)據(jù)。所采用的EZ-USB芯片理論速率是12Mbps,實際測得的速率是8Mbps,因此圖像采集卡每秒傳輸約1幀彩色圖像或2幀黑白圖像。
當(dāng)插上圖像采集卡后,PC機會自動識別它。在PC機上,應(yīng)用程序通過USB向FPGA/CPLD發(fā)送圖像采集命令,CCD攝像頭輸出的PAL制式或NTSC制式的模擬視頻信號通過A/D轉(zhuǎn)換芯片轉(zhuǎn)換成數(shù)字視頻信號,用FPGA/CPLD作為采樣控制器,將數(shù)字信號存入靜態(tài)存儲器(SRAM)中,當(dāng)完成一幀圖像采集后,F(xiàn)PGA/CPLD向USB發(fā)送中斷信號,要求USB進行圖像數(shù)據(jù)的傳輸,在PC機端接收USB送來的一幀圖像數(shù)據(jù),并且顯示、存儲圖像。文本具體講述了用該采集卡進行黑白圖像的傳輸,整個硬件框圖如圖1所示。
2 外置式無損圖像采集卡的研制
2.1 圖像采集部分
圖像采集部分選用了Philips公司的視頻A/D轉(zhuǎn)換芯片SAA7111A(EVIP),對SAA7111A的初始化是通過EZ-USB所提供的一對I2C引腳SDA和SCL進行的,在USB固件程序(Firmware)中進行I2C通信程序的編寫。本系統(tǒng)中SAA7111A的初始設(shè)定為:一路模擬視頻信號輸入、自動增益控制、625行50Hz PAL制式、YUV 422 16bits數(shù)字視頻信號輸出、設(shè)置默認(rèn)的圖像對比度、亮度及飽和度。SAA7111A芯片產(chǎn)生的數(shù)字視頻信號、控制信號和狀態(tài)信號送入控制芯片F(xiàn)PGA/CPLD中,即把場同步信號VREF、行同步信號HREF、奇偶場標(biāo)志信號RTS0、片選信號CE、垂直同步信號VS、象素時鐘信號LLC2以及數(shù)字視頻信號VPO[15:8]等管腳連接到FPGA/CPLD芯片LC4128V,以便LC4128V獲知各種采集信息。同時,SRAM芯片的讀寫信號、片選信號、高低字節(jié)信號、數(shù)據(jù)線IO[7:0]和地睛線A[17:0]連接到LC4128V,整個采集過程由FPGA/CPLD芯片LC4128V控制。
在PC機端,通過USB發(fā)出圖像采集命令后,F(xiàn)PGA/CPLD進行圖像采集,由于CCD攝像頭輸出模擬信號,需要經(jīng)過視頻A/D轉(zhuǎn)化睛,把模擬視頻信號轉(zhuǎn)化成數(shù)字視頻信號,輸入進FPGA/CPLD芯片,F(xiàn)PGA/CPLD根據(jù)狀態(tài)信號RTS0把奇偶場圖像信號分別存儲在SRAM(ODD)和SRAM(EVEN)中。
2.2 圖像信號的處理和控制
這部分是無損圖像采集卡的核心,需要對外圍的器件進行集中控制和處理。FPGA/CPLD對圖像信號的采集、控制、存儲數(shù)據(jù)到SRAM以及從SRAM讀取數(shù)據(jù)都在這里實現(xiàn)。選用了Lattice公司的新一代產(chǎn)品ispMACH4000V-LC4128V,采用Verilog HDL作為硬件描述語言,但是所編寫的Verilog源程序都適用于FPGA器件,又適用于CPLD器件。
FPGA/CPLD與USB接口部分由七個部分構(gòu)成(如圖1所示):Start線是拍攝線,它可以向FPGA/CPLD發(fā)出圖像采集命令,F(xiàn)PGA/CPLD把當(dāng)前的奇數(shù)場圖像存儲在SRAM(ODD)中,把當(dāng)前的偶數(shù)場圖像存儲在SRAM(EVEN)中;當(dāng)一幀數(shù)據(jù)全部存儲完后,發(fā)出中斷(Interrupt)信號通知USB芯片;同時用State線作為狀態(tài)線,當(dāng)State線為低電平時,表明USB可以從SRAM讀數(shù)據(jù),當(dāng)State線為高電平時,表明FPGA/CPLD正在向SRAM寫數(shù)據(jù);RamOdd用來選擇從SRAM(ODD)中讀取奇數(shù)場的數(shù)字視頻信號;RamEven用于選擇從SRAM(EVEN)中讀取偶數(shù)場的數(shù)字視頻信號;FPGA/CLPD輸出的數(shù)據(jù)線連接至USB和SRAM芯片,再通過USB傳送到PC機;FrdClk線是USB快速讀寫方式輸出的讀選通信號,作為SRAM的時鐘,每來一個時鐘脈沖,地址值就加1,然后將對應(yīng)地址單元中存儲的數(shù)據(jù)通過USB傳輸?shù)絇C機上。
下面具體描述FPGA/CPLD內(nèi)部時序控制(如圖2所示)。首先需要產(chǎn)生FPGA/CPLD內(nèi)部同步時鐘信號InClk,當(dāng)FPGA/CPLD向SRAM存儲數(shù)字視頻信號時,用SAA7111A的LLC2作為內(nèi)部同步時鐘信號;當(dāng)FPGA/CPLD傳輸數(shù)字視頻信號時,用USB的讀選通信號FrdClk作為內(nèi)部同步時鐘信號。當(dāng)有VS上升沿時,如果RTS0為低電平,則表明是奇數(shù)場即將到來,產(chǎn)生LingPai高電平信號,對LingPai取反作用作SRAM(ODD)的寫信號WE1;如果RTS0為高電平,則表明偶數(shù)場即將到來,產(chǎn)生LingPaiEven高電平信號,對LingPaiEven取反后用作SRAM(Even)的寫信號WE2,WE1和WE2經(jīng)過與門后產(chǎn)生圖2中的兩個SRAM的寫選通信號WE。此外,由LingRai和LingPaiEven產(chǎn)生LingPaiAll信號,作為選擇內(nèi)部同步時鐘的控制信號。由USB芯片產(chǎn)生的Ramodd(OE1)和RamEven(OE2)信號,分別用作SRAM(ODD)和SRAM(EVEN)的讀信號,OE1和OE2經(jīng)過與門后產(chǎn)生圖2中的兩個SRAM讀選通信號OE。當(dāng)LingPaiAll為高電平期間,表示FPG
【基于FPGA/CPLD和USB技術(shù)的無損圖像采集卡】相關(guān)文章:
基于USB2.0和FPGA的高速圖像采集系統(tǒng)03-07
基于CPLD/FPGA的半整數(shù)分頻器的設(shè)計03-18
USB接口的高速數(shù)據(jù)采集卡的設(shè)計與實現(xiàn)03-18
基于內(nèi)容的模糊圖像檢索技術(shù)研究03-18
基于FPGA的快速傅立葉變換03-19