基于FPGA/CPLD和USB技術的無損圖像采集卡
發布時間:2008/5/26 0:00:00 訪問次數:1883
    
    
    現場圖像采集技術發展迅速,各種基于isa、pci等總線的圖像采集卡已經相當成熟,結合課題設計了一款usb外置式圖像采集卡。該圖像采集卡已成功應用于一個圖像處理和識別的項目中,由于圖像信號不經過壓縮處理,對后續處理沒有任何影響,因此圖像處理和識別的效果比一般的圖像采集卡要好,滿足了特殊場合的特殊需要。
    1 外置式無損圖像采集卡的系統構成
    整個無損圖像采集卡由圖像采集、圖像信號的處理和控制、usb傳輸和控制、pc機端的圖像還原和存儲等幾部分組成。
    本文介紹的圖像采集卡采集的一幀圖像是720×576象素,如果取彩色圖像,每象素用2個字節表示,每幀圖像是720×576×16=6480kbps,分成奇數場和偶數場分別存儲在兩片sram中,則每片的sram存儲3240kbps的圖像數據,因此選用了256k×16=4m位的靜態存儲器(sram)。在圖像處理領域,通常只需要黑白圖像,可以只取圖像的黑白部分,每象素用1個字節表示,每幀圖像是720×576×8=3240kbps,每片sram存儲1620kbps的圖像數據。所采用的ez-usb芯片理論速率是12mbps,實際測得的速率是8mbps,因此圖像采集卡每秒傳輸約1幀彩色圖像或2幀黑白圖像。
    當插上圖像采集卡后,pc機會自動識別它。在pc機上,應用程序通過usb向fpga/cpld發送圖像采集命令,ccd攝像頭輸出的pal制式或ntsc制式的模擬視頻信號通過a/d轉換芯片轉換成數字視頻信號,用fpga/cpld作為采樣控制器,將數字信號存入靜態存儲器(sram)中,當完成一幀圖像采集后,fpga/cpld向usb發送中斷信號,要求usb進行圖?袷??蕕拇洌趐c機端接收usb送來的一幀圖像數據,并且顯示、存儲圖像。文本具體講述了用該采集卡進行黑白圖像的傳輸,整個硬件框圖如圖1所示。
    2 外置式無損圖像采集卡的研制
    2.1 圖像采集部分
    圖像采集部分選用了philips公司的視頻a/d轉換芯片saa7111a(evip),對saa7111a的初始化是通過ez-usb所提供的一對i2c引腳sda和scl進行的,在usb固件程序(firmware)中進行i2c通信程序的編寫。本系統中saa7111a的初始設定為:一路模擬視頻信號輸入、自動增益控制、625行50hz pal制式、yuv 422 16bits數字視頻信號輸出、設置默認的圖像對比度、亮度及飽和度。saa7111a芯片產生的數字視頻信號、控制信號和狀態信號送入控制芯片fpga/cpld中,即把場同步信號vref、行同步信號href、奇偶場標志信號rts0、片選信號ce、垂直同步信號vs、象素時鐘信號llc2以及數字視頻信號vpo[15:8]等管腳連接到fpga/cpld芯片lc4128v,以便lc4128v獲知各種采集信息。同時,sram芯片的讀寫信號、片選信號、高低字節信號、數據線io[7:0]和地睛線a[17:0]連接到lc4128v,整個采集過程由fpga/cpld芯片lc4128v控制。
    在pc機端?ü齯sb發出圖像采集命令后,fpga/cpld進行圖像采集,由于ccd攝像頭輸出模擬信號,需要經過視頻a/d轉化睛,把模擬視頻信號轉化成數字視頻信號,輸入進fpga/cpld芯片,fpga/cpld根據狀態信號rts0把奇偶場圖像信號分別存儲在sram(odd)和sram(even)中。
    2.2 圖像信號的處理和控制
    這部分是無損圖像采集卡的核心,需要對外圍的器件進行集中控制和處理。fpga/cpld對圖像信號的采集、控制、存儲數據到sram以及從sram讀取數據都在這里實現。選用了lattice公司的新一代產品ispmach4000v-lc4128v,采?胿erilog hdl作為硬件描述語言,但是所編寫的verilog源程序都適用于fpga器件,又適用于cpld器件。
    fpga/cpld與usb接口部分由七個部分構成(如圖1所示):start線是拍攝線,它可以向fpga/cpld發出圖像采集命令,fpga/cpld把當前的奇數場圖像存儲在sram(odd)中,把當前的偶數場圖像存儲在sram(even)中;當一幀數據全部存儲完后,發出中斷(interrupt)信號通知usb芯片;同時用state線作為狀態線,當state線為低電平時,表明usb可以從sram讀數據,當state線為高電平時,表明fpga/cpld正在向sram寫數據;ramodd用來選擇從sram(odd)中讀取奇數場的數字視頻信號;rameven用于選擇從sram(even)中讀取偶數場的數字視頻信號;fpga/clpd輸出的數據線連接至usb和sram芯片,再通過usb傳送到pc機;frdclk線是usb快速讀寫方式輸出的讀選通信號,作為sram的時鐘,每來一個時鐘脈沖,地址值就加1,然后將對應地址單元中存儲的數據通過usb傳輸到pc機上。
    下面具體描述fpga/cpld內部時序控制(如圖2所示)。首先需要產生fpga/cpld內部
    
    
    現場圖像采集技術發展迅速,各種基于isa、pci等總線的圖像采集卡已經相當成熟,結合課題設計了一款usb外置式圖像采集卡。該圖像采集卡已成功應用于一個圖像處理和識別的項目中,由于圖像信號不經過壓縮處理,對后續處理沒有任何影響,因此圖像處理和識別的效果比一般的圖像采集卡要好,滿足了特殊場合的特殊需要。
    1 外置式無損圖像采集卡的系統構成
    整個無損圖像采集卡由圖像采集、圖像信號的處理和控制、usb傳輸和控制、pc機端的圖像還原和存儲等幾部分組成。
    本文介紹的圖像采集卡采集的一幀圖像是720×576象素,如果取彩色圖像,每象素用2個字節表示,每幀圖像是720×576×16=6480kbps,分成奇數場和偶數場分別存儲在兩片sram中,則每片的sram存儲3240kbps的圖像數據,因此選用了256k×16=4m位的靜態存儲器(sram)。在圖像處理領域,通常只需要黑白圖像,可以只取圖像的黑白部分,每象素用1個字節表示,每幀圖像是720×576×8=3240kbps,每片sram存儲1620kbps的圖像數據。所采用的ez-usb芯片理論速率是12mbps,實際測得的速率是8mbps,因此圖像采集卡每秒傳輸約1幀彩色圖像或2幀黑白圖像。
    當插上圖像采集卡后,pc機會自動識別它。在pc機上,應用程序通過usb向fpga/cpld發送圖像采集命令,ccd攝像頭輸出的pal制式或ntsc制式的模擬視頻信號通過a/d轉換芯片轉換成數字視頻信號,用fpga/cpld作為采樣控制器,將數字信號存入靜態存儲器(sram)中,當完成一幀圖像采集后,fpga/cpld向usb發送中斷信號,要求usb進行圖?袷??蕕拇洌趐c機端接收usb送來的一幀圖像數據,并且顯示、存儲圖像。文本具體講述了用該采集卡進行黑白圖像的傳輸,整個硬件框圖如圖1所示。
    2 外置式無損圖像采集卡的研制
    2.1 圖像采集部分
    圖像采集部分選用了philips公司的視頻a/d轉換芯片saa7111a(evip),對saa7111a的初始化是通過ez-usb所提供的一對i2c引腳sda和scl進行的,在usb固件程序(firmware)中進行i2c通信程序的編寫。本系統中saa7111a的初始設定為:一路模擬視頻信號輸入、自動增益控制、625行50hz pal制式、yuv 422 16bits數字視頻信號輸出、設置默認的圖像對比度、亮度及飽和度。saa7111a芯片產生的數字視頻信號、控制信號和狀態信號送入控制芯片fpga/cpld中,即把場同步信號vref、行同步信號href、奇偶場標志信號rts0、片選信號ce、垂直同步信號vs、象素時鐘信號llc2以及數字視頻信號vpo[15:8]等管腳連接到fpga/cpld芯片lc4128v,以便lc4128v獲知各種采集信息。同時,sram芯片的讀寫信號、片選信號、高低字節信號、數據線io[7:0]和地睛線a[17:0]連接到lc4128v,整個采集過程由fpga/cpld芯片lc4128v控制。
    在pc機端?ü齯sb發出圖像采集命令后,fpga/cpld進行圖像采集,由于ccd攝像頭輸出模擬信號,需要經過視頻a/d轉化睛,把模擬視頻信號轉化成數字視頻信號,輸入進fpga/cpld芯片,fpga/cpld根據狀態信號rts0把奇偶場圖像信號分別存儲在sram(odd)和sram(even)中。
    2.2 圖像信號的處理和控制
    這部分是無損圖像采集卡的核心,需要對外圍的器件進行集中控制和處理。fpga/cpld對圖像信號的采集、控制、存儲數據到sram以及從sram讀取數據都在這里實現。選用了lattice公司的新一代產品ispmach4000v-lc4128v,采?胿erilog hdl作為硬件描述語言,但是所編寫的verilog源程序都適用于fpga器件,又適用于cpld器件。
    fpga/cpld與usb接口部分由七個部分構成(如圖1所示):start線是拍攝線,它可以向fpga/cpld發出圖像采集命令,fpga/cpld把當前的奇數場圖像存儲在sram(odd)中,把當前的偶數場圖像存儲在sram(even)中;當一幀數據全部存儲完后,發出中斷(interrupt)信號通知usb芯片;同時用state線作為狀態線,當state線為低電平時,表明usb可以從sram讀數據,當state線為高電平時,表明fpga/cpld正在向sram寫數據;ramodd用來選擇從sram(odd)中讀取奇數場的數字視頻信號;rameven用于選擇從sram(even)中讀取偶數場的數字視頻信號;fpga/clpd輸出的數據線連接至usb和sram芯片,再通過usb傳送到pc機;frdclk線是usb快速讀寫方式輸出的讀選通信號,作為sram的時鐘,每來一個時鐘脈沖,地址值就加1,然后將對應地址單元中存儲的數據通過usb傳輸到pc機上。
    下面具體描述fpga/cpld內部時序控制(如圖2所示)。首先需要產生fpga/cpld內部
熱門點擊
- 8051單片機家族數據手冊鏈接大全
- 浮點數保存代碼
- 基于FPGA/CPLD和USB技術的無損圖像
- 數字顯示器仍需處理模擬信號
- 嵌入式系統中LCD驅動的實現原理
- 常用PIC系列8位單片機芯片引腳符號的功能
- PIC系列單片機的偽指令
- 基于DVR的網絡化家庭視頻監控系統
- Cypress推出首款全新主板時鐘發生器
- AT89S51是什么?
推薦技術資料
- 硬盤式MP3播放器終級改
- 一次偶然的機會我結識了NE0 2511,那是一個遠方的... [詳細]