基于arm的linux平臺上usb驅(qū)動實現(xiàn)

基于arm的linux平臺上usb驅(qū)動實現(xiàn)

ID:33553828

大?。?.73 MB

頁數(shù):67頁

時間:2019-02-27

基于arm的linux平臺上usb驅(qū)動實現(xiàn)_第1頁
基于arm的linux平臺上usb驅(qū)動實現(xiàn)_第2頁
基于arm的linux平臺上usb驅(qū)動實現(xiàn)_第3頁
基于arm的linux平臺上usb驅(qū)動實現(xiàn)_第4頁
基于arm的linux平臺上usb驅(qū)動實現(xiàn)_第5頁
資源描述:

《基于arm的linux平臺上usb驅(qū)動實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。

1、第二章USB接口規(guī)范概述2.1USB協(xié)議簡述USB[4】(UniversalSerialBus)是主機和外圍設(shè)備之間的一種連接技術(shù)。最初是為了代替許多不同的低速總線而設(shè)計的,它以單一類型的總線連接各種不同類型的設(shè)備,如鼠標、鍵盤、移動硬盤、顯示器等等。在USB協(xié)議中支持四種不同的傳輸方式(塊傳輸、同步傳輸、中斷傳輸、以及控制傳輸)以適應(yīng)各種不同場合的需求。在技術(shù)層面上來講,USB總線采取單主控制的方式進行通信,也就是說只有主機端可以發(fā)起和終止通信,設(shè)備端負責響應(yīng)主機的命令。USB協(xié)議對設(shè)備進行了分類,主要有音頻設(shè)備類、通信設(shè)備類、顯示設(shè)備類、人機接口設(shè)備類以及海量存儲設(shè)備

2、類等等。在對設(shè)備進行分類后,可以抽象出一類設(shè)備的特性,可以使用一個通用的驅(qū)動程序。本文針對$3C2410處理器中的USB設(shè)備控制器分別進行了主從機的驅(qū)動研究設(shè)計,并利用主從機驅(qū)動進行數(shù)據(jù)在開發(fā)機與目標板之間進行了數(shù)據(jù)傳輸測試。USB總線屬一種輪詢方式的總線,主機控制端口初始化所有的數(shù)據(jù)傳輸。每一總線執(zhí)行動作最多傳送三個數(shù)據(jù)包【4】。按照傳輸前制定好的原則,在每次傳送開始時,主機控制器發(fā)送一個描述傳輸運作的種類、方向,USB設(shè)備地址和終端號的USB數(shù)據(jù)包,這個數(shù)據(jù)包通常稱為標志包(tokenpacket)。USB設(shè)備從解碼后的數(shù)據(jù)包的適當位置取出屬于自己的數(shù)據(jù)。數(shù)據(jù)傳輸方向

3、不是從主機到設(shè)備就是從設(shè)備到主機。在傳輸開始時,由標志包來標志數(shù)據(jù)的傳輸方向,然后發(fā)送端開始發(fā)送包含信息的數(shù)據(jù)包或表明沒有數(shù)據(jù)傳送。接收端也要相應(yīng)發(fā)送一個握手的數(shù)據(jù)包表明是否傳送成功。發(fā)送端和接收端之間的USB數(shù)據(jù)傳輸,在主機和設(shè)備的端口之間,可視為一個通道。存在兩種類型的通道:流和消息。流的數(shù)據(jù)不像消息的數(shù)據(jù),它沒有USB所定義的結(jié)構(gòu),而且通道與數(shù)據(jù)帶寬、傳送服務(wù)類型,端口特性(如方向和緩沖區(qū)大小)有關(guān)。多數(shù)通道在USB設(shè)備設(shè)置完成后即存在。USB中有一個特殊的通道:缺省控制通道,它屬于消息通道,當設(shè)備一啟動即存在,從而為設(shè)備的設(shè)置、查詢狀況和輸入控制信息提供一個入口。

4、事務(wù)預處理允許對一些數(shù)據(jù)流的通道進行控制,從而在硬件級上防止了對緩沖區(qū)的高估或低估,通過發(fā)送不確認握手信號從而阻塞了數(shù)據(jù)的傳輸速度。當不確認信號發(fā)過后,若總線有空閑,數(shù)據(jù)傳輸將重復一次。這種流控制機制5第二章USB接口規(guī)范概述允許靈活的任務(wù)安排,可使不同性質(zhì)的流通道同時正常工作,這樣多種流通??稍诓煌g隔進行工作,傳送不同大小的數(shù)據(jù)包。2.1.1USB總線的拓撲結(jié)構(gòu)USB總線采取了一種“菊花鏈”的星形連接方式,從功能上來講,一個USB子系統(tǒng)可分為三部分【5】:USB主機、USB設(shè)備、USB連接。每個主機上通過HUB擴展最多可以連接多達127個設(shè)備,每個設(shè)備通過自己唯一的地

5、址與主機端進行通信。在USB子系統(tǒng)中,主機端和設(shè)備端分別是通信實體,USB連接描述主機端和設(shè)備端的通信方式。●USB主機USB主機是所有通信的發(fā)起端,負責檢測設(shè)備,與設(shè)備進行通信,調(diào)度連接到端口上的所有設(shè)備的活動。在整個USB系統(tǒng)中,USB主機是唯一消耗系統(tǒng)資源的部分,而系統(tǒng)只需要為USB主機分配好I/O地址空間、IRQ等資源后就不必為連接到USB主機上的設(shè)備分配類似的資源了,實現(xiàn)了一定程度上的資源共享。USB主機系統(tǒng)主要是硬件上的USB主控制器(HostController)、USB系統(tǒng)軟件和客戶軟件三部分組成的【10】。其中USB主控制器分為三種類型接口:開放型主控制

6、器接口(OHCI)、通用型主控制器接口(UHCI)和增強型主控制器接口(EHCI),由于所有的通信都是由主機方來控制調(diào)度,所以我們通常稱這種通信模式為基于主機的通信模式。在主機系統(tǒng)中,主控制器負責產(chǎn)生事務(wù)處理,這些事務(wù)有主機軟件安排好。主控制器驅(qū)動程序(HCD)建立一個數(shù)據(jù)結(jié)構(gòu)的鏈表,這些數(shù)據(jù)結(jié)構(gòu)包含了主控制器處理事務(wù)時所需的所有信息,包括USB的設(shè)備地址、傳輸類型、傳輸方向、緩沖區(qū)地址?!馯SB設(shè)備USB設(shè)備分為兩大類:集線器(HUB)和功能設(shè)備由于USB協(xié)議規(guī)定一個USB系統(tǒng)只允許存在一個主控制器,為了連接更多的設(shè)備到USB總線上,通常使用集線器為USB系統(tǒng)提供外加的

7、連接點,使得一個USB主控制器可以連接多個功能設(shè)備。按照USB協(xié)議規(guī)定,通過集線器最多可以連接一個包含主控制器的七層星型拓撲連接,所有的設(shè)備數(shù)量可達到127個。功能設(shè)備就是連接到USB總線上的終端設(shè)備,為整個系統(tǒng)提供特定的功能。功能設(shè)備中包含各自的設(shè)備描述符,通過設(shè)備描述符指出了各自的屬性和特征。這些設(shè)備描述符為主機軟件提供了USB設(shè)備的特征和功能信息,主機軟件可以6第二章USB接口規(guī)范概述通過這些信息正確的配置設(shè)備和定位USB客戶軟件的驅(qū)動程序。在功能設(shè)備中有兩種比較特殊的設(shè)備【4J:Compounddevice與Compo

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。