日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

USB基本概念介绍

發布時間:2024/6/21 综合教程 47 生活家
生活随笔 收集整理的這篇文章主要介紹了 USB基本概念介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是USB

USB是Universal Serial Bus的縮寫,翻譯為中文就是通用串行總線。在USB出現之前,計算機領域已經存在很多的接口,這些接口互相都有自己的應用領域,并且之間互不兼容,用戶為了使用不同的應用,需要配置不同的硬件接口。USB的出現就是為了解決這些問題,通過單個的USB接口,同時支持不同的應用,方便不同設備的互聯。說白了,USB就相當于在眾多接口之上,設計出一個萬能的USB接口,以后各種外設都可以使用這種接口。

2、USB相關的硬件

2.1 USB主機控制器

USB設備,從物理上的結構來看,包含了主機Host端和設備Device端。其中,主機端有對應的USB的主機控制器Host Controller,而設備端,對應的是USB設備。例如,我們日常使用的臺式電腦的機箱上的USB接口就屬于主機控制器一種,用以存儲資料的U盤屬于USB設備一種。

由于歷史原因,USB的主機控制器有多種不同的類型,分為OHCI和UHCI、EHCI和XHCI。盡管不同的USB主控類型有著不同的特點,但他們都符合對應的USB規范,都實現了USB規范中所規定的USB主控所要實現的內容。不同類型USB控制器之間簡要概括可以如下表所示:

USB主機控制器類型 共同點 區別
對應的USB的協議和支持的速率 創立者 功能劃分 常用于
OHCI 都實現了對應的USB的規范中所要求的功能 USB 1.1=Low Speed和Full Speed Compaq,Microsoft和National Semiconductor 硬件功能 > 軟件功能?硬件做的事情更多,所以實現對應的軟件驅動的任務,就相對較簡單 擴展卡,嵌入式開發板的USB主控
UHCI Intel 軟件功能 > 硬件功能?軟件的任務重,可以使用較便宜的硬件的USB控制器 PC端的主板上的USB主控
EHCI USB 2.0=High Speed Intel 定義了USB 2.0主控中所要實現何種功能,以及如何實現 各種USB 2.0主控
xHCI USB 3.0=Super Speed Intel 定義了USB 3.0主控中所要實現何種功能,以及如何實現 各種USB 3.0主控

2.2 USB接口的引腳定義

USB 1.x/2.x共有4個引腳,分別為VBUS、D-、D+、GND

VBUS:+5V電源引腳
D-:data-,數據線,與D+構成差分信號
D+:data+,數據線,與D-構成差分信號
GND:Ground,地線

在USB主機端的每個端口的D+和D-上,分別接了一個15K歐姆的下拉電阻到地。這樣,在USB主機端的端口懸空時,就被這兩個下拉電阻拉到了低電平。而在USB設備端,在D+或者D-上接了1.5K歐姆上拉電阻。對于全速和高速設備,上拉電阻是接在D+上,而低速設備則是上拉電阻接在D-上,連接方式如下圖所示:

這樣,當設備插入到主機端的端口上時,由1.5K的上拉電阻和15K的下拉電阻分壓,結果就將差分數據線中的一條拉高了。主機控制器檢測到這個狀態后,它就報告給USB主控制器,這樣就檢測到設備的插入了。USB高速設備先是被識別為全速設備,然后通過HOST和DEVICE兩者之間的確認,再切換到高速模式的。在高速模式下,是電流傳輸模式,這時將D+上的上拉電阻斷開。

2.3 USB的連接端口類型

USB的連接端口類型,即指各種不同的插頭插座。插座被稱為母頭,也就是主機端的用于等待設備連接的端口;插頭即公頭,設備用于連接主機端的接口。

由于USB的產生就是為了支持眾多種應用的,而由于各種應用中,對于硬件接口的大小也有一些限制,比如有些小型設備或者移動式設備中,接口不能太大等,所以而設計出多種類型的接口,用于不同的應用。

USB的接口類型,根據接口形狀不同,主要可以分為三大類:

普通的硬件直接叫做Type
然后有小型版本的叫Mini迷你的
和更加小的,叫做Micro微小的

3、USB的傳輸方式

USB共有4大傳輸方式,分別為控制傳輸、中斷傳輸、批量傳輸、實時傳輸。

控制傳輸(control)

每一個USB設備必須支持的,通常用來獲取設備描述符、設置設備的狀態等。一個USB設備從插入到最后的拔出這個過程一定會產生控制傳輸,即便這個USB設備不能被這個系統支持。

中斷傳輸(interrupt)

支持中斷傳輸的典型設備有USB鼠標、 USB鍵盤等。中斷傳輸并不是我的設備真正觸發主機進入中斷,然后主機會來讀取數據,它其實是一種輪詢的方式來完成數據的通信。USB設備會在設備驅動程序中設置一個參數叫做interval,它是endpoint的一個成員。 interval是間隔時間的意思,表示我這個設備希望主機多長時間來輪詢自己,只要這個值確定了之后,我主機就會周期性的來查看有沒有數據需要處理。

批量傳輸(bulk)

支持批量傳輸最典型的設備就是U盤,它進行大數量的數據傳輸,能夠保證數據的準確性,但是時間不是固定的。

實時傳輸(isochronous)

USB攝像頭就是實時傳輸設備的典型代表,它同樣進行大數量的數據傳輸,數據的準確性無法保證,但是對傳輸延遲非常敏感,也就是說對實時性要求比較高 。

4、USB相關術語

4.1 Class

前面講過,USB被設計的目的之一是為了實現用單一的USB接口取代之前種類繁多的各種其他接口。為了能取代之前的接口,意味著USB可以實現或支持之前的各種接口的各種功能,協議中對這些功能進行相關的定義。因此,就出現了各種USB Class,協議中定義的class如下表所示:

Base Class Descriptor Usage Description
00h Device Use class information in the Interface Descriptors
01h Interface Audio
02h Both Communications and CDC Control
03h Interface HID (Human Interface Device)
05h Interface Physical
06h Interface Image
07h Interface Printer
08h Interface Mass Storage
09h Device Hub
0Ah Interface CDC-Data
0Bh Interface Smart Card
0Dh Interface Content Security
0Eh Interface Video
0Fh Interface Personal Healthcare
DCh Both Diagnostic Device
E0h Interface Wireless Controller
EFh Both Miscellaneous
FEh Interface Application Specific
FFh Both Vendor Specific

USB class是根據功能進行劃分的,不同的class實現不同的功能,適用于相應的設備。如HID(Human Interface Device),人體學輸入設備,包含我們經常使用的鼠標和鍵盤;Mass Storage,包含我們日常使用的U盤等存儲介質

4.2 枚舉(Enumerate)

USB枚舉,USB Emulation,從字面意思看,就是去列舉USB,而列舉是什么意思呢?其實就是USB的初始化

簡單來說,USB的枚舉,對應的就是USB的Host和Device之間的對話,即Host根據Device所報告上來的參數,得知USB的device是什么類型的,具有什么功能,然后初始化相關參數

接下來,就USB Device就可以正常工作了

所以,可以簡單的理解為,USB枚舉,就是USB設備的初始化(init)

4.3 端點(Endpoint)

端點是USB的傳輸對象,是USB設備通信的基本單位,所有通信幾乎都是從端點發起的

比如我們說"讀U盤"、"寫U盤",可以細化為:把數據寫到U盤的端點1,從U盤的端點2里讀出數據。

除了端點0外,每一個端點只支持一個方向的數據傳輸,端點0用于控制傳輸,既能輸出也能輸入

設備中端點的編號是任意的。枚舉期間外設向主機報告其端點號和特征

4.4 接口(Interface)

接口由多個端點組成,代表一個基本的功能,是USB設備驅動程序控制的對象,一個功能復雜的USB設備可以具有多個接口。

每個Interface模擬一個設備功能,比如集成了鍵盤和鼠標的USB設備,里面就是兩個interface,一個是鍵盤,另一個是鼠標。Interface之間通常是隔離的,互相不干擾。

4.5 集線器(Hub)

集線器擴展了USB主機所能連接設備的數量。主機控制器內置一個集線器,負責完成一些底層USB功能,如檢測設備的插入或拔出。

集線器以全速或高速連接到上行端口(到PC),以低速、全速或高速連接到下行端口(到外設)。PC的根集線器可為每個A型連接器提供5V、500mA。一個總線供電的外部集線器可為每端口提供100mA電流。由于USB為外部集線器電路分配100mA電流,因此,一個總線供電的集線器可以有四個下行端口。如果集線器有自己的電源(自供電),每個下行端口可提供高達500mA電流。

總結

以上是生活随笔為你收集整理的USB基本概念介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。