USB的设计.docx

上传人:b****8 文档编号:9448682 上传时间:2023-05-19 格式:DOCX 页数:32 大小:837.08KB
下载 相关 举报
USB的设计.docx_第1页
第1页 / 共32页
USB的设计.docx_第2页
第2页 / 共32页
USB的设计.docx_第3页
第3页 / 共32页
USB的设计.docx_第4页
第4页 / 共32页
USB的设计.docx_第5页
第5页 / 共32页
USB的设计.docx_第6页
第6页 / 共32页
USB的设计.docx_第7页
第7页 / 共32页
USB的设计.docx_第8页
第8页 / 共32页
USB的设计.docx_第9页
第9页 / 共32页
USB的设计.docx_第10页
第10页 / 共32页
USB的设计.docx_第11页
第11页 / 共32页
USB的设计.docx_第12页
第12页 / 共32页
USB的设计.docx_第13页
第13页 / 共32页
USB的设计.docx_第14页
第14页 / 共32页
USB的设计.docx_第15页
第15页 / 共32页
USB的设计.docx_第16页
第16页 / 共32页
USB的设计.docx_第17页
第17页 / 共32页
USB的设计.docx_第18页
第18页 / 共32页
USB的设计.docx_第19页
第19页 / 共32页
USB的设计.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

USB的设计.docx

《USB的设计.docx》由会员分享,可在线阅读,更多相关《USB的设计.docx(32页珍藏版)》请在冰点文库上搜索。

USB的设计.docx

USB的设计

1绪论

1.1引言

随着计算机技术的飞速发展,计算机的应用日益普及,计算机外设的种类也越来越多,例如打印机、鼠标、键盘、扫描仪、游戏杆、音箱等。

由于每个外设都需要通过一个接口和计算机相连接,因此大量外设对计算机提出了新的要求。

而传统计算机接口在速度上具有缺陷,使其难以满足当前计算机迅速发展的需要。

如何设计出一款高性能的计算机接口是非常重要的。

为了满足用户的需求以Intel为首的七家公司于1994年推出了USB(UniversalSerialBus)通用串行总线协议,专用于低中速的计算机外设[1]。

目前USB端口已成为了微机主板的标准端口,所有的微机外设,包括键盘鼠标、显示器、打印机、数字相机扫描仪和游戏柄等等都将通过USB与主机相连,这种连接较以往普通并口和串口的连接而言主要的优点是速度高功耗低支持即插即用(Plug&Play)和使用维护方便。

USB是英文UniversalSerialBUS的缩写,中文含义是“通用串行总线”。

它不是一种新的总线标准,而是应用在PC领域的接口技术。

目前主板中主要是采用USB1.1和USB2.0,各USB版本间能很好的兼容。

USB需要主机硬件、操作系统和外设三个方面的支持才能工作。

目前的主板一般都采用支持USB功能的控制芯片组,主板上也安装有USB接口插座,而且除了背板的插座之外,主板上还预留有USB插针,可以通过连线接到机箱前面作为前置USB接口以方便使用[2]。

USB接口可用于连接多达127种外设,可以连接鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光软驱、USB网卡、ADSLModem、CableModem等,几乎所有的外部设备。

USB自从1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备的必配的接口之一。

1.2课题研究背景

在USB产生之前,外围设备与PC机的通信主要是通过PC机主板提供的各种接口来实现,如ISA接口、PCI接口、PS/2接口、串口、并口等。

这些传统设备通常被映射到CPU的输入输出地址空间,并且占用一根专用的中断请求线(IRQ),或者是直接存储器存取(DMA)通道pad。

例如IBMPC只使用10位的地址线,所以仅具有1024个端口地址。

这些端口地址有的被固定分配给主板上的设备,有的被分配给I/O扩展板。

I/O空间、IRQ以及DMA通道都为有限的系统资源,当外围设备数目增加时,这些资源就很快被耗尽,从而限制了外围设备的数量,而且容易产生I/0地址冲突、所使用的IRS己经被别的设备占用等问题。

用户使用这些接口时,需要打开机箱,重新启动计算机,使用相当繁琐。

另外这些传统的接口是非共享式接口,体积庞大,接口规格也不统一。

为了克服以上缺点,Philips与数字设备公司(DigitalEquipmentCorporation)借鉴I2C总线的优点制定TAccess.bus规范。

Aecess.bus与主机的连接使用4条线缆,即电源线、地线、数据线和脉冲线。

Access.bus主要是让计算机外围低速设备,如键盘、鼠标等,以简单线缆插入式连接来进行低速(100Kbps)工作,这就是USB发展的雏形。

1994年,Microsoft公司提出Plug&Play(即插即用)方案,旨在把PC外设和扩充电路板连接起来,实现系统对中断和端口等资源的自动分配,而无需用户干预。

1995年,Compaq、Intel和Microsoft三家厂商提出DeviceBay(设备插架)概念,其目的是实现热插拨和高度的扩充性。

1996年1月15日,USB白皮书1.0版本公布。

1998年10月公布USB1.1版本修改了以前所有章节,并增加中断输出这一新的传输类型。

但当时最早提供USB支持的只是Widows95的OEMServiceRelease2,之后还有两个修订版OSR2.1和2.5,两者都是面向PC零售商的,而不是直接面向用户的。

随着1998年6月Window98Gold和Window98SC(SecondEdition)的发布,USB真正迎来了发展的好机会,两者对USB的支持使USB外设陆续出现。

从1999年10月起,陆续发布USB2.0(draft0.79)、USB2.0(draft0.9)和USB2.0M。

USB2.0于2000年4月27日发表,是一种高速模式的版本,传输速度提高40倍,达到480Mb/s,而又同时与USB1.1兼容,一个连接到一个低速外设的2.0版集线器将把接受到的数据从新的速度翻译为此外设的较低速度[3]。

1.3课题研究的意义

USB总线与计算机其他接口相比具有低成本、使用简单、支持即插即用、易于扩展等优点,被广泛地应用微机中。

USB作为一种新的外设连接技术,该技术着眼于简化计算机与外设的连接过程,着眼于低速和高速的兼容,从而解决串行设备和并行设备与计算机相连的争论,为用户提供一种可共享的,可扩充的使用方便的串行总线随着PC机向各层次的发展与渗透,外围设备与PC的连接与扩充变得越来越重要。

本课题进行基于USB接口技术的硬件开发,这对于推广USB接口的应用有着重要的意义。

USB与其他常用计算机接口性能对比见表1.1。

表1.1常用计算机接口性能对比

接口类型

数据格式

传输速率(b/s)

最大设备数(个)

电缆长度(m)

是否热插拔

USB串行

串行

1.5M/12M/480M

127

3或5

RS232

串行

20K

2

15~30

RS485

串行

10M

32

1200

IEEE-1394

串行

400M,3.2G

63

4.5

以太网

串行

10M/100M/1G

1024

500

并行端口

并行

8M

2或8

3~9

ISA

并行

128M

——

——

EISA

并行

256M

——

——

PCI

并行

1056M,2112M

——

——

AGP

并行

>2112M

——

——

1.4本文主要内容安排

综上所述,根据对研究题目的了解和任务要求,本文主要内容安排如下:

第一章:

绪论,阐述研究题目USB接口的研究背景及研究意义;

第二章:

USB2.0系统概述,介绍USB系统的组成结构,工作原理等;

第三章:

芯片选择,介绍USB接口芯片的选择以及芯片CY7C68013;

第四章:

硬件电路原理图的设计,设计USB接口卡的电路原理图;

第五章:

硬件PCB板的设计,根据电路原理图进行PCB板的设计;

第六章:

总结,总结本次设计所进行的工作。

 

2USB系统概述

2.1USB系统的优势

(1)自动地检测和设置。

当USB接口设备插入计算机机箱上的USB口,计算机自动从系统中寻找相应的驱动程序,并自动完成驱动程序的载入,为USB设备动态分配唯一的地址。

当USB接口设备和计算机主机断开时,计算机系统自动完成地址的回收,释放装载的驱动程序。

实现真正的“即插即用”。

(2)接口通用。

USB接口方便用户使用,所以越来越多的用户接受了USB接口.市场上可以很容易地看到USB接口的键盘、鼠标、硬盘、摄像头等外围设备。

这些设备接口的机械特性和电气特性都是一致的,都是严格按照USB协议生产,因此在计算机上可以方便地接入这些设备。

(3)节约系统资源。

不同的外设可以使用同一个USB接口,操作系统不必为每种设备配置不同的中断和I/0口,解决了中断和I/O冲突的问题,用户不必手动调整这些资源的分配。

(4)接口线缆简便。

USB接口线缆只使用了4根线,分别是+5V的电源线、地线和另外两根数据线。

单独一条标准的USB线缆支持传输距离为5m,利用USB集线器可以传输30m的距离。

(5)可以不用外界供电。

USB接口中本身就有+/-5V电源线和地线,可以直接从主机和USB集线器上获得电源供电。

(6)传输速率灵活。

USB2.0接口是高速接口,理论数据传输速率为480Mbps,但是它兼容低速和全速传输,对于不同的设备,根据需求可以选择不同的数据传输速率。

(7)保证同步传输带宽。

USB能为音频和电话提供足够的同步带宽和低的延迟特性,同步设备可以利用大部分的总线带宽。

(8)性能稳定。

USB2.0协议中包含了数据传输错误处理机制,使用CRC校验传输的数据,发现错误后能自动触发数据的重新传送机制。

(9)价格便宜。

USB接口的线缆和机械方面实现起来比较简单,价格便宜。

USB接口芯片也比较便宜[4]。

2.2总线拓扑结构

USB总线的物理连接是一种分层的菊花链结构,集线器(hub)是每个星形结构的中心。

PC机就是主机和根Hub,用户可以将外设或附加的Hub与之相连,这些附加的Hub可以连接另外的外设以及下层HubUSB。

支持最多5个Hub层以及127个外设。

图2.1描述了USB的物理拓扑结构从中可以看出每一段的连接都是点对点的。

图2.1USB总线拓扑

2.3USB总线的物理层

USB的物理接口包括电气特性和机械特性。

2.3.1USB总线的电气特性

USB通过一个四线电缆来传输信号与电源,如图2.2所示

图2.2USB电缆定义

其中D+和D-是一对差模的信号线,而VBus和GND则提供了5V的电源。

它可以给一些设备(包括Hub)供电,当然要有一定的条件限制。

USB每个连接头内拥有4个针脚:

其中两个用来传递差分数据,另外两个则是用来供给USB设备电源。

各个针脚编号与缆线颜色见表2.1。

USB提供了两种数据传输率一种是480Mb或12Mb的高速模式,另一种是1.5Mb的低速模式,这两种模式可以同时存在于一个USB系统中[5]。

而引入低速模式主要是为了降低要求不高的设备的成本比如鼠标键盘等等。

表2.1USB电缆线的信号与颜色

针脚编号

信号名称

缆线颜色

1

Vcc

2

Data-(D-)

3

Data+(D+)

绿

4

Ground

USB信号线在高速模式下必须使用带有屏蔽的双绞线,而且最长不能超过5m。

而在低速模式时中可以使用不带屏蔽或不是双绞的线,但最长不能超过3m,这主要是由于信号衰减的限制。

为了提供信号电压保证以及与终端负载相匹配,在电缆的每一端都使用了不平衡的终端负载。

这种终端负载也保证了能够检测外设与端口的连接或分离并且可以区分高速与低速设备。

2.3.2USB总线的机械特性

所有的设备都有上行的接口上行和下行的接头,是不能互换的。

这保证了不会有非法的连接出现,插头与插座有两个系列分别为A和B系列:

A用于基本固定的外围设备而系列,B用于经常拔插的设备,这两个系列是不能互换的,见表2.1:

表2.1USB插头和座

 

A型

插头

 

B型

插头

2.4USB数据流

图2.5描述了USB数据传输过程。

图2.5USB数据流

从逻辑上讲,USB数据的传输是通过管道进行的。

USB系统软件通过缺省管道(与端点0相对应)管理设备,设备驱动程序通过其它的管道来管理设备的功能接口。

实际的数据传输过程是这样的:

设备驱动程序通过对USB接口(USBdriverinterface)的调用发出输入输出请求(IRP,I/ORequestPacket);USB驱动程序接到请求后,调用HCD接口(hostcontrollerdriverinterface),将IRP转化为USB的传输(transfer),一个IRP可以包含一个或多个USB传输;然后HCD将USB传输分解为总线操作(transaction),由主控制器以包(packet)的形式发出[6]。

需要注意的是:

所有的数据传输都是由主机开始的,任何外设都无权开始一个传输。

IRP是由操作系统定义的,而USB传输与总线操作是USB规范定义的。

为了进一步说明USB传输,我们引出帧(frame)的概念。

帧:

USB总线将1ms定义为一帧,每帧以一个SOF包为起始,在这1ms里USB进行一系列的总线操作。

引入帧的概念主要是为了支持与时间有关的总线操作。

为了满足不同外设和用户的要求,USB提供了四种传输方式:

控制传输;同步传输;中断传输;批传输。

它们在数据格式、传输方向、数据包容量限制、总线访问限制等方面有着各自不同的特征:

(1)控制传输

当USB设备初次安装时,USB系统软件使用控制传输对设备进行设置,设备驱动程序通过特定的方式使用控制传输来传送,数据传送是无损性的。

控制传输用于支持在客户软件和它的应用之间的关于设置信息、命令信息、状态信息的传送。

控制传输由以下几个事务组成:

建立联系,把请求信息从主机传到它的应用设备;

零个或多个数据传送事务,按照1)中事务指明的方向传送数据;

状态信息回传。

将状态信息从应用设备传到主机。

当端点成功完成了被要求的操作时,回传状态信息为SUCCESS。

USB设备必须实现缺省控制通道,并将它实现成一个消息通道。

这个通道由USB系统软件使用。

USB设备的确认信息、状态信息以及控制信息由该通道传送。

如果需要的话,一个应用设备可以为端点实现额外的控制通道。

主机通过控制管道向设备发送USB标准请求和块请求,是以控制传输来实现的。

(2)批量传输

批量传输,也叫块传输,是由大量的数据组成,如使用打印机和扫描仪时,批量传输是连续的。

在硬件级上可使用错误检测,保证可靠的数据传输,并在硬件级上引入了数据的多次传送。

此外根据其它一些总线动作,被大量数据占用的带宽可以相应的进行改变。

(3)中断传输

中断传输应用于少量数据,且其传输延迟时间也是范围有限的情况下。

这种传输可由设备在任何时刻发送,并且以不慢于设备指定的速度在USB上传送。

中断传输一般由事件通告,特征及坐标号组成,只有一个或几个字节。

匹配定点设备的坐标即为一例,虽然不必要精确的指定传输率,但USB必须对交互数据提供一个反应时间的最低界限。

(4)同步传输

同步传输的建立、传送和使用是连续且实时的,同步传输是以稳定的速率发送和接收实时的信息,同步传输要使接收者与发送者保持相同的时间安排,除了传输速率,同步传输对传送延迟非常敏感。

所以同步通道的带宽,必须满足对相关功能部件的取样特性。

不可避免的信号延迟与每个端口的可用缓冲区数有关。

2.5USB编码方式

当USB发送包时,采用的是不归零翻转NRZI(NonReturntoZeroInvert)的编码方式,这种编码方式不需要单独的时钟信号与数据一起发送。

在NRZI数据编码中,+1表示在电平上无变化,而0表示电平有变化。

也就是说如果数据为1,则NRZI编码不变;若数据为0,则NRZI编码发生改变[7]。

NRZI编码方式如图2.6所示:

图2.6NRZI编码

NRZI编码用其数据流中的跳变表示同步信号,即传输数据“0”,这可以保证接收方和发送方同步。

但是,一长串的“1”会导致无电平跳变,从而引起接收方失去同步信号,为了避免这种情况,USB使用了位填充机制。

位填充其具体做法是:

如果传输的数据中有6个连续的“1”,那么发送方会在这6个“1”后面填充一个“0”,这就保证了在7个位时间里至少有一个跳变。

数据接收方接收到连续的6个“1”后会将第7位的“0”抛弃掉。

需要注意的是,如果原始数据的第7位本来就是“0”,位填充机制还是会在第7位填充一个“0”。

如果数据的位填充操作失败,则产生位填充错误,主机会忽略该数据传输。

但高速传输时有一个例外,其EOP(结束包)信号会故意产生一个位填充错误,以表示高速信息包的结束。

2.6USB设备

USB设备包括Hub和功能设备,而功能设备又可以细分为定位设备字符设备等等,为了进一步叙述我们给出端点(endpoint)和管道(pipe)的概念。

端点:

每一个USB设备在主机看来就是一个端点的集合,主机只能通过端点与设备进行通讯,以使用设备的功能。

每个端点实际上就是一个一定大小的数据缓冲区,这些端点在设备出厂时就已定义好。

在USB系统中,每一个端点都有唯一的地址,这是由设备地址和端点号给出的。

每个端点都有一定的特性。

其中包括:

传输方式、总线访问频率、带宽、端点号、数据包的最大容量等等。

端点必须在设备配置后才能生效(端点0除外)。

管道:

一个USB管道是驱动程序的一个数据缓冲区与一个外设端点的连接,它代表了一种在两者之间移动数据的能力。

一旦设备被配置,管道就存在了。

管道有两种类型,数据流管道(其中的数据没有USB定义的结构)与消息管道(其中的数据必须有USB定义的结构)管道只是一个逻辑上的概念[8]。

所有的设备必须支持端点0以作为设备的控制管道。

通过控制管道可以获取完全描述USB设备的信息,包括:

设备类型、电源管理、配置、端点描述等等。

只要设备连接到USB上并且上电,端点0就可以被访问,与之对应的控制管道就存在了。

一个USB设备可以分为三个层(图2.3)最底层是总线接口,用来发送与接收包,中间层处理总线接口与不同的端点之间的数据流通。

一个端点是数据最终的使用者或提供者,它可以看作数据的源或接收端。

最上层就是USB设备所提供的功能比如鼠标或键盘等。

图2.3USB设备结构层次

2.6.1Hub

Hub在USB结构中是一个关键,它提供了附加的USB节点,这些节点被称为端口。

Hub可以检测出每一个下行端口的状态,并且可以给下端的设备提供电源。

图2.4是一个典型的Hub。

图2.4典型的USB集线器(Hub)

2.6.2即插即用

USB设备可以即插即用,但在可以使用之前,必须对设备进行配置。

一旦设备连接到某一个USB的节点上,USB就会产生一系列的操作,来完成对设备的配置,这种操作被称为总线枚举过程:

(1)设备所连接的Hub检测出端口上有设备连接,通过状态变化管道向主机报告;

(2)主机通过询问Hub以获取确切的信息;

(3)主机这时知道设备连接到哪个端口上,于是向这个端口发出复位命令;

(4)Hub发出的复位信号结束后,端口被打开,Hub向设备提供100mA的电源,这时设备上电,所有的寄存器复位,并且以缺省地址0以及端点0响应命令;

(5)主机通过缺省地址与端点0进行通讯,赋予设备一个独一的地址,并且读取设备的配置信息;

(6)最后主机对设备进行配置,该设备就可以使用了。

当该设备被移走时,Hub依然要报告主机,并且关闭端口。

一旦主机接到设备移走的报告,就会改写当前结构信息。

2.6.3设备的挂起

为了节电,当设备在指定的时间内没有总线传输,USB设备自动进入挂起状态。

如果设备所接的Hub的端口被禁止了,设备也将进入挂起状态(称之为选择挂起)。

当然主机也可以进入挂起状态。

USB设备当总线活动时,就会离开挂起状态。

一个设备也可以通过电信号来远程唤醒进入挂起状态的主机。

这个能力是可选的,如果一个设备具有这个能力,主机有能力禁止或允许使用这种能力。

2.7USB主机

USB在外设和PC机之间提供服务,通常把连接所有外设的PC机称为USB主机,在USB主机内部含有USB主控制器(若主板上没有USB主机控制器,可以在PCI插槽内插入USB适配器),USB主控制器内部包含一个USB根集线器,用于给USB系统提供端口。

USB主机的主要功能是:

检测设备、数据流管理、错误检测、提供电源等。

目前USB主机提供的USB主控制器一般都有三个:

用于USB1.1协议的通用主机控制器接口和开放主机控制器接口以及用于USB2.0协议的扩展主机控制器接口。

2.8USB电源

在USB系统中,所有的集线器端口都可为和其相连的USB设备提供电源,且每个端口的最大输出电流一般为100mA或50OmA。

其中,可提供500mA电流的端口被称为高功率集线器端口,而仅能提供10OmA电流的USB端口被称为低功率端口[9]。

USB设备既可使用总线提供的电源,也可使用单独的本地电源(如电池、插座等)。

2.8.1电源分配

每个USB单元通过电缆只能提供有限的能源。

主机对那种直接相连的设备提供电源供其使用,并且每个USB设备都可能有自己的电源。

那些完全依靠电缆提供能源的设备称作“总线供能”设备.相反,那些可选择能源来源的设备称作“自供电”设备。

而且,集线器也可由与之相连的USB设备提供电源。

2.8.2电源管理

USB主机与USB系统有相互独立的电源管理系统。

USB的系统软件和主机电

源管理系统相互作用,以此来控制挂起、唤醒等系统电源事件。

另外,USB设备

可以具有USB技术规范所规定的电源管理信息,从而系统软件或类驱动程序可对

其进行电源管理。

 

3芯片选择

3.1USB接口芯片

USB接口芯片有两种方式,一种是采用普通单片机加上专用的USB通信芯片,这种专用芯片不带有微控制器。

现在的专用芯片有Philips公司的PDIUSBDI2,Scanlogic公司的SL11或者NationalSemiconductor公司的US2BN9602等[10],这种方案的设计和调试比较麻烦,成本也相对较高。

另一种是直接选择具备USB通信功能的单片机,这些单片机处理能力强,有的本身就具备多路A/D。

构成系统的电路简单、调试方便、电磁兼容性好,因此采用具备USB接口的单片机是构成USB数据采集系统较好的方案[11]。

为了满足系统对带宽和实时性的要求,提高系统的可靠性、可扩展性和易开发性,现选用Cypress公司的EZ-USBFX2系列芯片。

CYPRESS公司首先推出符合USB1.1标准的EZ-USB(2100系列)和FX系列芯片,随后推出了符合USB2.0标准的FX2系列芯片,68013就是典型的FX2芯片,它自从推出以来就受到广大开发者的好评,主要原因有:

(1)出色的USB2.0单芯片解决方案,68013包含增强型8051内核和智能USB接口;

(2)优良的性价比,56引脚的68013市场售价不到50元;

(3)开发简单,CYPRESS公司提供了完整的开发方案,如调试界面和固件框架;

(4)真正体现USB2.0传输速度,包含通用可编程接口(GPIF),实现与外设的“胶连接”,增强型8051的指令周期只有4时钟周期[12]。

本设计选用的Cypress公司的EZ–USB,FX2系列芯片中的CY7C68013,是一种带USB接口的单片机芯片,虽然采用低价的8051单片机,但仍然能获得很高的速度。

它包括一个8051处理器、一个串行接口引擎(SIE)、一个USB收发器、一个8.5kB片上RAM、一个4kBFIFO存储器及一个通用可编程接口(GPIF)。

FX2可提供全面集成的解决方案[13]。

它有56SSOP、100TQFP、128TQFP三种封装,本设计选用占用电路板空间较少的56SSOP封装。

如果要进行扩展,也可选用128TQFP封装。

3.2USB芯片CY7C68013介绍

3.2.1CY7C68013特点

图3.1FX2框架图

CY7C68013属于Cypress公司的FX2系列产品,是Cypress公司生产的第一款USB2.0芯片。

它的主要特点有:

(1)USB2.0单芯片解决方案,包括USB2.0收发器,串行接口引擎(SIE)和增强型51内核;

(2)可“软配置”RAM,大小为8.5K,取代传统51的RAM和ROM,程序可通过下面方式下载:

—通过USB口下载

—通过外部E2PROM装载

—外界存储设备(仅128引脚支持)

(3)通用可编程接口GPIF,GPIF是FX2的一个重要技术:

—可设置为主从模式,主模式下可对外部FIFO,存储器,ATA接口设备进行高速读写操作,从模式下外部主控器(如DSP,MCU)可把G

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2