日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于CMOS圖像傳感器的USB接口圖像采集系統(tǒng)設計

出處:江川貴,廖啟征,魏世民 發(fā)布于:2007-09-25 10:56:47

  摘要:介紹以CPLD控制為的CMOS圖像采集系統(tǒng),系統(tǒng)選用彩色圖像傳感器OV7620,并通過USB接口以類似DMA方式進行快速的圖像傳輸。給出了單片機固件程序和設備驅動程序的實現(xiàn)方法。
 
  關鍵詞:CMOS圖像傳感器;圖像采集;CPLD;USB 
系統(tǒng)設計
 
        圖1 為圖像采集系統(tǒng)的原理框圖。系統(tǒng)選用OminiVision公司生產的CMOS芯片OV7620,它是一款集成了一個640×480 (30萬像素)圖像矩陣的彩色攝像芯片,在隔行掃描模式下工作頻率可達60Hz,逐行掃描時為30幀/s。其像面大小為1/3英寸,支持8位或16位數(shù)字信號從單通道或雙通道輸出,輸出信號的類型可在YCrCb和RGB 之間選擇,圖像矩陣支持VGA或CIF 規(guī)定, 數(shù)字輸出格式遵循CCIR601, ZVPorts, CCIR656等標準。OV7620有很強的攝像和控制功能,如暴光控制,γ校正,增益,色彩矩陣,窗口選擇等,所有這些功能都可以通過I2C接口進行編程控制。

        圖1 系統(tǒng)原理框圖 
        CPLD選用ALTERA公司的芯片EPM7128S,它在系統(tǒng)中處于地位,既要負責將OV7620輸出的視頻數(shù)據(jù)存入SRAM,又要與MCU配合完成視頻數(shù)據(jù)的USB 傳輸。MCU 是Cygnal 公司的高性能單片機C8051F020,它通過I2C總線控制CMOS芯片的工作方式和狀態(tài), C8051F020自帶SMBUS總線接口,可以把I2C的時鐘線SCL和數(shù)據(jù)線SDA通過交叉開關分配到端口引腳,MCU作為I2C總線通訊的主機,OV7620用42H (Write) 、43H (Read)作為從機地址與MCU進行通信。另外MCU還控制USB 通信,負責USB芯片的初始化和與PC的通信連接,其64KB 的flash程序存儲空間足以存放USB 通信固件。SRAM 芯片采用IS61LV5128AL芯片,該芯片為高速靜態(tài)RAM,存儲時間在10ns左右, 可以滿足OV7620 的速度要求, 其512KB的存儲空間足以用來存儲30萬像素的視頻數(shù)據(jù)(Bayer2pattern: 每一像素包含一個字節(jié)的RGB 信息) 。USB 接口芯片采用PHILIPS的PDIUSBD12 芯片,該芯片支持USB 1.1標準協(xié)議和DMA傳輸模式。
 
圖像采集部分 
OV7620的輸出特性
  OV7620工作方式和輸出格式非常多,可以適應不同的應用場合,針對我們的較小系統(tǒng),采用了單通道Y輸出,以及逐行掃描的工作方式。這些工作方式的實現(xiàn)是通過MCU 的I2C編程控制的。當OV7620 設置工作方式穩(wěn)定后,它就會輸出視頻數(shù)據(jù),同時還有3個重要的參考信號輸出:幀同步信號SYNC,水平同步信號HREF,和像素時鐘信號PCLK。參見圖2,每一個幀同步信號SYNC 周期包含480 個水平同步信號HREF脈沖,而每一個HREF周期包含640個PCLK時鐘脈沖。每一個PCLK時鐘輸出一個像素的視頻數(shù)據(jù)(8位標準的Bayer-pattern彩色RGB數(shù)據(jù)) 。
 
        圖2 圖像采集信號時序 
圖像存儲方式
      根據(jù)640 ×480 的像素輸出特點, 將512KB 的RAM分成512行,每行1KB空間,由A0~A9共10條地址線選通行內地址記為低位地址:ADDR-L; 高位A18~A10共9條地址線選通各行記為高位地址:ADDR-H。為保證OV7620 采集的數(shù)據(jù)同步寫入SRAM中,用CPLD宏單元設計了2個地址計數(shù)器:低位計數(shù)器ADDR-L和高位記數(shù)器ADDR-H。當圖像數(shù)據(jù)采集開始時( SYNC信號低有效) ,記數(shù)器由0開始記數(shù),每來一個像素時鐘PCLK使低位計數(shù)器順序加1,完成1行像素的寫入,OV7620產生的行同步信號HREF使低位計數(shù)器清0,并使高位記數(shù)器順序加1,改變行地址直到完成480行寫入后產生幀同步信號,并使高位計數(shù)器清0,這樣完成1幀圖像數(shù)據(jù)的緩存,詳細的圖像采集信號時序如圖2。512KB的SRAM芯片實際上只用了640 ×480約300多KB 的存儲空間。芯片工作方式設定在PCLK信號的下降沿更新數(shù)據(jù);在上升沿,數(shù)據(jù)是穩(wěn)定時期,所以如圖2,在PCLK信號的下降沿更新SRAM的地址信號ADDR;在PCLK信號上升沿使/WR信號有效, 然后寫數(shù)據(jù)到SRAM 中。其中CPLD控制SRAM的寫數(shù)據(jù)邏輯用VHDL 語言編寫,用MAX+PLUSII工具進行仿真設計,實現(xiàn)了圖像數(shù)據(jù)的連續(xù)采集。 
圖像傳輸部分 
類似DMA方式數(shù)據(jù)傳輸 
       視頻數(shù)據(jù)按行列關系有序存入SRAM芯片后,就可以順序讀取數(shù)據(jù)并進行傳輸。傳統(tǒng)的USB 傳輸方式是MCU 先從SRAM 中取得數(shù)據(jù)再送到PDIUBD12;通過PDIUBD12發(fā)送到主機。不管是MCU從SRAM取數(shù)據(jù)還是向作為外設的PDIUBD12寫數(shù)據(jù),速度都較慢。因此我們考慮用系統(tǒng)中的CPLD控制來實現(xiàn)類似DMA 方式的數(shù)據(jù)傳輸。在系統(tǒng)工作過程中,單片機負責解釋USB的控制傳輸。當要進行從外存取數(shù)送到PDIUBD12時,單片機讓出總線,由CPLD完成該工作。CPLD產生外存的讀信號和地址,同時產生PDIUBD12的寫信號和地址,自動實現(xiàn)外存數(shù)據(jù)到PDIUBD12接口芯片的傳送。這種類似DMA方式的數(shù)據(jù)傳輸解決了由單片機控制引起的速度瓶頸,極大提高了傳輸速度,限度發(fā)揮了USB的優(yōu)點。 
數(shù)據(jù)傳輸?shù)木唧w實現(xiàn) 
      當主機需要傳輸數(shù)據(jù)時,通過控制管道發(fā)送請求,MCU接到命令后立即讓OV7620 讓出SRAM的數(shù)據(jù)總線,并通知PDIUBD12準備好用于批量數(shù)據(jù)傳輸?shù)闹鞫它c,然后發(fā)送TXCOM 命令信號給CPLD (見圖1) ,通知CPLD開始傳送數(shù)據(jù);當完成64B的數(shù)據(jù)傳送后, CPLD向單片機發(fā)送TXEND信號,以示64B 傳送完畢,并等待下一個TXCOM信號,進行下一個64B的傳送。單片機和CPLD通過這兩個信號完成握手。CPLD在接收到TXCOM命令后,地址總線正確恢復上次傳輸?shù)降腟RAM地址(次傳輸時地址為0) ,并且控制MCU讓出PDIUBD12的數(shù)據(jù)總線,然后產生SRAM讀信號/RD,此時數(shù)據(jù)總線上就有了要傳送的數(shù)據(jù); 同時產生PDIUBD12 的寫數(shù)據(jù)標志信號A0和寫信號/D12WR,將數(shù)據(jù)總線上的數(shù)據(jù)寫入PDIUBD12,完成數(shù)據(jù)從SRAM 到PDIUBD12 的傳送。其傳送數(shù)據(jù)的時序如圖3。注意, PDIUBD12的寫數(shù)據(jù)信號/D12WR, SRAM 的讀數(shù)據(jù)信號/RD 和SRAM的地址信號ADDR時序要嚴格配合。當每完成64B 的數(shù)據(jù)傳輸后, CPLD 要發(fā)送TXEND 信號給MCU。整個傳輸過程控制嚴密緊湊,所有CPLD邏輯控制程序均采用VHDL 語言編寫,經過測試,系統(tǒng)傳輸速度擺脫了單片機的影響,幾乎接近PDIUBD12的極限速度。

        圖3 圖像傳輸信號時序 
系統(tǒng)軟件設計 
      系統(tǒng)的軟件包括USB設備固件、設備驅動程序和應用程序。
 
設備固件程序 
      設備固件是設備運行的,其主要的功能是控制接口芯片PDIUBD12并完成USB1.1協(xié)議(包括標準的設備請求、廠商請求處理、設置設備接口等) 。值得一提的是,此系統(tǒng)的單片機程序除了USB設備固件程序外,還有單片機對OV7620 的I2C控制軟件,與CPLD的握手程序等,所有程序都用Keil C進行編制,鏈接后到MCU中。 
 設備驅動程序 
      在Windows操作系統(tǒng)中通過運行內核層的驅動程序才能控制硬件, USB 設備驅動程序采用標準WDM設備驅動。WDM采用IRP驅動機制。當應用程序提出I/O請求時,它調用WIN32AP I函數(shù)向設備發(fā)出命令,然后由I/O管理器構成一個IRP,USB設備驅動程序收到該IRP后,取出其中的控制碼來找到對應的例程入口。在本系統(tǒng)開發(fā)中,驅動程序采用了DR IVERSTUD IO提供的DR IVERWORKS工具包,工具包提供了完善的源代碼生成工具(DR IVER WIZARD)及相應的類庫。開發(fā)驅動項目時,應用W IZARD 工具開發(fā),自動生成驅動程序的. INF安裝信息文件。對USB 設備驅動DR IVERW IZARD生成的代碼只需做少量的修改便可,對項目編譯鏈接后生成.SYS驅動程序。 
 應用程序
  在Win2系統(tǒng)中,把每個設備抽象為文件,應用程序就通過幾條簡單的文件操作AP I函數(shù)實現(xiàn)與驅動程序中某個設備通信。USB通信常使用的API函數(shù)有:CreatFile, WriteFile, ReadFile, DeviceControl, CloseFile等。在應用程序時只需將上述函數(shù)加入到相應的功能模塊中便可完成應用程序對USB 設備進行打開、讀、寫操作,這樣就完全實現(xiàn)了兩者的通信。應用程序終實現(xiàn)了VGA, CIF等圖像格式的應用。

  

參考文獻:

[1]. CPLD datasheet http://www.hbjingang.com/datasheet/CPLD_1136600.html.
[2]. OV7620 datasheet http://www.hbjingang.com/datasheet/OV7620_525855.html.
[3]. 60Hz datasheet http://www.hbjingang.com/datasheet/60Hz_2517196.html.
[4]. VGA datasheet http://www.hbjingang.com/datasheet/VGA_2568786.html.
[5]. EPM7128S datasheet http://www.hbjingang.com/datasheet/EPM7128S_301040.html.
[6]. C8051F020 datasheet http://www.hbjingang.com/datasheet/C8051F020_209830.html.
[7]. IS61LV5128AL datasheet http://www.hbjingang.com/datasheet/IS61LV5128AL_1121042.html.
[8]. PDIUSBD12  datasheet http://www.hbjingang.com/datasheet/PDIUSBD12+_544412.html.
[9]. A10 datasheet http://www.hbjingang.com/datasheet/A10_1817627.html.


關鍵詞:基于CMOS圖像傳感器的USB接口圖像采集系統(tǒng)設計PDIUSBD12IS61LV5128ALPDIUBD12

版權與免責聲明

凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://www.hbjingang.com,違反者本網將追究相關法律責任。

本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經采納,將有感恩紅包奉上哦!