版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、USB總線技術(shù)的應(yīng)用 目錄一、課題簡(jiǎn)介2二、系統(tǒng)框圖3三、系統(tǒng)工作原理331 USB設(shè)備基礎(chǔ)43. 2 USB驅(qū)動(dòng)體系結(jié)構(gòu)5四、硬件設(shè)計(jì)74. 1 USB 攝像頭SPCA561A74. 2 USB 主機(jī)控制器CH37484. 3 USB 同步傳輸原理84. 4 視頻數(shù)據(jù)采集過(guò)程9五、軟件設(shè)計(jì)95. 1 USB 攝像頭初始化95. 2 同步傳輸和圖像幀處理105. 3 圖像數(shù)據(jù)的預(yù)編碼11六、結(jié)語(yǔ)12基于USB攝像頭的嵌入式圖像采集系統(tǒng)設(shè)計(jì)一、 課題簡(jiǎn)介名稱:手勢(shì)識(shí)別功能:通過(guò)攝像頭對(duì)手勢(shì)的前后左右的識(shí)別,使顯示器上的頁(yè)面完成轉(zhuǎn)向、翻頁(yè)、放大、縮小等操作。包含的總線:USB總線 VGA總線 CP
2、U內(nèi)部的數(shù)據(jù)和地址總線等本文主要介紹與USB相關(guān)的內(nèi)容。二、 系統(tǒng)框圖攝像頭采集圖像信息,通過(guò)USB總線傳到MCU的FIFO緩沖區(qū),MCU對(duì)圖像信息數(shù)據(jù)進(jìn)行識(shí)別和處理,并控制顯示器的頁(yè)面做出與手勢(shì)動(dòng)作相對(duì)應(yīng)的操作。系統(tǒng)框圖如下所示:圖2 系統(tǒng)框圖三、 系統(tǒng)工作原理典型的USB 圖像采集系統(tǒng)如圖3 所示。USB 系統(tǒng)包含主機(jī)和物理設(shè)備兩個(gè)最基本的元素, 一個(gè)USB 系統(tǒng)只能有一個(gè)USB 主機(jī), 可以連接多個(gè)物理設(shè)備。本設(shè)計(jì)中的設(shè)備是USB 攝像頭, USB 主機(jī)由USB 主機(jī)控制器、微處理器及驅(qū)動(dòng)軟件構(gòu)成。USB 系統(tǒng)工作層次分明: USB接口層提供主機(jī)控制器和設(shè)備的物理連接; 設(shè)備層中,USB
3、 主機(jī)調(diào)用驅(qū)動(dòng)程序通過(guò)端點(diǎn)0 發(fā)送并獲取USB 設(shè)備的控制信息; 功能層進(jìn)行實(shí)際數(shù)據(jù)的傳輸, 主機(jī)必須選擇合適的接口和端點(diǎn), 調(diào)用底層驅(qū)動(dòng)提供的接口函數(shù)獲取USB 攝像頭的視頻數(shù)據(jù)流。圖3 USB視頻采集系統(tǒng)示意圖31 USB設(shè)備基礎(chǔ)USB設(shè)備由斷點(diǎn)、接口和配置組成,USB驅(qū)動(dòng)程序通常綁定到USB接口上,而不是整個(gè)USB設(shè)備。下面介紹幾個(gè)重要的概念:1端點(diǎn)USB通信最基本的形式是通過(guò)一個(gè)名為端點(diǎn)(endpoint)的東西。USB端點(diǎn)只能往一個(gè)方向傳送數(shù)據(jù),從主機(jī)到設(shè)備(稱為輸出端點(diǎn))或者從設(shè)備到主機(jī)(稱為輸入端點(diǎn))。端點(diǎn)可以看作是單向的管道。USB端點(diǎn)有四種不同的類型,分別具有不同的傳送數(shù)據(jù)的
4、方式:(1)控制端點(diǎn):它用來(lái)控制對(duì)USB設(shè)備不同部分的訪問(wèn)。它們通常用于配置設(shè)備、獲取設(shè)備信息、發(fā)送命令到設(shè)備,或者獲取設(shè)備的狀態(tài)報(bào)告。每個(gè)USB設(shè)備都有一個(gè)名為“端點(diǎn)0”的控制端點(diǎn),USB核心使用該端點(diǎn)在設(shè)備插入時(shí)進(jìn)行設(shè)備的配置。USB協(xié)議保證這些傳輸始終有足夠的保留帶寬以傳送數(shù)據(jù)到設(shè)備。(2)中斷端點(diǎn):當(dāng)USB宿主要求設(shè)備傳輸數(shù)據(jù)時(shí),中斷端點(diǎn)就以一個(gè)固定的速率來(lái)傳送少量的數(shù)據(jù)。它們通常還用于發(fā)送數(shù)據(jù)到USB設(shè)備以控制設(shè)備,不過(guò)一般不用來(lái)傳輸大量的數(shù)據(jù)。USB協(xié)議保證這些傳輸始終有足夠的保留帶寬以傳送數(shù)據(jù)。(3)批量端點(diǎn):它傳輸大批量的數(shù)據(jù)。這些端點(diǎn)通常比中斷端點(diǎn)大得多(它們可以一次持有更多
5、的字符)。它們常見(jiàn)于需要確保沒(méi)有數(shù)據(jù)丟失的傳輸?shù)脑O(shè)備。USB協(xié)議不保證這些傳輸始終可以在特定的時(shí)間內(nèi)完成。如果總線上的空間不足以發(fā)送整個(gè)批量包,它將被分割為多個(gè)包進(jìn)行傳輸。這些端點(diǎn)通常出現(xiàn)在打印機(jī)、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備上。(4)等時(shí)端點(diǎn):它同樣可以傳送大批量的數(shù)據(jù),但數(shù)據(jù)是否到達(dá)是沒(méi)有保證的。這些端點(diǎn)用于可以應(yīng)付數(shù)據(jù)丟失情況的設(shè)備,這類設(shè)備更注重于保持一個(gè)恒定的數(shù)據(jù)流。實(shí)時(shí)的數(shù)據(jù)收集(例如音頻和視頻設(shè)備)幾乎毫無(wú)例外都使用這類端點(diǎn)。2接口USB端點(diǎn)被捆綁為接口。USB接口只處理一種USB邏輯連接,例如鼠標(biāo)、鍵盤或者音頻流。一些USB設(shè)備具有多個(gè)接口,一個(gè)USB接口代表了一個(gè)基本功能,而每個(gè)USB
6、驅(qū)動(dòng)程序控制一個(gè)接口,因此對(duì)于具有多個(gè)接口的USB設(shè)備來(lái)說(shuō),Linux需要有多個(gè)不同的驅(qū)動(dòng)程序來(lái)處理一個(gè)硬件設(shè)備。3配置USB接口本身被捆綁為配置。一個(gè)USB設(shè)備可以有多個(gè)配置,而且可以在配置之間切換以改變?cè)O(shè)備的狀態(tài)。3. 2 USB驅(qū)動(dòng)體系結(jié)構(gòu)通用串行總線(USB)是一種外部總線結(jié)構(gòu),特點(diǎn)是接口統(tǒng)一、方便擴(kuò)展、支持熱插拔,簡(jiǎn)化了計(jì)算機(jī)與不同類型外設(shè)間的連接。USB是一種分層總線結(jié)構(gòu),并且由一個(gè)主機(jī)控制器來(lái)控制,USB主機(jī)控制器(host controller)負(fù)責(zé)詢問(wèn)每一個(gè)USB設(shè)備是否有數(shù)據(jù)需要發(fā)送,USB不支持設(shè)備的直接通信。圖3.2給出了Linux中USB驅(qū)動(dòng)的體系結(jié)構(gòu)。圖3.2 Li
7、nux下USB驅(qū)動(dòng)體系結(jié)構(gòu)Linux USB主機(jī)驅(qū)動(dòng)由三部分組成:USB主機(jī)控制器驅(qū)動(dòng)、USB驅(qū)動(dòng)和不同的USB設(shè)備類驅(qū)動(dòng)。其中USB主機(jī)控制器驅(qū)動(dòng)(HCD)是USB主機(jī)直接與硬件交互的軟件模塊,它為上層提供統(tǒng)一的接口,屏蔽掉硬件具體細(xì)節(jié)。USB驅(qū)動(dòng)(USBD)是整個(gè)USB主機(jī)驅(qū)動(dòng)的核心,主要為USB設(shè)備類驅(qū)動(dòng)提供相關(guān)的接口、提供應(yīng)用程序訪問(wèn)USB系統(tǒng)的文件接口。而USB設(shè)備類驅(qū)動(dòng)是最終與應(yīng)用程序交互的軟件模塊,主要為訪問(wèn)特定的USB設(shè)備和應(yīng)用程序提供接口。四、 硬件設(shè)計(jì)圖4 初步設(shè)計(jì)框圖4. 1 USB 攝像頭SPCA561A視頻信號(hào)的采集一般選擇USB 攝像頭來(lái)實(shí)現(xiàn)。如圖4.1.1所示,
8、USB 攝像頭SPCA561A 集成了鏡頭、CMOS 傳感器、USB 圖像處理器以及USB 控制器。圖4.1 SPCA561A芯片示意圖比起直接與微處理器接口的CMOS 傳感器, 使用USB 攝像頭雖然成本偏高, 但是易于實(shí)現(xiàn), 節(jié)省CPU 資源, 傳輸速度遠(yuǎn)遠(yuǎn)高于串口、并口的速度,而且驅(qū)動(dòng)支持非常豐富。SPCA561A 提供了一種單芯片攝像頭解決方案, 它將一個(gè)CIF 的CMOS 傳感器、一個(gè)圖像處理器和USB 控制器集成于單芯片, 從而大大降低了成本和開(kāi)發(fā)難度; 缺點(diǎn)是只有10 萬(wàn)像素, 每秒幀數(shù)較少, 然而非常適合應(yīng)用于圖像要求不高的小型監(jiān)控系統(tǒng)。4. 2 USB 主機(jī)控制器CH374C
9、H374 是一個(gè)嵌入式USB 總線的通用接口芯片, 支持USB 主機(jī)方式和USB 設(shè)備方式, 支持低速和全速的控制傳輸、批量傳輸、中斷傳輸以及同步傳輸。在本地端,CH374 具有8 位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出, 可以方便地掛接到DSP/ MCU/ MPU 等控制器的系統(tǒng)總線上。大多數(shù)嵌入式的USB 主機(jī)接口芯片并不提供同步傳輸模式, 而CH374 的一大特點(diǎn)就是提供了同步傳輸, 使得視頻和音頻流的傳輸成為可能。本系統(tǒng)使用CH 374 作為USB 主機(jī)控制器, 如圖4所示。CH374 用總線方式與S3C44B0 相連, 微控制器通過(guò)讀寫CH374 寄存器實(shí)現(xiàn)USB 主機(jī)驅(qū)動(dòng)。4.
10、 3 USB 同步傳輸原理同步傳輸主要用來(lái)傳輸音頻或視頻信號(hào)。這種信息是周期的, 又是實(shí)時(shí)的, 對(duì)信息實(shí)時(shí)性有很高的要求, 但是對(duì)誤碼率卻可以容忍。所以USB 為這種信息保留90%的帶寬, 其他類型的傳輸在同步傳輸期間不可以占用。為保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性, 同步傳輸不進(jìn)行數(shù)據(jù)錯(cuò)誤的重傳, 也不在硬件層次上響應(yīng)一個(gè)握手資料包。同步傳輸?shù)闹鳈C(jī)每隔1 ms 發(fā)送一個(gè)SOF 同步信號(hào), 隨后接收設(shè)備發(fā)送的信號(hào), 其數(shù)據(jù)流程如圖4.3 所示。圖4.3 同步傳輸流程圖在同步傳輸中, 每一個(gè)信包的容量是一定的。拿SPCA561 來(lái)說(shuō), 在啟動(dòng)同步傳輸之前必須設(shè)置相應(yīng)的接口號(hào)。不同的接口號(hào)決定將要發(fā)送多大的信包
11、容量, 如接口號(hào)1 每次發(fā)送的信包容量是128 字節(jié), 接口號(hào)6 的信包容量是896 字節(jié)。接口號(hào)通過(guò)USB 標(biāo)準(zhǔn)設(shè)備請(qǐng)求SET _INTERFACE 來(lái)設(shè)置。由于CH374 的緩沖區(qū)最大為128字節(jié), 所以本設(shè)計(jì)中使用接口號(hào)1, 同步傳輸每接收一個(gè)信包的大小是128 字節(jié)容量的信包。4. 4 視頻數(shù)據(jù)采集過(guò)程如圖4.4所示, 視頻信號(hào)由攝像頭SPCA561A 采集得到, 經(jīng)過(guò)內(nèi)部的圖像處理芯片后編碼為規(guī)定的格式, 一般為RGB 或者YUV 格式, 但是SPCA561 采用比較特殊的S561 圖像格式( 類似于RGB 格式) 。因?yàn)橐粠瑘D像的數(shù)據(jù)量很大, 無(wú)法在一個(gè)同步信包內(nèi)傳送, 所以將其分
12、割成多個(gè)單元, 每個(gè)單元前添加包頭( 包頭的內(nèi)容包括當(dāng)前包序號(hào)和此圖像幀信息) , 組成多個(gè)同步信包, 通過(guò)FIFO 緩沖發(fā)送到USB 總線上。主機(jī)控制器用同步方式接收每個(gè)信包, 并去除包頭合并成S561 格式的數(shù)據(jù), 組成一個(gè)完整的圖像幀。最后由軟件將此圖像幀預(yù)編碼成為YUV420格式的圖像數(shù)據(jù), 以便后續(xù)的壓縮處理。圖4.4 視頻數(shù)據(jù)采集示意圖五、 軟件設(shè)計(jì)5. 1 USB 攝像頭初始化初始化一個(gè)USB 攝像頭有兩個(gè)步驟, 第一步是攝像頭的枚舉, 第二步是攝像頭的自定義設(shè)置。( 1) 設(shè)備枚舉設(shè)備的枚舉就是標(biāo)準(zhǔn)設(shè)備請(qǐng)求的過(guò)程。對(duì)USB 攝像頭來(lái)說(shuō), 枚舉的過(guò)程依次如下: 獲取設(shè)備描述符。通
13、過(guò)設(shè)備描述符得到端點(diǎn)0 的負(fù)載, 也就是最大傳送包容量。 設(shè)置地址。給設(shè)備分配一個(gè)默認(rèn)地址0 之外的地址。 獲取配置描述符。這個(gè)過(guò)程包括兩個(gè)階段, 第1次獲取的配置描述符的前4 個(gè)字節(jié)得到配置描述符的真實(shí)長(zhǎng)度; 再以真實(shí)長(zhǎng)度第2 次獲取配置描述符, 此描述符包含了設(shè)備的配置信息和多個(gè)接口信息??梢詮倪@里得到可以使用的接口號(hào)和對(duì)應(yīng)的信包負(fù)載。 設(shè)置配置信息。設(shè)置的主要信息是配置描述符中的第5 個(gè)字段bConf igurationValue。 設(shè)置接口。USB 攝像頭不同的接口號(hào)對(duì)應(yīng)不同的信包負(fù)載。本設(shè)計(jì)選定的接口號(hào)為2, 對(duì)應(yīng)信包負(fù)載是128 字節(jié)。( 2) 自定義設(shè)置USB 攝像頭并不是標(biāo)準(zhǔn)U
14、SB 外設(shè), 需要很多自定義設(shè)置, 可以稱之為/ 自定義設(shè)備請(qǐng)求0, 它是用標(biāo)準(zhǔn)設(shè)備請(qǐng)求包方式傳送的, 目的是修改內(nèi)部寄存器, 對(duì)采集圖像和壓縮方式進(jìn)行配置。自定義設(shè)備請(qǐng)求的內(nèi)容非常豐富, 它包含以下幾個(gè)方面: 時(shí)序產(chǎn)生設(shè)置。包括圖像采集頻率和振蕩器的設(shè)置等。 圖像處理設(shè)置。包括圖像窗口大小、壓縮類型、色彩分配等配置屬性。 存儲(chǔ)器設(shè)置。對(duì)圖像緩沖進(jìn)行設(shè)置。 控制及狀態(tài)設(shè)置。包括啟動(dòng)及停止圖像采集、數(shù)據(jù)傳輸方式、當(dāng)前狀態(tài)等配置屬性。初始化結(jié)束后, 可以根據(jù)需要進(jìn)行圖像格式的設(shè)定, SPCA561A 支持SQVGA ( 160 x 120) 、QCIF( 176x 144) 、QVGA( 320
15、x 240) 、CIF( 352 x288) 四種格式。設(shè)定結(jié)束后啟動(dòng)攝像頭采集, 進(jìn)行數(shù)據(jù)傳輸。5. 2 同步傳輸和圖像幀處理同步傳輸?shù)倪^(guò)程非常簡(jiǎn)單, 甚至不包含握手信息; 但是因?yàn)橥絺鬏攲?duì)時(shí)序的要求很高, 所以對(duì)同步傳輸數(shù)據(jù)的處理頗困難。此驅(qū)動(dòng)的設(shè)計(jì)將同步數(shù)據(jù)的接收用中斷服務(wù)程序進(jìn)行處理, 同步數(shù)據(jù)的處理放在中斷服務(wù)之外執(zhí)行。圖5.2.1 同步傳輸中斷 中斷服務(wù)程序流程如圖5.2.1所示。每次同步中斷發(fā)生時(shí), 首先從USB 主機(jī)控制器的緩沖區(qū)內(nèi)讀取接收到的128 字節(jié)同步信包, 將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)處理程序提供的存儲(chǔ)單元中。再發(fā)送PID_IN 標(biāo)志和端點(diǎn)號(hào), 設(shè)置同步傳輸類型并啟動(dòng)下一次傳輸。CH374 主機(jī)會(huì)在每1 ms 發(fā)送1個(gè)SOF 同步標(biāo)志, USB 設(shè)備接收到SOF 標(biāo)志后, 會(huì)傳送下一個(gè)同步信包。 同步數(shù)據(jù)處理程序如圖5.2.2 所示。圖5.2.2 同步數(shù)據(jù)處理程序流程圖中斷結(jié)束后, 執(zhí)行數(shù)據(jù)處理程序, 程序讀取同步信包的第一個(gè)字節(jié), 確認(rèn)同步幀處理包的序號(hào), 此序號(hào)的范圍是0 0x FF。如果此序號(hào)為0xFF, 則說(shuō)明是無(wú)效包, 需要丟棄。如果此序號(hào)為0, 則可能是首次采集得到的第一個(gè)同步數(shù)據(jù)包, 直接存儲(chǔ)此數(shù)據(jù)到圖像幀; 也可能是當(dāng)前圖像幀結(jié)束后開(kāi)始的下一幀圖像的第一個(gè)同步信包, 則需要處理已經(jīng)結(jié)束當(dāng)前幀圖像, 同時(shí)將當(dāng)前幀設(shè)置為下幀。至此得到了一幀圖
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《穴位敷貼技術(shù)》課件
- 民政局二零二五年度離婚合同規(guī)范范本12篇
- 2025年農(nóng)藥企業(yè)環(huán)保合規(guī)咨詢與服務(wù)合同2篇
- 2025年度苗圃基地與林業(yè)部門合作項(xiàng)目合同4篇
- 2025年二手房地產(chǎn)交易合同
- 二零二五年度綠化養(yǎng)護(hù)設(shè)備租賃合同3篇
- 2025年代理墊資合同
- 人員聘用合同范本
- 二零二五年度有機(jī)農(nóng)產(chǎn)品農(nóng)場(chǎng)租賃合同模板詳解3篇
- 二零二五年度定制化豪華門樓施工與維護(hù)服務(wù)合同4篇
- 廣東省佛山市2025屆高三高中教學(xué)質(zhì)量檢測(cè) (一)化學(xué)試題(含答案)
- 人教版【初中數(shù)學(xué)】知識(shí)點(diǎn)總結(jié)-全面+九年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)教案
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學(xué)2023-2024學(xué)年七上期末數(shù)學(xué)試題(解析版)
- 2024-2025學(xué)年人教版七年級(jí)英語(yǔ)上冊(cè)各單元重點(diǎn)句子
- 2025新人教版英語(yǔ)七年級(jí)下單詞表
- 公司結(jié)算資金管理制度
- 2024年小學(xué)語(yǔ)文教師基本功測(cè)試卷(有答案)
- 未成年入職免責(zé)協(xié)議書
- 項(xiàng)目可行性研究報(bào)告評(píng)估咨詢管理服務(wù)方案1
- 5歲幼兒數(shù)學(xué)練習(xí)題
- 2024年全國(guó)體育單招英語(yǔ)考卷和答案
評(píng)論
0/150
提交評(píng)論