USB-OTG:1、OTG原理介绍

目录

🍅点击这里查看所有博文

  随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。

  想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔记就和没记一样,不是很方便。

  很多时候我们遇到了问题,一般情况下都是选择在搜索引擎检索相关内容,这样来的也更快一点,除非真的找不到才会去选择翻书。后来就想到了写博客,博客作为自己的一个笔记平台倒是挺合适的。随时可以查阅,不用随身携带。

  同时由于写博客是对外的,既然是对外的就不能随便写,任何人都可以看到。经验对于我来说那就只是经验而已,公布出来说不一定我的一些经验可以帮助到其他的人。遇到和我相同问题时可以少走一些弯路。

  既然决定了要写博客,那就只能认真去写。不管写的好不好,尽力就行。千里之行始于足下,一步一个脚印,慢慢来 ,写的多了慢慢也会变好的。权当是记录自己的成长的一个过程,等到以后再往回看时,就会发现自己以前原来这么菜😂。

  本系列博客所述资料均来自互联网,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。

前言

  在传统的USB连接中,一个设备通常充当主机,而其他设备则充当从设备。主机设备负责控制数据传输和供电,而从设备则被动地响应主机的指令。手机连接PC之后便会充当USB从机,这时候PC就可以直接操作手机中的文件。

输入图片说明

OTG介绍

  上面说到的方法只限于PC端,一旦离开了PC端就无法进行。这使得很多人的需求无法的到满足,特别是12年开始兴起的智能机时代。于是各厂商将USB标准化组织在2001年12月18日公布的OTG技术合入,使得其可以随时的连接各种设备,进行数据的交换与传输。

  OTG(On-The-Go)是一种USB标准,它允许USB设备在主机模式和设备模式之间切换,以便在需要时充当主机或设备。

输入图片说明

  在OTG协议中,设备可以根据需要在主机模式和设备模式之间切换。这意味着一个设备可以在一段时间内充当主机,控制其他设备,并在另一段时间内充当从设备,响应其他设备的指令。手机就是我们日常生活中最容易见到的OTG设备。

  需要注意,使用OTG功能设备硬件和驱动程序都需要支持OTG标准。此外,操作系统和应用程序也需要相应地支持OTG功能。

OTG检测

  在OTG中定义了一种新的接口——微型AB插座(mini-AB receptacle)以及微型A插头(mi-ni-A plug)和微型B插头(mini-B plug)。在微型AB插座、微型A插头和微型B插头中增加了1个引脚USB_ID 引脚。

输入图片说明

  当OTG设备插入主设备时,主设备会给OTG设备5V_USB供电,VBUS检测到上升沿,触发中断。这时OTG设备在中断中会对USB_ID进行状态检测,若检测结果为高电平,则OTG设备切换成device模式。

由于主设备是没有USB_ID的引脚的(或者浮空),所以OTG设备在接入主机时USB_ID便处于上拉输入的浮空状态中,也就是高电平。

  当从设备插入OTG设备时。OTG设备会检测到USB_ID的下降沿,此时OTG设备会切换到host模式,并且开启VBUS电压输出给从设备供电。

一般情况下OTG连接器中micro USB的第4脚是直接连到GND的。说以只要有从设备接入,USB_ID就会被拉低。

输入图片说明

OTG应用

  OTG的灵活性和可扩展性使得它在移动设备和嵌入式系统中得到广泛应用,为用户提供更多的连接和交互选择。其主要的应用如下所述:

  连接存储设备:OTG允许设备连接外部存储设备,如U盘、读卡器和硬盘。通过将OTG设备连接到主机设备,用户可以直接访问存储设备中的文件,方便地进行文件传输和共享。

输入图片说明

  连接采集设备:OTG支持连接各种外部采集设备,如鼠标、键盘、手柄、相机麦克风等。通过将这些设备连接到OTG设备,用户可以在移动设备上实现更方便的输入和控制,提升用户体验。

输入图片说明

  对外直接供电:OTG设备可以为其他USB接口设备提供直接供电。例如,通过将OTG设备连接到USB小风扇、USB台灯或MP4等设备,可以为它们提供电源,使它们可以在没有独立电源的情况下正常工作。

输入图片说明

  那么本篇博客就到此结束了,这里只是记录了一些我个人的学习笔记,其中存在大量我自己的理解。文中所述不一定是完全正确的,可能有的地方我自己也理解错了。如果有些错的地方,欢迎大家批评指正。如有问题直接在对应的博客评论区指出即可,不需要私聊我。我们交流的内容留下来也有助于其他人查看,说不一定也有其他人遇到了同样的问题呢😂。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1424910.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

深入剖析Tomcat(八) 载入器与打破双亲委派机制的自定义类加载器

写这篇文章让我头大了好几天,书中描述的内容倒是不多,可能也是那会Tomcat的现状。如今Tomcat发展了好多代,加上springboot的广泛应用,导致现在的类加载的步骤和Tomcat资料中描述的大相径庭。可能也是由于微服务的发展,…

Ubuntu 安装 eclipse 的详细过程及工程创建和编译配置

目录 一、安装环境二、下载依赖 java jdk三、下载 eclipse四、安装4.1 java 环境4.2 eclipse 安装4.3 打开 eclipse 五、配置 eclipse5.1 新建 C 工程5.2 工具链 配置5.3 头文件路径5.4 链接库5.5 编译 一、安装环境 Ubuntu 版本:22.04.3 位数:64-bit 二…

CRWU凯斯西储大学轴承数据,12k频率,十分类

CRWU凯斯西储大学轴承数据,12k频率,十分类。 from torch.utils.data import Dataset, DataLoader from scipy.io import loadmat import numpy as np import os from sklearn import preprocessing # 0-1编码 from sklearn.model_selection import Str…

基于HTML5和CSS3搭建一个Web网页(一)

倘若代码中有任何问题或疑问,欢迎留言交流~ 网页描述 创建一个包含导航栏、主内容区域和页脚的响应式网页。 需求: 导航栏: 在页面顶部创建一个导航栏,包含首页、关于我们、服务和联系我们等链接。 设置导航栏样式,包括字体、颜色和背景颜…

Unity | Spine动画动态加载

一、准备工作 Spine插件及基本知识可查看这篇文章:Unity | Spine动画记录-CSDN博客 二、Spine资源动态加载 1.官方说明 官方文档指出不建议这种操作。但spine-unity API允许在运行时从SkeletonDataAsset或甚至直接从三个导出的资产实例化SkeletonAnimation和Skel…

使用JasperReport工具,生成报表模版,及通过JavaBean传参,常见问题及建议

1.下载JasperReport工具 下载地址:社区版 - Jaspersoft 社区 邮箱:lorettepatri.ckoa5434gmail.com 密码:Zx123456. 2.工具使用方法注意 1.一次参数需要在左下角Parameters中新建,直接拖转右上角的TextField不会自动新建参数,到头来还是要在Parameters中新建 2.循环参数需…

ChatGPT 4o 使用案例之一

2024年GPT迎来重大更新,OpenAI发布GPT-4o GPT-4o(“o”代表“全能”) 它可以接受任意组合的文本、音频和图像作为输入,并生成任意组合的文本、音频和图像输出。它可以在 232 毫秒内响应音频输入,平均为 320 毫秒&…

Git使用(4):分支管理

一、新建分支 首先选择Git -> Branches... 然后选择 New Branch,输入新分支名称,例如dev。 可以看到右下角显示已经切换到新建的dev分支了。 push到远程仓库,可以看到新添加的分支。 二、切换分支与合并分支 为了演示合并分支&#xff0c…

码农慎入 | 入坑软路由,退烧IDC,Homelab折腾记

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 俗话说,入门软路由,退坑IDC 这一期,我们将深入探讨一个许多科技爱好者…

【oracle】图片转为字节、base64编码等形式批量插入oracle数据库并查询

1.熟悉、梳理、总结下Oracle相关知识体系 2.欢迎批评指正,跪谢一键三连! 资源下载: oci.dll、oraocci11.dll、oraociei11.dll3个资源文件资源下载: Instant Client Setup.exe资源下载: oci.dll、oraocci11.dll、oraoc…

[数据集][目标检测]蕃茄核桃桔子龙眼青枣5种水果检测数据集VOC+YOLO格式270张5类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):270 标注数量(xml文件个数):270 标注数量(txt文件个数):270 标注类别…

人工智能|深度学习——YOLOV8结构图

YoloV8相对于YoloV5的改进点: Replace the C3 module with the C2f module.Replace the first 6x6 Conv with 3x3 Conv in the Backbone.Delete two Convs (No.10 and No.14 in the YOLOv5 config).Replace the first 1x1 Conv with 3x3 Conv in the Bottleneck.Use…

使用Docker进行Jmeter分布式搭建

大家好,随着技术的不断发展,对性能测试的要求也日益提高。在这样的背景下,如何利用 Docker 来巧妙地搭建 Jmeter 分布式成为了关键所在。现在,就让我们开启这场探索之旅,揭开其神秘的面纱。前段时间给大家分享了关于 L…

Linux上编译安装和卸载软件

在maven官网下载maven时候,看到maven-3.9.5这个版本有2份安装包,一个是binaries,一个是source binaries是已编译好的文件,可以直接使用的版本;source是源代码版本,需要自己编译 源码的安装一般由这三个步…

nn.BatchNorm中affine参数的作用

在PyTorch的nn.BatchNorm2d中,affine参数决定是否在批归一化(Batch Normalization)过程中引入可学习的缩放和平移参数。 BN层的公式如下, affine参数决定是否在批归一化之后应用一个可学习的线性变换,即缩放和平移。具…

信息系统项目管理师0601:项目立项管理 — 考点总结(可直接理解记忆)

点击查看专栏目录 项目立项管理 — 考点总结(可直接理解记忆) 1.项目建议书(又称立项申请)是项目建设单位向上级主管部门提交项目申请时所必须的文件,是对拟建项目提出的框架性的总体设想。在项目建议书批准后,方可开展对外工作(掌握)。 2.项目建议书应该包括的核心内…

k8s 二进制安装 详细安装步骤

目录 一 实验环境 二 操作系统初始化配置(所有机器) 1,关闭防火墙 2,关闭selinux 3,关闭swap 4, 根据规划设置主机名 5, 做域名映射 6,调整内核参数 7, 时间同步 三 部署 dock…

redis7基础篇2 redis的3种模式(主从,哨兵,集群)模式

一 主从复制模式 1.1 主从模式 主从模式: 主机可以读,写,重机只能写操作。 主机shutdown后,从机上位还是原地待命:从机不动,原地待命,数据正常使用,等待主机重启归来。 主机shu…

【Docker学习】查询容器镜像的docker search

这个命令是使用Docker的必备技能。我们使用的各种官方镜像,一般都能通过这个命令找到。 命令: docker search 描述: 在Docker Hub上查找镜像。Docker Hub是为开发者和开源贡献者设计的容器镜像注册中心,它允许用户查找、使用和…

《天空之城》观后感

曾经很长一段时间都着迷于《天空之城》这段旋律,一遍一遍不厌其烦地听,静谧而温馨、豪迈却苍凉,各种复杂的感受随着起伏的音符流淌进心里。多年之后才知道这首曲子出自宫崎骏的同名动画电影。说来也有意思,似乎大多数人是通过电影…