USB2.0接口电路设计与编程
摘
要
通用串行总线 USB(Universal Serial Bus)是一种新型的微机总线接口规范。
具有传输速度快、可靠性高、使用灵活等优点。作为一种通信接口规范,它被广
泛地应用在 PC 外设和便携式系统中。随着客户对系统数据采集速度要求的不断
提高,USB 以其使用方便、易于扩展、速度快等优点而越来越多的应用于数据
采集系统中。PDIUSBD12 是一种 USB 接口芯片,具有很高的性能价格比,可以
使设计者在各种不同类型微控制器中选择合适的微控制器,减小了开发时间、风
险以及费用,从而用快捷的方法来实现最经济的 USB 接口。本文对 PDIUSBD12
的功能作了简要介绍,利用 89S51 与 PDIUSBD12 相连实现了 USB 接口功能,
着重描述其硬件电路和接口芯片的固件程序设计。固件程序设计部分用 C 语言
开发,在本文中仅给出了部分程序的流程设计。
关键词:USB,89S51,PDIUSBD12 芯片
Circuit Design and Program of USB 1.1 Interface
Author: Wei
Fei
Tutor: Zhang Yuxiang
Abstract
Universal Serial Bus is a new specification for microcomputer bus interface. The
USB has the merits of high transmission speed, high reliability, and flexibility. As a
communications interface standard, this was widely used in computer and portable
systems. With the advance of the clients' demand for the speed of a data collection
system is continual, USB is more and more widely used in data collection system for
its advantages such as convenience, expanding port with ease and high speed and etc.
PDIUSBD12 is a USB interface chip with a high performance , which enables
designers to choose suitable micro controller in a different types. It can reduce
developmental time, risk and cost, thereby it can use the most economical and
efficient way to achieve USB interface. The paper introduces the functions of
PDIUSBD12 and focuses on the hardware and interface circuit chip firmware
programming. The firmware programming part develops with C language, and the
paper only gives part of the design of the process.
Key words: USB, 89S51, PDIUSBD12 chips
目
录
1 绪 论..................................................................................................................................1
1.1 课题背景与目的........................................................................................................1
1.2 课题的提出................................................................................................................1
1.3 USB 简介...................................................................................................................2
2 USB1.1 协议简介................................................................................................................ 4
2.1 USB 系统构成...........................................................................................................4
2.2 USB 设备的枚举过程...............................................................................................5
2.3 USB 标准设备请求...................................................................................................6
3 芯片介绍..............................................................................................................................8
3.1 PDIUSBD12 芯片简介..............................................................................................8
3.2 AT89S51 介绍......................................................................................................... 12
3.3 芯片选择..................................................................................................................13
4 硬件电路设计....................................................................................................................14
4.1 单片机单元电路设计..............................................................................................14
4.2 USB 接口电路设计................................................................................................ 15
5 软件的设计........................................................................................................................17
5.1 软件的开发环境......................................................................................................17
5.2 软件程序开发..........................................................................................................17
5.3 程序流程分析..........................................................................................................22
5.4 程序模块化思想......................................................................................................23
结论..........................................................................................................................................24
致谢..........................................................................................................................................25
参考文献..................................................................................................................................26
1 绪 论
通用串行总线USB(Universal Serial Bus)是一种新型的微机总线接口规范。其传输速
率远快于一般的串行总线接口。它最突出的特点是支持热插拔、使用方便、独立供电且
能连接多个不同的设备。
随着客户对系统数据采集速度要求的不断提高,USB以其使用方便、易于扩展、速
度快等优点而越来越多的应用于数据采集系统中。
1.1 课题背景与目的
在计算机迅速普及的今天,USB 接口已经成为了计算机中最普遍的接口,例如数码
相机、扫描仪、游戏杆、磁带和软驱、图像设备、打印机、键盘、鼠标等等都使用了
USB 接口。
Universal Serial Bus(USB)是由 Compaq、IBM、Intel、Microsoft 等七家公司于 1995
年所研发与规范出来的,相对于传统外围接口,USB 具有诸多特性和优点:统一了各种
接口设备的连接头、即插即用(plug and play)特性、“热插拨”(hot attach and detach)特性、
具备 12Mbps 的标准传输速率及更高的传输速率、最多可以连接 127 个设备、可由 USB
电缆供电而不需要附加电源、具有电源管理功能。
由于 USB 具有以上的特性和优点,许多传统的外设接口已经转向 USB 接口,而传
统的串口将随即被淘汰,因此在新开发的设备中使用 USB 接口将符合时代潮流,将使
产品的生命力更强,而不至于很快被淘汰。
本次毕业设计,我们就利用所学的专业知识,来设计一个 USB 接口电路,实现与
计算机的数据传送。这样,不仅加深我们对 USB 接口原理的理解,也能够促进我们专
业课的学习[1]。
1.2 课题的提出
USB 接口的应用越来越广泛,用 PDIUSBD12 实现 USB1.1 接口是一个典型的单片
机 USB 应用系统。该课题能够考察学生微控制器、模拟和数字电路、辅助设计软件、
编程语言等知识的学习和掌握水平,使学生在硬件设计及实现、软件编程等方面的应用
能力得到全面训练和提高。
主要内容分为硬件和软件部分,要求设计出 8051 系列 MCU 为核心的应用系统,能
够用 PDIUSBD12 实现 USB1.1 接口的基本通讯功能,正确使用各种元器件(包括 MCU、
USB1.1 接口器件等),画出电路原理图。软件部分要求编制出使系统正确运行的程序。
现有的条件是具有 8051 系列 MCU 的开发环境(包括仿真器、相关学习实验板和开
发软件),电路图设计软件等。
1.3 USB 简介
通用串行总线(Universal Serial Bus,简称USB)是康柏、微软、IBM,DEC等公司为
了解传统总线的不足推出的一种新型串行总线接口规范, 自1995年在Comdex上亮相以
来至今已广泛地为各PC厂家所支持。现在生产的PC机几乎都配备了USB接口,Microsoft
的windows98,NT以及MacOS,Linux,FreeBSD等流行操作系统都增加了对USB的支持。
USB的主要特点如下:
(1)速度快。 USB有全速和低速两种方式,主模式为全速模式,速率为12Mbps,从
而使一些要求高速数据的外设,如:高速硬盘、摄像头等,都能统一到同一个总线框架
下。另外为了适应一些不需要很大吞吐量但是有很高实时性要求的设备,如鼠标、键盘、
游戏杆等,USB还提供低速方式,速率为1.5Mbps。如表1.1所示。新推出的USB2.0协议
提供最高达480Mbps的数据传输速率可以适应各种不同类型的外设。
表1.1 USB使用分类表
应用
特性
键盘、鼠标、游戏棒
低价格、热插拔、易用性
性能
低速
交互设备 10-20kb/s
中速
ISBN、PBX、POTS
低价格、易用性、动态插拔、
电话、音频、压缩视频
500kb/s-10Mb/s
限定带宽和延迟
高速
音频、磁盘
高带宽、限定延迟、易用性
音频、磁盘 25-500Mb/s
(2) 支持热插拔和即插即用。所有的USB设备可以随时的插入和拔离系统,USB主
机能够动态的识别设备的状态,并自动给接入的设备分配地址和配置参数,添加、删除
设备完全不用关闭计算机,也不必像过去那样需要手动跳线和拨码开关来设置新的外
设。
(3) 易于扩展。USB使用的是一种易于扩展的树状结构,通过使用USB Hub扩展可
连接多达127个外设。标准USB电缆长度为3米(低速为5米)。通过Hub或中继器可以使外
设距离达到30米。
(4) 使用灵活。USB共有4种传输模式:控制传输(control),步传输(synchronization)、
中断传输(interrupt)、批量传输(bulk),适应不同设备的需要。
(5) 能够采用总线供电。普通使用串口、并口的设备都需要单独的供电系统,而USB
设备则不需要,因为USB接口提供了内置电源, USB电源能向低压设备提供最大5V,
500mA的电源,从而降低了这些设备的成本并提高了性价比。
(6) 实现成本低。USB对系统与PC的集成进行了优化,适合于开发低成本的外设[2]。
2 USB1.1 协议简介
Intel 公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑:
(1)计算机与电话之间的连接:显然用计算机来进行计算机通信将是下一代计算机基
本的应用。机器和人们的数据交互流动需要一个广泛而又便宜的连通网络。然而,由于
目前产业间的相互独立发展,尚未建立统一标准,而 USB 则可以广泛的连接计算机和
电话。
(2)易用性:众所周知,PC 机的改装是极不灵活的。对用户友好的图形化接口和一
些软硬件机制的结合,加上新一代总线结构使得计算机的冲突大量减少,且易于改装。
但以终端用户的眼光来看,PC 机的输入/输出,如串行/并行端口、键盘、鼠标、操纵杆
接口等,均还没有达到即插即用的特性,USB 正是在这种情况下问世的。
(3)端口扩充:外围设备的添加总是被相当有限的端口数目限制着。缺少一个双向、
价廉、与外设连接的中低速的总线,限制了外围设备(诸如电话/电传/调制解调器的适配
器、扫描仪、键盘、PDA)的开发。现有的连接只可对极少设备进行优化,对于 PC 机的
新的功能部件的添加需定义一个新的接口来满足上述需要,USB 就应运而生。它是快速、
双向、同步、动态连接且价格低廉的串行接口,可以满足 PC 机发展的现在和未来的需
要[3]。
2.1 USB 系统构成
USB 总线由以下 4 个主要组分构成。
主机和设备:是指 USB 系统中的主要构件;
物理构成:是指 USB 元件的连接方法;
逻辑构成:不同的 USB 元件所担当的角色和责任,以及从主机和设备的角度出发
USB 总线所呈现的结构;
客户软件与设备功能接口的关系。
USB 通信的数据流的结构。主机的每一个层次分别对应设备的相应层次。通过逻辑
通道连接起来,客户软件通过逻辑连接可以直接控制设备的接口模块。这种连接使得软
件控制与接口一一对应起来,用户使用起来可以更加简单、快捷[4]。