O 引言
CMOS圖像傳感器與CCD圖像傳感器相比,具有功耗低、集成度高,便于采用高速的并行讀取體系等優(yōu)點,因而在圖像傳感、天文觀測、星敏感器等領(lǐng)域得到廣泛應(yīng)用。目前圖像采集主要基于PCI總線或其他傳統(tǒng)接串并口圖像采集系統(tǒng)進行數(shù)據(jù)傳輸,它們存在著功耗高,安裝復(fù)雜,價格昂貴等缺點。在實現(xiàn)對高分辨率圖像傳感器無丟失的數(shù)據(jù)傳輸過程中,USB2.O接口以其即插即用、擴展性強、傳輸速度高達480Mbps等優(yōu)點,能夠滿足快速傳送大批量數(shù)據(jù)要求。
因此,高分辨率的CMOS圖像傳感器和高速USB總線技術(shù)為圖像傳感技術(shù)的改進應(yīng)用提供了必要的條件。解決了以往低分辨率圖像傳感器像源失真,穩(wěn)定性能差等缺點。本系統(tǒng)利用130萬像素CMOS圖像傳感器實現(xiàn)了圖像高速傳輸采集,其傳輸速度達到23.6MBps,能廣泛地應(yīng)用在工廠礦山等惡劣環(huán)境中。
1 系統(tǒng)硬件設(shè)計
圖像采集系統(tǒng)部分主要由光學(xué)鏡頭、CMOS圖像傳感器,USB控制器以及驅(qū)動電路(E2PROM等)組成。圖1為硬件系統(tǒng)的總體框圖。
1.1 CMOS圖像傳感器一0V9620
系統(tǒng)選用美國Ominivision公司開發(fā)的高性能CMOS圖像傳感器0V9620作為圖像傳感芯片。0V9620集成了CMOS光感應(yīng)核,時序控制電路,A/D轉(zhuǎn)換器及SCCB(serialCamera Contro1 Bus)接口等。具有SXGA(分辨率1280×1024)和VGA(分辨率640×480)兩種模式,并可以提供15fps的SXGA或30fps的VGA動態(tài)圖像。帶有目標(biāo)黑級校準(zhǔn)、可編程/自動曝光、增益控制及白平衡控制功能。
0V9620具有可編程控制10bit數(shù)字視頻信號并行輸出功能,同時提供像素時鐘PCL K、行同步信號HREF及幀同步信號VSYNC,為后續(xù)USB對視頻數(shù)據(jù)的接收與傳輸提供同步控制信號。其時序圖如圖2所示。其數(shù)據(jù)輸出格式為Bayer RAW,即利用Bayer濾光陣列把輸入光信號分解成RGB三原色,每個像素僅保留一種顏色,RGB保留比例為2: 4: 2。
1.2 USB控制芯片一CY7C68013
系統(tǒng)USB主控制芯片選用的是CypreSS公司的EZ—USBFX2芯片CY7C68013,該芯片集成了增強型805lMCU、串行接口引擎SIE、片上RAM、4K的FIF0存儲器、通用可編程接口GPIF及數(shù)據(jù)/地址總線,減少了多個芯片接口部分需要時序配合的麻煩,并節(jié)省電路板空間。CY7C68013的如下特性保證了其高速(480Mb/s)傳輸特性。
(1)芯片內(nèi)有480Mb/s的收發(fā)器(PLL和智能SIE),很好的執(zhí)行了USB2.0協(xié)議,并將MCU解放出來,加快傳輸速率。
(2)具有“量子FIFO”的處理框架,并具有2、3、4倍增緩沖端點FIF0,解決了高速模式下帶寬問題,較好適應(yīng)USB2.0數(shù)據(jù)高速傳輸速率。
(3)內(nèi)嵌增強型8051內(nèi)核可運行在48MHz的時鐘頻率下,每條指令只需4個時鐘周期,速度遠(yuǎn)高于普通805 l單片機。
1.3 圖像采集電路及實現(xiàn)
圖像采集系統(tǒng)原理圖如圖3所示,系統(tǒng)以0V9620和EZ—USB FX2為核心, 在整個采集電路中,0V9620的作用是通過感光陣列將來自透鏡的光學(xué)圖像轉(zhuǎn)換為一一對應(yīng)的數(shù)字信號DO~D9,同時為USB傳輸提供了可靠的同步時序控制脈沖;EZ—USB FX2的作用是高速傳輸數(shù)字信號到PC機,同時為0V9620提供5V電源。利用片上MCU模擬I2C總線對0V9620的分辨率、對比度、亮度和曝光時間等參數(shù)進行設(shè)置。
當(dāng)采集設(shè)備連接到上位機上后,USB功能設(shè)備以高速的模式進行設(shè)備的識別并枚舉。下載固件,使EZ—USBFX2工作于同步S1ave FIFO模式,同步讀寫。
設(shè)計中將USB固件程序下載到EEPROM 24LC64中,上電后主芯片首先檢測I2C總線上的E2PROM,判斷如首字節(jié)是OxC2,則把固件程序從E2PROM中自動下載到自身的RAM中并執(zhí)行,實現(xiàn)重枚舉。從而提高系統(tǒng)的便攜性能。
Slave FIFO模式為從機方式,由0V9620的時鐘信號PCLK控制CY7C68013內(nèi)部的多層緩沖FIFO進行讀寫,從而確保了圖像采集的同步、無偏移特性。利用幀同步信號VSYNC作為圖像采集的起始同步信號,當(dāng)VSYNC高電平到來以前,初始置PA7為低電平,鉗制SLWR使寫入無效,并且清空FIFO,這樣保證殘余數(shù)據(jù)清空使采集圖像不會發(fā)生偏移;當(dāng)VSYNC為高電平時,標(biāo)志一幀圖像的開始,進入中斷處理。這時置PA7為高電平,行同步信號HREF使能SLWR,寫信號有效。這樣在“量子FIF0”框架下圖像數(shù)據(jù)從該幀的第一個像素開始自動高速地傳輸?shù)缴衔粰C中,實現(xiàn)了采集一幅完整、無偏移的圖像。
2 系統(tǒng)軟件設(shè)計
圖像采集系統(tǒng)軟件主要包括3方面的工作:USB固件程序、USB設(shè)備驅(qū)動程序和主機應(yīng)用程序設(shè)計。
2.1 USB固件程序設(shè)計
Cypress公司為CY7C68013提供了一個固件開發(fā)框架,可以在KEIL C51環(huán)境下開發(fā)。由于開發(fā)框架的引入,從而大大縮短了用戶的研發(fā)周期。該框架由fw.c、USBJmpTb.a(chǎn)5l、dscr.a(chǎn)51、periph.c、Ezusb.1ib幾部分組成。固件程序主要完成一下幾部分功能:(1)初始化,包括對CY7C68013的端點配置和傳輸模式的初始化。(2)命令控制函數(shù),按照采集原理實現(xiàn)采集過程。(3)中斷處理,包括處理各種USB中斷及外部中斷。
設(shè)計中,考慮到系統(tǒng)要求高速無丟失地傳輸大量數(shù)據(jù)。因此在初始化過程中,本系統(tǒng)采用BULK傳輸方式。系統(tǒng)EP6(FIFOADR[1:0]=10)為塊傳輸IN端點,采用總線供電,IFCLK由外部設(shè)備控制器提供(IFCONFIG=Ox43H),確保系統(tǒng)的穩(wěn)定行。其輸入選擇1 6位數(shù)據(jù)線(wORDWIDE=1)并行輸入,并設(shè)置FIF0深度位4倍緩沖,保證傳輸具有較高的寬度和深度。系統(tǒng)采用自動打包的方式(hUTOIN=1)使外設(shè)的數(shù)據(jù)由于不需要8051的處理,直接從FIFO到SIE,有利于提高傳輸速率。而命令控制函數(shù)和中斷處理負(fù)責(zé)采集原理的實施,其程序部分代碼如下:
2.2 USB驅(qū)動程序設(shè)計
USB設(shè)備驅(qū)動程序在整個系統(tǒng)中相當(dāng)于設(shè)備端固件和主機應(yīng)用程序之間的紐帶。USB設(shè)備驅(qū)動程序?qū)儆赪DM驅(qū)動程序,其主要完成了兩個功能:第一,USB設(shè)備的添加,操作系統(tǒng)快速識別USB硬件設(shè)備;第二,處理IRP_MJ_PNP青求,建立設(shè)備端與操作系統(tǒng)之間的通訊。
編寫USB設(shè)備驅(qū)動程序所需要的開發(fā)環(huán)境,主要包括:DDK(Drivet Oevelopment Kit,驅(qū)動開發(fā)工具包),BUILD工具和Visua1 C++開發(fā)環(huán)境。Visual C++是包含標(biāo)準(zhǔn)編譯工具的集成開發(fā)環(huán)境,通過正確設(shè)置,其可以用來建立內(nèi)核模式的設(shè)備驅(qū)動程序。它向用戶提供了以良好的編譯環(huán)境、方便的調(diào)試器和一些有用的工具(如rebase、guidgen等),都有助于驅(qū)動程序的開發(fā)。因此,本系統(tǒng)系統(tǒng)采用Visual C++6.0開發(fā)工具,對USB設(shè)備驅(qū)動程序進行開發(fā)和調(diào)試,步驟如下:
1)設(shè)置Visual C++驅(qū)動開環(huán)境
2)創(chuàng)建并設(shè)置一個Makefile項目,使處于驅(qū)動開發(fā)環(huán)境。
3)使用當(dāng)前Makefile項目來開發(fā)設(shè)備驅(qū)動程序,也可以修改通用驅(qū)動程序(GDP),使其符合該采集系統(tǒng)要求。
4)編寫DrvBuild.Bat批處理文件。
5)調(diào)用BUILD工具,創(chuàng)建驅(qū)動程序,安裝驅(qū)動。
2.3 主機應(yīng)用程序設(shè)計
本系統(tǒng)在VC++6.0下調(diào)用API函數(shù)編寫上層用戶端圖像顯示程序,實現(xiàn)對USB高速傳輸,捕獲,讀寫和保存等操作。為提高采集速度,在設(shè)計用使用了多線程技術(shù),采用兩個線程完成圖像的顯示,即將控制線程與采集顯示線程。其流程圖如圖4一a所示。
由于0V9620采用彩色濾光器陣列(CFA)為Bayer方案,如圖5所示,每個像素只包括RGB顏色的一個分量,為恢復(fù)另外2種顏色分量,必須進行彩色去馬賽克(co1ordemosaicing)處理,即彩色插值。本系統(tǒng)采用雙線性(Bilinear)差值算法對像素進行還原,即利用相鄰像素中同色分量的平均值作為當(dāng)前像素的待求顏色分量。其具體數(shù)學(xué)模型為:
令S(x,y)表示像素點(x,y)處的顏色值,包含三個顏色分量:紅色R(x,y)、綠色G(x,y)、藍色B(x,y),則有:
然后對圖像進行雙線性差值,其中可分兩類像素點。
(1)對于像素點(3,3),有R(3,3)=r33,G(3,3)=0,B(3,3)=0,為了得到該處的G,B分量值,可根據(jù)鄰點來進行估計,根據(jù)算法有:
(2)對于像素點(3,4),有G(3,4)=g34,R(3,4)=O,B(3,4)=O,根據(jù)算法估計得到:
類似的可以對每個像素點缺省的色彩分量進行估計,恢復(fù)成正常的彩色圖像。
該算法運算簡單,運算速度塊,符合系統(tǒng)要求。
3 試驗測試
將該系統(tǒng)應(yīng)用到圖像采集中,實驗結(jié)果如圖6所示。
過軟硬件調(diào)試,最終采集到高分辨率,高速率,高清晰畫面,其采集數(shù)率達到了23.6MBps,證實該設(shè)計的可行性并達到預(yù)期效果。
4 結(jié)論
基于USB 2.O的CMOS圖像采集系統(tǒng)采用130萬像素圖像傳感器0V9620 作為圖像感光芯片,保證了圖像質(zhì)量:采用USB2.O CY7C86013作為數(shù)據(jù)傳輸模塊及控制模塊,保證了圖像數(shù)據(jù)的實時傳輸。對于130萬像素高分辨率,15幀/s的動態(tài)圖像,能夠滿足許多對分辨率和幀頻率有高要求的應(yīng)用場合。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...
關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...
關(guān)鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車