最近在弄USB Host、USB Device和USB otg的电路。先理论上分析一下这三者之间的区别与联系。

一、先说USB的引脚定义:

    我们PC上目前常用的USB接口为USB3.0和USB2.0,但是以个人短浅的经验,在ARM上基本还都是以USB2.0和USB1.1为主。接口定义以这个为准。一般的USB接口为四根线:红绿白黑-->从左至右!![USB接口定义](https://img-blog.csdn.net/20151117222824739)红色-USB电源 标有-VCC、Power、5V、5VSB字样绿色-USB数据线(正)-DATA+、USBD+、DP+、、USBDT+白色-USB数据线(负)-DATA-、USBD-、DM-、USBDT+黑色-地线 -GND、GroundUSB接口的输出电压和电流是:+5V/500mA  实际上有误差,最大不能超过+/-0.2V 也就是4.8-5.2V 。USB2.0规范是由USB1.1规范演变而来的。它的传输速率达到了480Mbps,折算为MB为60MB/s。因此,USB2.0可以驱动程序上可以兼容USB1.1。各种USB接口的定义如下图所示:![常用USB接口类型](https://img-blog.csdn.net/20151117223636432)从左往右依次为:miniUSB公口(A型插头)、miniUSB公口(B型插头)、USB公口(B型)、USB母口(A型插座)、USB公口(A型插头)![A/B型USB接口](https://img-blog.csdn.net/20151117223426600)![Mini-USB接口](https://img-blog.csdn.net/20151117223457869)Micro-USB接口跟Mini-USB接口的定义是一样的,在我们的手机中普遍应用,这里就不再附图说明。

二、三种方式的理论简析

    USB,英文全称:Universal Serial Bus,即通用串行总线。  Host就是主,可以起到控制作用;device(slave)就是从,是被控制的。例如主机的USB口,可以识别U盘或者是其它USB设备,所以主机的USB就是Host接口,而U盘的就是device。OTG就是指既可以做Host口亦可以做device口。Mini-USB和Micro-USB的ID脚在OTG功能中才使用。在OTG中,初始主机设备称为A设备,外设称为B设备。Mini-A插头(即A外设)中的ID引脚接地,Mini-B插头(即B外设)中的ID引脚浮空,默认上拉为高电平。当OTG设备检测到ID引脚接地时,表示默认的是A设备(主机),而检测到ID引脚浮空则认为是B设备(外设)。如果你的系统仅仅是用做Slave,那么就使用B接口。系统控制器会判断ID脚的电平判断是什么样的设备插入,如果是高电平,则是B接头插入,此时系统就做主模式(master mode)。如果ID为低,则是A接口插入,然后系统就会使用HNP对话协议来决定哪个做Master,哪个做Slave。也就是说,手机既可以做外设,又可以做主机来传送数据,可用电缆的连接方式来决定初始角色(由ID线的状态来决定)。简单说就是:USB Host是指驱动过后,板子就可以连接USB接口连接的器件,读取和装载数据了,类似PC。USB Device是指驱动过后,板子可以当做一个USB移动设备,通过USB连接到电脑上,类似U盘。实际的USB连接线中,是没有USB_ID这根线的。 都是在接口部分直接拉死的的。对于Host端,只需将连接线的USB_ID pin和地短接即可,对于Slave端,USB连接线的USB_ID pin是悬空的。(设备内部上拉)。

USB Host、USB Device和USB otg的理论简析相关推荐

  1. usb host 驱动 - device 拔插

    1. usbhid 设备拔插 1.1 usb device disconnect 1.1.1 上层卸载usb 设备驱动 生成应用通过ioctl 卸载usb 设备. [ 709.471619] [T29 ...

  2. 关于usb host和device 相关内容网址

    1.USB+HOSTDEVICE控制器的设计与验证: http://wenku.baidu.com/link?url=5HsA8qaSWFqpUEseNb9U9YC3fbRmrhb5IkTuZJByv ...

  3. USB host、usb device、USB OTG的判断

    USB host.usb device.USB OTG的判断 经典博客 概念 host.device OTG 识别 host.device OTG 实际开发中遇到的问题 总结 经典博客 文章 链接 O ...

  4. Real6410移植linux-2.6.39.1记录(3)-USB驱动移植(USB HOST以及USB OTG)

    // 主题:Real6410移植linux-2.6.39.1 // 作者:kevinjz2010@gmail.com // 版权:kevinjz原创 // 平台:linux-2.39.1 real64 ...

  5. S3C2440 WINCE6将USB DEVICE改成USB HOST,实现两个USB HOST

    S3C2440一般默认的是一个USB DEVICE,一个USB HOST,即一个主口,一个从口,先来看看USB Device与USB Host相关知识. USB Host: 最底层就是USB Host ...

  6. 安卓USB开发教程 一 USB Host 与 Accessory

    安卓通过两种模式:USB Accessory 与 USB Host 模式支持多种 USB 外设与安卓 USB 配件(实现安卓配件协议的硬件).在 USB 配件模式下,外部 USB 硬件充当 USB 主 ...

  7. RT-thread应用讲解——U盘(usb host)

    RT-thread应用讲解--U盘(usb host) 目录 RT-thread应用讲解--U盘(usb host) 前言 一.STM32CubeMX配置 二.ENV配置 1.使能USB Host 2 ...

  8. 魅族MX答疑:魅族MX USB Host功能测试

    转自:http://deepin.org/thread-2088852-1-1.html 相信魅友们都知道魅族MX支持USB Host,而很多魅友并不知道USB Host是什么,怎么使用.今天笔者为大 ...

  9. Android 通过USB与PLC设备通信(USB转串口)

    经朋友介绍接的一个外包,要求用USB和PLC设备通信,于是乎就有了本文.内容不深,权当做个记录整理一下当时的思路. 一.解决思路 1. 首先,PLC设备通常都是用串口进行通讯,走的Modbus协议.这 ...

  10. USB接口(2)——USB控制器EHCI、OHCI、UHCI与usb hub芯片

    EHCI和OHCI,UHCI概念 USB控制器类型: OHCI.UHCI都是USB1.1的接口标准,而EHCI是对应USB2.0的接口标准,最新的xHCI是USB3.0的接口标准. OHCI( Ope ...

最新文章

  1. 项目发布后 Tomcat中只有web-INF文件夹
  2. Sysnoise5.6安装教程
  3. leetcode40. 组合总和 II(回溯)
  4. linux xchgl 汇编含义,替换x86 xchgl 汇编指令
  5. 使用WebStorm将项目部署到IIS
  6. JavaGUI实现科学计算器
  7. 中兴笔试题:打家劫舍【动态规划】
  8. 计算机程序员带什么手表,程序员只爱格子衫?这些手表程序员也喜欢!
  9. 台式计算机开机不自检不起动,台式机开机一直自检的解决方法
  10. python 源代码 macd双底 高 低_利用Python实现MACD''顶底背离''形态,并实现自动化交易!...
  11. EndNote安装教程与使用教程 关联加载word
  12. Janitor Troubles
  13. mybatis type-aliases-package
  14. 照相机的计算机微处理器芯片是什么,芯片到底是什么?
  15. 统计学 假设检验 P值
  16. 使用图像扫描控件ScanOnWeb实现在线图像扫描
  17. 制药实验室信息管理系统(LIMS)
  18. 粗点心之NodeList和Array
  19. 计算机应用基础excel数据,《计算机应用基础》excel操作练习题集
  20. JS-ES6 jsdoc通过注解生成-更具规格的API文档

热门文章

  1. 计算机中常用单位是什么意思,常用单位的换算(含温度、长度、计算机单位、面积以及数量级含义).doc...
  2. linux查看进程的代码,Linux ps 查看进程(示例代码)
  3. 公司-瑞幸咖啡:瑞幸咖啡
  4. 《逆向工程核心原理》学习笔记(一):代码逆向技术基础
  5. Ubuntu 搭建 STM32 开发环境
  6. Threshold函数详解
  7. 科技巨头们以 A 取名的时尚潮流
  8. Customer类的设计
  9. 盘点澳洲留学性价比较高城市
  10. 今夜酒店特价与携程的江湖恩怨