king_zhang的專欄

首頁博文目錄訂閱
正 文

USB接口常見問題

(2018/1/2 17:59)
標簽:USB接口常見問題
助工
2012-02-20 20:48:47    評分

關于USB接口的一些常見問題,知道還是比較有用的,拿來和大家分享:

1. USB 1.1和USB 2.0有何區別?
USB 2.0問世于2001年,是一種支持最高480Mbps數據傳輸率的外部總線。USB 2.0是USB 1.1的擴展。USB 2.0與USB 1.1兼容。USB 2.0的電纜和連接器可用于USB 1.1設備。但是,不是所有USB 1.1的電纜可用于USB 2.0設備。
2. 高速USB和USB 2.0有區別嗎?哪一種說法是正確的?
高速USB和USB 2.0是有區別的。區別在于USB 2.0是一種規范。而“高速USB”僅指在USB 2.0規范中數據傳輸率為480Mbps的那部分。某個設備可以是符合USB 2.0的設備,同時還可以是全速設備或低速設備。
3. USB設備與計算機的通信速度有多快?
USB 2.0支持低速、全速和高速三種速度,分別為1.5Mbps、12Mbps和480Mbps。
4. 什么是USB主機?
主機是USB分層式星型網絡的根節點。它控制著總線,網絡中的通信由USB主機啟動。USB協議要求任何USB系統中必須有一個獨立的主機。
5. 我聽說過USB設備、外設和功能這些術語。它們的區別是什么?如何正確使用這些術語?
USB規范對設備的字面定義比較模糊。規范中的“USB設備”既可以是集線器,也可代表一種功能。應使用“USB設備”取代“設備”,以避免不確定性。即使聲明了“USB設備”,有時候人們會把USB使能的設備稱為“USB設備”。由于術語使用的不一致,因此“外設”一詞可能是較不容易混淆的說法。
USB規范中并未在定義列表中定義術語“外設”,但是在規范中該術語可與USB設備互換。USB設備的USB認證檢查表也稱為外設檢查表。
在USB規范中對功能的定義是指USB設備提供給主機的能力。
6. 一個主機可連接多少設備?
每個主機控制器最多可連接127個設備。一個主機可包含多個主機控制器。如果有根集線器和/或復合設備,則根據其實現方式,可能改變可用物理設備的總數。集線器也作為總線上的設備,但集線器還會減少USB設備/外設上的可用接口。
7. 什么是USB集線器?
USB集線器是允許其他設備與其相連的一種USB設備,從而可以擴大網絡。 集線器可通過總線供電或自供電。總線供電的集線器無法向所有與其連接的USB設備供電,但是自供電的USB集線器可以。由于USB設備可從USB集線器獲得最小100mA和每個USB端口最大500mA的電流,總線供電的USB集線器最多可具有四個下游設備。
8. 最多可同時連接多少個集線器?
在一根獨立鏈上最多可連接5個集線器。
9. 是否存在擁有和控制USB規范的組織?
存在的,就是USB開發者論壇,也稱為USB-IF。其官方網站為http://www.usb.org,您可從中免費下載最新的USB規范。
10. 數據是如何通過USB協議傳輸的?
USB規范定義了四種不同的數據傳輸機制。
控制傳輸
USB主機使用控制傳輸向USB設備發送命令和詢問。當枚舉USB設備時,控制傳輸使用端點0(EP0),這樣可強制所有USB設備支持EP0而無需考慮支持速度。控制包的最大容量為8、16、32或64字節。低速USB設備中控制傳輸的包長度必須為8字節,全速USB設備必須為64字節,而高速USB設備允許8、16、32或64字節。
中斷傳輸
中斷傳輸是USB設備向USB主機請求一定輪詢速率的方法。在枚舉過程中,USB設備向USB主機請求輪詢時間。全速設備的最大輪詢速率為每毫秒一次,低速設備為每10毫秒一次。低速USB設備的最大數據負載為8字節,全速USB設備為64字節。這使得全速USB設備的最大吞吐量為64KB/s,低速USB設備為800B/s。確認中斷傳輸可保證數據的傳送。如果傳輸包接收失敗,則會重新發送。
批量傳輸
批量傳輸是設備傳輸大量數據的方法,但是不能保證會及時發送。在總線安排傳輸時,批量傳輸的優先級最低。當其他傳輸完成后,余下的帶寬復位后將分配給批量傳輸。與中斷傳輸一樣,確認批量傳輸可保證數據的傳送。只有全速和高速設備支持批量傳輸。對于全速USB設備的端點而言,最大的包容量可為8、16、32或64字節長度。對于高速USB設備的端點而言,最大的包容量可高達512字節長度。
同步傳輸
同步傳輸保證了傳輸速率。全速同步傳輸每幀可發送1023字節的數據。同步傳輸無需確認。因此,同步包有可能并未送達。同步傳輸的典型應用為音頻/視頻流,其中最重要的是以丟失包為代價保持視頻和音頻的進行。全速USB設備的最大傳輸率為1023Kbps。


11. 什么是令牌包?
USB協議定義了四種類型的包:
幀起始
令牌
數據
握手
有三種不同的令牌包。
IN —— 通知USB設備,主機欲讀取信息
OUT —— 通知USB設備,主機欲發送信息
Setup —— 通知設備,主機要進行控制傳輸
12. 在通信中,USB協議如何檢測錯誤?
USB協議通過CRC(循環冗余校驗)檢測錯誤。CRC由SIE(串行接口引擎)完成,從而無需軟件執行CRC并可減少軟件開銷。令牌包為5位CRC,數據包為16位CRC。
13. 如果SIE接收到已損壞的數據會怎么樣?
如果包未能通過CRC檢查,SIE會丟棄該損壞的包,而無需軟件介入。并將設置錯誤標志,說明接收到的包已損壞。SIE將不會對CRC值不正確的包進行確認。對于中斷、批量和控制傳輸,如果未接收到確認,主機會嘗試重新發送包。這樣,雖然不會因包的損壞而造成數據丟失,但是可能會遭遇較低的帶寬使用率。
14. USB協議中的傳輸(transfer)和事務(transaction)有何區別?
傳輸是事務的集合,事務是包的集合。
15. 最大可發送多大的數據包?
這取決于所使用的傳輸類型。全速USB設備的中斷和批量傳輸的最大凈負載為64字節,同步傳輸最多可傳送1023字節。
16. 什么是枚舉過程?
USB主機通過枚舉過程可了解有新的USB設備與總線相連。在應用開始前,主機向設備詢問各種信息,以確定設備的類型、載入設備所需的設備驅動程序以及設備的功率需求等。在枚舉過程中,USB主機還為連接的設備分配地址。在地址設定后,USB主機將與位于該地址的設備進行通信。枚舉過程的最終任務之一是把設備設定為某一具體運行配置。枚舉過程的詳細內容在USB規范的9.1.2節中給出。
17. USB主機如何識別USB設備的速度?
USB主機在兩根通信線(D+和D-)上均有弱下拉電阻。如果設備要以全速模式運行,將會用較大的上拉電阻上拉D+。如果設備要運行在低速模式下,則會上拉D-。兩種情況中的上拉電阻的標稱值為1 kΩ。
18. USB主機如何對USB設備進行復位?
將D+和D-拉低至少10毫秒,USB主機就會對設備進行復位。當D+和D-拉低時間超過2.5微秒,USB設備就可認為已發生復位。一旦USB設備檢測到了復位,在USB主機移除復位后將馬上進入默認狀態。該復位僅用于USB復位,不可復位控制器。
19. 如果USB主機對某一USB設備發送復位命令,那么其他與之相連的USB設備是否也會被復位?
不會。USB主機會要求集線器只復位相連的某個特定USB設備。如果USB主機復位集線器的話,那么與該集線器相連的所有設備都將被復位。
20. USB主機如何獲取相連的USB設備名稱?
已知USB設備的設備描述符中有許多字符串,其中一個就是制造商字符串。如果已知這些字符串,USB主機就可以在枚舉過程中對其進行讀取。


21. 什么是設備描述符?
設備描述符是描述各種關于相連設備信息的數據表,如制造商的廠商ID(VID)和產品ID(PID)。設備描述符的完整內容可在USB規范的表9-8中獲取。
22. 什么是VID和PID?
VID指的是廠商ID,PID指的是產品ID。通過支付費用,USB-IF會發出VID。USB-IF要求每個廠商擁有自己的VID,以便銷售其產品。當所使用的VID/PID不是惟一時,可能會發生法律和技術上的糾紛。
可從http://www.usb.org/developers/vendor/獲取VID。
一旦購買了VID,制造商可自行決定如何在VID的范圍內使用PID。
23. 我是否必須購買自己的VID? Microchip是否可授予其VID的從許可權?
Microchip有一套授予其VID從許可權的程序。請訪問www.microchip.com/usb內的支持與培訓頁面,了解關于如何獲取帶Microchip VID的PID的更多信息。
24. 我生產的每種設備都需要一個新的PID嗎?
每條產品線的產品都需要一個新的PID。產品線中相同的產品必須具有相同的PID。如果產品線中的每一款產品均需要具有惟一的標識符,可采用設備描述符中的iSerialNumber字段惟一地標識各設備。
25. 當兩個USB設備同時連接到USB主機上時,會產生沖突嗎?
不會。主機一次復位一個設備;并在完成當前設備的枚舉過程后,才開始調查下一個設備。
入門/工具
26. Microchip提供哪些用于USB的開發工具?
更多關于各種USB開發和評估平臺的信息,可在“工具”頁面獲得。
27. 在哪里可以購買到樣片、C編譯器和工具等產品?
您可以在Microchip Direct (www.microchipdirect.com)上購買。
28. 可獲得哪些種類的C編譯器?
Microchip提供以下各類編譯器:
PIC18F USB系列單片機 —— C18
PIC24F USB系列單片機 —— C30
PIC32MX USB系列單片機 —— C32
上述編譯器具有兩種版本:授權版和教學版。關于教學版的限制,請參考各編譯器相關文檔。
29. 哪里可獲得所有的軟件?
關于USB的所有軟件可在軟件/工具處獲得。
30. 哪里可找到無需修改或編譯代碼的評估用預編譯演示文件?
USB固件v2.1以上的預編譯演示文件可在“<INSTALL DIRECTORY>\USB – Precompiled Demos”目錄下找到。該目錄下還有相關文檔,說明運行演示時所需的硬件,如何加載固件到設備以及如何運行演示。


31. USB協議棧所需的資源有哪些?
因編譯器、處理器系列、USB運行模式(主機、USB設備和OTG等)和所使用的USB類/功能等的不同,所需要的資源是不同的。此外,不同的USB固件版本,所需資源也是不同的。
請參考各版本的版本說明,來估算各變量組合的不同大小。
USB設備/外設
32. USB集線器會降低設備運行速度嗎?
USB集線器必須在幀結束前重新計算剩余時間。集線器造成的少量額外延遲將減少可用帶寬。如果多個設備連接到集線器且并行工作(如網絡攝像頭 + USB閃存存儲器 + 鼠標)的話,USB帶寬由所有設備共用。
33. Microchip支持哪些設備類?
目前,Microchip支持以下各類的USB設備版本:HID(人機接口設備 —— 鍵盤、游戲桿和鼠標等)、CDC(通信設備 —— 調制解調器和以太網適配器等)、MSD(大容量存儲設備 —— U盤和移動硬盤等),以及定制設備類 —— 客戶可針對其產品開發專用的驅動程序。
更多關于所支持的設備類信息,請參考各軟件版本的版本說明。
34. 兩個集線器或兩個USB設備之間的最大電纜長度為多少?
USB電纜的最大長度為5米。
35. “組合型”USB設備與“復合型”USB設備有何區別?
除一個或多個USB外設之外,“復合型”USB設備還有一個內置集線器,只需一根USB電纜就可把這一將所有功能集成到單個產品中的設備與主機相連。
“組合型”USB設備不使用集線器芯片。在單個外設中使用多個接口。目前,Microchip的全速USB芯片可用于開發組合型USB設備,而不能用于開發復合型設備。
36. Microchip定制的USB驅動程序支持Windows Vista系統嗎?
1.3版以上的版本包含已更新的驅動程序,可工作在Windows Vista操作系統上(32和64位版本均適用)。
37. USB設備的Vbus引腳上可通過的最大電容是多少?為什么?
USB連接器的Vbus引腳上的最大電容必須小于10uF。
這是為了限制設備通電時的浪涌電流。限制浪涌電流的目的是為了限制向新連接設備的電容充電而導致的Vbus電壓下降。如果沒有對熱插拔設備的浪涌電流進行限制的話,新連接的設備可能會導致其他設備停止工作。
如果應用中所需的電容值大于規范允許范圍,那么將需要一個軟啟動電路將浪涌電流限制在規定值。
38. USB設備自供電時需注意些什么?
設備自供電時,必須使用I/O引腳來檢測電纜的連接。只有USB主機驅動Vbus變為高電平后才能上拉D+或D-。
自啟動設備的設置也必須與自啟動一致。如果配置描述符顯示為自啟動,那么對于設備的任何GET_STATUS請求也必須返回自啟動。
39. 如果我想根據實際狀態選擇由總線供電或自供電的話,那么該如何指定配置描述符?
如果希望該設備為總線供電,那么即使一段時間為自供電,也必須聲明其為總線供電設備。
GET_STATUS請求應將USB設備目前工作在自供電或總線供電下的信息精確地反饋給主機。
40. 在使用HID類時PC端無需任何文件支持,而為何在使用CDC時需要INF文件?
CDC類有許多其他子類規范。主機需要知道應將哪些設備驅動程序載入連接的設備中。該信息存放于.INF文件。這就是說,當有新的CDC設備第一次與主機相連時,主機需要進行某些安裝/設置過程。

USB嵌入式主機
41. 主機、嵌入式主機、受限主機和微型主機之間有何區別?
主機總是與能連接USB外設的PC機和筆記本電腦相提并論。完整的主機必須在Vbus端汲取500mA的電流,向所連接的外設供電。
嵌入式主機主要在小型便攜式設備中,如機頂盒和PDA等。其在Vbus端汲取的最小電流僅為8mA。由于存儲器容量有限,只能存儲有限的驅動程序,因此所連接的外設也是有限的。與完整的主機不同,嵌入式主機無需載入不支持的設備驅動程序。但是,需要通知用戶連接了不支持的設備。
通常稱嵌入式主機為“微型主機”或“受限主機”,其實都是指同一類型的設備。嵌入式主機、微型主機或受限主機并未在USB規范或OTG補充中提及。相關認證程序的過程提到了嵌入式主機。
42. Microchip是否提供完整U盤應用所需的全部協議棧?
是的。Microchip提供USB海量存儲類驅動程序、SCSI接口、FAT16/32格式軟件和文件管理的應用示例。相關固件可在Software/Tools上獲得。
43. Microchip支持哪些設備類?
目前,嵌入式主機協議棧支持MSD(海量存儲設備——U盤和移動硬盤等)和定制設備類——客戶可針對他們的設備開發專用的驅動程序。
關于軟件支持的更多信息,請參考具體版本的版本說明。
44. 類似硬盤的高速外設可以連接到全速運行的主機上嗎?
可以。USB協議要求所有全速通信和高速通信均作為全速通信啟動,如果設備均支持高速,可向上擴展為高速。如果其中一個設備只支持全速的話,通信將限于全速級別,即12 Mbps。
45. 那么是不是說明任何硬盤可工作在任何主機上?
不是。硬盤為海量存儲設備,并提供一些數據格式規定。要使設備工作,與簡單的互相識別不同,文件和接口協議必須匹配。例如,U盤就是一種典型的海量存儲應用。但要使設備功能齊全,必須具備USB類驅動程序、SCSI接口和FAT 16文件格式。
目前的USB嵌入式主機固件版本只支持FAT16文件格式。FAT32還在開發中。不支持NTFS和其他文件系統。
46. 作為一個嵌入式主機,需要支持會話請求協議(SRP)和主機協商協議(HNP)嗎?
嵌入式主機SRP是可選特性,不是必需的。在大多數情況下,很可能無需這兩種協議。更多關于SRP的信息,請查看本FAQ的OTG部分。
由于嵌入式主機只能作為主機使用,而不能作為USB設備,因此不會支持HNP。更多關于HNP的信息,請查看本FAQ的OTG部分。
USB On-The-Go(OTG)
47. 什么是OTG?為何開發OTG?
OTG規范是原有USB規范的追加。USB OTG對便攜式設備進行定義,從一個設備只能有一個連接器到可與支持USB的產品相連而無需PC。這使得移動設備能互相連接。一個扮演嵌入式主機的角色,另一個作為USB設備使用,從而無需專為USB應用而準備PC。
48. 如果只想與USB設備(外設)對話,是否需要OTG產品?
如果設備只需與USB設備進行對話而不必與其他USB主機連接的話,該設備可以是嵌入式主機而無需為OTG產品(詳情請參考上述嵌入式主機部分)。如果設備需要與USB設備和USB主機連接的話,就需要使用OTG產品了。
49. USB OTG是否需要同時存在于兩個產品中才能互相連接和運行?
不需要,USB OTG產品將連接至所有的PC,并且還具有主機功能可連接到其支持的特定USB外設。
50. 使用USB OTG是否就不需要PC了?
不是這樣的。其實,USB OTG補充了“廣義PC”的概念,這一概念將PC置于廣義數字設備世界的消費中心。通過實現數字設備之間的基本功能,USB OTG提高了這些PC外設的能力,使其對消費者和公司用戶更具價值。

51. 什么是主機協商協議(HNP)?
根據與其連接的電纜另一端是哪類設備,USB OTG設備可確定哪些是主機設備哪些是外設。如果操作需要切換角色,HNP可提供角色切換機制,而無需移除和切換電纜終端。
52. 什么是會話請求協議(SRP)?
與其他USB主機不同,USB OTG設備在不使用時可從Vbus線上移除。Vbus上電的時間即為一次會話。使用SRP的話,連接在OTG產品上的設備可請求開始一次新的會話。在設備發出SRP信號后,OTG產品作為主機將從Vbus上電并與設備開始通信。
53. 當把兩個USB OTG設備接插在一起時會怎么樣?
當兩個雙重角色的設備通過電纜連接在一起時,電纜會設置默認主機和默認外設。如果在應用中需對調兩個設備的角色,那么通過主機協商協議(HNP)提供的握手功能可完成這一動作。如果兩個設備均不支持HNP,那么需通過反向連接電纜來滿足設備所需的作用。
54. OTG采用哪種連接器?
未量產的OTG設備需要使用微型A/B連接器。這使得微型電纜的A或B端可進行連接。注意,不要把該連接器與用于USB設備的微型B連接器相混淆。
55. 如果可作為嵌入式主機或USB設備(外設)而又不必在兩者之間進行動態切換,這樣可行嗎?我需要使用何種連接器?
是的,這是可行的。有兩種方法可解決這一問題。
第一種解決方案是使用微型A/B連接器并對設備進行編程使其成為OTG設備。由于SRP和HNP為可選特性,因此可以禁用。這種方法的局限性是,具有A型連接器的USB設備,需要適配器以便與設備上的微型A/B端相連。
另外,設備可具有兩個USB連接器。每個連接器必須有獨立的Vbus電路,不過可以共用D+和D-。這種方法的局限性是,USB測試規范要求用戶使用的所有連接器必須同時起作用。但是,目前的USB設備只支持一個USB端口,因此不可能同時使兩個連接器工作。這就意味著必須實行某些機械特性,以便在任何時間兩個端口中只有一個可供使用。
USB認證
56. 每個Microchip USB單片機上USB-IF的外設硅片TID編號是多少?
USB符合性測試ID
產品系列                                         TID 編號
PIC18F2455/2458/2550/2553/4455/4458/4550/4553         40002568
PIC18F87J50/86J55/86J50/85J50/67J50/66J55/66J50/65J50 40000369
PIC24FJ256GB110/108/106, PIC24FJ192GB110/108/106,
PIC24FJ128 GB110/108/106, PIC24FJ 64GB110/108/106 40000566
PIC18F2450/4450                                         40000174


評 論
還沒有網友評論,歡迎您第一個評論!
博 主
進入king_zhang的首頁
博客名稱:張坤-希荻微電子
日志總數:124
評論數量:291
訪問次數:544860
建立時間:2012/7/16 15:15
導 航
公 告
希荻微電子有限公司 http://www.halomicro.com/
評 論
鏈 接

 

胜负彩荐彩唯彩看球