专栏中心

EEPW首页 > 专栏 > USB 1

USB 1

发布人:mayer 时间:2009-09-08 来源:工程师 发布文章
USB 1

 

一,概述
现在很多的主控上都带有USB的功能,但是对于初学者来说,这方面应用还是比较棘手,因为usb的不但固件程序需要编写,PC端的驱动也要编写,而且驱动写好了还要写个上位机才能看出效果。这样调试起来十分困难,建议从USB的键盘,鼠标开始做,了解清楚了,再做自己的协议就比较简单了。
USB的概念历史啥的这里就不说了。我们先不管具体的数据包格式,这一节先从整个包的层面上简单的说,过程是这样的,
---------------------------------------设备插入-------------------------------------------------------------
1)    主机会轮回查询各个USB端口,主机检测到D+与D-之间有电压差,就认为有新的设置接入。主机等待100ms后发出复位请求。设备接到复位请求后将产生一个外部中断信号。
---------------------------------------枚举过程------------------------------------------------------------
2)    主机这时候只是知道有新的设备插入了,但是不知道插进来个什么东西,所以就开始询问它是什么设备,怎么用,负荷能力怎么样。这个时侯就进入了枚举过程。因为刚刚插入的设备没有分配地址,就用默认地址0,首先发送一个Get_descriptor(获取设备描述符)指令包,设备接到包后就开始解析包(其实就是你在固件程序里判断处理) ,然后按固定格式返回自己设备的设备描述符,这一步主要是主机知道你的USB设备的基础属性,比如支持的传输数据长度,电流负荷多少,支持那个USB版本,以及以后方便电脑找驱动的PID,VID。
3)    这时候主机知道你(你做的设备,简称你吧)的数据长度还有电流大小后,下一步就是给你分配一个属于你的地址。
4)    给你一个地址后就开始询问你的具体配置。首先发送一个试探性的设备配置请求Get_configuration(要求固定返回9个设备配置字),你接到后就开始发送9字节的设备配置字,其中包括你的配置字的总长度,这样主机就知道你的配置到底有多长,然后再发一次设备配置请求,这时你就开始上传所有的配置字。这个时侯主机就已经很明白你的工作方式就各种特性,然后就可以正常工作了
5)    如果你在前面的某些配置(以后章节详细说明)要求要说明自己的名字什么的,这里还要上传字符串描述符。
6)    如果是鼠标或者键盘还要上传报告描述符
---------------------------------------正常数据阶段------------------------------------------------------
7)    这个时侯你已经被主机正式接受并且注册了,你可以通过自己写测驱动或通用驱动与电脑进行通讯了。

以上是简单的描述,详细的后面章节再做介绍,学习一个东西关键是首先要知道这个东西是什么,简单的工作原理。对于USB的工作我这里做个比方,
     主机好比一个公司,你就是USB设备,要进入公司首先要面试(枚举),你到了面试现场(第一次插入设备),面试官首先了解到你的外表,性别已经你要应聘的岗位(设备描述符),然后给你一个号,以后就开始按号叫人,当你被叫到就开始问你的专业知识,性格等(配置描述符),如果你比较合适(通过了枚举)你就会录取了,并且注册一个你的信息到公司(驱动安装,并且写入注册表)。等你下次来公司,只要把工号(PID,VID)报上,就知道是你来了。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

最新的GPU市场分析显示,英伟达正在被AMD超越——英特尔首次突破1%的市场份额大关

MAX9951_MAX9952 双路参数测量单元

资源下载 2007-03-20

村田顽童爬坡

视频 2010-03-16

村田顽童——三年级学生篇

视频 2010-03-15

TIDEP-01030:用于高端角雷达的毫米波诊断与监控参考设计解析

汽车电子 2025-12-03

业界首款基于台积电COUPE的次世代AI芯片光学连接解决方案亮相——Alchip与Ayar实验室展示未来硅光子器件

村田顽童的堂妹“村田少女”问世 3

视频 2010-03-16

英国热能专家声称实现10分钟电动快充突破

PMP23227 技术解析:基于 TI 稳压器的 AMD Versal™ VE2302 电源树完整参考设计

汽车电子 2025-12-03

大联大世平集团推出基于NXP产品的汽车12V电池管理系统应用方案

双闪存引脚电子测量_高压开关矩阵MAX9960

三星大力推崇96%的NAND设计采用低功耗——研究人员研究基于铁电晶体管的设计

村田顽童的堂妹“村田少女”问世 1

视频 2010-03-16

村田顽童的堂妹“村田少女”问世 2

视频 2010-03-16

适用于汽车 4D 成像雷达的双器件毫米波级联参考设计解析

汽车电子 2025-12-03

keil uv3正式版

搞懂微型断路器标识含义,这篇就够了!

MP3主芯片识别软件

HPE采用AMD的Helios机架架构用于2026年AI系统——新机架形态在2026年上市前迎来首个主要合作伙伴

更多 培训课堂
更多 焦点
更多 视频

技术专区