<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于USB2.O的CMOS圖像采集系統(tǒng)的設(shè)計(jì)

          基于USB2.O的CMOS圖像采集系統(tǒng)的設(shè)計(jì)

          作者: 時(shí)間:2009-04-02 來(lái)源:網(wǎng)絡(luò) 收藏

          Slave FIFO模式為從機(jī)方式,由0V9620的時(shí)鐘信號(hào)PCLK控制CY7C68013內(nèi)部的多層緩沖FIFO進(jìn)行讀寫(xiě),從而確保了的同步、無(wú)偏移特性。利用幀同步信號(hào)VSYNC作為的起始同步信號(hào),當(dāng)VSYNC高電平到來(lái)以前,初始置PA7為低電平,鉗制SLWR使寫(xiě)入無(wú)效,并且清空FIFO,這樣保證殘余數(shù)據(jù)清空使不會(huì)發(fā)生偏移;當(dāng)VSYNC為高電平時(shí),標(biāo)志一幀圖像的開(kāi)始,進(jìn)入中斷處理。這時(shí)置PA7為高電平,行同步信號(hào)HREF使能SLWR,寫(xiě)信號(hào)有效。這樣在“量子FIF0”框架下圖像數(shù)據(jù)從該幀的第一個(gè)像素開(kāi)始自動(dòng)高速地傳輸?shù)缴衔粰C(jī)中,實(shí)現(xiàn)了采集一幅完整、無(wú)偏移的圖像。


          2 軟件
          圖像采集軟件主要包括3方面的工作:USB固件程序、USB設(shè)備驅(qū)動(dòng)程序和主機(jī)應(yīng)用程序
          2.1 USB固件程序
          Cypress公司為CY7C68013提供了一個(gè)固件開(kāi)發(fā)框架,可以在KEIL C51環(huán)境下開(kāi)發(fā)。由于開(kāi)發(fā)框架的引入,從而大大縮短了用戶的研發(fā)周期。該框架由fw.c、USBJmpTb.a(chǎn)5l、dscr.a(chǎn)51、periph.c、Ezusb.1ib幾部分組成。固件程序主要完成一下幾部分功能:(1)初始化,包括對(duì)CY7C68013的端點(diǎn)配置和傳輸模式的初始化。(2)命令控制函數(shù),按照采集原理實(shí)現(xiàn)采集過(guò)程。(3)中斷處理,包括處理各種USB中斷及外部中斷。
          設(shè)計(jì)中,考慮到要求高速無(wú)丟失地傳輸大量數(shù)據(jù)。因此在初始化過(guò)程中,本系統(tǒng)采用BULK傳輸方式。系統(tǒng)EP6(FIFOADR[1:0]=10)為塊傳輸IN端點(diǎn),采用總線供電,IFCLK由外部設(shè)備控制器提供(IFCONFIG=Ox43H),確保系統(tǒng)的穩(wěn)定行。其輸入選擇1 6位數(shù)據(jù)線(wORDWIDE=1)并行輸入,并設(shè)置FIF0深度位4倍緩沖,保證傳輸具有較高的寬度和深度。系統(tǒng)采用自動(dòng)打包的方式(hUTOIN=1)使外設(shè)的數(shù)據(jù)由于不需要8051的處理,直接從FIFO到SIE,有利于提高傳輸速率。而命令控制函數(shù)和中斷處理負(fù)責(zé)采集原理的實(shí)施,其程序部分代碼如下:

          2.2 USB驅(qū)動(dòng)程序設(shè)計(jì)
          USB設(shè)備驅(qū)動(dòng)程序在整個(gè)系統(tǒng)中相當(dāng)于設(shè)備端固件和主機(jī)應(yīng)用程序之間的紐帶。USB設(shè)備驅(qū)動(dòng)程序?qū)儆赪DM驅(qū)動(dòng)程序,其主要完成了兩個(gè)功能:第一,USB設(shè)備的添加,操作系統(tǒng)快速識(shí)別USB硬件設(shè)備;第二,處理IRP_MJ_PNP青求,建立設(shè)備端與操作系統(tǒng)之間的通訊。
          編寫(xiě)USB設(shè)備驅(qū)動(dòng)程序所需要的開(kāi)發(fā)環(huán)境,主要包括:DDK(Drivet Oevelopment Kit,驅(qū)動(dòng)開(kāi)發(fā)工具包),BUILD工具和Visua1 C++開(kāi)發(fā)環(huán)境。Visual C++是包含標(biāo)準(zhǔn)編譯工具的集成開(kāi)發(fā)環(huán)境,通過(guò)正確設(shè)置,其可以用來(lái)建立內(nèi)核模式的設(shè)備驅(qū)動(dòng)程序。它向用戶提供了以良好的編譯環(huán)境、方便的調(diào)試器和一些有用的工具(如rebase、guidgen等),都有助于驅(qū)動(dòng)程序的開(kāi)發(fā)。因此,本系統(tǒng)系統(tǒng)采用Visual C++6.0開(kāi)發(fā)工具,對(duì)USB設(shè)備驅(qū)動(dòng)程序進(jìn)行開(kāi)發(fā)和調(diào)試,步驟如下:
          1)設(shè)置Visual C++驅(qū)動(dòng)開(kāi)環(huán)境
          2)創(chuàng)建并設(shè)置一個(gè)Makefile項(xiàng)目,使處于驅(qū)動(dòng)開(kāi)發(fā)環(huán)境。
          3)使用當(dāng)前Makefile項(xiàng)目來(lái)開(kāi)發(fā)設(shè)備驅(qū)動(dòng)程序,也可以修改通用驅(qū)動(dòng)程序(GDP),使其符合該采集系統(tǒng)要求。
          4)編寫(xiě)DrvBuild.Bat批處理文件。
          5)調(diào)用BUILD工具,創(chuàng)建驅(qū)動(dòng)程序,安裝驅(qū)動(dòng)。

          2.3 主機(jī)應(yīng)用程序設(shè)計(jì)
          本系統(tǒng)在VC++6.0下調(diào)用API函數(shù)編寫(xiě)上層用戶端圖像顯示程序,實(shí)現(xiàn)對(duì)USB高速傳輸,捕獲,讀寫(xiě)和保存等操作。為提高采集速度,在設(shè)計(jì)用使用了多線程技術(shù),采用兩個(gè)線程完成圖像的顯示,即將控制線程與采集顯示線程。其流程圖如圖4一a所示。
          由于0V9620采用彩色濾光器陣列(CFA)為Bayer方案,如圖5所示,每個(gè)像素只包括RGB顏色的一個(gè)分量,為恢復(fù)另外2種顏色分量,必須進(jìn)行彩色去馬賽克(co1ordemosaicing)處理,即彩色插值。本系統(tǒng)采用雙線性(Bilinear)差值算法對(duì)像素進(jìn)行還原,即利用相鄰像素中同色分量的平均值作為當(dāng)前像素的待求顏色分量。其具體數(shù)學(xué)模型為:

          令S(x,y)表示像素點(diǎn)(x,y)處的顏色值,包含三個(gè)顏色分量:紅色R(x,y)、綠色G(x,y)、藍(lán)色B(x,y),則有:

          然后對(duì)圖像進(jìn)行雙線性差值,其中可分兩類(lèi)像素點(diǎn)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();