點擊上方名片關(guān)注了解更多
OTG 是"On The Go"的英文縮寫,可以理解為“安上即可用”。USB 傳輸是主從結(jié)構(gòu),一切 USB 傳輸都由?Host 發(fā)起。
在開發(fā)板上可以插入 U 盤,這時開發(fā)板作為 USB Host。
開發(fā)板要跟 PC 通信,開發(fā)板就要作為 USB Device。
開發(fā)板要作為 USB Host、USB Device 兩種角色,可以使用 OTG 插口:它可以根據(jù)硬件電路自動識別自己的角色,切換為 USB Host 或 USB Deivce。
OTG 插口有多種形態(tài),常用的有 Micro USB、Type C,如下:
對于 Micro USB 插座,它有 5 條引腳:

引腳作用如下表所示:
| 引腳名 | 作用 |
|---|---|
| VBUS | 作為 Host 時,對外供電 作為 Device 時,接收外部輸入的電源 |
| DM | 數(shù)據(jù)信號 |
| DP | 數(shù)據(jù)信號 |
| ID | 分辨自己角色的引腳: 1:作為 Device 0:作為 Host |
| GND | 地線 |
開發(fā)板作為 USB Device 時,跟 PC 上的 USB 相連,PC 的 USB 接口只有 VBUS、DM、DP、GND,所以開發(fā)板的 ID 引腳跟 PC 的 USB 口并無連接,它被板子上的上拉電阻拉高。
開發(fā)板作為 USB Host 時,需要接入一個"OTG 轉(zhuǎn)換器",再連接 U 盤。如下圖黑色的轉(zhuǎn)換器:

OTG 轉(zhuǎn)換器的內(nèi)部電路很簡單,就是把 ID 引腳拉低:

這個轉(zhuǎn)換器插入開發(fā)板的 OTG 口之后,OTG 口上的 ID 引腳就被拉低,軟件把開發(fā)板轉(zhuǎn)換為 USB Host。
Type C 插座里面有兩組完全一樣的信號,Type C 數(shù)據(jù)線無論正插、反插,都可以使用:

Type C 插座有如下信號,在?USB2.0 協(xié)議里我們只關(guān)心紅框里的信號:

開發(fā)板作為 USB Device 時,跟 PC 上的 USB 相連,PC 的 USB 接口只有 VBUS、DM、DP、GND,所以開發(fā)板的 CC1、CC2 引腳跟 PC 的 USB 口并無連接,它被板子上的上拉電阻拉高。
開發(fā)板作為 USB Host 時,需要接入一個"OTG 轉(zhuǎn)換器",如下圖黑色的轉(zhuǎn)換器:

如果不考慮兼容 USB 3.0 協(xié)議,上述轉(zhuǎn)換器的電路圖很簡單,把?Type C 插頭里面的 CC 引腳連接 5.1K 歐姆電阻到 GND 即可。如下圖所示:

開發(fā)板上的 OTG 接口需要實現(xiàn)兩個功能:
當 USB_OTG1_ID 高電平時,說明 ID 引腳被板子的上拉電阻拉高,沒有被拉低。這時候 AO3416 導(dǎo)通,EN 引腳不使能。這樣 SY6280AAAC 就不會對外供電,USB_OTG1_VBUS 就沒有電壓。
當 USB_OTG1_ID 低電平時,說明 ID 引腳被拉低,這時候 AO3416 截至,EN 引腳使能,SY6280AAAC 對外供電,USB_OTG1_VBUS 有電壓,開發(fā)板作為 USB Host 對外供電。

如果不考慮兼容 USB 3.0 協(xié)議,可以使用如下精簡電路:CC1、CC2 作為 ID 引腳。原理和上圖類似。

如果要兼容 USB 3.0 協(xié)議,則需要加入專用的芯片,專用芯片檢測到 CC1、CC2 狀態(tài)后,發(fā)中斷給主控,并通過 I2C 將信息報給主控,主控再控制供電引腳:

參考:
韋東山老師驅(qū)動大全https://www.lulian.cn/news/otg_gongneng_jiexi-cn.htmlhttps://www.elecfans.com/connector/20180309645002_a.htmlhttps://blog.csdn.net/qq_37659014/article/details/124479125
聲明:
推薦閱讀▼
電路設(shè)計-電路分析
EMC相關(guān)文章
電子元器件
后臺回復(fù)“加群”,管理員拉你加入同行技術(shù)交流群