我学习USB设计的历程
- 格式:doc
- 大小:26.50 KB
- 文档页数:6
usb设计调研报告USB 设计调研报告一、引言随着科技的发展和信息技术的普及,USB(Universal Serial Bus,通用串行总线)已经成为了现代设备之间数据传输的标准接口。
为了了解USB的设计原理、应用范围和未来发展趋势,我们进行了一次USB设计调研。
本报告将从USB的起源、设计原理、应用和未来发展四个方面进行介绍和分析。
二、USB起源USB最早是由英特尔、微软和康柏三家公司共同推出的一种外部总线标准接口。
1996年,第一代USB 1.0规范发布,它的数据传输速率为1.5Mbps,用于连接个人计算机及其外部设备。
随着技术的发展,USB 2.0规范在2000年发布,数据传输速率提升到480Mbps。
目前,USB 3.0和USB 3.1规范已经发布,传输速率分别达到5Gbps和10Gbps。
三、USB设计原理USB的设计原理主要包括物理层、数据链路层、传输层和应用层。
物理层负责传输电源和数据信号,它采用了差分线对来减少电磁干扰。
数据链路层负责数据的传输和错误检测,它使用了数据包和差错校验码来保证数据的可靠性。
传输层负责数据包的重组和流量控制,它使用了令牌控制和唤醒机制来管理多个USB设备之间的数据传输。
应用层提供了一系列标准接口和协议,以便不同设备之间的互连和通讯。
四、USB应用范围USB的应用范围非常广泛,几乎遍及各个行业和领域。
在计算机领域,USB用于连接鼠标、键盘、打印机、扫描仪等外部设备;在消费电子领域,USB用于连接手机、摄像机、音响等设备;在工业控制领域,USB用于连接传感器、执行器、仪表等设备。
五、USB未来发展趋势USB的未来发展趋势主要包括提高传输速率、增加功耗管理功能和扩展应用领域。
随着技术的进步,USB的传输速率还将继续提升,以满足大数据传输和高清视频传输的需求。
此外,USB还将加强对设备功耗的管理,以提高电池续航时间和节省能源。
最后,USB还将拓展应用领域,例如在医疗设备、智能家居、无人驾驶等领域发挥更重要的作用。
USB系统结构与应用设计(1)摘要:通用串行总线是一种简单的计算机外围接口标准。
它具有即插即用、扩展方便等优点,已成为计算机必备的一个接口。
本文简要介绍 USB总线的功能、拓朴结构及其数据传输过程,并举例说明USB接口的实际应用。
关键词:通用串行总线 USB接口外围接口标准一、USB接口背景在早期的计算机系统上常用串口或并口连接外围设备。
每个接口都需要占用计算机的系统资源。
无论是串口还是并口都是点对点的连接,一个接口仅支持一个设备。
因此每添加一个新的设备,就需要添加一个 ISA/EISA 或 PCI 卡来支持,同时系统需要重新启动才能驱动新的设备。
USB总线是INTEL、DEC MICROSOFTIBM等公司联合提出的一种新的串行总线标准,主要用于PC机与外围设备的互联。
USB总线具有低成本、使用简单、支持即插即用、易于扩展等特点,已被广泛地用在 PC机及嵌入式系统上。
二、USB总线优缺点1.优点(1)使用简单所用USB系统的接口一致,连线简单。
系统可对设备进行自动检测和配置,支持热插拔。
新添加设备系统不需要重新启动。
(2)应用范围广USB系统数据报文附加信息少,带宽利用率高,可同时支持同步传输和异步传输两种传输方式。
一个USB系统最多可支持127个物理设备。
USB设备的带宽可从几 Kbps到几 Mbp& —个USB系统可同时支持不同速率的设备,如低速的键盘、鼠标,全速的ISDN、语音,高速的磁盘、图像等。
(3)较强的纠错能力USB系统可实时地管理设备插拔。
在 USB协议中包含了传输错误管理、错误恢复等功能,同时根据不同的传输类型来处理传输错误。
4)总线供电USB总线可为连接在其上的设备提供5V电压/100mA电流的供电,最大可提供 500mA的电流。
USB设备也可采用自供电方式。
( 5)低成本USB接口电路简单,易于实现,特别是低速设备。
USB系统接口 /电缆也比较简单,成本比串口 /并口低。
毕业实习报告题 目: USB Hub 的设计与生产科技学院信息工程系2010年10月05日姓 名:专 业:电子信息工程 班级学号: 指导教师:本次毕业实习地点为深圳市威鑫联电子有限公司,该公司是一家集专业设计开发、生产、销售各种精密连接器和接插件的专业厂商。
产品广泛应用于计算机主机板、液晶显示器、电讯卡、存储器、移动硬盘、读卡器、数码相机、MP3、PDA、液晶电视、交换机、汽车防盗器、可视电话、无线电话及各种通讯设备产品上.公司本着产品专一、专业、专注的特点为,主要与国内大中型知名企业和国际著名跨国公司合作,其产品远销欧美,日韩,新加坡及香港台湾等等国家和地区,分别于香港,台湾,上海,北京等地设立分公司。
公司自创建以下,积极倡导以人为本,科技创新的穞理念,积极追求产品的科技会计师和完美的产品质量,引进国外先进的生产设备和检测设备,拥有先进的模具设计、开发及制造能力。
公司目前已成为有资源保证和品质保障、技术力量雄厚、生产检测设备、实行现代企业管理制度、具有先进电子通讯信息和电子商务平台的外向型企业。
本着立足深圳放眼全球的信念,威鑫联人正以创新、诚信、务实的工作态度,以实行品牌战略为宗旨,竭诚为客户提供优质满意的服务。
第一章设备组成、工作原理及用途.。
.。
.。
...。
..。
.。
.....。
.。
...。
.。
......。
...。
...。
.。
..。
....。
..。
.。
3第二章产品的开发和生产工艺过程及产品结构.。
.。
.。
..。
....。
.。
.。
.....。
.。
.。
.。
.。
.。
.。
.8第三章毕业实习总结和体会。
..。
.。
..。
.。
....。
.。
.。
.。
...。
.。
...。
.。
..。
..。
.。
...。
.。
.。
.。
.。
.。
..。
.。
12第四章实习工作建议.。
.。
..。
.。
.。
.。
..。
....。
..。
.。
....。
...。
.。
...。
.。
..。
.. ...。
..。
.。
...。
.。
..。
.。
13第五章附录..。
最初想学习USB的原因在于当时非常非常想有一台通用编程器,商用的编程器虽然功能好,但是价格昂贵,仅仅为了编程几种芯片就去买一个似乎很可惜(我现在已经买了编程器了:))。
于是想自己做一个很简单的,用串口?并口?一想到要加个又大又笨的外置电源就不喜欢,用USB,不错,有总线供电,这点很吸引人,就是当时我对USB一窍不通,那就找资料看看吧。
当时USB技术刚刚兴起,USB器件在电子市场上还是很少见,在网上逛了很多天,最后决定用Philips公司的PDIUSBD12作为USB控制器,主要原因是Philips提供的技术文档比较详细。
看了Philips 公司的相关资料,似乎硬件电路并不难,于是自己画了原理图,检查了N遍,应该没问题了,然后制PCB,初步硬件调试,一切都很顺利。
接下来就是考虑软件怎么写。
一提到软件,这下头大了。
看了几天PDIUSBD12的数据手册,天啊,这么多稀奇古怪的寄存器都是些什么呀,见鬼。
看来不了解USB的协议根本就无法去对PDIUSBD12进行程序设计。
于是只好去翻USB1.1规范,那可是200多页的英文哪,又不是74系列的手册那样几个参数一看就OK了,好在我的专业英语还不算太差,硬着头皮看吧。
当时看了近一个月,简直象进了迷宫一样,根本搞不清东西南北。
当时书店关于USB 的书只有一本国防科大的USB总线接口开发指南,买回来回来仔细一看,天,简直是英文USB1.1规范的中文简化版,有些英文的术语一翻译过来怎么着看都不舒服,而且省略了很多部分,一样看的不得其门而入,于是扔掉了书(冤枉国防科大的这本书了,后来讲USB的书满天飞,我都翻过,不敢说它们都是垃圾,但是我认为国大的书的编者言语之间对USB确实还是了解很深的,其他大多数书的编者/译者,有的竟然能把pullup resistor of collector翻译成“向上电阻收集器”,嘿嘿,我就不多说了),继续研究E文。
当时另外一个朋友在我的极力鼓吹下也跟我一起没日没夜热情高涨地研究了很多天,可惜后来没有修成正果:)。
USB系统结构与应用设计【摘要】USB系统结构与应用设计在现代科技中扮演着重要的角色。
本文通过对USB系统结构与应用设计的重要性、发展历程和应用领域进行探讨,详细介绍了USB的基本结构与工作原理、接口类型及特点,以及在计算机外设和嵌入式系统中的广泛应用。
指出了USB系统设计中需要注意的事项,并对未来发展方向进行展望,总结了关键要点并展示了USB技术在未来的应用前景。
这篇文章将帮助读者深入了解USB 系统结构与应用设计的重要性和发展趋势,为相关领域的研究和实践提供有益的指导。
【关键词】USB系统结构,应用设计,USB发展历程,USB应用领域,USB 基本结构,工作原理,USB接口类型,特点,计算机外设,嵌入式系统,系统设计注意事项,未来发展方向,关键要点,应用前景。
1. 引言1.1 USB系统结构与应用设计的重要性USB系统结构与应用设计在当今信息化社会中扮演着至关重要的角色。
随着科技的不断发展,USB技术已经成为各种设备之间进行数据传输和通信的基础。
其重要性体现在以下几个方面:USB系统结构与应用设计能够提高设备之间的互联性和兼容性。
通过USB接口,不同厂商生产的设备可以方便地连接到计算机或其他主机上,实现数据传输和共享。
这极大地方便了用户的使用体验,促进了不同设备之间的互操作性。
USB系统结构与应用设计有助于提升设备的性能和功能。
USB接口的高速传输能力和稳定性,使得设备能够更快速地进行数据交换,提高工作效率。
通过USB接口还可以实现设备的功能扩展,比如连接外部存储设备、打印机、摄像头等,为用户提供更多的功能选择。
USB系统结构与应用设计还能够降低设备制造成本和提高市场竞争力。
相比于传统的接口设计,USB接口具有统一的标准和规范,可以降低设备的生产成本和研发周期。
USB接口也更符合市场需求,增强了设备的销售吸引力和竞争优势。
USB系统结构与应用设计的重要性不言而喻。
它不仅为设备之间的连接和通信提供了便利,还为设备的性能和功能提升提供了可能,同时也为设备制造商降低了成本并提高了市场竞争力。
USB协议归纳一.USB的描述符及其之间的关系描述符的作用:记录了设备的类型,厂商ID、产品ID(通常依靠他们加载对应的驱动程序)、端点情况、版本号等众多信息。
种类:设备描述符,配置描述符,接口描述符,端点描述符及字符串描述符。
各描述符的关系:一个USB设备只有一个设备描述符。
设备描述符里决定了该设备有多少种配置,每种配置都有一个配置描述符,而每个配置描述符中又定义了该配置里有多少个接口,每个接口都有一个接口描述符,接口描述符里定义了该接口有多少个端点,每个端点都有一个端点描述符,端点描述符定义了端点的:设备描述符:主要记录设备所使用的USB协议版本号、端点0的最大包大小、厂商ID(VID)和产品ID(PID)、设备版本号、厂商字符串索引、产品字符串索引、设备序列号索引、可能的配置熟等。
配置描述符:主要记录配置所包含的接口数、配置的编号、供电方式、是否支持远程唤醒、电流需求量等。
接口描述符:主要记录接口的编号、接口的端点数、接口所使用的类、子类、协议等。
端点描述符:主要记录端点号及方向、端点的传输类型、最大包长度、查寻时间间隔等。
字符串描述符:主要提供一些方便人们阅读的信息,它不是必须的。
二.设备的枚举过程控制传输{建立过程:开始于一个SETUP令牌包,后面紧跟一个DATA0数据包数据过程:{控制读传输:数据过程输入数据控制写传输:数据过程输出数据建立过程:数据长度为0,就是没有数据过程。
状态过程{控制读传输:数据过程输出数据控制写传输:数据过程输入数据(状态过程用来确认所有的数据是否已经正确传输完成)设备的枚举框图 {{ 再次获取设备描述符配置描述符 配置描述符集合 如果有字符串描述符还要获取。
像HID 设备还有报告描述符。
枚举过程完成了剩下的工作就不多了。
三.USB 的包结构及传输过程USB 必须按照一定的关系把不同的包组织成事务才能传输。
事务通常有两个或者三个包组成:令牌包、数据包、和握手包数据包的分类:令牌包、数据包、握手包主机 设备 设备描述符标准请求(这是一个建立过程)设备描述符(数据过程)(没错误情况)0长度的确认数据包(状态过程) 主机对设备再次复位 设置地址请求请求(建立过程)数据包中包含新地址 连接以后 主机对设备复位几次,设备地址为0.、 输入令牌包(没有数据过程) 0长度状态数据包(状态过程) ACK 应答包(收到应答包之后启用新地址) 具体的新地址有主机负责管理,主机会分配一个唯一的地址给设备、{令牌包{INOUTSETUPSOF 数据包{DATA0DATA1握手包{ACKNAKSTALL 特殊包:PRE包的结构:一个包被分成了不同的域,根据不同的包所包含的域是不一样的。
自己动手做USB1、USB-HUB 概述目前USB2.0 标准分为高速(480Mb/s), 全速(12Mb/s),和低速(1.5Mb/s)三个版本现在绝大部分是高速标准了,USB2.0全速相当于USB 1. 1 标准,已经属于淘汰产品;USB 低速等同于USB 1. 0二手市场才能偶遇到这种老东西了。
现在最新的USB 规范是USB 3.0 。
品牌USB Hub附带的USB线直径明显更粗,通常采用编织线+铝箔双层屏蔽+四根抗拉线+四根传输芯线的USB 2.0标准,线阻低、屏蔽性好,可以提供更佳的供电能力和信号传输距离。
极少数优质USB线的两端还带有磁环,可以提供更出色的电气性能,减轻与其它设备的电磁干扰。
在USB Hub长时间工作后,可以触摸其外壳感受温度,温度越低越好,这意味着产品发热量小,能够长时间稳定工作。
2、HUB主要芯片方案:主要品牌有慧荣、擎泰、联盛安国、创惟等。
USB控制芯片选型:(1)NEC 最早参与制定USB 标准的企业之一,其USB 2.0 控制芯片一向以稳定快速著称,早年受到众多发烧友的追捧。
UPD720114GA 价格还是有点小贵的,相对而言,6个大洋。
下面是网友晒出一个产品不错的设计。
目测成本还是在20RMB以上。
做工还是很不错的。
(2)汤铭科技,后起之秀,其研发是专注于USB HUB 控制芯片领域,目前主打产品是FE1.1 USB 2.0 四口和FE2.1 USB 2.0 七口控制芯片。
其最大工作特色是极低的工作温度;FE1.1 USB 控制芯片采用了MultiTRAK 多重交易转译器(MTT)技术,相对于目前市场上大多的USB HUB 只内建一个交易转译器,当USB HUB 插入设备时,内部带宽将被多个设备分享,从而造成数据传输时拥堵;相比之下,采用MTT技术的USB HUB 会让每一个USB 接口独享带宽,不出现数据拥堵、速度下降的情况。
此外,FE系列控制芯片还具备10米以上的信号驱动强度,并且全系列具备LED信号灯指示技术。
USB的优点相信大家都知道了,而且还很赚钱,嘿嘿,这里就不多说,不懂的就去看看书吧,这里要说的是如何快速掌握USB技术。
这篇文章一方面是我对USB学习的一个总结,另一方面是为了方便初学者入门学习。
学习USB,一本好的教材是少不了的,我以前看过了很多关于USB的书,但是大部分的书都看得不明不白,原因是编者没有从初学者的角度来考虑问题,这里要推荐的书是由马伟编著的《计算机USB系统原理及其主/从机设计》,书中非常系统地向读者展示了USB的原理体系。
在进入学习之前,先认识一下USB的重要关键字,这些关键字也是在以下的学习里面将出现的字眼:1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定位置,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)2、帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作。
3、上行、下行:设备到主机为上行,主机到设备为下行下面以一问一答的形式开始学习吧。
问题一:USB的传输线结构是如何的呢?答案一:一条USB的传输线分别由地线、电源线、D+、D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的实现机制,就不要管它了)。
问题二:数据是如何在USB传输线里面传送的答案二:数据在USB线里传送是由低位到高位发送的。
问题三:USB的编码方案?答案三:USB采用不归零取反来传输数据,当传输线上的差分数据输入0时就取反,输入1时就保持原值,为了确保信号发送的准确性,当在USB总线上发送一个包时,传输设备就要进行位插入操作(即在数据流中每连续6个1后就插入一个0),从而强迫NRZI码发生变化。
这个了解就行了,这些是由专门硬件处理的。
学USB的一点心得1、目标:用USB取代232。
原因:1、提高速度,2、适应没有232的电脑笔记本,3、上档次。
2、知识点:1、USB协议,比起232协议难多了,需要数字通信的基础,难。
2、USB接口器件的硬件知识和编程,硬件易懂,编程难。
3、PC的驱动程序和编程。
编驱动极难,厂商通常提供,仅特殊情况时要自己编。
编程用API函数,通常有VC的例子,较难。
3、方案:1、买世面上出售的232<=>USB线,>100RMB。
好处是不用任何学习,但速度提高不多。
用的是一个USB-232的片子,软件是安装一个驱动,就会多出一个Com3来,实际上也就是USB,然后你照操作普通串口的方式去操作它就很容易了。
2、用一个USB-232的芯片自己作,比如FTDI公司的FTDI232A。
大量应用才有必要。
3、用其他的USB芯片,那么PC端的程序一定要改动,但是速度可以做得很高。
USB芯片分两类,一种内含MCU例如EZ—USB,另一种不含MCU例如PDIUSBD12。
后一种的开发费用低。
线路板一般需要改动,单片机的程序一般也要改。
4、我的方案:将d12+89C52放在一个小线路板上,用以取代MAX232。
好处是可以塞进现用的机箱(^_^我的机箱大),并可以继续使用光藕隔离。
原有线路板就不用改动了,单片机的程序也不用改(我把串口速率提高为128000)。
PC那里用软件调用一个DLL(周立功公司作的,速度15KB/s),仅仅四个函数,很简单的。
速度(下行)达到8KB/s,够我用的。
试验已经成功了,马上要去做板了。
5、速度:对于USB来说8KB/S的速度是很慢的,USB1.1版速度可达900KB/s。
但是对于89C52的串口来说,这已经很快了(如果是上行难度更大),如果不涉及到串口,89C52(24MHZ)的通信速度至少可达80KB/s。
想再快就要用其他的MCU,比如AVR的8515。
PC机那边要用API函数来作,或者干脆自己用API写一个DLL出来,这样以后使用比较方便。
USB接口研究与应用USB接口研究与应用一、引言USB(Universal Serial Bus),即通用串行总线,是计算机与外部设备之间的一种连接方式。
它是一种方便快捷、快速传输数据的接口标准,并且逐渐取代了许多传统接口,成为现代电子设备之间数据交互的主要方式。
本文将深入研究USB接口的原理、发展历程以及在各类设备中的应用。
二、USB接口的原理及发展历程USB接口的原理是通过双绞线对数据进行传输。
它使用了一种称为“主机-从机”架构的设计理念,其中,主机负责管理USB设备,从机则被动响应主机的请求。
USB接口采用了一对差分信号线(D+和D-)和一个共地线(GND),通过不同的电压和电流来传输数据。
该设计理念使得USB接口具有高速传输、热插拔、即插即用等特点。
USB接口的发展历程可以追溯到1996年。
最早的USB 1.0标准提供了低速(1.5Mbps)和全速(12Mbps)两种传输模式,适用于键盘、鼠标等低速设备。
随后,USB 2.0标准被推出,提供了高速传输模式(480Mbps),适用于大容量存储设备、数码相机等高速设备。
USB 3.0标准于2008年发布,提供了超高速传输模式(5Gbps),使得大容量文件的传输更为高效。
此后,USB 3.1、USB 3.2等新标准相继发布,不断提升传输速率和功能。
三、USB接口在计算机设备中的应用USB接口在计算机设备中的应用广泛而多样。
首先,作为最主要的外部设备连接方式之一,USB接口与键盘、鼠标、打印机等设备的连接更加简便。
同时,它也广泛应用于存储设备,如U盘、移动硬盘等,实现了便捷的数据传输和存储。
此外,USB接口还可以连接音频设备、视频设备和网络设备等,使得计算机与其他设备之间的交互更加灵活多样。
四、USB接口在消费电子设备中的应用除了计算机设备,USB接口在消费电子设备中的应用也非常广泛。
智能手机、平板电脑等移动设备通常通过USB接口进行充电和数据传输,为用户带来了便利。
轻工职业技术学院毕业设计(论文)题目 USB充电器的设计系部信息工程系专业电子信息工程技术毕业设计(论文)任务书设计(论文)题目: USB充电器的设计设计(论文)主要容:1.介绍USB充电器的背景。
2.总结充电器的概念和特性。
3.描述USB充电器设计方法。
4.实现电路。
从硬件电路上来完成USB充电器的设计。
5.对设计做整体概述和分析。
设计过程中遇到的问题及解决办法、课程设计过程体会、创新点、新颖性、应用价值等。
要求完成的主要任务:本课题要求完成的主要任务是设计USB充电器,实现对交流信号的转换,在交流信号波动时保证输出直流信号的稳定,并且要考虑到散热的问题。
指导教师签名:教研室主任签名:轻工职业技术学院毕业设计(论文)开题报告题目 USB充电器的设计系部信息工程系专业电子信息工程技术班级 09电信班姓名小莉学号 0903021132指导教师欣2012年 3 月 13 日一、选题的依据及意义USB充电器在各个领域用途广泛,特别是在生活领域被广泛用于MP3、MP4、手机、相机等常见电器。
USB充电器通常指的是一种将交流电转换为低压直流电的装置。
充电器是采用电力电子半导体器件,将电压和频率固定不变的交流电变换为直流电的一种静止变流装置。
在以蓄电池为工作电源或备用电源的用电场合,充电器具有广泛的应用前景。
二、国外研究概况及发展趋势在2006年12月14日为了统一手机充电器接口,信产部就颁布了《移动通信手持机充电器及接口技术要求和测试方法》。
在接口方面参照了通用串行总线(USB)类型A系列接口规,并将统一的连接接口设在充电器一侧。
新标准的执行将降低消费成本,节约社会资源,减少电子废弃物,避免电子产品对环境的二次污染。
这样将给消费者带来很多的方便:不管更换什么样的手机,只要有一个USB充电器就可以了,使USB充电器更加广泛化。
《2011-2015 年中国充电器市场竞争格局与未来前景预测报告》首先介绍了国际充电器行业市场运营态势、中国充电器行业发展环境等,接着分析了中国充电器产业运行的现状,然后介绍了中国充电器行业市场竞争格局。
USB系统结构与应用设计【摘要】本文主要介绍了USB系统结构与应用设计的相关内容。
在概述了USB系统结构与应用设计的总体概况。
在详细解析了USB系统结构、USB应用设计原则、USB系统的物理连接设计、USB系统的逻辑层设计以及USB系统的应用案例分析。
结论部分探讨了USB系统结构与应用设计的未来发展方向。
通过本文的介绍,读者可以全面了解USB系统结构与应用设计的相关知识,并对未来的发展方向有所启示。
USB技术在当今的数字化社会中扮演着重要的角色,相信随着技术的发展,USB系统结构与应用设计将会迎来更加广阔的发展空间。
【关键词】USB系统结构、应用设计、物理连接、逻辑层、应用案例、未来发展方向1. 引言1.1 USB系统结构与应用设计概述USB系统结构与应用设计是指在计算机和外部设备之间进行数据传输的一种通信协议。
USB(Universal Serial Bus)是一种通用串行总线,它提供了一种连接计算机和外部设备的简单、快速和可靠的方法。
USB系统结构包括物理连接、逻辑层协议和应用设计等多个方面。
USB应用设计原则主要包括兼容性、可靠性、性能和安全性等方面。
USB系统的物理连接设计涉及到USB接口的形式、线缆标准和电源规格等。
USB系统的逻辑层设计主要包括USB协议、通信方式和数据传输速率等。
USB系统的应用案例分析可以涉及到各种外部设备和计算机之间的连接和通信场景。
USB系统结构与应用设计的未来发展方向包括提高传输速率、改善兼容性、增强安全性和推动新技术的应用等。
随着信息技术的不断发展和创新,USB系统将在更多领域得到应用,并且不断提升用户体验和便利性。
USB系统结构与应用设计的未来发展将继续受到关注和重视,带来更多可能性和机遇。
2. 正文2.1 USB系统结构详解USB(Universal Serial Bus)是一种用于连接计算机与外部设备的串行总线标准。
USB的系统结构由四个部分组成:主机控制器、外围设备、USB连接线和USB设备接口。
USB接口设计范文USB(Universal Serial Bus,通用串行总线)是一种被广泛应用于计算机和其他电子设备之间进行数据传输的接口标准。
自1996年发布以来,USB接口已成为计算机和其他设备之间最常用的连接方式之一、在设计USB接口时,需要考虑多个因素,如数据传输速度、稳定性、兼容性等等。
第一点,USB接口设计需要考虑数据传输速度。
随着科技的发展,需求越来越高的数据传输速度成为了一种趋势。
在设计USB接口时,需要考虑如何提高数据传输速度,以满足用户的需求。
USB接口设计中的一种常见方法是增加传输线路的数量,以提高接口的带宽。
此外,还可以使用更高速的传输协议,如USB3.0、USB3.1等,以提高数据传输速度。
第二点,USB接口设计需要考虑稳定性。
数据传输的稳定性是评判一个接口性能的重要指标之一、在设计USB接口时,需要考虑如何降低干扰和噪声,以提高数据传输的稳定性。
可以通过增加屏蔽层、优化电磁兼容性等方式来提高USB接口的稳定性。
此外,还可以对USB接口进行工程测试和验证,以确保其在各种工作环境下都能提供稳定的性能。
第三点,USB接口设计需要考虑兼容性。
由于USB接口广泛应用于各种设备中,因此兼容性是设计USB接口时需要重点考虑的因素之一、以往的USB接口版本之间存在一定的兼容性问题,用户在连接设备时可能需要使用适配器或转接线。
在设计USB接口时,需要采用兼容性更好的设计方案,使新版本的USB接口能够向下兼容旧版本的设备。
此外,现代USB接口设计还需要考虑节能和环保。
随着人们对环境保护意识的提高,设计节能和环保的USB接口已成为一种趋势。
在USB接口设计中,可以采用各种技术手段来降低功耗,如休眠模式、动态功耗管理等。
同时,还要考虑材料的选择和回收利用,以减少对环境的影响。
综上所述,USB接口设计需要考虑多个因素,如数据传输速度、稳定性、兼容性、节能和环保等。
只有在综合考虑这些因素的基础上,才能设计出功能强大、稳定可靠、兼容性好的USB接口,满足用户的需求。
一个工程师的十年经历感悟(含5篇)第一篇:一个工程师的十年经历感悟一个工程师的十年经历感悟星期一, 09/13/2010-12:04 —南宫鱼时间过得真快,转眼就做了十来年的技术。
从当初的初出茅庐,一步步地走到了今天。
在成长的路上,遇到了数个贵人,有过很多次的当头棒喝,也有过很多的徘徊、很多的无奈和很多的感悟。
很早就有写点文字的想法,于自己是个总结,于后来者是个参考。
因为工作上琐事缠身,一直没有机会落笔。
这次,很多在头脑中长期潜伏的想法,一股脑地倒了出来。
本想用流水账的方式,把自己的经历写下,但写好后又大段地删掉了。
因为我觉得,仅仅罗列自己的经历,能给自己什么帮助,又能给别人以什么启发呢?!最后斟酌决定,以自己在工程师路上的几点收获作为线索来动笔,这正是我最想与别人分享的。
我的收获可以总结成下面三句话:步步深入,水到渠成;举一反三,触类旁通;整合资源,提升自我。
步步深入,水到渠成很多的初学电子工程师在面对新技术的时候总希望找到登堂入室的捷径。
寻找捷径是人的本能,付出最小成本,换取最大的成就,这是无可厚非的。
但电子技术是门很严谨的科学,靠捷径和技巧最终都会是无果而返,折腾了半天又回到了起点。
说说我自己学USB的过程。
2001年的时候,公司的一个产品准备使用USB 端口通信,我和几位同事自发开始学习USB的相关知识。
我好几次计划仔细把USB协议从头看到尾,但每次都是看了前三章,就缺乏耐性,抑或因为其他专职工作的时间安排而中断。
自此之后,至少10次,我一次又一次启动学USB设计的计划,但每次都是从阅读USB协议开始,然后阅读到第三章就停掉了,甚至只看了十几页。
虽然花费了时间,但没有丝毫进展,所掌握的知识比当初从科普文章中得到的也没有增加多少。
直到2003年的一天,部门来了一位对USB小有所成的新同事。
一次偶尔的聊天中,他提到,“USB协议熟读第九章,再看些sample程序,就入门了”。
于是,找来Cypress的USB HID的例子程序,对照USB协议的第九章来学习。
引言WDM是“Windows驱动程序模型”的简称,即“Windows Driver Model”。
实际上它是一系列集成在操作系统之中的常规系统服务集,用于简化硬件驱动程序的编写,并保证它们在Windows 98/Me/2000中的二进制兼容,WDM(Windows Driver Model)模型是从WinNT3.51和WinNT4的核模式设备驱动程序发展而来的。
WDM主要的变化是增加了对即插即用、电源管理、Windows Management Interface(WMI)、设备接口的支持。
WDM 模型的主要目标,是实现能够跨平台使用、更安全、更灵活、编制更简单的Windows设备驱动程序。
WDM采用了“基于对象”的技术,建立了一个分层的驱动程序结构。
WDM 首先在Windows98中实现,在Windows2000中得到了进一步的完善,并在后续开发的Windows操作系统中都将存在,比如Windows Me和Windows XP。
微软在通过WDM模型的引入,希望减轻设备驱动程序的开发难度和周期,逐渐规设备驱动程序的开发,应该说,WDM将成为以后设备驱动程序的主流。
USB技术的全称是通用串行总线,是英文Universal Serial Bus的缩写。
它是一种应用在PC领域的新型接口技术,虽然USB2.0已经被广泛应用,但是初始的Windows 2000是支持USB1.0协议的,如果希望支持USB2.0协议,需要在微软上下载升级包。
实际上,对于键盘或者鼠标来说,传输的速度非常小,使用USB1.0或者是USB2.0的区别并不大。
闪存盘之类的存储设备,则需要重视传输速度。
USB1.0版本主要应用在鼠标,键盘等HID设备上,这就是本驱动程序中引用的头文件版本是USB1.0的原因。
本毕业设计的目的是希望对Windows 2000操作系统体系结构和驱动程序开发以及调试等方面的问题有一个比较深入的了解,对USB协议和USB体系有做一个比较深入的了解。
目录1绪论 (1)1.1设计背景 (1)1.2充电器工作的基本原理 (3)1.3充电器的工作流程 (3)1.4选用的芯片的介绍 (4)2硬件电路的设计 (12)2.1稳压电源 (12)2.2AT89S52单片机部分的电路图 (12)2.3光电转换器 (13)3软件设计 (15)3.1软件设计流程 (16)4实物制作和调试 (18)4.1制作USB充电线 (18)4.2制作充电器实物及调试 (20)4.3思路拓展 (20)总结 (22)致谢 (23)参考文献 (24)附录一:程序说明 (25)附图一:完整电路图 (42)附表一:原器件清单 (43)1绪论1.1设计背景当今时代通信事业迅猛发展,手机在消费群体中得到了普及,为了更好的使用和维护手机,需要给手机选择适合的充电器。
手机电池中以锂离子电池最普遍,锂电池是以金属锂或锂物质为负极、利用化学反应而产生电能的电池。
它具有较高的能量重量比和能量体积比,无记忆效应,可重复充电次数多,使用寿命较长,价格也相对较为实惠。
锂离子电池的不足之处在于对充电器的要求比较苛刻,对保护电路的要求较高。
其要求的充电方式是恒流恒压方式,为有效利用电池容量,需将锂离子电池充电至最大电压,但是过压充电会造成电池损坏,这就要求较高的控制精度(精度高于1%)。
另外,对于电压过低的电池需要进行预充,充电终止检测除电压检测外,还需采用其他的辅助方法作为防止过充的后备措施,如检测电池温度、限定充电时间,为电池提供附加保护等。
但是由于各个手机型号不同,使用的充电的参数也不尽相同,因此,市面上出现了“万能充电器”。
本人买了几个市面上常用的手机万能充电器,发现其原理基本相同,但是做工粗糙,缺乏对电池容量的检测,采用的是固定的输出电流,对不同的电池而言,不是导致充电时间过长就是导致过流。
这是极其危险的。
因为,一般情况下lion电池(电芯)在放电情况(包括短路)一般都不会发生爆炸,但有可能出现过热和燃烧,但在比较严重的过流充电情况,就非常容易发生爆炸。
USB开发过程总结(1)集线器检测新设备主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。
(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。
当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。
)(2)主机知道了新设备连接后每个集线器用中断传输来报告在集线器上的事件。
当主机知道了这个事件,它给集线器发送一个Get_Status请求来了解更多的消息。
返回的消息告诉主机一个设备是什么时候连接的。
(3)集线器重新设置这个新设备当主机知道有一个新的设备时,主机给集线器发送一个Set_Feature请求,请求集线器来重新设置端口。
集线器使得设备的USB数据线处于重启(RESET)状态至少10ms。
(4)集线器在设备和主机之间建立一个信号通路主机发送一个Get_Status请求来验证设备是否激起重启状态.返回的数据有一位表示设备仍然处于重启状态。
当集线器释放了重启状态,设备就处于默认状态了,即设备已经准备好通过Endpoint 0 的默认流程响应控制传输。
即设备现在使用默认地址0x0与主机通信。
(5)集线器检测设备速度集线器通过测定那根信号线(D+或D—)在空闲时有更高的电压来检测设备是低速设备还是全速设备。
(全速和高速设备D+有上拉电阻,低速设备D-有上拉电阻).(6)获取最大数据包长度PC向address 0发送USB协议规定的Get_Device_Descriptor命令,以取得却缺省控制管道所支持的最大数据包长度,并在有限的时间内等待USB设备的响应,该长度包含在设备描述符的bMaxPacketSize0字段中,其地址偏移量为7,所以这时主机只需读取该描述符的前8个字节.注意,主机一次只能列举一个USB设备,所以同一时刻只能有一个USB设备使用缺省地址0.以下操作雷同,不同操作系统设定时延是不一样的,比如说win2k大概是几毫秒,如果没有反应就再发送一次命令,重复三次。
[zz] 我学习USB设计的历程
-献给即将学习USB和对此感兴趣的朋友
作者:duoduo
最初想学习USB的原因在于当时非常非常想有一台通用编程器,商用的编程器虽然功能好,但是价格昂贵,仅仅为了编程几种芯片就去买一个似乎很可惜(我现在已经买了编程器了:))。
于是想自己做一个很简单的,用串口?并口?一想到要加个又大又笨的外置电源就不喜欢,用USB,不错,有总线供电,这点很吸引人,就是当时我对USB 一窍不通,那就找资料看看吧。
当时USB技术刚刚兴起,USB器件在电子市场上还是很少见,在网上逛了很多天,最后决定用Philips公司的PDIUSBD12作为USB控制器,主要原因是Philips提供的技术文档比较详细。
看了Philips公司的相关资料,似乎硬件电路并不难,于是自己画了原理图,检查了N遍,应该没问题了,然后制PCB,初步硬件调试,一切都很顺利。
接下来就是考虑软件怎么写。
一提到软件,这下头大了。
看了几天PDIUSBD 12的数据手册,天啊,这么多稀奇古怪的寄存器都是些什么呀,见鬼。
看来不了解USB的协议根本就无法去对PDIUSBD12进行程序设计。
于是只好去翻USB1.1规范,那可是200多页的英文哪,又不是74系列的手册那样几个参数一看就OK了,好在我的专业英语还不算太差,硬着头皮看吧。
当时看了近一个月,简直象进了迷宫一样,根本搞不清东西南北。
当时书店关于USB的书只有一本国防科大的USB总线接口开发指南,买回来回来仔细一看,天,简直是英文USB1.1规范的中文
简化版,有些英文的术语一翻译过来怎么着看都不舒服,而且省略了很多部分,一样看的不得其门而入,于是扔掉了书(冤枉国防科大的这本书了,后来讲USB的书满天飞,我都翻过,不敢说它们都是垃圾,但是我认为国大的书的编者言语之间对USB确实还是了解很深的,其他大多数书的编者/译者,有的竟然能把pullup resistor of collector翻译成“向上电阻收集器”,嘿嘿,我就不多说了),继续研究E文。
当时另外一个朋友在我的极力鼓吹下也跟我一起没日没夜热情高涨地研究了
很多天,可惜后来没有修成正果:)。
当时身边虽然博士教授们一大堆,可是没有人研究过USB,只好装上猎狗的鼻子,去网上四处搜索,倒是有一些线索,可是没有很有用的。
这时一个网友给了我一份传说是Philips的C51固件代码,我大喜过望,兴冲冲编译一下,天,无数的Error。
硬着头皮去改,发现源文件残缺不全,注释也非常的少,一点点地自己摸索着把代码补上来,这期间我把代码和USB规范结合着看,模模糊糊有些明白了,就这样磕磕绊绊地又搞了一个月,熬了无数通宵,程序终于编译通过了。
当我颤抖着手把我的板插上USB电缆的时候,奇迹竟然出现了,硬盘一阵狂响之后,Windows赫然蹦出一个发现新硬件的对话筐。
My God!我成功了也!!欢喜还没过去,装上Philips的驱动程序,想看看我的板上的开关呀、灯呀的动一动,这才发现我的硬件和Philips的不完全一样,所以和Philips的应用程序不能完全兼容,虽然驱动装上了,板子上的灯啊、开关呀却无法控制。
看来得改改程序了。
这一改程序才知道自己现在对USB协议不过仅仅是略懂了一些皮毛,当按照自己的理解去做了修改以后,PC根本就不能正确识别出我的设备。
然后我明白,没有真正理解USB协议,就不会真正地写出自己的程序,更谈不上开发USB接口产品。
好在这一段时间的摸索得到了一些经验,对USB也有了一些基本正确的认识,精神上受到了一些鼓舞,于是我继续研究USB E文规范。
一个月过去了,又一个月过去了,我感觉虽然理解了很多了,但是有些关键的地方仍然没有真正透彻理解,似乎只差薄薄的一层半透明的纸了,只要稍稍有人点拨一下就能顿悟了,可惜仙人没有出现,因此我的程序始终存在问题,此时我真的有些绝望了,USB开发暂时搁置。
不久我到一家公司从事USB方面的工作,接触到了一种SOC的U SB程序设计。
生存的压力使我不得不努力去克服对USB通讯的心理恐惧,仔细研读USB协议,此时USB的相关资料也渐渐丰富了,并且现在手边有了逻辑分析仪、高档示波器等设备,我甚至用逻辑分析仪仔细捕捉过USB通讯的协议实现的物理过程,也用Verilog HDL写过USB host的行为仿真模型提供给FPGA系统模拟。
两个月以后,我终于对USB的理解有了质的飞跃,对USB传输数据流过程已经很熟悉,对那片SOC,我可以仅用不到600字节的代码使PC发现新硬件。
后来我捡起从前的那块PDIUSBD12 USB板,按照自己对USB的理解完全重新做了程序设计,这次非常顺利,完成PC主机对USB设备的枚举过程已经是轻松的事情了。
但是要完全完成一个USB设备的
设计,这只是走过了第一个阶段,下一个艰苦的过程则是驱动程序的设计,没有驱动程序,用PC软件控制USB设备根本就是天方夜谈。
最初我用Windriver做了硬件诊断,一切都OK之后,可以选择用Windri ver生成一个驱动程序和测试台应用程序,但是Windriver的驱动程序安装方法让我觉得很别扭,我认为一个可以商用级的USB设备不应该采用这种方法。
另外,Windriver502版本似乎和Xilinx的ISE6.1软件冲突,ISE安装过程经常蓝屏,而且这个版本的Windriver在Win2K S P3以上系统中安装必定会导致系统黑屏。
另外有一个近于专业级的驱动程序开发工具DriverStudio,我看过一段时间,感觉它外表和Windo ws DDK完全不同,但是实际上它并没有把DDK做过于严实的封装,处处可以看到DDK的影子,掌握DriverStudio其实也同样需要对DDK 有较多的理解。
我选择了Windows DDK作为驱动设计工具,虽然我还没有计划做一个专业级的驱动程序设计者,但是在这方面多做一些深入的理解决没有坏处。
DDK有很多驱动程序的例子,其中有一个bulkus b的例子,仔细看过之后,其实把它修改一下就可以变成自己设备的驱动,这也正是Microsoft推荐驱动设计者开发设备驱动程序的方法。
DD K确实过于博大精深,我想,能够达到自己的设备驱动可以正常工作这个目的就可以了,没有必要搞清楚驱动程序设计中的每一个细节。
当时我也曾经花了很大的力气才终于达到这个目的,其中的艰难到读者自己去经历的时候就能够体会了(你可能会把Microsoft号称非常稳定的Win 2K整的死去活来:))。
好,现在是最后一个阶段了:设计应用程序。
这个应该是整个设计中最轻松的阶段了,通过驱动程序控制硬件设备,
VC++是很好的工具,当然这个并不是每个人都必然的选择。
当写完最后一句代码,运行程序,看到设备在鼠标键盘点动之间随心所欲受你的控制的时候,那种令人飘然的成就感真的是难以形容。
现在,带USB接口的器件很多了,而且有很多已经是USB2.0 Hig h speed设备了。
我有幸见识了许多USB器件的应用,感觉不论是U SB full speed还是High speed,也不管这个器件到底只是一个USB 控制器还是复杂的SOC,USB通讯部分其实大家都是大同小异的。
现在USB OTG技术经过几年有些沉默的发展之后终于柳暗花明,开发U SB OTG设备应该是USB通讯技术下一阶段的热点。
其间还曾出现了一类USB Host器件,算是弥补USB1.1和USB OTG之间暂时的空白吧。
也许我悟性太差,学习USB的历程真的是非常艰难,还有许多朋友也许会有和我一样的痛苦,我把自己的USB学习经历写出来,希望能够给后来者一些有益的启示,同时也希望能够给大家一些鼓舞:再大的困难,只要肯努力,也是能够克服的;USB通讯完全不同RS232,要能够硬着头皮看E文,要有懂USB的朋友指点,要有很好的参考代码,要自己肯动脑筋去思考,要有强烈的兴趣和恒心,这样的话,即使时间稍长一点,最终你也是能掌握USB的。
我不希望我的经历让想学习USB的朋友感到恐怖,在你学习USB 之前,先要给自己定一个将要达到的标准:如果你希望自己能够完全掌握USB通讯技术,达到能够设计USB physical和SIE部分的水平,那麽这就是USB硬件设计的至高境界了,不过只有IC设计公司集中若
干人力花费若干年时间投入若干经费才能够做得了的。
如果你想掌握硬固件编程、驱动程序设计,那么你需要准备吃点苦;如果你不需要关心USB通讯的具体过程,只是固件应用中和底层简单的进行数据交换,或者是PC应用程序设计,呵呵,恭喜了,你会发现USB通讯其实很简单。