讲一下板子的 USB OTG ,设计绝妙,
USB OTG 是 USB On-The-Go 的缩写。简单地说,当具备 USB OTG 功能的设备,连接到 USB 主设备(以电脑为例)的时候, OKMX8MM-C 会识别出它连接的是主设备,于是把自己作为从设备与电脑通信, USB 的电源由电脑提供;当 OKMX8MM-C 与 U 盘连接的时候,OKMX8MM-C 会识别出它连接的是从设备,于是把自己作为主设备与 U 盘通信, USB 口的电源由开发板提供。下面的原理图中, USB1_ID 脚用于识别主从设备。开发板的 5V 电源(VCC5V)通过两个 P 沟道场效应管构成的电子开关给 Micro USB 插座供电,该电子开关的使能端是 OTG_PWRON,当OTG_PWRON 为高电平时,电子开关导通,反之则截止。当主设备(如电脑)通过电缆插入 Micro USB 插座时,电缆的 Micro USB 插头内的 ID 脚是悬空的,开发板就工作在从模式下, OTG_PWRON 为低,两个 MOS 管截止,电脑通过电缆将 VBUS 提升至 5V。主设备提供的 5V 电源,不会传到 VCC5V 上,二者不发生冲突。当从设(如 U 盘)通过电缆插入 Micro USB 插座时,电缆的 Micro USB 插头内的 ID 脚是对地短路的, CPU 检测到 USB1_ID 网络是低电平,开发板会自动配置为主模式,并OTG_PWRON置为高电平, 两个 MOS 管导通,开发板通过 VCC5V 对从设备和 VBUS 供电。Q11 三极管的作用是,当底板无电时, VBUS 不会检测到来自 USB 口的电压。底板使用 CPU 原生的 USB1 作为 OTG,可以通过 OTG 烧写的方式来更新软件程序。