日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

USB技術(shù)入門

出處:電子市場(chǎng)網(wǎng) 發(fā)布于:2013-08-23 13:39:43

  一、前言

  隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,個(gè)人計(jì)算機(jī)(PC)的用戶擴(kuò)展不斷擴(kuò)大。然而一些系統(tǒng)I/O(如IRQ、DMA和I/O端口地址)限制了它的使用。于是一些新的接口標(biāo)準(zhǔn)如USB、IEEE1394應(yīng)運(yùn)而生,本文著重介紹通用串行總線(USB)。對(duì)于使用了USB接口的PC,用戶不需要打開機(jī)蓋,手工配置系統(tǒng)I/O,并為不同的外設(shè)接口發(fā)愁。而只需極其簡(jiǎn)單的安裝與配置即可使用外設(shè)。USB提供即插即用(Plug & Play)和熱插拔功能,可以在不斷電的情況下直接將外設(shè)連接到USB上,且馬上就可以被系統(tǒng)識(shí)別使用。所有的USB外設(shè)接口“ONE-SIZE-FITS-ALL”,可以簡(jiǎn)單方便的連接入計(jì)算機(jī)中。USB系統(tǒng)采用級(jí)聯(lián)星型拓?fù)浣Y(jié)構(gòu),每個(gè)USB設(shè)備用一個(gè)USB插頭連接到一個(gè)外設(shè)的插座上,而其本身又提供一個(gè)插座供下一個(gè)外設(shè)連接用。通過這種類似菊花鏈似的連接,一個(gè)USB控制器可以連接多達(dá)127個(gè)外設(shè),而每個(gè)外設(shè)間距離(線纜長(zhǎng)度)可達(dá)5米。為PC的USB外設(shè)擴(kuò)充提供了一個(gè)很好的解決方案。

  二、USB基本特性

  USB的硬件結(jié)構(gòu)

  USB采用四線電纜,其中兩根是用來傳送數(shù)據(jù)的串行信道,另兩根為下流(Downstream)設(shè)備提供電源,D+、D- 是串行數(shù)據(jù)通信線,它支持兩種數(shù)據(jù)傳輸率,對(duì)于高速需要高帶寬的外設(shè),USB以全速12Mbps傳輸數(shù)據(jù)。對(duì)于低速外設(shè),USB則以1.5 Mbps的傳輸速率傳輸數(shù)據(jù)。USB總線會(huì)根據(jù)外設(shè)情況在兩種傳輸模式中自動(dòng)動(dòng)態(tài)轉(zhuǎn)換。VBUS是通常為+5V的電源,GND是地線。USB是基于令牌的總線,類似于像令牌環(huán)網(wǎng)絡(luò)或FDDI基于令牌的總線。USB主控制器廣播令牌,總線上設(shè)備檢測(cè)令牌中的地址是否與自身相符,通過接受或發(fā)送數(shù)據(jù)給主機(jī)作響應(yīng)。USB通過支持懸掛/恢復(fù)操作來管理USB總線電源。USB系統(tǒng)采用級(jí)聯(lián)星型拓?fù)浼搭惥栈ㄦ溸B接

  該拓?fù)溆扇齻€(gè)基本部分組成:主機(jī)(Host)、集線器(Hub)和功能設(shè)備。主機(jī),也被稱為根、根結(jié)或根Hub.它是做在主板上的,或作為適配卡安裝在計(jì)算機(jī)上。主機(jī)包含有主控制器和根集線器(Root hub),它控制著USB總線上的數(shù)據(jù)和控制信息的流動(dòng)。每個(gè)USB系統(tǒng)只能有一個(gè)根集線器,它連接在主控制器上。集線器是USB結(jié)構(gòu)中的特定成分,它提供叫做端口(Port)的點(diǎn)來將設(shè)備連接到USB總線上。同時(shí)檢測(cè)連接在總線上的設(shè)備,并為這些設(shè)備提供電源管理,負(fù)責(zé)總線故障檢測(cè)和恢復(fù)。集線器或是為總線提供能源,或是自身提供能源(從外部得到電源)。自身提供能源的設(shè)備可插入總線提供能源的集線器中,總線提供能源的設(shè)備不能插入自身提供能源的集線器或支持超過四個(gè)的下游端口中??偩€提供能源的設(shè)備需要超過的100mA電源時(shí),不能同總線提供電源的集線器連接。功能設(shè)備通過端口與總線連接。USB設(shè)備同時(shí)可做Hub使用。例如,USB監(jiān)視器可以提供USB鼠標(biāo)和USB鍵盤的端口。USB集線器使用A類連接器,設(shè)備使用B類連接器。

  USB的軟件結(jié)構(gòu)

  USB通信模塊的基本流圖,主機(jī)和設(shè)備被分為幾層。實(shí)箭頭表示主機(jī)上的實(shí)際通信。設(shè)備上的相應(yīng)接口根據(jù)不同的儀器而不同。主機(jī)和設(shè)備間的通信終發(fā)生在物理線上,然而,在每一水平層之間存在著邏輯接口。主機(jī)中客戶程序軟件與設(shè)備功能間的通信代表了設(shè)備需求與設(shè)備能力之間的約定。

  每個(gè)USB只有一個(gè)主機(jī),它包括以下幾層:

  USB總線接口

  USB系統(tǒng)

  USB客戶軟件

  USB總線接口處理電氣層與協(xié)議層的互連。從互連的角度來看,相似的總線接口由設(shè)備及主機(jī)同時(shí)給出,例如串行接口機(jī)(SIE)。USB總線接口由主控制器實(shí)現(xiàn)。

  USB系統(tǒng)用主控制器管理主機(jī)與USB設(shè)備間的數(shù)據(jù)傳輸。它與主控制器間的接口依賴于主控制器的硬件定義。同時(shí),USB系統(tǒng)也負(fù)責(zé)管理USB資源,例如帶寬和總線能量。這使客戶訪問USB成為可能。

  USB系統(tǒng)有三個(gè)基本組件:

  主控制器驅(qū)動(dòng)程序(HCD)

  USB驅(qū)動(dòng)程序(USBD)

  主機(jī)軟件

  主控制器驅(qū)動(dòng)程序能夠更容易的將不同主控制器設(shè)備映像到USB系統(tǒng)中。因此客戶可以在不知其設(shè)備連接那個(gè)主控制器的情況下與設(shè)備相互作用。HCD與USBD間的接口叫HCDI,特定的HCDI由支持不同主控制器的操作系統(tǒng)定義。通用主控制器驅(qū)動(dòng)器(UHCD)處于軟結(jié)構(gòu)的層,由它來管理和控制主控制器。USB主控制器定義了一個(gè)標(biāo)準(zhǔn)硬件接口,以提供一個(gè)統(tǒng)一的主控制器可編程接口。UHCD實(shí)現(xiàn)了與USB主控制器通信和控制USB主控制器的一些根本細(xì)節(jié),并且它對(duì)系統(tǒng)軟件的其它部分是隱蔽的。系統(tǒng)軟件中的更高層通過UHCD的軟件接口與主控制器通信。

  USB驅(qū)動(dòng)程序(USBD)位于UHCD之上。它提供驅(qū)動(dòng)器級(jí)的接口,滿足現(xiàn)有設(shè)備驅(qū)動(dòng)器設(shè)計(jì)的要求,USBD所實(shí)現(xiàn)的準(zhǔn)確細(xì)節(jié)隨不同操作系統(tǒng)環(huán)境而有所不同,但USBD在不同操作系統(tǒng)環(huán)境下完成的是一樣的工作。USBD以I/O請(qǐng)求包(IRPs)的形式提供數(shù)據(jù)傳輸構(gòu)架,它由通過特定管道(Pipe)傳輸數(shù)據(jù)的需求組成。此外,USBD使客戶端出現(xiàn)設(shè)備的一個(gè)抽象,以便于抽象和管理。作為抽象的一部分,USBD擁有缺省的管道。通過它可以訪問所有的USB設(shè)備以進(jìn)行標(biāo)準(zhǔn)的USB控制。該缺省管道描述了一條USBD和USB設(shè)備間通信的邏輯信道。

  在某些操作系統(tǒng)中,沒有提供USB系統(tǒng)軟件。這些軟件本來是用于向設(shè)備驅(qū)動(dòng)程序提供配置信息和裝載結(jié)構(gòu)的。在這些操作系統(tǒng)中,設(shè)備驅(qū)動(dòng)程序?qū)?yīng)用提供的接口而不是直接訪問USBDI結(jié)構(gòu)。

  客戶軟件位于軟件結(jié)構(gòu)的層,它負(fù)責(zé)處理特定USB設(shè)備的設(shè)備驅(qū)動(dòng)器。客戶程序?qū)用枋隽怂兄苯幼饔糜谠O(shè)備的軟件入口。當(dāng)設(shè)備被系統(tǒng)檢測(cè)到,這些客戶程序?qū)⒅苯幼饔糜谕鈬布_@個(gè)共享的特性將USB系統(tǒng)軟件置于客戶和它的設(shè)備之間,也就是說,一個(gè)客戶程序不能直接訪問設(shè)備硬件,而是根據(jù)USBD在客戶端形成的設(shè)備映像由客戶程序?qū)λM(jìn)行處理。

  總體上說,主機(jī)各層有以下功能:

  檢測(cè)連接和移去的USB設(shè)備

  管理主機(jī)和USB設(shè)備間的數(shù)據(jù)流

  連接USB狀態(tài)和活動(dòng)統(tǒng)計(jì)

  控制主控制器和USB設(shè)備間的電氣接口,包括限量能量供應(yīng)

  控制信息可能以帶內(nèi)方式或帶外方式在主機(jī)和設(shè)備間傳輸。帶內(nèi)方式將控制信息與數(shù)據(jù)混在一個(gè)管道內(nèi);帶外方式將控制信息與數(shù)據(jù)放在分離的管道內(nèi)。

  每一個(gè)連上的USB設(shè)備都有一個(gè)被稱為缺省管道的消息管道。為了像設(shè)備列舉和配置這樣的標(biāo)準(zhǔn)流控制,在USB設(shè)備和主機(jī)之間建立邏輯關(guān)聯(lián)。缺省管道為所有的設(shè)備提供了一個(gè)標(biāo)準(zhǔn)的接口。缺省信道也用于設(shè)備通信,由USBD作為中介,USBD擁有所有設(shè)備的缺省信道。

  特別的USB設(shè)備允許使用附加的消息管道傳輸具體設(shè)備的控制信息。這些管道使用相同的通信協(xié)議作為缺省信道,但傳輸?shù)男畔⒈仨毦唧w到特定的設(shè)備,而不被規(guī)范標(biāo)準(zhǔn)化。USBD支持其客戶共享它擁有和使用的缺省信道。它也可以訪問其它設(shè)備的控制管道。

  基于不同級(jí)別的抽象,HCD和USBD提供不同的軟件接口。他們被希望以某種特殊的方式一起工作來滿足所有USB系統(tǒng)的需求。USB系統(tǒng)的需求主要體現(xiàn)為對(duì)USBDI的需求。USBD和HCD間任務(wù)的區(qū)分沒有定義。然而,在特定的操作系統(tǒng)中支持多主控制器設(shè)備是HCDI必須滿足的需求。

  HCD提供了主控制器的抽象和通過USB傳輸?shù)臄?shù)據(jù)的主控制器視角的一個(gè)抽象。USBD提供了USB設(shè)備的抽象和USBD客戶與USB功能間數(shù)據(jù)傳輸?shù)囊粋€(gè)抽象??傊琔SB系統(tǒng)促進(jìn)客戶和功能間的數(shù)據(jù)傳輸,并作為USB設(shè)備的規(guī)范接口的一個(gè)控制點(diǎn)。USB系統(tǒng)提供緩沖區(qū)管理能力并允許數(shù)據(jù)傳輸同步與客戶和功能的需求。

  USB上的數(shù)據(jù)流傳輸

  主控制器負(fù)責(zé)主機(jī)和USB設(shè)備間數(shù)據(jù)流的傳輸。這些傳輸數(shù)據(jù)被當(dāng)作連續(xù)的比特流。每個(gè)設(shè)備提供了一個(gè)或多個(gè)可以和客戶程序通信的接口。每個(gè)接口由0個(gè)或多個(gè)管道組成,這些管道分別獨(dú)立地在客戶程序和設(shè)備的特定終端間傳輸數(shù)據(jù)。USBD為主機(jī)軟件的現(xiàn)實(shí)需求建立了接口和管道。當(dāng)提出配置請(qǐng)求時(shí),主控制器基于主機(jī)軟件提供的參數(shù)提供服務(wù)。

  USB支持四種基本的數(shù)據(jù)傳輸模式:

  控制傳輸

  同步傳輸

  中斷傳輸

  數(shù)據(jù)塊傳輸

  每種傳輸模式應(yīng)用到具有相同名字的終端,具有不同的性質(zhì)??刂苽鬏旑愋椭С滞庠O(shè)與主機(jī)之間的控制、狀態(tài)、配置等信息的傳輸,為外設(shè)與主機(jī)之間提供一個(gè)控制信道。每種外設(shè)都支持控制傳輸類型,這樣主機(jī)PC與外設(shè)之間就可以傳送配置和命令/狀態(tài)信息。

  等時(shí)(Isochronous)傳輸類型支持有周期性、有限的時(shí)延和帶寬、且數(shù)據(jù)傳輸速率不變的外設(shè)與主機(jī)間的數(shù)據(jù)傳輸。該類型無(wú)差錯(cuò)校驗(yàn),故不能保證正確的數(shù)據(jù)傳輸,支持像計(jì)算機(jī)-電話集成系統(tǒng)(CTI)和音頻系統(tǒng)與主機(jī)的數(shù)據(jù)傳輸。

  中斷傳輸類型支持像游戲棒、鼠標(biāo)和鍵盤等人機(jī)輸入設(shè)備,這些設(shè)備與主機(jī)間數(shù)據(jù)傳輸量小、無(wú)周期性,但對(duì)響應(yīng)時(shí)間敏感,要求馬上響應(yīng)。

  數(shù)據(jù)塊(Bulk)傳輸類型支持打印機(jī)、掃描儀、數(shù)字相機(jī)等外設(shè),這些外設(shè)與主機(jī)間傳輸?shù)臄?shù)據(jù)量很大,USB在滿足帶寬的情況下才進(jìn)行該類型的數(shù)據(jù)傳輸。

  USB采用分塊帶寬分配方案,若外設(shè)超過當(dāng)前帶寬分配或潛在的要求,則拒絕進(jìn)入該設(shè)備。同步和中斷傳輸類型的終端保留帶寬,并保證數(shù)據(jù)按一定的速率傳送。集中和控制終端按可用的帶寬來傳輸數(shù)據(jù)。但是,10%的帶寬為批量處理和控制傳送而保留,數(shù)據(jù)塊傳輸僅在帶寬滿足要求的情況下才會(huì)出現(xiàn)。

  USB采用1ms幀時(shí)間框來傳輸數(shù)據(jù),主控制器通過產(chǎn)生框開始(SOF)來開始每幀的傳輸。

  SOF標(biāo)志擁有訪問總線的權(quán)限,在框結(jié)束(EOF)間隔串音電路與其它活動(dòng)的傳輸器電氣地獨(dú)立,并為SOF傳輸提供空閑總線

  USB的即插即用

  USB一個(gè)主要優(yōu)點(diǎn)就是支持設(shè)備的熱插拔,用戶不需要關(guān)閉電源就可以接上和使用USB設(shè)備。USB集線器驅(qū)動(dòng)程序枚舉設(shè)備,并通知系統(tǒng)設(shè)備就緒。USB設(shè)備使用描述符來識(shí)別設(shè)備和其使用的協(xié)議。串口號(hào)產(chǎn)生P&P用的ID,端口地址指明設(shè)備連接的端口和集線器。若設(shè)備不提供串口號(hào),則USB使用設(shè)備端口地址。

  當(dāng)一個(gè)新設(shè)備被USB集線器檢測(cè)到,馬上通知主系統(tǒng),系統(tǒng)軟件就查詢?cè)撛O(shè)備,自動(dòng)確定所需設(shè)備驅(qū)動(dòng)器軟件和總線帶寬,然后對(duì)它進(jìn)行配置。系統(tǒng)軟件裝載了合適的驅(qū)動(dòng)器軟件,用戶馬上就可以使用新設(shè)備。

  三、USB編程

  USB編程主要是指USB驅(qū)動(dòng)程序編程和USB客戶軟件編程。

  USB驅(qū)動(dòng)程序接口

  Windows 98通過允許USB設(shè)備驅(qū)動(dòng)程序棧通訊支持USB.在USB驅(qū)動(dòng)程序和USB驅(qū)動(dòng)程序棧之間是USB驅(qū)動(dòng)程序接口(USBDI)。在Windows 98中,這種通訊是在WDM結(jié)構(gòu)中實(shí)現(xiàn)的。

  Usbhub.sys是USB集線器驅(qū)動(dòng)程序。當(dāng)Usbd.sys枚舉每個(gè)USB主機(jī)控制器中的根結(jié)點(diǎn)集線器時(shí)被加載。

  Usbd.sys是類USB驅(qū)動(dòng)程序。

  Uhcd.sys(通用主機(jī)控制驅(qū)動(dòng)程序)以及Ohcd.sys(開放主機(jī)控制驅(qū)動(dòng)程序)是USB主機(jī)控制器驅(qū)動(dòng)程序。

  另外,Hidclass.sys(WDM輸入類驅(qū)動(dòng)程序)接受和發(fā)送到小驅(qū)動(dòng)程序的HID。Hidusb.sys通過USB接受和發(fā)送HID。當(dāng)檢測(cè)到USB總線時(shí),PCI枚舉器加載USB棧驅(qū)動(dòng)程序部分,并加載至少一個(gè)組件。

  USB 驅(qū)動(dòng)程序和USB客戶程序

  USB 驅(qū)動(dòng)程序編寫是和硬件相關(guān)聯(lián)的。在器件方面,適合產(chǎn)品開發(fā)的系列芯片有Intel公司的8X930系列(基于MCS-51微處理器的內(nèi)核結(jié)構(gòu))和8X931系列(基于MCS-251微處理器的內(nèi)核結(jié)構(gòu))、National Semiconductor公司的 USBN9602等。Intel公司和第三方提供了一個(gè)完整的硬件和軟件開發(fā)工具,Keil、IAR、PLC和Tasking等公司提供了具有ANSI C交叉編譯器、匯編器、連接器/定位器、調(diào)試器和仿真器的軟件開發(fā)工具。AMI、Phoenix Technologics和 systemSoft等公司提供了設(shè)備驅(qū)動(dòng)器和外圍微控制程序(firmware)。

  針對(duì)選用的USB控制器,從第三方得到所需的軟件,包括匯編器或編譯器、連接器/定位器和調(diào)試器等,用它們實(shí)現(xiàn)USB設(shè)備驅(qū)動(dòng)器。對(duì)USB 驅(qū)動(dòng)程序編譯成功后進(jìn)行連接/定位,用調(diào)試器調(diào)試后加載在目標(biāo)系統(tǒng)中。

  雖然USB的物理和邏輯拓?fù)浞从沉丝偩€的共享特性,客戶軟件(CSW)只處理它感興趣的USB功能接口。USB功能的客戶軟件必須用USB軟件編程接口來處理各種功能,而不是像其它總線那樣通過地址或I/O訪問直接處理它們的功能。在這個(gè)過程中,客戶軟件獨(dú)立于連接在USB上的其它設(shè)備。這使設(shè)備和客戶軟件的設(shè)計(jì)者將精力集中于軟硬件間相互作用的設(shè)計(jì)細(xì)節(jié)。

  USB的客戶程序?qū)嶋H上是對(duì)客戶端設(shè)備映像的操作,這些映像由USBD或HCD產(chǎn)生。在98ddk中,存在著一組叫做USBD Interface (USBDI)函數(shù)的API函數(shù)集。該函數(shù)集包括了傳輸函數(shù),管道(Pipe)函數(shù),設(shè)備配置函數(shù)及其它函數(shù)。應(yīng)用這些函數(shù)可編寫支持任何USB兼容設(shè)備的USB驅(qū)動(dòng)程序和客戶程序。其中,管道(Pipe)是USB設(shè)備驅(qū)動(dòng)程序建立的邏輯通信信道。

  四、結(jié)論

  USB為個(gè)人計(jì)算機(jī)(PC)外圍設(shè)備輸入輸出提供了新的接口標(biāo)準(zhǔn)。它使得設(shè)備具有了熱插拔、即插即用、自動(dòng)配置的能力,并標(biāo)準(zhǔn)化了設(shè)備連接。USB的級(jí)聯(lián)星型拓?fù)浣Y(jié)構(gòu)大大擴(kuò)充了外設(shè)數(shù)量,使增加、使用外設(shè)更加便捷、快速。新提出的USB2.0標(biāo)準(zhǔn)更是將數(shù)據(jù)傳輸速率提高到了一個(gè)新的高度,因而擁有美好的應(yīng)用前景。

關(guān)鍵詞:USB驅(qū)動(dòng)USB接口串行總線

版權(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://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

SI3050-EI-FT USB接口芯片
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!