新聞中心

EEPW首頁 > 光電顯示 > 設計應用 > USB接口的數(shù)字攝像系統(tǒng)設計

USB接口的數(shù)字攝像系統(tǒng)設計

作者: 時間:2006-05-07 來源:網(wǎng)絡 收藏

摘要:討論了基于USB(Universal Serial Bus)接口的數(shù)字攝像系統(tǒng)的實現(xiàn)。該系統(tǒng)使用CYPRESS公司的EZ_USB系列芯片,并利用其開發(fā)板來實現(xiàn)數(shù)字攝像系統(tǒng)。該系統(tǒng)完全符合USB1.1協(xié)議,是一個新型的多媒體設備。

本文引用地址:http://2s4d.com/article/225730.htm

關鍵詞:USB 攝像系統(tǒng) I2C總線 固件

USB作為一種新的擴展接口,主要致力于計算機-電話一體化和應用類消費產(chǎn)品。它的數(shù)據(jù)傳輸率比標沖串/并口高。USB總線具有時分復用的特點,多個不同速度的USB外設可以通過集線器同時連接到同一臺計算機的同一個USB口上,在USB總線帶寬允許的情況下,多個外設可以同時工作而不相互影響。USB傳輸速率適用于中、低速外設。高速模式下,USB支持實時的視頻、音頻和壓縮的視頻數(shù)據(jù)傳輸。

在視頻會議和可視電話等多媒體應用中,具有數(shù)字接口攝像系統(tǒng)(CAMERA)是其關鍵的部件。它完成視頻圖像的采集、處理,并通過數(shù)字接口把信號送進計算機顯示,作進一步處理。

1 USB數(shù)字攝像系統(tǒng)原理

1.1 USB簡介

通用串行總線(Universal Serial Bus)適用于USB外圍設備連接到主機上,通過PCI總線與PC內部的系統(tǒng)總線連接,實現(xiàn)數(shù)據(jù)的傳送。同時USB又是一種通信協(xié)議,支持主系統(tǒng)與其外設之間的數(shù)據(jù)傳送。在USB的網(wǎng)絡協(xié)議中,每個USB的系統(tǒng)只能有一個主機。

USB是一種層狀的星形拓撲,其根部是主機控制器,USB器件與根據(jù)接口連接實現(xiàn)其功能。若多個器件同時行使其功能,就要通過集線器來擴展,但擴展層不能超過5層。USB器件支持熱拔插,而且可以即插即用。USB一般支持兩種傳輸速度,即低速1.5Mbit/s和全速12Mbits/s,在USB2.0版本中其速度提高到480Mbits/s。

USB有幾種用于不同類型的數(shù)據(jù)傳輸方式??刂苽鬏?,主要用于設置、命令和狀態(tài)信息;中斷傳輸,與一般的中斷概念不同,主要用于打印機、掃描儀等大量數(shù)據(jù)傳輸;同步傳輸,用于視頻、聲音等實時傳輸。

考慮到USB傳輸速率較高,如果利用只實現(xiàn)ENGINE功能的芯片,外加一個普通微控制器(如8051),其處理速度就會很慢而達不到USB傳輸要求。USB外設作為消費類產(chǎn)品的目之一在于降低產(chǎn)品成本,如果采用高速微處理器(如DSP),滿足了USB的傳輸速率,但成本較高。經(jīng)多方面比較選擇了CYPRESS公司的內置微控制器芯片EZ-USB 2131Q,開發(fā)了具有USB接口的數(shù)字攝像系統(tǒng)。

1.2 系統(tǒng)的原理圖

系統(tǒng)的原理圖如圖1所示。

整個系統(tǒng)以EZ-USB為核心,通過I2C總線控制電路對數(shù)字CAMERA芯片的工作狀態(tài)進行控制,數(shù)字圖像數(shù)據(jù)通過數(shù)據(jù)轉換電路送入數(shù)據(jù)緩沖區(qū),USB總線控制器從數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù)。與計算機的通訊則通過USB接口實現(xiàn)。

2 USB數(shù)字攝像系統(tǒng)硬件

2.1 EZ_USB 2131Q芯片介紹

EZ_USB 2131Q內部框圖如圖2所示。它是Cypress公司的內嵌微控制器的80pin的USB接口控制芯片,包含3個8位多功能端口、8位數(shù)據(jù)端口、16位地址端口、2個USB數(shù)據(jù)端口和其它輸入輸出端口。

EZ_USB 2131Q芯片采用了一種基于內部RAM的解決方案,允許客戶隨時不斷地設置和升級,不受端口數(shù)、緩沖大小、傳輸速度及傳輸方式的限制。

片內嵌有一個增強型的8051微控制器,與標準的8051相比,其速度快3倍。它通過內部RAM編程和數(shù)據(jù)存儲,這樣使得芯片具有軟特性。USB主機通過USB總線下載8051程序代碼和設備特征到RAM中,然后EZ_USB芯片作為一個由代碼定義的外圍設備重新連接到主機上。

EZ_USB 2131Q有兩種同步傳輸方式:即普通讀寫方式和快速讀寫方式。在普通讀寫方式下,芯片從外部讀取或向外部寫入數(shù)據(jù)的速率不會超過1000字節(jié)/毫秒,而且數(shù)據(jù)傳輸指令只能一一列出,共要寫出1000行相同的指令。中間不能用循環(huán)來傳輸數(shù)據(jù),而且也沒有時間來加入其它指令。這種方式對于要求同步傳輸、每幀傳輸1023字節(jié)的設備是不可取的。在快速讀寫方式下,芯片可以在0.5毫秒內從外部讀取或向外部寫入1023字節(jié)的數(shù)據(jù),并且還留有足夠的時間可以加入其它指令。

如圖2所示,USB收發(fā)器連接到USB總線的D+和D-管腳;串行接口引擎(SIE)編碼和解碼串行數(shù)據(jù)并且進行錯誤校驗、位填充和執(zhí)行USB所需的其他信號,最后完成數(shù)據(jù)從USB接口的傳輸。

EZ_USB-2131Q使用了一個增強型SIE/USB接口(USB核),它本身完成了許多的USB協(xié)議,這樣就簡化了8051代碼。

2.2 EZ_USB系列USB總線仿真板

CYPRESS公司的EZ_USB開發(fā)板為USB設備的開發(fā)提供了一個良好的工具。開發(fā)板使用的是80管腳的AN2131Q芯片,而且包含5個用于擴展接口的引出端。板上所有的電路均為3.3V,開發(fā)板可以由USB連接器供電,也可以由外部供電。

EZ_USB開發(fā)板包括以下幾個部分:

·2131 EZ_USB集成電路,它包括一個高性能的8051核;

·64擴展RAM(由兩個32K RAM組成);

·兩個8051 UART口;

·DIP開關控制來選擇RAM內存映射地址和EEPROM地址;

·兩個I2C總線的8位I/O擴展芯片,一個用于驅動七段,另一個用于讀8位開關狀態(tài);

·一個3.3V調節(jié)器,它可以把5V轉換成3.3V;

·電源和中斷/監(jiān)控指示燈;

該仿真板基于EZ_USB系列USB總線控制器,它包含標準的MCS51外設模塊和USB模塊。USB模塊集成了USB的收發(fā)器、串行總線接口機制、功能接口單元和收/發(fā)緩沖區(qū)。通過內存配置開關可靈活地改變RAM的地址空間,并方便地進行內存擴充。

利用該板上的I/O擴展連接口提供的控制線和數(shù)據(jù)線對CAMERA芯片進行控制,并完成圖像數(shù)據(jù)的輸入。圖像數(shù)據(jù)則通過USB端口送入計算機,可以進行導步傳輸和等時傳輸。

監(jiān)控程序駐留在板上的EPROM內,可與PC機進行通訊,控制程序通過外部UART送入仿真板,可以進行實時仿真。這個仿真板和控制器都完全滿足《USB協(xié)議》。采用該仿真來完成產(chǎn)品的開發(fā),并在此基礎上完成產(chǎn)品??商岣弋a(chǎn)品的開發(fā)周期。

2.3 數(shù)字CAMERA芯片

采集卡的CODEC是OmniVision Inc.的OV6620,該芯片將CMOS光感應核與外圍支持電路集成在一起,具有可編程控制與視頻模/數(shù)混合輸出等功能,其輸出的視頻為彩色圖像,與CCIR標準兼容。OV6620內部嵌入了兩個8位的A/D,因而可以同步地輸出8位或16位的數(shù)字視頻流。在輸出數(shù)字視頻流的同時,還提供象素時鐘PCLK、水平參考信號HREF、垂直同步信號VSYNC,便于外部電路讀取圖像。

2.4 I2C總線控制電路

I2C總線是一種雙向串行總線,它只有兩根信號線,可用于不同的IC或硬件模塊間的通訊。兩條線分別是串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL),當與設備相連時,每條線都必須通過上拉電阻接到電源上。I2C總線上可連接多個主從設備。I2C總線具有控制簡單、穩(wěn)定可靠的特點。I2C總線的數(shù)據(jù)量是可編程的,其最大的數(shù)據(jù)量是100K.圖3給出了一個完整的I2C總線上的數(shù)據(jù)傳輸。

2.5 數(shù)據(jù)轉換及數(shù)據(jù)緩沖電路

CAMERA芯片的數(shù)據(jù)輸出率較高,并且輸出的圖像數(shù)據(jù)格式不能直接用于通過USB總線傳送,因而需要進行數(shù)據(jù)格式轉換。CAMERA芯片的數(shù)據(jù)輸出格式由工作模式?jīng)Q定,通過I2C總線控制。為了簡化電路,并保持系統(tǒng)一定的靈活性,采用了ALTERA公司的CPLD可編程邏輯陣列芯片來實現(xiàn)數(shù)據(jù)轉換。數(shù)據(jù)緩沖采用NEC公司的256K×8位靜態(tài)RAM芯片。電路圖如圖4所示。

CMAERA芯片主要輸出信號有:CLKOUT(時鐘輸出,作為CPLD芯片的全局工作時鐘)、Y和UV(視頻數(shù)據(jù)輸出線均為8位,作為CPLD芯片的數(shù)據(jù)線)、VSYNC(垂直同步信號,用作幀同步信號)、CHSYNC(水平同步信號,用作行同步信號)。

數(shù)據(jù)轉換電路通過可編程邏輯完成下列功能:根據(jù)同步信號,針對QCIF格式,過濾一行中的冗余數(shù)據(jù)和一幀中的同步行數(shù)據(jù),產(chǎn)生數(shù)據(jù)緩沖芯片的寫時鐘信號、寫復位信號和寫使能信號。數(shù)據(jù)的過濾是通過控制寫使能信號實現(xiàn)的,該芯片在使能信號為低時,可以寫入緩沖區(qū),而在信號為高時,則不能夠將數(shù)據(jù)寫入緩沖區(qū)。

數(shù)據(jù)緩沖芯片的數(shù)據(jù)輸入與數(shù)據(jù)輸出分別由不同的信號控制,兩者互不干擾。寫數(shù)據(jù)控制信號有:WRCLK(寫時鐘信號)、WRST(寫復位信號)和WREN(寫使能信號)。寫操作過程是:首先,控制產(chǎn)生一個內部復位信號WRST,使寫緩沖區(qū)的寫地址指針指向零,在復位周期后,進行寫操作;在寫時鐘信號的上升沿,如果寫使能信號為低,一個時鐘周期后,數(shù)據(jù)就寫入SRAM中,同時SRAM的寫地址指針自動增加。

讀操作信號有:RDCLK(讀時鐘信號)、RE(讀允許信號)、OE(輸入允許信號)和RDST(讀復位信號)。讀操作的過程為:控制產(chǎn)生一個讀復位信號RDST,使讀緩沖區(qū)的地址指針指向零,在下一時鐘周期進行讀操作;在讀時鐘的上升沿,如果RE和OE信號同時為低,SRAM中的數(shù)據(jù)就會出現(xiàn)在輸出數(shù)據(jù)總線上,同時SRAM的讀地址指針自動增加。

讀寫操作過程互不干擾,各自有自己的地址指針。把CAMERA芯片輸出的圖像數(shù)據(jù)依約定的要求按幀存放在緩沖區(qū),并加上相應的幀間隔標志,USB控制器則從緩沖區(qū)中讀取數(shù)據(jù),并通過接口送往主機,完成數(shù)據(jù)圖像的傳輸。

3 USB數(shù)字攝像系統(tǒng)軟件

開發(fā)一個USB設備,軟件設計是必不可少的。USB應用系統(tǒng)軟件設計分為三部分:USB外設端的固件(Firmware)、主機操作系統(tǒng)上的客戶驅動程序以及操作界面程序。界面程序通過客戶驅動程序與系統(tǒng)USBI(USB Device Interface)進行通信,由系統(tǒng)產(chǎn)生USB數(shù)據(jù)的傳送動作,固件則響應各種來自系統(tǒng)的USB標準請求,完成各種數(shù)據(jù)的交換工作和事件處理。

由于圖像數(shù)據(jù)自身的格式和USB同步傳輸適合傳輸時間敏感的大量數(shù)據(jù),采用了同步傳輸模式。但是同步傳輸設備和進程的同步設計有較大的難度,且它不提供錯誤檢查機制。固件利用中斷來響應主機I/O請求。因此8051核的IRQE是關鍵。需要注意的還有USB設備的初始化和配置。初始化時,要按嚴格的順序對AN2131的各寄存器進行操作。主機操作界面程序是用VC++6.0編寫的,主要實現(xiàn)圖像顯示以及圖像處理等多種功能。

該系統(tǒng)是為了開發(fā)USB接口的數(shù)字化攝像設備而設計的,系統(tǒng)的一個性能是幀傳輸率,CAREMA芯片的數(shù)據(jù)傳輸率最高可達到30幀/秒。目前筆者所實現(xiàn)的USB接口,在等時傳輸方式下,可達到8幀/秒。由于目前采用仿真模式,系統(tǒng)的性能在最后的定型中,可得到進一步的提高。

下一步將繼續(xù)進行系統(tǒng)的集成和優(yōu)化,并最終實現(xiàn)產(chǎn)品化。由于目前的系統(tǒng)是基于系統(tǒng)仿真板的,所以必須進行集成,以最小系統(tǒng)實現(xiàn)。此外,還要進一步開發(fā)設備的驅動程序。由于EZ_USB包括很多的功能,而這里只用到它的等時傳輸,浪費了很多的資源,加大了成本。所以在后繼研究中,還會開發(fā)USB控制器,這樣才能真正地降低成本,提高性能。



評論


相關推薦

技術專區(qū)

關閉