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

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > USB接口的數(shù)字?jǐn)z像系統(tǒng)設(shè)計(jì)

          USB接口的數(shù)字?jǐn)z像系統(tǒng)設(shè)計(jì)

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

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

          本文引用地址:http://www.ex-cimer.com/article/225730.htm

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

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

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

          1 USB數(shù)字?jǐn)z像系統(tǒng)原理

          1.1 USB簡介

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

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

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

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

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

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

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

          2 USB數(shù)字?jǐn)z像系統(tǒng)硬件

          2.1 EZ_USB 2131Q芯片介紹

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

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

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

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

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

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

          2.2 EZ_USB系列USB總線仿真板

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

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

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

          ·64擴(kuò)展RAM(由兩個(gè)32K RAM組成);

          ·兩個(gè)8051 UART口;

          ·DIP開關(guān)控制來選擇RAM內(nèi)存映射地址和EEPROM地址;

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

          ·一個(gè)3.3V調(diào)節(jié)器,它可以把5V轉(zhuǎn)換成3.3V;

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

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

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

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

          2.3 數(shù)字CAMERA芯片

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

          2.4 I2C總線控制電路

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

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

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

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

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

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

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

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

          3 USB數(shù)字?jǐn)z像系統(tǒng)軟件

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

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

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

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



          評論


          相關(guān)推薦

          技術(shù)專區(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); })();