OTG 是"On The Go"的英文縮寫,可以理解為“安上即可用”。USB 傳輸是主從結構,一切 USB 傳輸都由Host 發起。
在開發板上可以插入 U 盤,這時開發板作為 USB Host。
開發板要跟 PC 通信,開發板就要作為 USB Device。
開發板要作為 USB Host、USB Device 兩種角色,可以使用 OTG 插口:它可以根據硬件電路自動識別自己的角色,切換為 USB Host 或 USB Deivce。
OTG 插口有多種形態,常用的有 Micro USB、Type C,如下:
1.1 Micro USB
對于 Micro USB 插座,它有 5 條引腳:
引腳作用如下表所示:
引腳名 | 作用 |
---|---|
VBUS |
作為 Host 時,對外供電 作為 Device 時,接收外部輸入的電源 |
DM | 數據信號 |
DP | 數據信號 |
ID |
分辨自己角色的引腳: 1:作為 Device 0:作為 Host |
GND | 地線 |
開發板作為 USB Device 時,跟 PC 上的 USB 相連,PC 的 USB 接口只有 VBUS、DM、DP、GND,所以開發板的 ID 引腳跟 PC 的 USB 口并無連接,它被板子上的上拉電阻拉高。
開發板作為 USB Host 時,需要接入一個"OTG 轉換器",再連接 U 盤。
OTG 轉換器的內部電路很簡單,就是把 ID 引腳拉低:
這個轉換器插入開發板的 OTG 口之后,OTG 口上的 ID 引腳就被拉低,軟件把開發板轉換為 USB Host。
1.2 Type C
Type C 插座里面有兩組完全一樣的信號,Type C 數據線無論正插、反插,都可以使用:
Type C 插座有如下信號,在USB2.0 協議里我們只關心紅框里的信號:
開發板作為 USB Device 時,跟 PC 上的 USB 相連,PC 的 USB 接口只有 VBUS、DM、DP、GND,所以開發板的 CC1、CC2 引腳跟 PC 的 USB 口并無連接,它被板子上的上拉電阻拉高。
開發板作為 USB Host 時,需要接入一個"OTG 轉換器"
如果不考慮兼容 USB 3.0 協議,上述轉換器的電路圖很簡單,把Type C 插頭里面的 CC 引腳連接 5.1K 歐姆電阻到 GND 即可。
2. OTG 接口電路
開發板上的 OTG 接口需要實現兩個功能:
檢測 ID 引腳(使用 Type C 接口的話是 CC1、CC2 引腳),引入主控芯片:軟件根據它設置 USB 控制器的角色(Host 或 Device)
根據 ID 引腳(或者 CC1、CC2)決定 VBUS 是否輸出電源:硬件電路自動實現,或者加入專用芯片
2.1 Micro USB
當 USB_OTG1_ID 高電平時,說明 ID 引腳被板子的上拉電阻拉高,沒有被拉低。這時候 AO3416 導通,EN 引腳不使能。這樣 SY6280AAAC 就不會對外供電,USB_OTG1_VBUS 就沒有電壓。
當 USB_OTG1_ID 低電平時,說明 ID 引腳被拉低,這時候 AO3416 截至,EN 引腳使能,SY6280AAAC 對外供電,USB_OTG1_VBUS 有電壓,開發板作為 USB Host 對外供電。
2.2 Type C
如果不考慮兼容 USB 3.0 協議,可以使用如下精簡電路:CC1、CC2 作為 ID 引腳。原理和上圖類似。
如果要兼容 USB 3.0 協議,則需要加入專用的芯片,專用芯片檢測到 CC1、CC2 狀態后,發中斷給主控,并通過 I2C 將信息報給主控,主控再控制供電引腳:
審核編輯:劉清
-
轉換器
+關注
關注
27文章
8694瀏覽量
147085 -
OTG
+關注
關注
2文章
148瀏覽量
45426 -
GND
+關注
關注
2文章
539瀏覽量
38696 -
VBUS
+關注
關注
0文章
11瀏覽量
5412
原文標題:OTG 硬件檢測電路
文章出處:【微信號:gh_a6560e9c41d7,微信公眾號:硬件筆記本】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論