一 USB引脚一般四根线,定义如下:

为支持OTG功能,mini/micro usb接口扩展了一个ID引脚(第4脚)

A设备端ID脚接地,则初始状态为Host,例如PC和支持OTG设备做主设备时

B设备端ID脚悬空,默认上拉为高电平,则初始状态为Device,例如U盘和支持OTG设备做从设备时

1. 移动设备如需支持OTG,内部ID引脚需要默认上拉为高

2. VBUS是输入输出双向引脚。对于Device是power supply输入脚;对于Host需要串一个5V电源输出给device。

二 USB插入检测过程,看下面一个简单电路,Samsung Exynos4412平台:

电路描述:CON1为micro usb连接器,VBUS连接系统XuotgVBUS脚,同时提供一个中断输出脚到XEINT28

同时外部一个DC5V经过控制芯片也输出到XuotgVBUS,作为host时需要用到给外部供电

ID脚上拉1.8V作为Host/Slave检测,同时提供另一个中断输入脚到XEINT29

该设备支持OTG,下面说下设备的发现过程:

作为从设备插入PC端口时:

1.  系统检测到VBUS上的XEINT28上升沿触发中断,因为PC端会有一个5V从VBUS给过来,进入中断处理函数进一步确认ID脚状态,ID脚为低则状态错误,ID脚为高表示设备应该切换到从设备模式

2. 通知usb gadget使能vbus,按照device模式使能PHY。gadget在probe时注册了一个SPI软中断IRQ_USB_HSOTG,用于响应数据接收

3. 开启usb clk,使能PHY,此时外部5V电源供给系统XuotgVBUS,gadget收到IRQ_USB_HSOTG中断要求重启OTG core

4. USB DP(高速设备为DP,低速设备为DM)上产生一个高电平脉冲,此时PC识别到一个USB设备插入,windows会提示用户

5. 后续就是SETUP,GET DISCRIPTOR的过程

作为主设备发现设备插入时:

1. 系统检测到ID脚上XEINT29下降沿触发中断(实际是插入的usb公口第四脚直接连接到第五脚地上面),进入中断处理,切换到主设备模式

2. 关中断,使能DC5V给VBUS上电,唤醒ehci与ohci

3. usb core在内核初始化时注册了一个名为khubd的内核线程,由khubd监控port event。(实际过程我理解是从设别由VUBS供电后,会在DP或DM上产生一个高电平脉冲

ehci在接收到脉冲信号后识别到设备插入,仅仅是理解,这一点未验证)

3. khubd获取port,speed后交给ehci,接下来就是usb的SETUP,GET DISCRIPTOR过程

otg usb 定位_USB OTG插入检测识别相关推荐

  1. otg usb 定位_USB OTG简单介绍

    1 引言 随着USB2.0版本号的公布,USB越来越流行,已经成为一种标准接口.如今,USB支持三种传输速率:低速(1.5Mb/s).全速(12Mb/s)和快速(480Mb/s),四种传输类型:块传输 ...

  2. USB OTG插入检测识别

    一 USB引脚一般四根线,定义如下: 为支持OTG功能,mini/micro usb接口扩展了一个ID引脚(第4脚) A设备端ID脚接地,则初始状态为Host,例如PC和支持OTG设备做主设备时 B设 ...

  3. otg usb 定位_教你简单认识OTG与OTG线

    想必大家应该有经常使用USB数据线,但是另一种数据线OTG大家有没有听过呢?讲真,小编之前对它也不太清楚,最近才学习了与其相关的知识,现在小编就来与大家分享一下, 什么是OTG? OTG是On-The ...

  4. otg usb 定位_详解USB OTG工作原理及其应用

    原标题:详解USB OTG工作原理及其应用 1994年,Intel,Compaq等七家软硬件全球知名企业为了突破当时PC使用串口和并口传输速度的限制,成立了通用串行 开发者论坛( Implemente ...

  5. otg usb 定位_什么是USB OTG?USB OTG是什么意思

    展开全部 USB OTG是USB On-The-Go的缩写,主要应用于各种不同32313133353236313431303231363533e4b893e5b19e31333431363561的设备 ...

  6. USB host 与 OTG 怎么切换

    1.USB host 与 OTG有什么区别? 简单的说,如果一个数码设备支持USB HOST,那么它就可以从另外一个USB设备中取得数据. USB HOST线可以使得很多智能手机支持连接鼠标.键盘.硬 ...

  7. android手机使用otg usb手柄

    想通过手柄来玩模拟器,但是手柄通过otg USB接口插入android手机无反应,网上搜到一些解决方法,但都不奏效,现将我的解决过程分享给大家. lsusb已经发现usb设备 但是在/dev/inpu ...

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

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

  9. 安卓Android OTG USB串口通信FT232R

    [实例截图] 了解嵌入式的读者应该知道在单片机编程中串口(uart)通讯接口最常用的就是TTL和USB接口,将单片机TTL转USB就可以接入电脑查看串口数据实现电脑与单片机通讯,在Android AS ...

最新文章

  1. LeetCode简单题之有序数组中出现次数超过25%的元素
  2. 指纹、虹膜和人脸之后,身份认证领域的新热点:手背静脉识别
  3. 基于FT5x06嵌入式Linux电容触摸屏驱动
  4. 游戏基础体验研究:玩家想要什么样的美术品质?
  5. 机器人运维时代已来临?这是真的......
  6. 【JavaWeb】石家庄地铁搭乘系统——第一版(功能尚未完善)
  7. lib 和 dll 的区别、生成以及使用详解
  8. Android中的Handler机制
  9. Windows 8.1 Windows Phone 开发环境安装遇到的问题
  10. 软件工程 - 团队重组
  11. 你是程序员?你会修电脑么!!!
  12. MySQL学习-连接查询
  13. html/jsp下载Excel文件
  14. Android常用Adapter用例(二)
  15. 什么是代理服务器,代理ip池芝麻
  16. nginx or apache前端禁收录,爬虫,抓取
  17. android 雪球红包脚本,利用adb shell和node.js实现抖音自动抢红包功能(推荐)
  18. pandas 案例积累(一)—— 基础应用
  19. linux 查看内存 udimm rdimm,关于内存类型UDIMM、RDIMM、LRDIMM
  20. html战棋游戏战棋游戏,六款不可错过的战棋游戏 将领才华始于纸上谈兵

热门文章

  1. note edge android 6.0 root,三星Note Edge 6.0 root N9150ZCU1CQH5 root 高级设置
  2. 【读书】张萌作品:《人生效率手册:如何卓有成效地过好每一天》
  3. visual Studio Code(VS code)软件中HTML超级好用的一个插件 liveserver,vs code浏览网页
  4. opencart之购物车立即购买
  5. Ubuntu 18.04 server配置多用户深度学习服务器
  6. 2自由度悬架LQR控制
  7. Django的列表分页
  8. mysql时间类型之按时间排序精确到毫秒
  9. NCBI:美国国立生物技术信息中心大型数据库
  10. 空气源热泵控制系统解决方案