關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容

作來源者?|?硬件筆記本
1. OTG 接口與轉(zhuǎn)換器
OTG 是"On The Go"的英文縮寫,可以理解為“安上即可用”。USB 傳輸是主從結(jié)構(gòu),一切 USB 傳輸都由?Host 發(fā)起。
在開發(fā)板上可以插入 U 盤,這時(shí)開發(fā)板作為 USB Host。
開發(fā)板要跟 PC 通信,開發(fā)板就要作為 USB Device。
開發(fā)板要作為 USB Host、USB Device 兩種角色,可以使用 OTG 插口:它可以根據(jù)硬件電路自動(dòng)識(shí)別自己的角色,切換為 USB Host 或 USB Deivce。
OTG 插口有多種形態(tài),常用的有 Micro USB、Type C,如下:
對(duì)于 Micro USB 插座,它有 5 條引腳:

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

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

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

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

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

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

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

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

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

參考:
------------?END?------------

●專欄《嵌入式工具》
●專欄《嵌入式開發(fā)》
●專欄《Keil教程》
●嵌入式專欄精選教程
關(guān)注公眾號(hào)回復(fù)“加群”按規(guī)則加入技術(shù)交流群,回復(fù)“1024”查看更多內(nèi)容。


點(diǎn)擊“閱讀原文”查看更多分享。