通用串行總線 2.0 簡介

1. 

HID(Human Interface Device)人機接口設備類別是Windows 最早支持的USB 類別。由其名稱可以瞭解HID 設備是計算機直接與人交互的設備,例如鍵盤、鼠標和遊戲杆等。不過HID 設備不一定要有人機接口,只要符合HID 類別規範,就都是HID 設備。

MSC USB 大容量存儲設備類(The USB mass storage device class)是一種計算機和移動設備之間的傳輸協議,它允許一個通用串行總線(USB)設備來訪問主機的計算設備,使兩者之間進行文件傳輸。
USB 海量存儲設備類包括通信協議定義和通用串行總線運行的計算。本標準規定了各種存儲設備的接口。通過這個標準的計算機連接到的設備包括:移動硬盤、U 盤、數碼相機、各種數字音頻播放器和便攜式媒體播放器、手機。

VCP 是USB 的通信類(CDC),實現USB 轉串口的功能,在PC 端通過USB接口是虛擬一個COM 口,實現USB 轉串口的數據傳輸。

2. USB Overview

USB 設備首次與主機相連時,將啓動 USB 枚舉過程。枚舉是設備和主機間進行的信息交換過程,包含用於識別設備的
信息
。此外,枚舉過程還分配設備地址、讀取描述符(作爲提供有關設備信息的數據結構),並分配和加載設備驅動程
序。整個過程需要數秒時間。 下圖  顯示的是通用枚舉過程流程圖。兩個文件屬於主機端,用於枚舉和加載驅動程序過程。

  • INF — 包含了安裝設備時所需全部信息(驅動程序的名稱和位置、 Windows 註冊信息和驅動程序版本信息)的文

本文件。

  • SYS — 驅動程序需要該文件纔可有效與 USB 設備進行通信。

設備被枚舉後, 主機將負責總線上的全部設備之間的數據通信流向。因此,如果沒有主控制器的請求,所有設備均無法
傳輸數據。

數據從主機轉移到外設的操作是 OUT 傳輸。數據從外設轉移到主機的操作是 IN 傳輸。

3. USB 通信過程經過了 D+和 D-線上的各種不同信號狀態。某些狀態發送數據,而其他則作爲特殊信號狀態使用。下面
內容介紹了這些狀態,它們的參考列表如下表所示。

差分 0 和差分 1: 這兩個狀態用於通過 USB 進行的通用數據通信。當 D+線爲高電平、 D-線爲低電平時,該狀態爲差
分 1。當 D+線爲低電平、 D-線爲高電平時,該狀態爲差分 0。

J 狀態和 K 狀態: 除了差分信號外, USB 規範還定義了其他兩個差分狀態: J 狀態和 K 狀態。它們的定義由設備速度
決定。在全速和高速設備上, J 狀態爲差分 1 而 K 狀態是差分 0。在低速設備上,該情況則相反。
單端 0( SE0): 在 D+和 D-均爲低電平時所發生的狀態。該狀態表示一個復位、斷連或數據包的結束。
單端 1( SE1): 在 D+和 D-均爲高電平時發生的狀態。不會故意生成該狀態,並且不能在 USB 設計中出現。
閒置: 必須在發送一個數據包的前後發生的狀態。如果一個數據線爲低電平,而另一個數據線爲高電平,則表示閒置
狀態。高電平和低電平的定義由設備的速度決定。在全速設備上,閒置狀態是指 D+爲高電平、 D-爲低電平。在低速設
備上,該情況則相反。
恢復: 用於使設備從掛起狀態喚醒。通過發送一個 K 狀態實現該操作。
數據包的開始( SOP): 當 D+和 D-線從閒置狀態轉換到 K 狀態時,將在開始低速或全速數據包前發生。
數據包的結束( EOP): 在低速或全速數據包結束時發生。當 SE0 狀態持續兩位時間(後面的內容將介紹位時間)以
及 J 狀態持續 1 位時間時,將發生 EOP。
復位: 在 SE0 狀態持續 10 ms 時發生。在 SE0 至少持續 2.5 ms 後,該設備會復位,並開始進入復位狀態。
保持活動( Keep Alive): 在低速設備中使用的信號。低速設備缺少了一個幀起始數據包(用於防止掛起狀態)。
每次經過 1 ms,它們都會使用一個 EOP 來防止設備進入掛起狀態。
 

4.不同 USB 端口和連接器

Mini 和 Micro 連接器具有五個(而不是 4 個)引腳。額外引腳是 ID 引腳,用於識別 OTG 應用中的主機和
設備。


 

 

2. 全速設備硬件電路

                       a                                                                                                   b

設計目的:主機判斷是低速設備還是全 速設備。D+被上拉是全速設備,D-被上拉是低速設備。

SoftConnect     USB 連接可通過一個 1.5kΩ 上拉電阻將 D+(對於全速設備)拉爲高電平來實現。在確立與 USB 連接之前,軟件可以使用 SoftConnect 特性來完成其初始化序列。該特性還可以在無需拔下 電纜的情況下執行 USB 總線連接的重新初始化。 在使用 SoftConnect 特性時,CONNECT 信號應控制一個外部開關,這個開關與 D+和+3.3V 之間的 1.5kΩ 電阻相連。然後,通過使用 SIE 設置設備狀態命令來對 CON 位執行寫操作,從而 實現軟件對 CONNECT 信號的控制。 
GoodLink     GoodLink 技術可用於指示 USB 連接是否良好。在成功地對設備進行清點和配置之後,LED 指示器將永久接通。在掛起期間,LED 是關閉的。 該特性對 USB 設備的狀態提供一個用戶友好的指示。它是一個非常有用的區域診斷工具, 可以將故障設備分離出來。 在使用 GoodLink 特性時,UP_LED 信號用於控制 LED。UP_LED 信號使用 SIE 配置設備命 令來控制

圖a 當USBCON0的時,USB_D+爲高,設備爲全速。

圖b 反之

在LPC1768D-被上拉是低速設備,發現主機(HOST)不能和Device連接。還需要進一步研究

2. lpc1768_rt-thread-3.0.3+usbDevice (virtual serial port)

代碼倉庫

3. USB2.0 串行通用總線2.0 介紹

AN57294 USB 101 An Introduction to Universal Serial Bus 2.0

https://download.csdn.net/download/nicole088/10769976

 

4. 引用

[轉載]  https://blog.csdn.net/king_jie0210/article/details/76713938 ( Originator king_jie0210)

作者整理了 ST官網的“USB CDC類入門培訓” 的資料,非常好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章