基于ARM的嵌入式USB主從接口設計_第1頁
基于ARM的嵌入式USB主從接口設計_第2頁
基于ARM的嵌入式USB主從接口設計_第3頁
基于ARM的嵌入式USB主從接口設計_第4頁
基于ARM的嵌入式USB主從接口設計_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 任務書題 目 基于arm的嵌入式usb主/從接口設計課題內(nèi)容隨著總線和接口技術的發(fā)展,在工業(yè)場合如何更加可靠、快速、便捷地進行數(shù)據(jù)傳輸成為該領域通信的研究重點之一。而usb技術以其高速、可靠、通用性強等一系列特點在過去的十多年時間里發(fā)展迅猛,而usb otg技術的誕生,使得兩usb設備在沒有pc參與的情況下進行數(shù)據(jù)傳輸成為可能。本設計通過搭建以arm9為核心控制芯片、isp1362為usb接口芯片的硬件平臺,分別實現(xiàn)了usb部分主機和從機功能,使之能進行usb數(shù)據(jù)的存儲與交換。 本設計完成以下工作:首先,認真研究usb協(xié)議,深入理解usb通信的基本概念和傳輸方式等內(nèi)容。其次,根據(jù)要求,設計出

2、由控制、接口、數(shù)據(jù)存儲與供電切換電路等硬件模塊組成的系統(tǒng),完成系統(tǒng)調(diào)試。再次,完成硬件工作所需固件,軟件編寫。課題任務要求一、 任務1 認真收集資料,了解、掌握arm9,usb相關知識。2 提出完成設計任務的原理及設計思路,并進行方案優(yōu)化。3 具體完成系統(tǒng)設計、軟硬件實現(xiàn)。4 完成畢業(yè)設計論文的撰寫及外文資料的翻譯、組織。5 畢業(yè)答辯。二、 要求1 原理正確、方案選擇合理。2 軟件流程圖、程序及硬件實現(xiàn)符合系統(tǒng)檢測要求。3 設計說明書、流程圖的繪制符合要求、規(guī)范。 注:1. 此任務書應由指導教師填寫。2. 此任務書最遲必須在畢業(yè)設計開始前一周下達給學生。課題完成后應提交的文件(或圖表、設計圖紙

3、)1 系統(tǒng)原理圖2 軟件流程圖3 硬件連接圖4 程序設計5 設計說明書6 外文資料及其譯文主要參考文獻與外文翻譯文件(由指導教師選定)1王成儒,李英偉.uab2. 0原理與工程開發(fā)m.北京:國防工業(yè)出版社,2004.2 mindshare. usb系統(tǒng)體系m.北京:中國電力出版社,2003.3薛園園.usb應用開發(fā)技術大全m.北京:人民郵電出版社,2007 .4 microsoft corporation. universal serial bus specification revision 1.1, 1998.5 chris cant著,孫義譯.windows wdm設備驅動程序開發(fā)指南m

4、.北京:機械工業(yè)出版社,2000.6周立功等.usb2.0與otg規(guī)范及開發(fā)指南m.北京:北京航空航天大學出版社,2004.7魏智.usb otg設計j.國外電子元器件,2004,12:7273.8馬偉等.嵌入式usb主機系統(tǒng)的研究與設計j.計算機測量與控制,2003,5.9晃建剛等.通用串行總線設備的驅動.電子技術應用j,2002,12.10劉洋等.基于arm系統(tǒng)硬盤接口的使用和文件管理j.電氣電子教學學報,2003,25(3).11衣曉峰等.usb外設控制器固件的設計j.微型電腦應用,2003,19(4):2730.12張宏偉. linux系統(tǒng)下usb設備驅動程序的編寫j.計算機應用研究,

5、2001,18(9):141146.13陽富民等.嵌入式linux usb otg設備驅動技術研究j.計算機工程與科學,2006,5:109111.14魏春鳳.基于usb接口的otg應用技術的開發(fā)j.世界電子元器件,2005,11:5255.15周立功等.arm微控制器基礎與實踐m.北京:北京航空航天大學出版社,2003:3480.16周立功等.arm嵌入式系統(tǒng)軟件開發(fā)實例m.北京:北京航空航天大學出版社,2004:6380.17胡曉軍.開發(fā)wdm型usb設備客戶驅動程序j.中國數(shù)據(jù)通信,2002,2:5153.18劉少峰,韋克平.usb軟件系統(tǒng)的開發(fā)j.計算機應用研究,2002,3:1021

6、04.19周振宇,谷海穎.基于usb總線的實時數(shù)據(jù)采集系統(tǒng)設計j.電子技術應用2002,2:1214.20王洪,顧本斗.usb設備的開發(fā).計算機工程與設計j,2002,3:6164.21john koon and rene willians. usb otg application in consumer electronicsr. usb otg technology and market report, 2005.22 john koon and rene willians. usb otg application in consumer electronicsr. usb otg tec

7、hnology and market report, 2005. 23 usb論壇htp://24國家半導體公司/25驅動開發(fā)網(wǎng)htp://同組設計者無學生完成畢業(yè)設計(論文)階段任務情況檢查表時間第 一 階 段第 二 階 段第 三 階 段內(nèi)容組織紀律完成任務情況組織紀律完成任務情況組織紀律完成任務情況檢查記錄教師簽字簽字 日期簽字 日期簽字 日期 注:1. 此表應由指導教師認真填寫。2. “組織紀律”一檔應按長沙理工大學學生學籍管理實施辦法精神,根據(jù)學生具體執(zhí)行情況,如實填寫。3. “

8、完成任務情況”一檔應按學生是否按進度保質保量完成任務的情況填寫。4. 對違紀和不能按時完成任務者,指導教師可根據(jù)情節(jié)輕重對該生提出警告或對其成績降一等級。5. 階段分布由各院(系)自行決定。畢業(yè)設計(論文)工作進度計劃表序號畢 業(yè) 設 計(論 文)工 作 任 務工 作 進 度 日 程 安 排周次12345678910111213141516171819201畢業(yè)實習32收集資料、提出設計思路、方案優(yōu)化33系統(tǒng)軟硬件設計 4系統(tǒng)硬件實現(xiàn)25系統(tǒng)軟件程序設計6軟硬件改進、完善27繪制設計圖紙、撰寫設計說明書8畢業(yè)答辯910 注:1. 此表由導師填寫;2. 此表每個學生人手一份,作為畢業(yè)設計(論文)

9、檢查工作進度之依據(jù);3. 進度安排請用“一”在相應位置畫出。 學生送交全部文件日期 學生(簽名)基于arm的嵌入式usb主/從接口設計 摘要usb具有易用、真正的熱插拔、高性能和系統(tǒng)造價低廉等優(yōu)點,也正是由于這些優(yōu)點,使它從書面的協(xié)議變成產(chǎn)品只用了不到兩年時間。簡單說來,usb系統(tǒng)包括:usb主機和usb設備。usb外設的開發(fā)和基于pc機的usb主機技術已經(jīng)相當成熟。相對于pc機上的豐富資源,嵌入式系統(tǒng)中有限的資源給基于嵌入式系統(tǒng)的usb主機系統(tǒng)開發(fā)帶來了很大難度。嵌入式usb系統(tǒng)的研究和開發(fā)將更進一步拓寬usb接口技術的應用領域。如何將usb應用到嵌入式領域,實現(xiàn)usb的點對點通訊,成為目前

10、usb研究領域的熱點。本系統(tǒng)選擇了三星公司生產(chǎn)的amr9芯片s3c2410作為cpu,使用飛利浦公司的usb接口芯片isp1362,共同構成了usb主/從控制系統(tǒng)。otg做為usb2.0的補充協(xié)議,旨在使usb接口兼具usb主機和從機的功能,實現(xiàn)兩個不同的外設間點對點的通信,從而一定程度上擺脫usb接口通信離不開pc機的束縛。在arm和isp1362構建的硬件平臺基礎上,研究了usb otg協(xié)議、scsi協(xié)議、mass storage class協(xié)議和fat文件系統(tǒng)協(xié)議,并根據(jù)usb相關協(xié)議規(guī)劃主機端和設備端驅動程序結構,完成主機軟件系統(tǒng)設計,isp1362的設備配置,設備端固件設計和pc端的

11、驅動程序設計與開發(fā),實現(xiàn)了基于arm9的嵌入式usb主/從接口設計。關鍵詞:arm9;isp1362;usb otgarm-based embedded usb host / slave interface designabstractusb which is with the ease of use, the real hot-swappable, high performance and low cost advantages of the system, it is precisely because of these advantages make it into products f

12、rom the agreement in writing in less than two years. the usb system usually involves two aspects: usb host controller and usb slave controller. today, the usb slave system has been extensively adopted and the usb host control applications in pcs are widespread. as the expanding of usb application ar

13、ea, it is more and more necessary to add mobile storage function to embedded system. but, the limit resources have greatly restricted the development of usb host technology in embedded systems, especially the one which has not an operating system. now, the application and realization of the usb tech

14、nology to embedded systems is one of the focuses in the usb-field.in this usb host/slave control system, we chose samsungs s3c2410 as the central cpu and phillipss isp1362 as the usb host controller and device interface.otg as a supplementary protocol of usb2.0, aimed at implementing both usb host a

15、nd usb device function. thereby application of usb breaks away from the shackles of the computer to some extent.based on the hardware platform of the arm and the isp1362, i research protocols such as usb otg, the scsi protocol, mass storage class and fat file system protocols. the software of usb ho

16、st and device has been designed and written in accordance with relevant protocols. we complete usb hosts software system, isp1362 device configuration, firmware design and pc driver design and development to achieve that based on arm9 embedded usb host/ slave interface design.keywords: arm9;isp1362;

17、usb otg 目錄第1章 緒論11.1 課題研究背景11.1.1 嵌入式系統(tǒng)介紹11.1.2 arm簡介11.1.3 usb起源及發(fā)展過程21.1.4 usb的特點21.2論文章節(jié)安排4第2章 usb技術概述62.1 usb基本規(guī)范的發(fā)展過程62.2 usb的機械和電器特性72.3 usb結構介紹82.3.1 總線的物理拓撲結構82.3.2 usb的硬件和軟件元素82.4 usb數(shù)據(jù)通信協(xié)議112.4.1 域122.4.2 最基本數(shù)據(jù)單元-包142.4.3 數(shù)據(jù)傳輸類型162.4.4 usb設備枚舉17第3章 系統(tǒng)方案及硬件結構設計183.1 usb主/從接口設計183.2 arm微處理器1

18、83.3 usb接口芯片203.3.1 isp1362芯片介紹203.3.2 isp1362內(nèi)部功能結構213.4 系統(tǒng)硬件電路設計223.4.1 isp1362操作模式223.4.2 硬件電路設計原理143.4.3 otg接口的結構243.4.4 系統(tǒng)中主機和從機的確定17第4章 usb 主機系統(tǒng)設計274.1 usb主機系統(tǒng)結構274.1.1 主機控制器及功能274.1.2 usb主機端驅動程序結構設計274.2 isp1362主機端硬件初始化設計284.3 類協(xié)議的實現(xiàn)294.3.1 usb設備類概述294.3.2 mass storage class協(xié)議及實現(xiàn)304.4 fat文件操作

19、的實現(xiàn)324.4.1 fat文件系統(tǒng)原理324.4.2目錄操作364.4.3文件操作364.5 系統(tǒng)軟件流程38第5章 usb從機系統(tǒng)設計395.1 usb設備配置395.2 isp1362設備控制器的數(shù)據(jù)傳送415.3 usb設備端固件設計425.3.1 usb外部cpu(arm)控制程序設計425.3.2設備驅動基本程序設計425.4 pc端驅動程序設計495.4.1 windows下設備驅動程序設計基本概念495.4.2 win32驅動程序模型495.4.3驅動程序基本例程設計及說明515.5 usb設備驅動程序開發(fā)50第6章 總結53參考文獻54致謝56附錄 57第 59 頁 共58

20、頁 基于arm的嵌入式usb主/從接口設計第 58 頁 共 57 頁第1章 緒論1.1 課題研究背景1.1.1 嵌入式系統(tǒng)介紹根據(jù)ieee(國際電機工程師協(xié)會)的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機器和設備運行的裝置” (devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。目前國內(nèi)一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成

21、本、體積、功耗嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)目前己經(jīng)廣泛地應用于軍事國防、消費電子、網(wǎng)絡通訊等各個領域。而在工業(yè)控制方面,基于嵌入式芯片的工業(yè)自動化設備也有了很大的發(fā)展,目前己經(jīng)有大量的8、12、36位嵌入式微控制器應用在工業(yè)過程控制、數(shù)控機床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設備監(jiān)控、石油化工系統(tǒng)等領域,隨著技術的發(fā)展,32、64位的微處理器將逐漸成為工業(yè)控制設備的核心,在未來幾年內(nèi)必將獲得更大的發(fā)展。嵌入式系統(tǒng)大至可以分為四類:(1)嵌入式微處理器(embedded microprocessor unit,empu)(2)微控制器(microcontroller unit,mcu)(3)ds

22、p處理器(digital signal processor,dsp)(4)片上系統(tǒng)(system on chip,soc)1.1.2 arm簡介arm 即advanced risc machines的縮寫,既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。 1985年4月26日,第一個arm原型在英國劍橋的acorn計算機有限公司誕生,由美國加州sanjosevlsi技術公司制造。 20世紀80年代后期,arm很快開發(fā)成acorn的臺式機產(chǎn)品,形成英國的計算機教育基礎。 1990年成立了advanced risc machines limited(后來簡

23、稱為arm limited,arm公司)。20世紀90年代,arm 32位嵌入式risc(reduced lnstruction set computer)處理器擴展到世界范圍,占據(jù)了低功耗、低成本和高性能的嵌入式系統(tǒng)應用領域的領先地位。arm公司既不生產(chǎn)芯片也不銷售芯片,它只出售芯片技術授權。目前總共有超過100家公司與arm公司簽訂了技術使用許可協(xié)議,其中包括intel、ibm、lg、nec、sony、nxp和ns這樣的大公司。至于軟件系統(tǒng)的合伙人,則包括microsoft、升陽和mri等一系列知名公司。1.1.3 usb起源及發(fā)展過程從20世紀90年代以來,有許多新的總線接口協(xié)議問世,其

24、中最成功的是以intel為首的七家公司(intel, compaq, microsoft, ibm, dec, northern telecom以及日本nec)于1994年11月推出的usb協(xié)議規(guī)范第一個草案和美國電氣及電子工程師協(xié)會(ieee)推出的ieee1394總線協(xié)議。ieee1394的主要特點是高速,但是它的成本比較高,目前只用于一些專用系統(tǒng)和打印機、掃描儀等數(shù)據(jù)傳輸要求較高的設備,而不能普遍用于如鼠標、鍵盤等低價位、速度要求不高的設備。所以,ieee1394更適合于應用在許多專業(yè)領域。自從1996年2月usb版本發(fā)布后短短幾年內(nèi),usb不僅成為pc(personalcomputer

25、,個人計算機)主板上的標準接口,而且成為了所有pc外部設備如鍵盤、鼠標、顯示器、打印機、數(shù)碼相機、掃描儀和游戲手柄等與pc相連的標準協(xié)議之一,迅速占領了計算機中、低速外部設備的市場。usb接口可用于連接多達127個外設,usb自從1996年推出后,已成功替代串口和并口,并成為當今個人電腦和大量智能設備的必配的接口之一。usb的版本:第一代:usb 1.0/1.1的最大傳輸速率為12mbps。第二代:usb 2.0的最大傳輸速率高達480mbps(usb otg是usb2.0一種補充協(xié)議)。usb 1.0/1.1與usb 2.0的接口是相互兼容的。第三代:usb 3.0 最大傳輸速率5gbps,

26、 向下兼容usb 1.0/1.1/2.0。1.1.4 usb的特點usb具有易用、真正的熱插拔、高性能和系統(tǒng)造價低廉等優(yōu)點,也正是由于這些優(yōu)點,使它從書面的協(xié)議變成產(chǎn)品只用了不到兩年時間。usb總線是一個星型總線結構,它相對于以往的計算機外設總線(如rs232, rs485)具有以下優(yōu)點:(1)使用方便使用usb接口可以連接多個不同的設備,所有的外設都在機箱外連接,不必打開機箱;支持“熱插拔”,而不必關閉主機電源。在軟件方面,為usb設計的驅動程序和應用軟件可以自動啟動,無需用戶干預。usb設備也不涉及irq(interrupt request,中斷請求)沖突等問題,它單獨使用自己的保留中斷,

27、不會同其它設備爭用pc機有限的資源,為用戶省去了硬件配置的煩惱。usb設備能真正做到“即插即用”(pnp: plug and play),即設備連接后由usb自檢測,并且由軟件自動配置,完成后立刻就能使用,不需要用戶進行干涉。(2)連接靈活usb接口支持多個不同設備的串列連接,一個usb口理論上可以連接127個usb設備。連接的方式也十分靈活,既可以借用集線器使用“串行連接”方式,把多個設備連接在一起,再同pc機的usb口相接;也可以采用“級聯(lián)”方式,即每個usb設備用一個usb插頭連接到一個外設的usb插座上,而其本身又提供一個usb插座。通過這種類似菊花鏈式的連接,一個usb控制器可以連接

28、多達127個外設,而每個外設間距離(線纜長度)可達5米。usb還能智能識別usb鏈上外圍設備的接入或拆卸。(3)應用范圍廣因為usb系統(tǒng)數(shù)據(jù)報文附加信息少,帶寬利用率高,可同時支持同步傳輸和異步傳輸兩種傳輸方式,所以,一個usb系統(tǒng)可同時支持不同速率的設備,如低速的鍵盤、鼠標、顯示器、調(diào)制解調(diào)器、掃描儀、打印機、磁帶機、軟驅、光驅等,全速的isdn(integrated services digital network,綜合服務數(shù)字網(wǎng))、語音,高速的磁盤、圖像等。(4)較強的糾錯能力usb系統(tǒng)可實時管理設備插拔。在usb協(xié)議中包含了傳輸錯誤管理、錯誤恢復等功能,同時根據(jù)不同的傳輸類型來處理傳輸

29、錯誤。使用差分的驅動接收和防護,以保證信號完整性。在數(shù)據(jù)和控制信息上加了crc (cyclic redundancy checks,循環(huán)冗余碼),協(xié)議中對每個包中的控制和數(shù)據(jù)位都提供了循環(huán)冗余碼校驗,若出現(xiàn)了循環(huán)冗余碼的錯誤則被認為是該數(shù)據(jù)包已被損壞,循環(huán)冗余碼可對一位或兩位的錯誤進行100%的修復。協(xié)議在硬件或軟件級上提供對錯誤的處理。硬件的錯誤處理包括:匯報并重新進行上一次失敗的傳輸;傳輸中若遇到錯誤,usb主機控制器將重新進行傳輸,最多可再進行三次;若錯誤依然存在,則對客戶端軟件報告錯誤,客戶端軟件可用一種特定的方法進行處理。(5)速度加快快速性能是usb技術的突出特點之一。usb接口的

30、最高傳輸率目前可達480mb/s,和串口115200b/s的速度相比,相當于串口速度的4000多倍,完全滿足需要大量數(shù)據(jù)交換的外設的需要。(6)內(nèi)置電源普通使用“串口或并口”的設備都需要單獨的供電系統(tǒng),而usb設備則不需要,因為usb接口提供了內(nèi)置電源,外圍設備能夠直接得到5v的電源。電流大小則取決于集線器的端口,范圍從100ma至500ma,因此新的設備就不需要專門的電源了,從而降低了這些設備的成本,并提高了性價比。(7)支持多媒體usb提供了對電話的兩路數(shù)據(jù)支持,usb可支持異步以及等時數(shù)據(jù)傳輸,使電話可與pc集成,共享語音郵件及其它功能等。usb還具有高保真音頻,由于usb音頻信息生成于

31、計算機外,因而減少了電子噪音干擾聲音質量的機會,從而使音頻系統(tǒng)具有更高的保真度。(8)低成本為了把外圍設備連接到pc上去,usb提供了一種低成本的解決方案。所有系統(tǒng)的智能機制都駐留在主機并嵌入芯片組中,方便了外設制造。usb接口電路簡單,易于實現(xiàn),特別是低速設備。綜上所述,把usb總線技術與嵌入式系統(tǒng)相結合是必然的發(fā)展趨勢。但是,usb接口在嵌入式系統(tǒng)中的實現(xiàn)也還存在著難點:例如,usb產(chǎn)品往往涉及到多方面的軟件和硬件聯(lián)合使用,這給產(chǎn)品測試帶了困難;協(xié)議的復雜性造成開發(fā)者需要投入的更多精力,來進行方便用戶使用的設計,特別是無操作系統(tǒng)的嵌入式系統(tǒng),usb主機接口設計往往很復雜。1.2論文章節(jié)安排

32、 本文在對基于arm9嵌入式usb系統(tǒng)進行分析和研究的基礎上,完成了無操作系統(tǒng)的嵌入式usb主機系統(tǒng)和基于 windows2000操作系統(tǒng)開發(fā)的usb從機接口。章節(jié)內(nèi)容的具體安排如下:第一章為緒論,分別對嵌入式系統(tǒng)和usb總線進行了初步介紹,闡明了研究本課題的目的意義。第二章重點分析了usb2.0/otg系統(tǒng)的體系結構和數(shù)據(jù)通信協(xié)議,并概要介紹了usb的基本規(guī)范和機械、電氣特性。第三章通過對arm芯片和接口芯片做出細致介紹,對整個硬件系統(tǒng)進行框架設計。第四章則是針對usb主控制器isp1362和s3c2416微處理器進行了usb主機系統(tǒng)的硬件設計,并在分析usb主機協(xié)議、 mass stora

33、ge協(xié)議和fat32文件系統(tǒng)的基礎上,完成了主機系統(tǒng)的軟件設計。第五章繼續(xù)用isp1362芯片作為接口芯片來設計它的硬件電路設計,接下來在進行設備固件設計的基礎上,分析了wdm驅動程序的設計原理和方法,最終完成了usb驅動程序和應用程序的設計。第六章對本人的工作進行了總結。第2章 usb技術概述為了實現(xiàn)一個usb接口的設計,首先必須理解usb總線規(guī)范。usb規(guī)范復雜而龐大,但是正如協(xié)議本身所聲明的,我們并不是必須通讀整個協(xié)議后才能開始設計一個usb主機/設備。在本章作者將給出必要的關于設計一個usb主機/設備的知識,這些內(nèi)容都是對usb協(xié)議的簡化,詳細的內(nèi)容請參閱本文的參考文獻。2.1 usb

34、基本規(guī)范的發(fā)展過程從1994年usb實施者論壇發(fā)布usb0.7版本到現(xiàn)在的usb2.0和usbotg規(guī)范,usb接口從功能上得到不斷的發(fā)展和完善,基本上已經(jīng)能夠滿足不同類型的數(shù)據(jù)傳輸要求,同時usb規(guī)范在版本上具有向下的兼容性,這樣給usb的相關產(chǎn)品開發(fā)提供了方便。(1) usb1.1規(guī)范usb1.1規(guī)范支持低速(1.5mb/s)和全速(12mb/s)兩種不同速率的數(shù)據(jù)傳輸和4種不同類型的數(shù)據(jù)傳輸方式:控制傳輸(control transfer)、中斷傳輸(interrupttransfer)、批量傳輸(bulk transfer)和同步傳輸(isochronous transfer)。usb

35、運用這4種傳輸就可以完成各種數(shù)據(jù)類型的數(shù)據(jù)傳輸。比如不間斷的音頻流數(shù)據(jù)傳輸,就可用同步傳輸方式來傳輸;fat文件等大容量的數(shù)據(jù)傳輸就可以用批量傳輸?shù)姆绞竭M行,而像鼠標、鍵盤等這種沒有數(shù)據(jù)發(fā)送速度的要求,數(shù)據(jù)量又小的設備就采用的是中斷傳輸方式。每一種傳輸方式都是面向不同的數(shù)據(jù)類型的,都有自身的一些特點。這些特點通過其數(shù)據(jù)結構來體現(xiàn)。(2)usb2.0規(guī)范為了滿足語音和圖像傳輸對總線帶寬的需求,usb2.0規(guī)范在兼容usb1.1的低速和全速數(shù)據(jù)傳輸?shù)幕A上,支持高速(480 mb/s)的傳輸。對于usb2.0規(guī)范,同樣支持控制傳輸、中斷傳輸、批量傳輸和同步傳輸四種形式,在物理結構和拓撲結構上也是完

36、全一樣的。(3)usb otg規(guī)范usb otg規(guī)范是作為對usb2.0規(guī)范的一個補充而出現(xiàn)的,其目的是為了滿足便攜式設備對usb接口的需求。移動數(shù)據(jù)交換和存儲,是近年來信息技術行業(yè)的熱點,可以說移動數(shù)據(jù)交換業(yè)是伴隨著usb的成熟而興起的。usb既是數(shù)據(jù)交換的媒介,又是其核心。根據(jù)usb otg規(guī)范,一個usb接口可以同時具有主機和usb設備兩種功能。(4)usb設備類規(guī)范usb-if將可能的物理設備劃分為不同的類型,每種相似的設備具有類似的通行方式。針對不同類型的設備,usb-if發(fā)布了usb設備類規(guī)范,比如usb人機交互類(hid class)規(guī)范、usb通信類規(guī)范cdc (communi

37、cation device class)、usb大容量存儲類(mass storage class)規(guī)范等。(5)usb host規(guī)范對于usb host接口,在符合usb規(guī)范的基礎上,不同的廠商開發(fā)的usb host器件可能有著不同的結構特性。當前流行的usb host有:適用于usb1.1的ohci (open host control interface,開放式主機控制接口)規(guī)范、uhci (universal host control interface,通用主機控制接口)規(guī)范以及適用usb2.0的ehci (enhanced host control interface,增強型主機控

38、制接口)規(guī)范3。2.2 usb的機械和電器特性標準的usb電纜由三部分組成:a型插頭、b型插頭和電流線。關于這些接插件的尺寸,協(xié)議中都有嚴格規(guī)定,因此,世界上任何一家公司生產(chǎn)的usb電纜都是同一個規(guī)格的,這為usb產(chǎn)品的通用性奠定了基礎。在 12mb/s全速模式下使用帶屏蔽和雙絞的電纜線,而1.5mb/s低速模式則不需要帶屏蔽和雙絞。此外,低速電纜線總長不得超過3米,全速電纜線總長上限為5米。usb電纜采用的是4線結構,電源線為vbus和gnd兩根,差模信號數(shù)據(jù)線為d+和d-兩根。usb制定了2種類型的接插件,即a型接插件和b型接插件。a型插頭位于usb電纜的一端。從方向上來說,它上行指向并連

39、接到主機系統(tǒng),來自于usb設備。a型插座位于usb主機或者是 usb hub上,用于為下層的設備提供連接點。b型插頭位于usb電纜的一端。與a型插頭相反,從方向上來說,b型插頭指向并連接到下層設備,來自于主機或usb hub。b型插座位于usb設備或hub上。usb設備和hub采用2種供電模式,即自供電(self-powered)和總線供電(bus- powered)。所謂自供電,是指usb設備或hub能夠自己提供電源,而無需從v-bus上提取電流,這樣做的好處是該設備在工作時功率不必受usb協(xié)議的限制,可以根據(jù)自身電源的能力任意提取電流;但局限性也是顯而易見的,該設備必須帶有額外的電源設備,

40、增加了體積和成本。而總線供電模式則為耗電量小的設備提供了一種方便的連接方式,能夠完全從usb總線的v-bus獲得所需的電流,但是這樣的設備運行時所耗的功率受到usb協(xié)議的限制,不能無限制的從總線上取得電流。對于低功率設備,最高只能從上行端口獲得100ma的電流;對于大功率設備,最高只能從上行端口獲得500ma的電流2。usb供電的工作狀態(tài)也被分為2種,即正常工作(normal)狀態(tài)和掛起(suspend)狀態(tài)。如果總線供電設備在3ms內(nèi)沒有總線操作,即usb總線處于空閑狀態(tài)的話,該設備就需要自動進入掛起狀態(tài)。這時從總線上提取的電流必須小于 500a,實際上,500a的電流中包括了hub和主機端

41、15k的終端匹配電阻的電流,這個值通常為 220a。因此對于總線供電的設備而言,在進入掛起狀態(tài)后,總的電流功耗不超過 280a。由此可見,這個設備的功耗是非常低的。這便是usb低功耗的一個非常重要的特點。在設備進入掛起狀態(tài)后,可以通過喚醒(resume)操作來恢復到正常工作狀態(tài)。喚醒操作既可由主機發(fā)送喚醒或復位信號來觸發(fā),也可以由設備自行通過遠程喚醒來實現(xiàn)。處于掛起狀態(tài)的設備通過發(fā)送信號給主機,使得主機恢復處理其usb事務。2.3 usb結構介紹2.3.1 總線的物理拓撲結構usb是一種電纜總線,支持在主機和各式各樣的即插即用的外設之間進行數(shù)據(jù)傳輸。由主機預定的標準的協(xié)議使各種設備分享usb帶

42、寬,當其它設備和主機在運行時,總線允許添加、設置、使用以及拆除外設。通過分析usb系統(tǒng)的體系拓撲結構圖2.1可知,任何兩個usb組件之間的連接都是雙向的,這種雙向性非常重要,因為它體現(xiàn)了usb的星型結構拓撲。圖2.1 usb星型拓撲圖這種雙向性即包括拓撲結構中從上而下的方向和從下而上的方向兩種。為了能從連接件上區(qū)分這種雙向性,使得usb的使用者和開發(fā)者能夠方便、直觀的分辨出usb拓撲結構中上、下層的設備。圖2.1中的hub是一類特殊的usb設備,它是一組usb的連接點,主機中有一個被嵌入的hub叫做根hub(root hub)。主機通過根hub提供若干個連接點。為了防止環(huán)狀連接,采用星形連接來

43、體現(xiàn)層次性。用于提供具體功能的設備叫應用設備。許多不同功能的設備放在一起被看作一個整體,叫做包。例如,鍵盤可以被視作一個整體,在它的內(nèi)部,提供具體功能的設備被永久地接到hub上,而這個hub被接到usb上。所有這些設備及這個hub被看作一個復合設備(圓圈中),而這個hub又被看作這個復合設備的內(nèi)部hub。在主機看來,這個復合設備和一個帶著若干設備的單獨hub是一樣的。2.3.2 usb的硬件和軟件元素usb由基本硬件和基本軟件元素構成,其中基本硬件包括:usb主機控制器/根集線器、usb集線器和usb設備。基本軟件包括:用戶軟件、usb設備驅動程序、usbd(usb driver,usb核心驅

44、動程序)和usb主機控制器驅動程序。圖2.2所示的就是包含在usb系統(tǒng)中的硬件和軟件元素以及他們之間的聯(lián)系。主機系統(tǒng)用戶軟件和usb設備驅動程序usb系統(tǒng)軟件(usb中控制器驅動程序)usb中控制器根hubusb設備功能模塊usb邏輯設備usb總線接口邏輯數(shù)據(jù)流實際數(shù)據(jù)流圖2.2 usb系統(tǒng)組成部分圖2.2所示的就是包含在usb系統(tǒng)中的硬件和軟件元素。所有的usb事務處理都由usb軟件進行初始化。這些訪問一般都由一個usb設備驅動程序產(chǎn)生,它們負責和usb設備進行通信。這些usb驅動程序提供了usb設備驅動程序和usb主控制器之間的接口。這些軟件負責把客戶請求轉換為一個或多個事務處理,他們被直

45、接送往一個目標usb設備或者從一個目標usb設備發(fā)出。usb組成硬件元素:(1)usb主機控制器/根集線器usb的所有通信都是在主機端產(chǎn)生的,具體是由軟件控制來實現(xiàn)。主機硬件組成了usb的主機控制器,它初始化usb系統(tǒng)上的事務處理,根集線器為usb設備提供了連接點(或端口)。主機控制器:主機控制器負責產(chǎn)生事務處理,這些事務處理已經(jīng)由主機軟件安排好。主機控制器對一個目標設備執(zhí)行操作,它從一個內(nèi)存緩沖區(qū)(由usb設備驅動程序提供)讀取數(shù)據(jù),并把數(shù)據(jù)發(fā)送到目標設備。主機控制器對數(shù)據(jù)執(zhí)行一個并行到串行的轉換,建立usb的事務處理。如果要求一個讀傳輸,主機控制器就建立一個讀事務處理,并把它發(fā)送到根集線器

46、,根集線器在usb上發(fā)送讀事務處理。目標設備認出地址,并且確定是所要求的數(shù)據(jù),設備就把數(shù)據(jù)發(fā)給根集線器,根集線器再把數(shù)據(jù)傳遞到主機控制器。主機控制器對數(shù)據(jù)進行串行到并行的轉換,并把數(shù)據(jù)放到設備驅動程序的內(nèi)存緩沖區(qū)。根集線器:事務處理由控制器產(chǎn)生,它先被送到根集線器,然后發(fā)送到usb上,每一個usb事務處理在根集線器處產(chǎn)生。根集線器為usb設備提供連接點,并執(zhí)行一些關鍵操作:控制它的usb端口的電源;激活和禁止端口;每一個端口相連的設備;設置和報告與每一個端口相連的狀態(tài)事件(當主機軟件進行查詢的時候)。根集線器由一個集線器控制器和中繼器組成。集線器控制器對集線器自身的存取做出反應,例如,主機軟件

47、提出請求,加上或斷開某個端口上的電源,中繼器把事務處理傳輸?shù)絬sb和主機控制器或者從主機控制器和usb傳到中繼器。(2)usb集線器除了根集線器之外,usb系統(tǒng)還支持附加的集線器,它允許對usb系統(tǒng)進行擴展,附加繼電器提供了一個或多個usb端口用于連接其他的總線設備。usb集線器可以被集成到一個設備內(nèi)部,如鍵盤和顯示器(稱為復合設備),或者作為一個單獨的設備實現(xiàn)。此外,集線器可能是由總線供電,就是說:從它自己處獲得電源,并為和usb相連的所有設備供電??偩€供電的集線器由于受到總線提供功率的限制,所以最多只能支持四個usb端口。(3)usb設備usb設備包含一些設備描述符,它們指出了一個給定設備

48、的屬性和特征。這些設備描述符向主機軟件提供了一系列usb設備的特征和能力,用于配置設備和定位usb客戶軟件的驅動程序。usb設備驅動程序也可以用設備描述符來確定需要的附加信息,這些信息用于保證以正確的形式對設備進行訪問。這項機制被稱為設備構架,軟件必須理解這個機制,因為軟件用它來正確地配置和訪問設備。2.4 usb數(shù)據(jù)通信協(xié)議 “包”是usb最基本的數(shù)據(jù)單元。每一個包,基本上包含了一個完整的usb信息。按照包在整個usb數(shù)據(jù)傳輸中的作用不同,包可以分為4類:令牌包、數(shù)據(jù)包、握手包和特殊包。這些不同的包是怎么來區(qū)分的呢?這就需要把包分解成更小的單元,即“域”。一般來說,一個包就是一串連續(xù)的二進制

49、數(shù),而域就是這些其中的一部分。域又被分為7類:同步序列域、包標識域、地址域、端點域、幀號域、數(shù)據(jù)域和crc校驗域。 以包為基礎,usb定義了4種數(shù)據(jù)的傳輸類型:控制傳輸、中斷傳輸、批量傳輸和同步傳輸。傳輸是一種比較籠統(tǒng)的叫法。比如批量傳輸,顧名思義,這種傳輸類型就是用在大量數(shù)據(jù)的傳輸中。但是在這整個過程中,并不是通過一次批量傳輸來完成,而是分為多個數(shù)據(jù)交換過程。也就是把數(shù)據(jù)分為多份,然后一次次的傳輸,直到所有的數(shù)據(jù)都發(fā)送完畢。因此,這其中的每一次數(shù)據(jù)交換叫做“事務”。每種傳輸方式都由很多個事務來完成,每一筆事務由底層包組成。2.4.1 域域(field),是usb中對一系列有統(tǒng)一意義的二進制數(shù)

50、的稱呼。一般二進制數(shù)中左起第一個成為最高有效位,即msb (most significant byte,最高有效位);而將右起第一個數(shù)稱為最低有效位,即lsb (least significant byte,最低有效位)。按照協(xié)議規(guī)定:usb總線上首先發(fā)送lsb,然后發(fā)送近鄰的下一位,最后發(fā)送msb。由二進制數(shù)域組成包,域可以分為7種類型,以下分別詳細介紹。(1)同步域:sync (synchronization sequence,同步序列域),簡稱為同步域。同步域用于本地時鐘與輸入信號的同步,代表一個包的起始。同步域長度為8位,最后2位作為一個標志,標明標識域的開始。同步域的數(shù)值固定為000

51、00001,同步域位于每一個包的最開始處。(2)標識域:pid (packet identifier field,包標識域),簡稱為標識域。標識域緊跟在同步域之后,作用是標明包的類型和格式,并作為包的錯誤檢測手段的一種。由于同步域主要由硬件來處理,因此,標識域就是usb軟件機制最先收到并處理的包的內(nèi)容。usb主機和設備都要首先對接收到的標識域進行解碼。如果出現(xiàn)錯誤或是該標識域指明的類型或方向不被支持,那么這個包就會被忽略。比如,usb接口芯片中定義的in端點,在接收到out標識域后,就會把相應的包忽略掉。標識域由4位標識符和緊跟的4位標識符的反碼組成,總共8位。標識域中關鍵的標識符由4位二進制

52、數(shù)組成,因而,可以計算出,usb能夠定義的包的類型總共有16種。在usb協(xié)議1. 1中,使用了其中的10種,也就是定義了10種不同類型的包。表2-1 標志域類型數(shù)據(jù)包類型標識域名稱標識符值標志域意義令牌包輸出(out)0001啟動一個方向為主機到設備的數(shù)據(jù)傳輸,并且包含了設備地址和端點號輸入(in)1001啟動一個方向為設備到主機的數(shù)據(jù)傳輸,并且包含了設各地址和端點號幀起始(sor)0101表示一個幀的開始,并且包含了相應的幀號設置(setup)1101啟動一個方向為通過控制管道進行的設置數(shù)據(jù)傳輸,并且包含了設備地址和端點號數(shù)據(jù)包數(shù)據(jù)0(data0)0011偶數(shù)據(jù)包數(shù)據(jù)1(data1)1011

53、奇數(shù)據(jù)包握手包確認(ack)0010接收到?jīng)]有錯誤的數(shù)據(jù)包無效(nak)1010接收端無法接收數(shù)據(jù)或發(fā)送端無法發(fā)送數(shù)據(jù)錯誤(stall)1110端點被禁止或不支持控制管道請求特殊包前導(pre)1100用于啟動下行端口的低速設備的數(shù)據(jù)傳輸(3)地址域:addr (address field,地址域)內(nèi)存放的是設備在主機上的地址,具有唯一性,設備和地址是一一對應,并且由主機分配地址。地址域由7位二進制數(shù)組成,顯然,該地址能夠表示的最大地址容量為128個,而地址00000000被命名為零地址,是任何一個設備第一次連接到主機時,在被主機配置、枚舉前缺省的地址,因此零地址被保留。這樣,usb主機能夠識

54、別的設備總數(shù)為128-1=127個。這也就是usb拓撲結構中最大usb設備個數(shù)為127個的原因。(4)端點域:endp (endpoint field,端點域),也叫做端點號。從硬件的角度看待端點,它其實就是usb中一系列實際的物理數(shù)據(jù)緩沖區(qū),發(fā)送和接收的數(shù)據(jù)都存儲在這里。一個設備可以有很多種傳輸方式來與主機進行數(shù)據(jù)通信,每一種傳輸中都可以有特定的端點。從設備端來說,端點一般都直接由usb接口芯片來提供,功能較強的芯片都會提供多個具有一定容量的端點,開發(fā)人員在設計usb程序時一個任務就是要合理分配這些端點,而每一次usb的數(shù)據(jù)傳輸都是在某一個特定的端點和主機之間進行的。因此,端點號也是每一次usb數(shù)據(jù)傳輸非常重要的參數(shù)。端點域由4位二進制數(shù)組成,因此,一個usb設備能夠擁有的端點容量即為16個。但是,并不是每一種usb設備都能實際擁有16個端點。 usb協(xié)議規(guī)定,低速設備只能定義兩個端點,即端點0和端點1(這個0和1就是端點號)。此外,除端點0以外,任何一個端點都可以定義為in端點或是out端點,因此一個全速設備則能定義32個端點。很多

溫馨提示

  • 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

提交評論