d+      d-

0        0         PC

0        1         错误设备

1        0         非标准充电器

1        1          标准充电器

usb有主从设备之分,主设备有:pc,现在市面上的那些插u-disk即可播放mp3的“mp3”之类的,usb信号是差分信号,信号线为D+, D-。 在usb host 端, D+,D-各接一个15kohm 的下拉电阻,而在usb device端,这时就有高速低速设备的区别了。usb1.0, 1.1,2.0协议中都有定义高低速设备以满足不同情况的需求,这些在硬件上的区别就是:高速设备:d+接一个1.5kohm的上拉电阻,d-不接;低速设备则相反。

这样当usb device插入到host中时,如果是高速设备,则d+被拉高,d-不变;低速设备则与之相反。这个上拉过程需要大概2.5us的时间,host这这个时间内便检测到了该信号,即可判断有device plug in,和该device的类型,然后开始通讯。

Usb充电器的D+,D-是短路的,因此可以通过检测数据线的连接方式来判断是usb充电还是usb传数据。

USB OTG(on the go)就是既可以做host又可以做client,我们一般是作为client接受pc传输数据,作为host时可以接打印机直接把手机中的照片打印出来。判别是host还是client是靠USB_ID这根pin,当作为client时,USB_ID基本是悬空的(内部有上拉),如果侦测到 USB_ID被拉低,就被认为是作为host,向外输出,所以需要外部client设备把USB_ID拉低。

Android + kernel USB host 如何判断插入的设备是高速还是低速的设备相关推荐

  1. Android Service创建USB HOST通信

    之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信.要使用Android的USB Host ...

  2. android usb host hid,Android USB Host与HID通讯

    前端时间捣鼓一个HID的硬件, 需要和android通信, 网上搜索了一圈,收获不小. 其中代码之处有些地方需要注意的, 特此注明一下: /*** USB HOST 连接 HID *@authorIV ...

  3. Android 系统使用USB OTG功能/打开USB Host API功能

    步骤一:确定 Android 设备是否支持 USB Host 功能,具体可以通过以下步骤进行确认: 1. 查看手机或平板设备参数,或者直接联系厂家咨询: 2. 使用 UsbHostDiagnostic ...

  4. Android USB Host开发之manager.getDeviceList()获取不到设备列表【转载】

    原文:https://www.2cto.com/kf/201305/211304.html 同样遇到这样的问题,我的Android设备是原道N12C,官方的4.0.3系统,遇到这个问题,后来找了半天找 ...

  5. Android USB Host开发之manager.getDeviceList()获取不到设备列表

    同样遇到这样的问题,我的Android设备是原道N12C,官方的4.0.3系统,遇到这个问题,后来找了半天找到的,现在汇总一下吧: 1.创建 android.hardware.usb.host.xml ...

  6. Android usb host

    当你的Android主机是处于USB主模式下,它充当USB主机,开启设备并列举出所有已连接的USB设备.这种模式在Android 3.1及以上的版本支持. API预览 在开始开发USB Host之前, ...

  7. 翻译Android USB HOST API

    翻译Android USB HOST API 源码地址:http://developer.android.com/guide/topics/connectivity/usb/host.html 译者注 ...

  8. android 申请usb权限,USB 权限申请流程

    USB android授权方式 权限的控制分三块: 1:USB host端有个线程循环检测系统是否USB设备插拔,如果有就找到申请权限的APP并调用起来 2:APP运行后主动申请权限,也就是reque ...

  9. android OTG (USB读写,U盘读写)最全使用相关总结

    androidOTG (USB读写,U盘读写) 最全使用相关总结 简介 第一种读取方法:android推荐使用的通过endpoint的形式进行通信 第二种读取方法:像读你sdcard的形式来读你的U盘 ...

最新文章

  1. Rendering Problems Exception raised during rendering:
  2. 二维随机变量期望公式_MIT 6.041 概率论笔记 离散随机变量(二)
  3. android开发4:Android布局管理器1(线性布局,相对布局RelativeLayout-案例)
  4. 零基础学caffe源码 ReLU激活函数
  5. [iphone]XML 解析 之 TBXML 介绍
  6. android retrofit入门,Android开发 retrofit入门讲解
  7. SQL中几个比较重要的系统表
  8. HDU Redraw Beautiful Drawings 推断最大流是否唯一解
  9. error while loading shared libraries: libmysqlclient.so.16: cannot open
  10. linux安装两个jdk_jdk在linux上安装过程
  11. sqlite 查看数据库表和字段
  12. Aho-Corasick暂存第二篇
  13. java开发工程师简历项目经验怎么写?应该注意哪些事项?
  14. rp软件app流程图_Axure制作流程图的图文操作
  15. 用MACD决策树模型预测股票趋势
  16. 物联网+安防在智慧社区建设中的发展与深度应用
  17. Win10环境iTunes制作iPhone铃声(2021)
  18. java基于ssm开发的多商家书店商城系统
  19. 用java解一元二次方程组
  20. 2023年报考CSM敏捷教练认证好不好?含金量高吗?

热门文章

  1. delphi 16 网页缩放
  2. PowerDesigner逆向工程mysql
  3. MSN空间上的以往技术贴整理
  4. 计算几何常用算法的理论基础【转】
  5. Yahoo!的网站项目工作流程
  6. UA MATH ECE636 信息论10 Non-adaptive Group Testing
  7. Linux下编译构建成功HelloWorld驱动程序并加载
  8. 跨域 (1) jsonp 跨域
  9. JavaScript中split() 使用方法
  10. 配置tomcat8数据源(采用局部数据源方式)