otg usb 定位_USB OTG插入检测识别
一 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插入检测识别相关推荐
- otg usb 定位_USB OTG简单介绍
1 引言 随着USB2.0版本号的公布,USB越来越流行,已经成为一种标准接口.如今,USB支持三种传输速率:低速(1.5Mb/s).全速(12Mb/s)和快速(480Mb/s),四种传输类型:块传输 ...
- USB OTG插入检测识别
一 USB引脚一般四根线,定义如下: 为支持OTG功能,mini/micro usb接口扩展了一个ID引脚(第4脚) A设备端ID脚接地,则初始状态为Host,例如PC和支持OTG设备做主设备时 B设 ...
- otg usb 定位_教你简单认识OTG与OTG线
想必大家应该有经常使用USB数据线,但是另一种数据线OTG大家有没有听过呢?讲真,小编之前对它也不太清楚,最近才学习了与其相关的知识,现在小编就来与大家分享一下, 什么是OTG? OTG是On-The ...
- otg usb 定位_详解USB OTG工作原理及其应用
原标题:详解USB OTG工作原理及其应用 1994年,Intel,Compaq等七家软硬件全球知名企业为了突破当时PC使用串口和并口传输速度的限制,成立了通用串行 开发者论坛( Implemente ...
- otg usb 定位_什么是USB OTG?USB OTG是什么意思
展开全部 USB OTG是USB On-The-Go的缩写,主要应用于各种不同32313133353236313431303231363533e4b893e5b19e31333431363561的设备 ...
- USB host 与 OTG 怎么切换
1.USB host 与 OTG有什么区别? 简单的说,如果一个数码设备支持USB HOST,那么它就可以从另外一个USB设备中取得数据. USB HOST线可以使得很多智能手机支持连接鼠标.键盘.硬 ...
- android手机使用otg usb手柄
想通过手柄来玩模拟器,但是手柄通过otg USB接口插入android手机无反应,网上搜到一些解决方法,但都不奏效,现将我的解决过程分享给大家. lsusb已经发现usb设备 但是在/dev/inpu ...
- android OTG (USB读写,U盘读写)最全使用相关总结
androidOTG (USB读写,U盘读写) 最全使用相关总结 简介 第一种读取方法:android推荐使用的通过endpoint的形式进行通信 第二种读取方法:像读你sdcard的形式来读你的U盘 ...
- 安卓Android OTG USB串口通信FT232R
[实例截图] 了解嵌入式的读者应该知道在单片机编程中串口(uart)通讯接口最常用的就是TTL和USB接口,将单片机TTL转USB就可以接入电脑查看串口数据实现电脑与单片机通讯,在Android AS ...
最新文章
- LeetCode简单题之有序数组中出现次数超过25%的元素
- 指纹、虹膜和人脸之后,身份认证领域的新热点:手背静脉识别
- 基于FT5x06嵌入式Linux电容触摸屏驱动
- 游戏基础体验研究:玩家想要什么样的美术品质?
- 机器人运维时代已来临?这是真的......
- 【JavaWeb】石家庄地铁搭乘系统——第一版(功能尚未完善)
- lib 和 dll 的区别、生成以及使用详解
- Android中的Handler机制
- Windows 8.1 Windows Phone 开发环境安装遇到的问题
- 软件工程 - 团队重组
- 你是程序员?你会修电脑么!!!
- MySQL学习-连接查询
- html/jsp下载Excel文件
- Android常用Adapter用例(二)
- 什么是代理服务器,代理ip池芝麻
- nginx or apache前端禁收录,爬虫,抓取
- android 雪球红包脚本,利用adb shell和node.js实现抖音自动抢红包功能(推荐)
- pandas 案例积累(一)—— 基础应用
- linux 查看内存 udimm rdimm,关于内存类型UDIMM、RDIMM、LRDIMM
- html战棋游戏战棋游戏,六款不可错过的战棋游戏 将领才华始于纸上谈兵
热门文章
- note edge android 6.0 root,三星Note Edge 6.0 root N9150ZCU1CQH5 root 高级设置
- 【读书】张萌作品:《人生效率手册:如何卓有成效地过好每一天》
- visual Studio Code(VS code)软件中HTML超级好用的一个插件 liveserver,vs code浏览网页
- opencart之购物车立即购买
- Ubuntu 18.04 server配置多用户深度学习服务器
- 2自由度悬架LQR控制
- Django的列表分页
- mysql时间类型之按时间排序精确到毫秒
- NCBI:美国国立生物技术信息中心大型数据库
- 空气源热泵控制系统解决方案