USB及其設(shè)備開(kāi)發(fā)
出處:chenweicn 發(fā)布于:2007-04-29 09:27:21
USB及其設(shè)備開(kāi)發(fā)
張 瑾
(河南省化學(xué)工業(yè)技工學(xué)校 河南開(kāi)封 475002)
USB(Universal Serial Bus)通用串行總線(xiàn)。是1995年康柏、微軟、IBM、DEC等公司為解決傳統(tǒng)總線(xiàn)的不足而推廣的一種新型的通信標(biāo)準(zhǔn)。該總線(xiàn)接口具有安裝方便、高帶寬、易于擴(kuò)展等優(yōu)點(diǎn),已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì)。同時(shí)USB又是一種通信協(xié)議,支持主系統(tǒng)與其外設(shè)之間的數(shù)據(jù)傳送。
1 USB的特點(diǎn)
(1)速度快
USB接口的傳輸速度高達(dá)4 80 Mb/s,和串口11 5 200 b/s的速度相比,相當(dāng)于串口速度的4 ooO多倍,完滿(mǎn)足需要大量數(shù)據(jù)交換的外設(shè)的要求。
(2)使用方便,支持熱插拔
其設(shè)備單獨(dú)使用自己的保留中斷,不會(huì)同其他設(shè)備爭(zhēng)奪PC機(jī)資源,不會(huì)涉及IRQ沖突問(wèn)題。其驅(qū)動(dòng)程序和應(yīng)用軟件可自啟動(dòng)。
(3)無(wú)需外接電源
一些采用普通串口或并口設(shè)備比如打印機(jī)、掃描儀等都需要相應(yīng)的外接電源系統(tǒng),而USB外部設(shè)備直接利用USB接口提供的電源,能向低壓設(shè)備提供5 V的電源,無(wú)需外接專(zhuān)門(mén)的交流電源。
(4)連接靈活
USB接口支持多個(gè)不同設(shè)備的串列連接,1個(gè)USB口理論上可連接127個(gè)USB設(shè)備。連接方式既可使用串行連接,也可通過(guò)中樞轉(zhuǎn)接頭(即Hub)把多個(gè)設(shè)備連接在一起再和PC機(jī)的USB口相連接。
2 USB接口針腳和信號(hào)定義
USB使用一個(gè)4針插頭作為標(biāo)準(zhǔn)插頭。通過(guò)這個(gè)標(biāo)準(zhǔn)插頭,采用菊花鏈形式可以把所有的外設(shè)連接起來(lái),并且不會(huì)損失帶寬。USB接口針腳如圖1所示。
3.USB的結(jié)構(gòu)及傳輸方式
3.1 USB的結(jié)構(gòu)
USB采用菊花鏈結(jié)構(gòu),多可以同時(shí)連接1 2 7臺(tái)設(shè)備,由總線(xiàn)提供電源,并有檢錯(cuò)、糾錯(cuò)功能以保證數(shù)據(jù)正確傳輸。usB規(guī)范將uSB分為5個(gè)部分:控制器、控制器驅(qū)動(dòng)程序、USB芯片驅(qū)動(dòng)程序、USB設(shè)備以及針對(duì)不同USB設(shè)備的驅(qū)動(dòng)程序。
(1)控制器 主要負(fù)責(zé)執(zhí)行由控制器驅(qū)動(dòng)程序發(fā)出的命令。
(2)控制器驅(qū)動(dòng)程序 在控制器與USB設(shè)備之間建立通信信道。
(3)USB芯片驅(qū)動(dòng)程序 提供對(duì)USB的支持。
(4)USB設(shè)備 包括與PC相連的USB外圍設(shè)備,分為2類(lèi):一類(lèi)設(shè)備本身可再接其他USB外圍設(shè)備;另一類(lèi)設(shè)備本身不可再連接其他外圍設(shè)備。前者稱(chēng)為集線(xiàn)器,后者稱(chēng)為設(shè)備?;蛘哒f(shuō),集線(xiàn)器帶有連接其他外圍設(shè)備的USB端口,而設(shè)備則是連接在計(jì)算機(jī)上用來(lái)完成特定功能并符合USB規(guī)范的設(shè)備單元,如鼠標(biāo)、鍵盤(pán)等。
(5)設(shè)備驅(qū)動(dòng)程序 就是用來(lái)驅(qū)動(dòng)USB設(shè)備的程序,通常由操作系統(tǒng)或USB設(shè)備制造商提供。
3.2 USB的傳輸方式
針對(duì)設(shè)備對(duì)系統(tǒng)資源需求的不同,在USB規(guī)范中規(guī)定了4種不同的數(shù)據(jù)傳輸方式:
(1)等時(shí)傳輸方式 該方式用來(lái)連接需要連續(xù)傳輸,且對(duì)數(shù)據(jù)的正確性要求不高而高而對(duì)時(shí)間極為敏感的外部設(shè)備,如麥克風(fēng)、音箱以及電話(huà)等。等時(shí)傳輸方式以固定的傳輸速率連續(xù)不斷地在主機(jī)與USB設(shè)備之間傳輸數(shù)據(jù),在傳送數(shù)據(jù)發(fā)生錯(cuò)誤時(shí),USB并不處理這些錯(cuò)誤,而是繼續(xù)傳送新的數(shù)據(jù)。
(2)中斷傳輸方式 該方式傳送的數(shù)據(jù)量很小,但這些數(shù)據(jù)需要及時(shí)處理,以達(dá)到實(shí)時(shí)效果,此方式主要用在鍵盤(pán)、鼠標(biāo)以及游戲手柄等外部設(shè)備上。
(3)控制傳輸方式 該方式用來(lái)處理主機(jī)USB設(shè)備的數(shù)據(jù)傳輸。包括設(shè)備控制指令、設(shè)備狀態(tài)查詢(xún)及確認(rèn)命令。當(dāng)USB設(shè)備收到這些數(shù)據(jù)和命令后,將依據(jù)先進(jìn)先出的原則按隊(duì)列方式處理到達(dá)的數(shù)據(jù)。
(4)批傳輸方式 該方式用來(lái)傳輸要求正確無(wú)誤的數(shù)據(jù)。通常打印機(jī)、掃描儀和數(shù)碼相機(jī)以這種方式與主機(jī)連接。
在這4種數(shù)據(jù)傳輸方式中,除等時(shí)傳輸方式外,其他3種方式在數(shù)據(jù)傳輸發(fā)生錯(cuò)誤時(shí),都會(huì)試圖重新發(fā)送數(shù)據(jù)以保證其準(zhǔn)確性。
4 USB接口標(biāo)準(zhǔn)
從1 9 94年11月11 IEI發(fā)布了USB V0.7版本以后,USB版本經(jīng)歷了6年的發(fā)展,到現(xiàn)在已經(jīng)到了2.0的版本。
USB 1.1標(biāo)準(zhǔn)接VI傳輸速率為1 2 Mb/s,理論上可以支持1 27個(gè)裝置,通過(guò)USB Hub即USB擴(kuò)展器連接多個(gè)周邊設(shè)備,連接線(xiàn)纜的長(zhǎng)度為5 m。
COMPAQ,Hewlett Packard, Intel,Lucent,Microsoft,NEC和Philips這7家廠商聯(lián)合制定了USB 2·0接口標(biāo)準(zhǔn)。USB 2.0將設(shè)備之間的數(shù)據(jù)傳輸速度增加到了480 Mb/s,~gUSB 1.1標(biāo)準(zhǔn)快40倍左右,速度的提高對(duì)于用戶(hù)的好處是可以使用更高效的外部設(shè)備,而且具有多種速度的周邊設(shè)備都可以連接到USB 2.0的線(xiàn)路上,不像USB 1.1時(shí)代,因?yàn)楦邘捠沟酶嗟脑O(shè)備無(wú)需擔(dān)心數(shù)據(jù)傳輸時(shí)發(fā)生瓶頸效應(yīng)。USB 2.0可以使用原來(lái)USB定義中同樣規(guī)格的線(xiàn)纜,接頭的規(guī)格也完全相同,在高速的前提下同樣保持了USB 1.1的特色,也保證了向下兼容。
5 USB典型應(yīng)用
理論上講,USB技術(shù)由3部分組成:具備USB接口的Pc系統(tǒng)、能夠支持USB的系統(tǒng)軟件和使用UsB接口的設(shè)備。USB需要主機(jī)硬件、操作系統(tǒng)和外設(shè)3個(gè)方面的支持才能工作。目前主板一般都采用支持USB功能的控制芯片組,而且也安裝了USB接口插槽。Windows 98及以上版本的操作系統(tǒng)都內(nèi)置了對(duì)USB接口的支持(但WindowsNT不支持USB)。在操作系統(tǒng)擁有了對(duì)USB設(shè)備的支持后,安裝USB設(shè)備以及相應(yīng)的驅(qū)動(dòng)程序。目前,USB已經(jīng)在Pc機(jī)的多種多卜設(shè)上得到應(yīng)用,從初的打印機(jī)、掃描儀,發(fā)展到攝像頭、數(shù)碼相機(jī)、鼠標(biāo)、鍵盤(pán)、硬盤(pán)、Modem、U盤(pán)、手機(jī)等。板載接口也從早期的2個(gè)增加至4個(gè)接El,板上一般還有兩個(gè)擴(kuò)展針接口,同期出現(xiàn)了前置接口和USB Hub。USB系統(tǒng)的典型應(yīng)用如圖2所示。
在圖2所示系統(tǒng)中,顯示器、Audio,Modem皆為全速設(shè)備,鍵盤(pán)、鼠標(biāo)為低速設(shè)備。
6 USB端口軟件結(jié)構(gòu)
USB端口軟件結(jié)構(gòu)如圖3所示。
(1)USB接El驅(qū)動(dòng)程序
USB接口驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:
①USB接El器件的初始化。
②計(jì)算上層數(shù)據(jù)包的校驗(yàn)和,發(fā)送上層的數(shù)據(jù)包。
③發(fā)送SOF幀。
④接收從USB接口傳送來(lái)的數(shù)據(jù),并檢查數(shù)據(jù)的有
效性。
⑤將接收到的數(shù)據(jù)送往上層。
(2)USB協(xié)議棧驅(qū)動(dòng)程序
USB協(xié)議棧驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:
①提供與設(shè)備驅(qū)動(dòng)程序的接El。
②讀取并解析USB設(shè)備描述符,配置描述符。
③為USB設(shè)備分配惟一的地址。
④使用默認(rèn)的配置來(lái)配置設(shè)備。
⑤支持基本的USB命令請(qǐng)求。
⑥連接設(shè)備與相應(yīng)的驅(qū)動(dòng)程序。
⑦轉(zhuǎn)發(fā)設(shè)備驅(qū)動(dòng)程序的數(shù)據(jù)包。
(3)設(shè)備驅(qū)動(dòng)程序
設(shè)備驅(qū)動(dòng)程序需實(shí)現(xiàn)以下功能:
①提供與應(yīng)用程序的接口。
②讀取并解析USB設(shè)備特有的描述符,獲得設(shè)備提供的傳輸通道。
③發(fā)送設(shè)備特有的和基本的USB命令請(qǐng)求。
④通過(guò)設(shè)備提供的傳輸通道與設(shè)備進(jìn)行數(shù)據(jù)傳輸。
⑤通過(guò)USB命令請(qǐng)求重新配置設(shè)備。
7 USB設(shè)備的開(kāi)發(fā)
(1)需要一臺(tái)支持USB PC如果要開(kāi)發(fā)WDM驅(qū)動(dòng)程序則需要一臺(tái)有以下配置的PC:
(2)編寫(xiě)USB Device的規(guī)格書(shū)。
(3)購(gòu)買(mǎi)相應(yīng)的評(píng)估板和評(píng)估軟件,并找到盡可能多的實(shí)例源程序代碼,然后需要有MCU的程序編譯器。
(4)購(gòu)買(mǎi)其他在開(kāi)發(fā)中要用到的設(shè)備,如總線(xiàn)分析儀USB Hubs,競(jìng)爭(zhēng)者的相應(yīng)USB設(shè)備,以及USB鼠標(biāo)、USB鍵盤(pán)等。
(5)編寫(xiě)或改寫(xiě)USB驅(qū)動(dòng)程序MCU,固件程序和客戶(hù)程序代碼。
(6)參加USB遵從試驗(yàn)在不同的系統(tǒng)與配置驗(yàn)iiEUSB設(shè)備。
8 驅(qū)動(dòng)程序編寫(xiě)
USB的驅(qū)動(dòng)程序和以往直接跟硬件打交道的Windows 95的VXD方式驅(qū)動(dòng)程序不同,他是WDM類(lèi)型的Windows下的USB軟件,USB軟件總體框圖如圖4所示。
9 結(jié) 語(yǔ)
觀USB技術(shù)的整個(gè)發(fā)展過(guò)程,從誕生到成為絕大多數(shù)PC外設(shè)的標(biāo)準(zhǔn)接口,在提高速度后應(yīng)用到幾乎所有PC外設(shè)領(lǐng)域,USB為接E1種類(lèi)繁多的存儲(chǔ)媒介與主機(jī)之間提供了方便可靠的連接。USB應(yīng)用與開(kāi)發(fā)也將不斷發(fā)展,不斷完善。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹(shù)莓派?一文快速了解樹(shù)莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線(xiàn)寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 微帶線(xiàn)阻抗匹配設(shè)計(jì)與實(shí)操調(diào)試技巧
- 從S參數(shù)到實(shí)際元件:微帶線(xiàn)濾波器的設(shè)計(jì)與仿真流程
- IP67/IP68連接器設(shè)計(jì)解析
- 電源管理IC失效的常見(jiàn)原因
- MOSFET體二極管特性分析
- PCB高頻高速信號(hào)布線(xiàn)設(shè)計(jì)核心規(guī)范(實(shí)操版)
- 基于FPGA的FIR濾波器硬件實(shí)現(xiàn):架構(gòu)優(yōu)化與資源管理
- 工業(yè)自動(dòng)化設(shè)備連接器選型指南
- 提高電源管理IC可靠性的設(shè)計(jì)方法
- MOSFET柵極驅(qū)動(dòng)電路設(shè)計(jì)技巧









