一.简介
RK356x 总共支持 4 个 USB 外设接口,包括 1 个OTG 接口,1 个 USB 3.0 Host 接口,以及 2 个 USB 2.0 Host 接口。
二.常用接口类型介绍
如果按照接口类型划分的话USB就要分为很多种了,最常见的就是USB A插头和插座,如图所示:
使用过JLINK调试器的朋友应该还见过USB B 插头和插座,USB B插头和插座如图所示:
USB插头在不断的缩小,由此产生了Mini USB 接口,领航者开发板使用的就是Mini USB,Mini USB插头和插座如图所示:
比Mini USB更小的就是Micro USB接口了,以前的智能手机基本都是Micro USB接口的,Micro USB插头和插座如图所示:
现在最流行的就是USB Typec了,USB Typec 插头和插座如图所示:
三.USB 拓扑结构
USB是主从结构的,也就是分为主机和从机两部分,一般主机叫做 Host,从机叫做Device。主机就是提供USB A插座来连接外部的设备,比如电脑作为主机,对外提供 USB A插座,我们可以通过USB线来连接一些USB设备,比如声卡、手机等。因此电脑带的USB A插座数量就决定了你能外接多少个USB设备,如果不够用的话我们可以购买USB集线器来扩展电脑的USB插口,USB集线器也叫做USB HUB,USB HUB如图所示:
上图是一个一拖四的USB HUB,也就是将一个USB接口扩展为 4个。主机一般会带几个原生的USB主控制器,但基本上不够用,此时可以通过USB HUB芯片进行扩展。
HUB硬件原理图例子:
USB OTG2 扩展出了 4 路 USB HOST 接口,分别为 HUB_DP1/DM1、
HUB_DP2/DM2、HUB_DP3/DM3 和 HUB_DP4/DM4。
四.什么是 USB OTG?
前面我们讲了,USB分为HOST(主机)和从机(或DEVICE),有些设备可能有时候需要做HOST,有时候又需要做DEVICE,配两个USB口当然可以实现,但是太浪费资源了。如果一个USB接口既可以做HOST又可以做DEVICE那就太好了,使用起来就方便很多。为此,USB OTG应运而生,OTG是On-The-Go的缩写,支持USB OTG功能的USB接口既可以做HOST,也可以做DEVICE。那么问题来了,一个USB接口如何知道应该工作在HOST还是DEVICE呢?这里就引入了ID线这个概念,前面讲解USB电气属性的时候已经说过了,Mini USB插头有5根线,其中一条就是ID线。ID线的高低电平表示USB口工作在HOST还是DEVICE模式:
ID=1:OTG设备工作在从机模式。
ID=0:OTG设备工作在主机模式。
支持OTG模式的USB接口一般都是Mini USB 或Micro USB等这些带有ID线的接口。如果只有一个Mini USB或者Micro USB接口的话如果要使用OTG的主机模式,那么就需要一根OTG线,Mini USB 的OTG线如图所示:
可以看出,Mini USB OTG线一头是USB A插座,一头是Mini USB插头,将Mini USB插头插入机器的Mini USB口上,需要连接的USB设备插到另一端的USB A插座上,譬如U盘啥的。USB OTG线会将ID线拉低,这样机器就知道自己要做为一个主机,用来连接外部的从机设备(U盘)。
硬件原理图例子: