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轉換器",如下圖黑色的轉換器:
這個轉換器插入開發板的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即可。如下圖所示(參考:typec接口的otg線自制教程分享):
2. OTG接口電路
開發板上的OTG接口需要實現兩個功能:
檢測ID引腳(使用Type C接口的話是CC1、CC2引腳),引入主控芯片:軟件根據它設置USB控制器的角色(Host或Device)
根據ID引腳(或者CC1、CC2)決定VBUS是否輸出電源:硬件電路自動實現
2.1 Micro USB
2.2 Type C
如果不考慮兼容USB 3.0協議,可以使用如下精簡電路:CC1、CC2作為ID引腳。
如果要兼容USB 3.0協議,則需要加入專用的芯片:
致謝
以上筆記源自韋東山老師的視頻課程,感謝韋老師,韋老師是嵌入式培訓界一股清流,為嵌入式linux開發點起的星星之火,也愿韋老師桃李滿園。聚是一團火,散是滿天星!
-
檢測電路
+關注
關注
13文章
305瀏覽量
58110 -
嵌入式
+關注
關注
5068文章
19019瀏覽量
303292 -
OTG
+關注
關注
2文章
148瀏覽量
45392
原文標題:OTG硬件檢測電路
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論