基于USB攝像頭的嵌入式圖像采集系統(tǒng)設計_第1頁
基于USB攝像頭的嵌入式圖像采集系統(tǒng)設計_第2頁
基于USB攝像頭的嵌入式圖像采集系統(tǒng)設計_第3頁
基于USB攝像頭的嵌入式圖像采集系統(tǒng)設計_第4頁
基于USB攝像頭的嵌入式圖像采集系統(tǒng)設計_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、USB總線技術的應用 目錄一、課題簡介2二、系統(tǒng)框圖3三、系統(tǒng)工作原理331 USB設備基礎43. 2 USB驅動體系結構5四、硬件設計74. 1 USB 攝像頭SPCA561A74. 2 USB 主機控制器CH37484. 3 USB 同步傳輸原理84. 4 視頻數(shù)據(jù)采集過程9五、軟件設計95. 1 USB 攝像頭初始化95. 2 同步傳輸和圖像幀處理105. 3 圖像數(shù)據(jù)的預編碼11六、結語12基于USB攝像頭的嵌入式圖像采集系統(tǒng)設計一、 課題簡介名稱:手勢識別功能:通過攝像頭對手勢的前后左右的識別,使顯示器上的頁面完成轉向、翻頁、放大、縮小等操作。包含的總線:USB總線 VGA總線 CP

2、U內(nèi)部的數(shù)據(jù)和地址總線等本文主要介紹與USB相關的內(nèi)容。二、 系統(tǒng)框圖攝像頭采集圖像信息,通過USB總線傳到MCU的FIFO緩沖區(qū),MCU對圖像信息數(shù)據(jù)進行識別和處理,并控制顯示器的頁面做出與手勢動作相對應的操作。系統(tǒng)框圖如下所示:圖2 系統(tǒng)框圖三、 系統(tǒng)工作原理典型的USB 圖像采集系統(tǒng)如圖3 所示。USB 系統(tǒng)包含主機和物理設備兩個最基本的元素, 一個USB 系統(tǒng)只能有一個USB 主機, 可以連接多個物理設備。本設計中的設備是USB 攝像頭, USB 主機由USB 主機控制器、微處理器及驅動軟件構成。USB 系統(tǒng)工作層次分明: USB接口層提供主機控制器和設備的物理連接; 設備層中,USB

3、 主機調(diào)用驅動程序通過端點0 發(fā)送并獲取USB 設備的控制信息; 功能層進行實際數(shù)據(jù)的傳輸, 主機必須選擇合適的接口和端點, 調(diào)用底層驅動提供的接口函數(shù)獲取USB 攝像頭的視頻數(shù)據(jù)流。圖3 USB視頻采集系統(tǒng)示意圖31 USB設備基礎USB設備由斷點、接口和配置組成,USB驅動程序通常綁定到USB接口上,而不是整個USB設備。下面介紹幾個重要的概念:1端點USB通信最基本的形式是通過一個名為端點(endpoint)的東西。USB端點只能往一個方向傳送數(shù)據(jù),從主機到設備(稱為輸出端點)或者從設備到主機(稱為輸入端點)。端點可以看作是單向的管道。USB端點有四種不同的類型,分別具有不同的傳送數(shù)據(jù)的

4、方式:(1)控制端點:它用來控制對USB設備不同部分的訪問。它們通常用于配置設備、獲取設備信息、發(fā)送命令到設備,或者獲取設備的狀態(tài)報告。每個USB設備都有一個名為“端點0”的控制端點,USB核心使用該端點在設備插入時進行設備的配置。USB協(xié)議保證這些傳輸始終有足夠的保留帶寬以傳送數(shù)據(jù)到設備。(2)中斷端點:當USB宿主要求設備傳輸數(shù)據(jù)時,中斷端點就以一個固定的速率來傳送少量的數(shù)據(jù)。它們通常還用于發(fā)送數(shù)據(jù)到USB設備以控制設備,不過一般不用來傳輸大量的數(shù)據(jù)。USB協(xié)議保證這些傳輸始終有足夠的保留帶寬以傳送數(shù)據(jù)。(3)批量端點:它傳輸大批量的數(shù)據(jù)。這些端點通常比中斷端點大得多(它們可以一次持有更多

5、的字符)。它們常見于需要確保沒有數(shù)據(jù)丟失的傳輸?shù)脑O備。USB協(xié)議不保證這些傳輸始終可以在特定的時間內(nèi)完成。如果總線上的空間不足以發(fā)送整個批量包,它將被分割為多個包進行傳輸。這些端點通常出現(xiàn)在打印機、存儲設備和網(wǎng)絡設備上。(4)等時端點:它同樣可以傳送大批量的數(shù)據(jù),但數(shù)據(jù)是否到達是沒有保證的。這些端點用于可以應付數(shù)據(jù)丟失情況的設備,這類設備更注重于保持一個恒定的數(shù)據(jù)流。實時的數(shù)據(jù)收集(例如音頻和視頻設備)幾乎毫無例外都使用這類端點。2接口USB端點被捆綁為接口。USB接口只處理一種USB邏輯連接,例如鼠標、鍵盤或者音頻流。一些USB設備具有多個接口,一個USB接口代表了一個基本功能,而每個USB

6、驅動程序控制一個接口,因此對于具有多個接口的USB設備來說,Linux需要有多個不同的驅動程序來處理一個硬件設備。3配置USB接口本身被捆綁為配置。一個USB設備可以有多個配置,而且可以在配置之間切換以改變設備的狀態(tài)。3. 2 USB驅動體系結構通用串行總線(USB)是一種外部總線結構,特點是接口統(tǒng)一、方便擴展、支持熱插拔,簡化了計算機與不同類型外設間的連接。USB是一種分層總線結構,并且由一個主機控制器來控制,USB主機控制器(host controller)負責詢問每一個USB設備是否有數(shù)據(jù)需要發(fā)送,USB不支持設備的直接通信。圖3.2給出了Linux中USB驅動的體系結構。圖3.2 Li

7、nux下USB驅動體系結構Linux USB主機驅動由三部分組成:USB主機控制器驅動、USB驅動和不同的USB設備類驅動。其中USB主機控制器驅動(HCD)是USB主機直接與硬件交互的軟件模塊,它為上層提供統(tǒng)一的接口,屏蔽掉硬件具體細節(jié)。USB驅動(USBD)是整個USB主機驅動的核心,主要為USB設備類驅動提供相關的接口、提供應用程序訪問USB系統(tǒng)的文件接口。而USB設備類驅動是最終與應用程序交互的軟件模塊,主要為訪問特定的USB設備和應用程序提供接口。四、 硬件設計圖4 初步設計框圖4. 1 USB 攝像頭SPCA561A視頻信號的采集一般選擇USB 攝像頭來實現(xiàn)。如圖4.1.1所示,

8、USB 攝像頭SPCA561A 集成了鏡頭、CMOS 傳感器、USB 圖像處理器以及USB 控制器。圖4.1 SPCA561A芯片示意圖比起直接與微處理器接口的CMOS 傳感器, 使用USB 攝像頭雖然成本偏高, 但是易于實現(xiàn), 節(jié)省CPU 資源, 傳輸速度遠遠高于串口、并口的速度,而且驅動支持非常豐富。SPCA561A 提供了一種單芯片攝像頭解決方案, 它將一個CIF 的CMOS 傳感器、一個圖像處理器和USB 控制器集成于單芯片, 從而大大降低了成本和開發(fā)難度; 缺點是只有10 萬像素, 每秒幀數(shù)較少, 然而非常適合應用于圖像要求不高的小型監(jiān)控系統(tǒng)。4. 2 USB 主機控制器CH374C

9、H374 是一個嵌入式USB 總線的通用接口芯片, 支持USB 主機方式和USB 設備方式, 支持低速和全速的控制傳輸、批量傳輸、中斷傳輸以及同步傳輸。在本地端,CH374 具有8 位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出, 可以方便地掛接到DSP/ MCU/ MPU 等控制器的系統(tǒng)總線上。大多數(shù)嵌入式的USB 主機接口芯片并不提供同步傳輸模式, 而CH374 的一大特點就是提供了同步傳輸, 使得視頻和音頻流的傳輸成為可能。本系統(tǒng)使用CH 374 作為USB 主機控制器, 如圖4所示。CH374 用總線方式與S3C44B0 相連, 微控制器通過讀寫CH374 寄存器實現(xiàn)USB 主機驅動。4.

10、 3 USB 同步傳輸原理同步傳輸主要用來傳輸音頻或視頻信號。這種信息是周期的, 又是實時的, 對信息實時性有很高的要求, 但是對誤碼率卻可以容忍。所以USB 為這種信息保留90%的帶寬, 其他類型的傳輸在同步傳輸期間不可以占用。為保證數(shù)據(jù)傳輸?shù)膶崟r性, 同步傳輸不進行數(shù)據(jù)錯誤的重傳, 也不在硬件層次上響應一個握手資料包。同步傳輸?shù)闹鳈C每隔1 ms 發(fā)送一個SOF 同步信號, 隨后接收設備發(fā)送的信號, 其數(shù)據(jù)流程如圖4.3 所示。圖4.3 同步傳輸流程圖在同步傳輸中, 每一個信包的容量是一定的。拿SPCA561 來說, 在啟動同步傳輸之前必須設置相應的接口號。不同的接口號決定將要發(fā)送多大的信包

11、容量, 如接口號1 每次發(fā)送的信包容量是128 字節(jié), 接口號6 的信包容量是896 字節(jié)。接口號通過USB 標準設備請求SET _INTERFACE 來設置。由于CH374 的緩沖區(qū)最大為128字節(jié), 所以本設計中使用接口號1, 同步傳輸每接收一個信包的大小是128 字節(jié)容量的信包。4. 4 視頻數(shù)據(jù)采集過程如圖4.4所示, 視頻信號由攝像頭SPCA561A 采集得到, 經(jīng)過內(nèi)部的圖像處理芯片后編碼為規(guī)定的格式, 一般為RGB 或者YUV 格式, 但是SPCA561 采用比較特殊的S561 圖像格式( 類似于RGB 格式) 。因為一幀圖像的數(shù)據(jù)量很大, 無法在一個同步信包內(nèi)傳送, 所以將其分

12、割成多個單元, 每個單元前添加包頭( 包頭的內(nèi)容包括當前包序號和此圖像幀信息) , 組成多個同步信包, 通過FIFO 緩沖發(fā)送到USB 總線上。主機控制器用同步方式接收每個信包, 并去除包頭合并成S561 格式的數(shù)據(jù), 組成一個完整的圖像幀。最后由軟件將此圖像幀預編碼成為YUV420格式的圖像數(shù)據(jù), 以便后續(xù)的壓縮處理。圖4.4 視頻數(shù)據(jù)采集示意圖五、 軟件設計5. 1 USB 攝像頭初始化初始化一個USB 攝像頭有兩個步驟, 第一步是攝像頭的枚舉, 第二步是攝像頭的自定義設置。( 1) 設備枚舉設備的枚舉就是標準設備請求的過程。對USB 攝像頭來說, 枚舉的過程依次如下: 獲取設備描述符。通

13、過設備描述符得到端點0 的負載, 也就是最大傳送包容量。 設置地址。給設備分配一個默認地址0 之外的地址。 獲取配置描述符。這個過程包括兩個階段, 第1次獲取的配置描述符的前4 個字節(jié)得到配置描述符的真實長度; 再以真實長度第2 次獲取配置描述符, 此描述符包含了設備的配置信息和多個接口信息??梢詮倪@里得到可以使用的接口號和對應的信包負載。 設置配置信息。設置的主要信息是配置描述符中的第5 個字段bConf igurationValue。 設置接口。USB 攝像頭不同的接口號對應不同的信包負載。本設計選定的接口號為2, 對應信包負載是128 字節(jié)。( 2) 自定義設置USB 攝像頭并不是標準U

14、SB 外設, 需要很多自定義設置, 可以稱之為/ 自定義設備請求0, 它是用標準設備請求包方式傳送的, 目的是修改內(nèi)部寄存器, 對采集圖像和壓縮方式進行配置。自定義設備請求的內(nèi)容非常豐富, 它包含以下幾個方面: 時序產(chǎn)生設置。包括圖像采集頻率和振蕩器的設置等。 圖像處理設置。包括圖像窗口大小、壓縮類型、色彩分配等配置屬性。 存儲器設置。對圖像緩沖進行設置。 控制及狀態(tài)設置。包括啟動及停止圖像采集、數(shù)據(jù)傳輸方式、當前狀態(tài)等配置屬性。初始化結束后, 可以根據(jù)需要進行圖像格式的設定, SPCA561A 支持SQVGA ( 160 x 120) 、QCIF( 176x 144) 、QVGA( 320

15、x 240) 、CIF( 352 x288) 四種格式。設定結束后啟動攝像頭采集, 進行數(shù)據(jù)傳輸。5. 2 同步傳輸和圖像幀處理同步傳輸?shù)倪^程非常簡單, 甚至不包含握手信息; 但是因為同步傳輸對時序的要求很高, 所以對同步傳輸數(shù)據(jù)的處理頗困難。此驅動的設計將同步數(shù)據(jù)的接收用中斷服務程序進行處理, 同步數(shù)據(jù)的處理放在中斷服務之外執(zhí)行。圖5.2.1 同步傳輸中斷 中斷服務程序流程如圖5.2.1所示。每次同步中斷發(fā)生時, 首先從USB 主機控制器的緩沖區(qū)內(nèi)讀取接收到的128 字節(jié)同步信包, 將數(shù)據(jù)存儲到數(shù)據(jù)處理程序提供的存儲單元中。再發(fā)送PID_IN 標志和端點號, 設置同步傳輸類型并啟動下一次傳輸。CH374 主機會在每1 ms 發(fā)送1個SOF 同步標志, USB 設備接收到SOF 標志后, 會傳送下一個同步信包。 同步數(shù)據(jù)處理程序如圖5.2.2 所示。圖5.2.2 同步數(shù)據(jù)處理程序流程圖中斷結束后, 執(zhí)行數(shù)據(jù)處理程序, 程序讀取同步信包的第一個字節(jié), 確認同步幀處理包的序號, 此序號的范圍是0 0x FF。如果此序號為0xFF, 則說明是無效包, 需要丟棄。如果此序號為0, 則可能是首次采集得到的第一個同步數(shù)據(jù)包, 直接存儲此數(shù)據(jù)到圖像幀; 也可能是當前圖像幀結束后開始的下一幀圖像的第一個同步信包, 則需要處理已經(jīng)結束當前幀圖像, 同時將當前幀設置為下幀。至此得到了一幀圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論