usb接口

通俗易懂设计模式解析——适配器模式

你说的曾经没有我的故事 提交于 2019-11-29 03:51:40
前言   前面完成了创建型的设计模式的分享,创建型的设计模式解决的是对象创建的问题。今天开始介绍结构型的设计模式,其中结构型设计模式包括:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。结构型设计模式解决的是类与对象的组合关系。今天讲结构型对象中的第一个——适配器模式。适配器模式——顾名思义嘛。在我们平常的理解中,适配器是干啥用的呢?不就是将两个原本不匹配的东西转换为匹配罢了。适配器是接口转换器,比如电源适配器,USB接口转换器等等。 适配器模式介绍 一、 来由   在系统程序中,我们可能会面临需求的增加或者改变,或者是应用环境的改变。常常需要将一些已经存在的类放在新的需求或者新的环境中应用。但是新的环境要求使用到的接口与现在存在的类或对象不完全匹配。那么如何去面对这样的迁移变化呢? 二、 意图    将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 三、 案例图 四、 适配器模式代码示例   在适配器模式中一般包含以下部分的存在: 客户端: 与目标接口配合协同使用 目标接口: 与客户端协同使用 被适配角色: 表示一个已经存在了并使用的接口 适配器: 整个模式核心存在,将被适配角色转换为目标需要的接口。   接下来我们看下这个示例,前段时间笔记本那个耳机圆孔接口坏掉了

libusb 介绍

送分小仙女□ 提交于 2019-11-28 22:05:17
驱动开发向来是内核开发中工作量最多的一块,随着USB设备的普及,大量的USB设备的驱动开发也成为驱动开发者手头上做的最多的事情。本文主要介绍Linux平台下基于libusb的驱动开发,希望能够给从事Linux驱动开发的朋友带来些帮助,更希望能够给其他平台上的无驱设计带来些帮助。文章是我在工作中使用libusb的一些总结,难免有错误,如有不当的地方,还请指正。 Linux 平台上的usb驱动开发,主要有内核驱动的开发和基于libusb的无驱设计。 对于内核驱动的大部分设备,诸如带usb接口的hid设备,linux本身已经自带了相关的驱动,我们只要操作设备文件便可以完成对设备大部分的操作,而另外一些设备,诸如自己设计的硬件产品,这些驱动就需要我们驱动工程师开发出相关的驱动了。内核驱动有它的优点,然而内核驱动在某些情况下会遇到如下的一些问题: 1 当使用我们产品的客户有2.4内核的平台,同时也有2.6内核的平台,我们要设计的驱动是要兼容两个平台的,就连makefile 我们都要写两个。 2 当我们要把linux移植到嵌入平台上,你会发现原先linux自带的驱动移过去还挺大的,我的内核当然是越小越好拉,这样有必要么。这还不是最郁闷的地方,如果嵌入平台是客户的,客户要购买你的产品,你突然发现客户设备里的系统和你的环境不一样,它没有你要的驱动了,你的程序运行不了,你会先想:“没关系

USB OTG插入检测识别

筅森魡賤 提交于 2019-11-28 19:14:38
一 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

USB OTG插入检测识别

自闭症网瘾萝莉.ら 提交于 2019-11-28 19:14:27
转载请标注原文地址: http://blog.csdn.net/uranus_wm/article/details/9838847 一 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给过来

USB OTG插入检测识别

本小妞迷上赌 提交于 2019-11-28 19:13:54
转载请标注原文地址: http://blog.csdn.net/uranus_wm/article/details/9838847 一 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给过来

USB接口不同颜色的作用

蹲街弑〆低调 提交于 2019-11-28 18:21:40
  USB插孔有着不同的颜色。最多见的是蓝色、黄色和黑色: 黑色插孔:   黑色插孔就代表一般的普通USB插孔,没有特殊含义,早期的表示USB 1.0,现在多代表USB 2.0插孔。 蓝色插孔:   蓝色插孔代表USB 3.0。USB 2.0为480Mbps半双工,而USB 3.0为5Gbps全双工,理论上能达到USB 2.0速度的10倍。例如,一个采用 USB3.0 的闪存驱动器可以在15秒钟将1GB的数据转移到一个主机,而USB 2.0则需要43秒。 黄色插孔:   黄色USB插孔又被称为Powered USB,一般为“USB 2.0 + 关机可充电"接口,支持在关闭电脑的时候,为USB提供电源。方便关机为手机、MP3等进行充电,而且还不会造成浪费。 来源: https://www.cnblogs.com/zblwyj/p/11419555.html

面向对象编程三大特征7

蓝咒 提交于 2019-11-28 16:29:34
多态及体现: 基本介绍:   变量(实例)具有多种形态。面向对象的第三大特征,在Go语言,多态特征是通过接口实现的。可以按照统一的接口来调用不同的实现。这时接口变量就呈现不同的形态。 快速入门: 在前面的Usb接口案例, Usb usb,既可以接收手机变量,又可以接收相机变量,就体现了Usb 接口多态特征。 //编写一个方法Working 这个方法接收Usb接口类型的变量 //只要是实现了 Usb接口 (所谓实现Usb接口就是指实现了Usb接口声明的所有方法) func (c Computer) Working(usb Usb) {   //usb 变量会根据传入的实参,来判断到底是Phone,还是Camera,usb 接口变量就体现出多态的特点。   //通过usb接口变量来调用Start和Stop方法   usb.Start()   usb.Stop() } 接口体现多态特征: 1)多态参数   在前面的Usb接口案例,usb Usb,既可以接收手机变量,又可以接收相机变量,就体现了Usb 接口多态特征。 2)多态数组   演示一个案例:给Usb数组中,存放Phone 结构体 和 Camera 结构体变量, Phone还有一个特有的方法call(),请遍历Usb数组,如果是Phone变量,除了调用Usb 接口声明的方法外,还需要调用Phone 特有方法 call。

USB通信协议深入理解

半腔热情 提交于 2019-11-28 05:21:00
0. 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。 1. 包(Packet) 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据在 USB总线上的传输以包为单位,包只能在帧内传输。高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。帧的起始由一个特定的包(SOF 包)表示,帧尾为 EOF。EOF不是一个包,而是一种电平状态,EOF期间不允许有数据传输。 注意:虽然高速USB总线和全速/低速USB总线的帧周期不一样,但是SOF包中帧编号的增加速度是一样的,因为在高速USB系统中,SOF包中帧编号实际上取得是计数器的高11位,最低三位作为微帧编号没有使用,因此其帧编号的增加周期也为 1mS USB总线上的情形是怎样的? 包是USB总线上数据传输的最小单位,不能被打断或干扰,否则会引发错误。若干个数据包组成一次事务传输,一次事务传输也不能打断,属于一次事务传输的几个包必须连续,不能跨帧完成。一次传输由一次到多次事务传输构成,可以跨帧完成。

适配器模式

笑着哭i 提交于 2019-11-28 05:11:55
转载自https://www.cnblogs.com/V1haoge/p/6479118.html 适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。   适配器模式有两种:类适配器、对象适配器、接口适配器   前二者在实现上有些许区别,作用一样,第三个接口适配器差别较大。 1、类适配器模式:   原理:通过继承来实现适配器功能。   当我们要访问的接口A中没有我们想要的方法 ,却在另一个接口B中发现了合适的方法,我们又不能改变访问接口A,在这种情况下,我们可以定义一个适配器p来进行中转,这个适配器p要实现我们访问的接口A,这样我们就能继续访问当前接口A中的方法(虽然它目前不是我们的菜),然后再继承接口B的实现类BB,这样我们可以在适配器P中访问接口B的方法了,这时我们在适配器P中的接口A方法中直接引用BB中的合适方法,这样就完成了一个简单的类适配器。   详见下方实例:我们以ps2与usb的转接为例 ps2接口:Ps2 1 public interface Ps2 { 2 void isPs2(); 3 } USB接口:Usb 1 public interface Usb { 2 void isUsb(); 3 } USB接口实现类:Usber 1 public class Usber

USB简介

佐手、 提交于 2019-11-28 02:38:12
http://hi.baidu.com/hieda/blog/item/51b628666bbcc227ab184c9e.html 通用串行总线 ( U niversal S erial B us, USB )通用串行总线是连接外部设备的一个串口总线标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,补充标准(On-The-Go)使其能够用于在便携设备之间直接交换数据。USB由Intel、Microsoft、Compaq、IBM、NEC等几家大厂商发起。 1 起因 2 简介 2.1 标准 3 历史 3.1 USB 3.2 USB On-The-Go Supplement 4 技术细节概述 4.1 技术指标 4.2 机械和电气标准 4.2.1 标准USB接口 http://hi.baidu.com/hieda/blog/item/1a543b3404cefb4d241f1470.html 4.2.2 Mini USB接口 http://hi.baidu.com/hieda/blog/item/1a543b3404cefb4d241f1470.html 4.2.3 编码方式 4.3 软件架构 4.3.1 端点 4.3.2 HCD 4.3.3 USB 封包格式 4.4 设备分类 4.5 USB接头 4.6 电源 5 同类标准比较 5.1 Storage 5.2 人机接口设备(HID)