usb毕业设计论文.doc

上传人:文库蛋蛋多 文档编号:3932413 上传时间:2023-03-28 格式:DOC 页数:47 大小:264KB
返回 下载 相关 举报
usb毕业设计论文.doc_第1页
第1页 / 共47页
usb毕业设计论文.doc_第2页
第2页 / 共47页
usb毕业设计论文.doc_第3页
第3页 / 共47页
usb毕业设计论文.doc_第4页
第4页 / 共47页
usb毕业设计论文.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《usb毕业设计论文.doc》由会员分享,可在线阅读,更多相关《usb毕业设计论文.doc(47页珍藏版)》请在三一办公上搜索。

1、摘 要通用串行总线USB(Universal Serial Bus)是一种新型的微机总线接口规范。随着客户对系统数据采集速度要求的不断提高,USB以其使用方便、易于扩展、速度快等优点而越来越多的应用于数据采集系统中。本文介绍了一种基于USB总线的数据采集系统的设计方法,采用PHILIPS公司的USB接口芯片PDIUSBD12与单片机AT89C51进行通信,并和PC机通信。该系统用传统的USB总线取代了RS232串行总线,通过对USB协议和设备构架的充分理解,对以单片机89C51和USB接口芯片PDIUSBD12为主的数据采集系统进行了硬件设计和软件编程,并在此设计的基础上给出相应的原理图。硬件

2、设计主要解决的是PDIUSBD12和ADC0809与单片机之间的接口电路问题,软件编程大致分为三部分:一是为满足D12在USB上的最大传输速率而编写的固件程序;二是在PC机中的Windows 2000工作环境下编写USB设备驱动程序;三是充分了解D12的主要功能特点,并编写出应用程序。通过该数据采集系统,我们可以对USB协议有很深刻的理解,对D12接口芯片有很熟练的应用,能更好领悟USB接口的优势。关键词:USB;单片机;数据采集;固件ABSTRACTUniversal Serial Bus is a new specification for microcomputer bus interf

3、ace. With the continuing advance of the clients demand for the speed of a data collection system, USB is more and more widely used in data collection system for its advantages such as convenience, expanding port with ease and high speed etc.This paper presents a USB-based data acquisition system des

4、ign methods, PHILIPS companies using the USB interface chip with PDIUSBD12 Progressive AT89C51 OK communication, and communication and PC. The system using traditional USB replace the RS232 serial bus, Through the USB framework agreement and equipment with the full understanding, right to 89 C51 mic

5、rocontroller and USB interface chip PDIUSBD12-based data acquisition system for the hardware pieces of software design and programming, and in this design is given on the basis of the corresponding diagram. The main solution of Hardware design is the Connection between PDIUSBD12 and ADC0809 with the

6、 interface between the microcontroller circuit,The software programme mainly includes: the fireware code in need of D12s maximum transmission rate; USB device driver and client application under the circustance of Win2000 operation system in computer. After this data collection system,we can underst

7、and the USB protocol profoundly and apply the interface chip-PDIUSBDI2 proficiently. In all, the advantages of this interface technique may helps to your design arrangement.KEY WORDS:USB;data collection;MCU;firmware目 录1 绪论11.1 课题背景11.2 课题的提出11.3 本论文的结构安排32 USB1.1协议42.1 USB传输要件42.2 事务、信息包和联络信号42.3 US

8、B的传输结构52.3 USB总线枚举过程82.5 USB的设备描述符92.6 USB请求103 数据采集系统的硬件设计123.1 硬件系统的结构123.2 芯片选择123.2.1 ADC0809123.2.2 AT89C51143.2.3 PDIUSBD12163.3 接口硬件电路设计193.3.1 A/D与单片机接口电路193.3.2 PDIUSBDI2与单片机接口电路204 数据采集系统软件设计214.1 A/D转换时序控制214.2 固件的开发214.3 采用PDIUSBD12的固件设计224.3.1 固件编程的主要工作224.3.2 PDIUSBD12固件程序的编写234.4 固件结构

9、244.5 固件的编程实现264.5.1 底层函数264.5.2 命令接口274.5.3 中断服务程序ISR.C284.5.4 主循环MAINLOOP.C315 USB设备驱动及应用程序设计355.1 USB设备驱动程序355.2 USB设备应用程序设计366 结 论39参考文献41致 谢42附 图431 绪论1.1 课题背景随着数字化的广泛应用,数据采集也越来越重要,传统的外设与主机的通信口一般采用ISA、PCI、C PCI、1394等标准,基于这些接口的产品,安装麻烦,价格昂贵,并受计算机插槽数量、地址中断资源限制,且可扩展性差,USB的出现,很好地解决了以上问题。 USB作为一种新型的串

10、口通信标准,具有较高的传输速率,可扩展性好,采用总线供电,使用灵活。它共有4种传输模式:控制传输、同步传输、中断传输、批量传输,以适应不同设备的需要。信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。USB设备需要依据USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。驱动程序以WDM为模型,以DDK为开发工具,以IRP为消息传播载体,来实现与Windows系

11、统底层核心机制相交互的功能。1.2 课题的提出尽管RS232是一种十分成熟且应用广泛的通讯方式,但是随着控制系统的日益复杂,所要采集的量也会越来越多。因此寻求一种高速、安全、方便的通讯形式是十分必要的。USB技术虽然出现的时间并不长,但是由于它的种种优点,被越来越多的厂商和用户所接受,出现了USB打印机、摄像头等产品。尽管目前USB接口的应用主要集中在电脑的周边外设,但是USB产品进入工控领域将是必然的趋势。采用PDIUSBD12芯片和89C51单片机设计的基于USB总线的数据采集系统,具有可靠性高、数据不丢失、抗干扰性强、便于数据传输和处理等优点,可在信号测试、信号采集场合广泛使用。所以本课

12、题的研究是具有一定的现实意义和经济意义的。下面对USB的性能做简单的介绍。表1.2.1 USB使用分类表性能应用特性低速交互设备10-20kb/s键盘、鼠标、游戏棒低价格、热插拔、易用性中速电话、音频、压缩视频500kb/s-10Mb/sISBN、PBX、POTS低价格、易用性、动态插拔、限定带宽和延迟高速音频、磁盘25-500Mb/s音频、磁盘高带宽、限定延迟、易用性 通用串行总线(Universal Serial Bus,简称USB)是康柏、微软、IBM, DEC等公司为了解传统总线的不足推出的一种新型串行总线接口规范, 自1995年在Comdex上亮相以来至今己广泛地为各PC厂家所支持。

13、现在生产的PC机几乎都配备了,USB接口,Microsoft的windows98, NT以及MacOS, Linux, FreeBSD等流行操作系统都增加了对USB的支持。USB的主要特点如下:1. 速度快。USB 有全速和低速两种方式,主模式为全速模式,速率为12Mbps,从而使一些要求高速数据的外设,如:高速硬盘、摄像头等,都能统一到同一个总线框架下。另外为了适应一些不需要很大吞吐量但是有很高实时性要求的设备,如鼠标、键盘、游戏杆等,USB还提供低速方式,速率为1.5Mbps。如表1.2.1所示。新推出的USB2.0协议提供最高达480Mbps的数据传输速率可以适应各种不同类型的外设。2.

14、 支持热插拔和即插即用。 所有的USB 设备可以随时的插入和拔离系统,USB 主机能够动态的识别设备的状态,并自动给接入的设备分配地址和配置参数,添加、删除设备完全不用关闭计算机,也不必像过去那样需要手动跳线和拨码开关来设置新的外设。3. 易于扩展。USB使用的是一种易于扩展的树状结构,通过使用USB Hub扩展可连接多达127个外设。标准USB电缆长度为3米(低速为5米)。通过Hub或中继器可以使外设距离达到30米。4. 使用灵活。 USB共有4种传输模式:控制传输(control),同步传输(synchronization)、中断传输(interrupt)、批量传输(bulk),适应不同设

15、备的需要。5. 能够采用总线供电。 普通使用串口、并口的设备都需要单独的供电系统,而USB设备则不需要,因为USB接口提供了内置电源eUSB电源能向低压设备提供最大5V, 500mA 的电源,从而降低了这些设备的成本并提高了性价比。6. 实现成本低。 USB对系统与PC的集成进行了优化,适合于开发低成本的外设。本文设计的基于USB总线的数据采集系统正是充分地利用了USB 总线的上述优点,从而有效地解决了传统数据采集系统的缺陷。很方便地就能够实现低成本、高可靠性、实时的数据采集,适用于对瞬态信号进行采集和处理。1.3 本论文的结构安排本论文所设计的数据采集系统是在单片机89051控制下进行数据采

16、集,并通过PHILIPS公司的USB接口芯片PDIUSBDI2上传给PC机进行分析、显示和存盘。该系统用传统的USB总线取代了RS232串行总线,通过对USB协议和设备构架的充分理解,对以单片机89C51和USB接口芯片D12为主的数据采集系统进行了硬件设计和软件编程,并在此设计的基础上给出相应的原理图。硬件设计主要解决的是D12与单片机的接口电路的设计。软件设计可分为三部分:一是充分了解D12的主要功能特点,为满足D12在USB上的最大传输速率而编写固件程序,用C51语言编写:二是了解USB的设备驱动程序与应用。2 USB1.1协议2.1 USB传输要件1、端点端点是USB设备的一个部分,所

17、有的传输都是将端点作为发出点或者接收点。通常情况下,设备端点是一个内存区域,或者是控制芯片的一个缓存器,端点的作用是数据缓存。每个USB设备有一个唯一的地址,这个地址是在设备连上主机时由主机分配的,而设备中的每个端点在设备内部有唯一的端点号,这个端点号是在设备设计时被给定的。端点号可以是015,方向可以是IN(设备发送数据给主机)或者OUT(主机发送数据给设备)。每个设备必须将端点0设置为控制端点。控制端点是双向传输数据,其他端点都是单向数据传输。2、管道管道是设备端点和主机控制器之间的连接,在一个传输发生之前,必须首先建立一个管道。管道随着主机和设备的连接的建立而建立,当移除设备时,管道也跟

18、着被移除。每一个设备都会和主机建立一个默认的控制管道(Default Control Pipe),此管道使用端口0。不同的传输类型使用不同的管道,此外管道还可以被分为消息管道(Message Pipe)和流管道(Stream Pipe)消息管道是指具有某种USB定义格式的数据流,是双向的管道;而流管道则是不具有USB定义格式的数据流,不具有双向性。控制传输是唯一使用双向消息管道的传输,其他传输都是使用单方向的流管道。2.2 事务、信息包和联络信号每一个USB传输包含一个或多个事务,每一个事务又包含一到三个信息包。事务根据其数据流方向以及传输目的,可以分为3类:输入、输出与设置。每一个传输类型的

19、传输包括一个或多个阶段(Stage),一个阶段即一种类型的事务。每个阶段又可以分为一个或几个相位(Phase),相位包含几个或两个事务信息包。信息包是一个区块的固定格式信息,每个信息包由一个信息包标示符(PID)开头,作为信息包的识别。根据事务种类的不同,PID后面可能有端点地址、数据、状态信息,或者是一个在帧号码、错误校验位。在控制传输、批量传输和中断传输中都有一个相位是联络数据包,它包含的是联络信息。但是联络信号不是仅仅在联络数据包中,有些数据信息包中也包含联络信号。USB定义的联络信号如下:ACK(Acknowledge):表示主机或设备已成功接收数据。NAK(Negative Ackn

20、owledge):表示设备在忙中。STALL:表示3种意义,即不支持的控制要求、控制要求失败或端点失败。NYET(Not Yet):表示设备是否已准备好接收数据,只有高速设备使用。ERR(Error):表示在集线器和主机事务中,设备没有传回预期的联络信号。ERR只有在高速集线器完成事务分割时才会使用。2.3 USB的传输结构USB的传输结构描述的是各个类型USB传输的时序、数据包和特征。下面分别介绍一下4种USB传输类型的传输结构:1、控制传输控制传输用于在设备初次连接时对器件进行配置,以及对设备的状态进行实时检测,还有在设备配置完成后用于特殊传输目的。端点0只可以采用控制传送的方式。每一个控

21、制传输都必须有设置与状态阶段,数据阶段则是选择性的。控制传输的设置事务传输结构如图2.3.1所示:图2.3.1 控制传输结构示意图控制传送的数据阶段,由一个以上的输入或输出事务构成,遵守和批处理传送相同的协议规则。所有的数据阶段里的事务都必须有相同的方向(即全部输入或全部输出)。在数据项中要发送的数据的数量和其方向在建立阶段被指定。如果数据的数量超过了先前确定的数据包的大小,数据在支持最大的包大小的多个事务中被发送(输入或输出)。任何剩下的数据都作为剩余在最后的事务中被发送。2、批量传输批量传输包含一个或者多个传输事务,其传输是单方向的,即所有的事务都必须是输入或输出事务。如果需要双向传数据,

22、需要另建立一个管道。批量传输的传输结构如图2.3.2所示:图2.3.2 批量传输结构示意图3、中断传输中断传输适用于小批量的、点式、非连续的数据传输应用的场合。中断传输必须在指定的时间内完成,它一般应用于鼠标、键盘、游戏杆等HID(Human Interface Device)类设备以及集线器的状态报表中。中断传输的传输结构如图2.3.3所示:图2.3.3 中断传输结构示意图4、同步传输同步传输的意义在于每一个帧或者微帧内必须传输固定数目的字节数据,它适用于固定速度或者特定时间的传输。同步传输没有联络阶段,所以不能保证传输的完全可靠性。同步传输的传输结构如图2.3.4所示:图2.3.4 同步传

23、输结构示意图2.3 USB总线枚举过程USB规范定义的设备状态总共有6个,分别是连接(Attached)、上电(Powered)、默认(Default)、地址(Address)、配置(Configured)和挂起(Suspend)。USB总线枚举过程中,USB设备需要经历后4种状态。USB集线器负责监测设备的连接情况,而USB主机会通过集线器轮询地查询设备。当主机发现一个新的设备时,会要求集线器建立与设备的通信通道,即设备的端点0,控制传输端点。之后,主机会通过此通道向设备发送一系列的标准USB 请求以获取所需的信息,设备必须响应这些请求并且采取适当的动作。这个过程即称为USB的总线枚举。总线

24、枚举的过程如下: 设备连接USB设备通过USB总线与主机相连。 设备上电USB设备可以采用USB总线供电,也可以使用外部电源供电。 主机检测到设备,进行复位设备连接到总线后,主机通过检测设备在差分信号线的上拉电阻检测到有新的设备连接,并获释该设备是全速设备还是低速设备,如果上拉电阻与D+线相连,则为全速设备,如果上拉电阻与D线相连,则为低速设备,主机确认有设备连接后,向该端口发送一个复位信号。 设备默认状态设备收到一个复位信号后,连接到主机的所有设备的地址为默认地址(00H),主机会首先发送一个获取设备描述符的请求,设备通过这个默认地址向主机发送第一次设备描述符。 地址分配当主机接收到有设备对

25、默认地址(00H)来响应的时候,就确认有设备连接,主机对设备分配一个空闲的地址(如02H),以后设备就只对02H地址进行响应。 读取USB设备描述符主机分配给设备地址后,通过这个地址主机读取该设备描述符,确认USB设备的属性。 设备配置主机依照读取的USB设备描述符来进行配置,如果设备所需的USB资源得以满足,主机就会查找驱动,当正确找到驱动后,主机给设备发送配置命令,配置完毕后,这个USB设备就枚举成功了。 挂起为了节省电源,当总线保持空闲状态超过3ms以后,设备驱动程序就会进入挂起状态,在挂起状态时,设备的消耗电流不超过500A。当被挂起时,USB设备保留了包括其地址和配置信息在内的所有的

26、内部状态。2.5 USB的设备描述符标准的USB描述符包括设备(Device)描述符、配置(Configuration)描述符、接口(Interface)描述符、端点(Endpoint)描述符以及字符串(String)描述符,字符串描述符不是必须的。不同的描述符从不同的层级来表示设备的属性。设备描述符包含了整个设备的信息以及设备支持的配置号码,每一个设备只能由一个设备描述符。但每一个设备可以有几个配置描述符,它包含了电源管理信息以及所支持的接口号码。接口描述符包含了与端点通信所需要的信息,它可以有零个或多个端点描述符。各个描述符的树状结构如图2.5.1所示:图2.5.1 描述符的树状结构设备描

27、述符描述了一个USB设备的总体信息,它在枚举过程中主机从设备读取的第一个描述符。设备描述符总共有18个字节,分为14个字段。配置、接口以及端点描述符是在主机得到设备描述符之后发送给主机的。配置描述符描述了一个特定的设备配置信息,主机使用Set_Configuration请求来选择一个配置,用Get_Configuration请求来返回一个配置。当主机请求获取一个配置描述符的时候,与配置描述符相关的所有接口、端点描述符都会一并返回。配置描述符由9个字节组成,分为8个字段。接口描述符描述了一个配置中的特定接口。接口描述符总是作为配置描述符的一部分被返回,主机不能通过Get_Descriptor请求

28、直接获取接口描述符。接口描述符由9个字节组成,分为9个字段。端点描述符包含了主机用来确定一个端点带宽要求的信息。除了端点0外,一个接口所使用的每一个端点都有它自己的描述符。端点0不需要描述符,它也不能直接由Get_Descriptor请求来获得。端点描述符由7个字节组成,分为6个字段。2.6 USB请求USB规范定义了3种请求,分别是标准请求(Standard Request)、类请求(Class Request)和厂商请求(Vendor Request)。USB规范定义了11种标准请求,所有设备都必须对这11种请求作出响应,即使当主机没有给设备分配一个地址或者没有配置设备。某些设备的功能类似

29、或者提供类似的服务,USB协议就将它们归为一类,并且定义了特定的请求,称为类请求。但是只有类请求是不能满足众多USB厂商的需求的,所以,USB协议允许一个供应商为它的设备自定义特殊的请求,此类请求称为厂商请求。所有的USB总线设备以缺省控制管道响应主机发出的请求,这些请求是通过控制传输来完成的,请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。Setup包格式如表2.6.1所示。表2.6.1 SETUP包格式大小(B)11222域bmRequestTypebRequestwValuewIndexwLength在表2.4.5.1中,bmRequestType表示

30、设备请求类型,D7:数据传输方向, 0主机到设备,1设备到主机;D65:类型,0标准,1类型,2厂商,3保留;D40:接收方,0设备,1接口,2端点,3其它;431保留。bRequest表示USB设备请求值,标准请求有11个命令。wValue为值,它根据不同的请求,以字节来定义,例如,设备请求为Get Descriptor(06H),wValue为01H时,表明要发送设备描述符。wLength表示长度,如果传输的是一组数据,则这个长度的值表示要传输数据的字节数。本章介绍了USB协议的相关内容,包括USB传输要件,USB传输中的事务、信息包和联络信号,USB的传输结构,USB的总线枚举过程,US

31、B的设备描述符以及USB请求。本章为本设计下面内容的展开奠定了基础。3 数据采集系统的硬件设计3.1 硬件系统的结构基于USB总线的实时数据采集系统硬件组成包括模拟开关、A/D转换器、单片机、USB接口芯片,该系统能够实现8路数据自动采集,系统的组成框图如图3.1.1所示。主要包括5个组成部分:中央处理器选用AT89C51芯片,完成各部分控制功能和USB传输协议;A/D转换器和接口电路主要完成数据采集,并读入MCU处理;复位电路完成对MCU的上电复位和电源电压监视;电源电路主要为各部分提供要求的电源;外设与主机间的通信电路采用USB接口。单片机通过位并行接口传送经过A/D转换的采集数据,存储在

32、FIFO存储器中。一旦存满,串行接口引擎SIE立刻对数据进行处理,包括同步模式识别、并串转换、位填充/不填充、CRC校验、PID确认、地址识别以及握手鉴定,处理完毕后数据由模拟收/发器通过D+、D-发送至PC。上述过程遵循USB1.1协议。现场电信号A / D转换器USB接口芯片PC机MCU图3.1.1 数据采集系统硬件组成框图3.2 芯片选择3.2.1 ADC0809ADC0809允许的最大时钟频率为1280kHz,主要管脚功能如下:地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的

33、通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路图3.2.1.1 ADC0809的内部逻辑结构模拟量输入。 ADC0809对输入模拟量要求信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 通道选择表如下表所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条 ST为转换启动信号:当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EO

34、C为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 VREF(),VREF()为参考电压输入。CLOCK: 时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ.START: 启动脉冲输入端。在时钟脉冲频率为640kHz时,START脉宽应大于100ns-200ns 。EOC: EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转

35、换。D7-DO: 转换所得八位输出数据,D7是最高位,而DO是最低位。OE: 允许输出端。OE端控制输出锁存器的三态门。当OE=1时,转换所得数据出现在D7-DO脚,当OE=0时D7-DO脚对外是高阻抗。 ADC0809应用说明:(1)ADC0809内部带有输出锁存器,可以与AT89C51单片机直接相连。 (2)初始化时,使ST和OE信号全为低电平。 (3)送通道的地址到A、B、C端口上。 (4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。 (6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 3.2.2 AT89C5

36、1AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图3.2.2.1 AT89C51管脚图主要特性:(1)4K字节可编程FLASH存储器(寿命:1000写/擦循环)(2)全静态工

37、作:0Hz-24KHz(3)三级程序存储器保密锁定(4)128*8位内部RAM(5)32条可编程I/O线(6)两个16位定时器/计数器(7)6个中断源(8)可编程串行通道(9)低功耗的闲置和掉电模式(10)片内振荡器和时钟电路3.2.3 PDIUSBD12PDIUSBD12是一款性价比很高的USB器件,它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口。它还支持本地的DMA传输。这种实现USB接口的标准组件使得设计者可以在各种不同类型微控制器中选择出最合适的微控制器。这种灵活性减小了开发的时间风险以及费用(通过使用已有的结构和减少固件上的投资),从而用最快捷的方法实现最经济的US

38、B外设的解决方案。PDIUSBD12完全符合USB1.1版的规范,它还符合大多数器件的分类规格:成像类、海量存储器件、通信器件、打印设备以及人机接口设备。同样地,PDIUSBD12理想地适用于许多外设,例如:打印机、扫描仪、外部的存储设备、Zip驱动器和数码相机等等,它使得当前使用SCSI的系统可以立即降低成本。PDIUSBD12 所具有的低挂起功耗连同LazyClock输出可以满足使用ACPI、OnNOW和USB电源管理的要求。低的操作功耗可以应用于使用总线供电的外设。此外它还集成了许多特性包括SoftConnetTM、GoodLinkTM、可编程时钟输出、低频晶振和终止寄存器。集合所有这些

39、特性都为系统显著节约了成本,同时使USB功能在外设上的应用变得容易。D12芯片的主要特点包括:(1)符合USB1.1版本规范;(2)可与任何外部微控制器/微处理器实现高速并行接口(2MB/s);(3)采用GoodLink技术的连接指示器,在通信时使LED闪烁;(4)主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输;(5)在批量和等时模式下均可实现1Mb/s的数据传输率;(6)完全自治的直接内存存取DMA操作。PDIUSBD12内部结构如图3.2.3.1所示。图3.2.3.1 PDIUSBD12内部结构说明:1、模拟收发器:集成的收发器接口可通过终端电阻直接与USB电缆相连。2、电压调整

40、器:片内集成了一个3.3V的调整器用于模拟收发器的供电。该电压还作为输出连接到外部1.5K的上拉电阻。可选择PDIUSBD12提供的带1.5K内部上拉电阻的软件连接到外部1.5K内部上拉电阻的软件连接技术。3、PLL锁相环:片内集成了6MHz时钟乘法PLL,这样就可使用低成本的6MHz晶振,EMI也随之降低。PLL的工作不需要外部元件。4、位时钟恢复:位时钟恢复电路使用4X过采样规则,从进入的USB数据流中恢复时钟,能跟踪USB规定范围内的抖动和频漂。5、PHILIPS串行接口引擎(PSIE):PSIE实现了全部的USB协议层,且完全由硬件实现而不需要固件的参与。该模块的功能包括:同步模式的识

41、别;并行/串行转换;位填充/解除填充;CRC校验/产生;PID校验/产生;地址识别和握手评估/产生。6、SoftConnectTM:SoftConnectTM与USB的连接是通过1.5K上拉电阻将D(用于高速USB器件)设置为高实现的。1.5K上拉电阴集成在PDIUSBD12片内,默认状态下不与V相连,其连接的建立是通过外部系统微控制器发送命令来实现的。这就允许系统微控制器在决定与USB建立连接之前完成初始化时序。USB总线连接可以重新初始化而不需要拔出电缆。PDIUSBD12在连接可以建立之前会检测USB规格的5%,但用于连接的VSE电压规格仍然有足够的余量。SoftConnectTM是PH

42、ILIPS半导体一项尚未获批准的专利技术。7、GoodLinkTM:GoodLinkTM技术可提供可提供良好的USB连接指示。在枚举中,LED指示根据通信的状况间歇闪烁。当PDIUSBD12成功地枚举和配置后,LED指示将一直点亮。随后与PDIUSBD12之间成功的传输(带应答)将关闭LED。处于挂起状态时,LED将会关闭。该特性为USB器件,集线器和USB通信状态提供了用户友好的指示。作为一个诊断工具它对隔离故障的设备是很有用的。该特性降低了现场支持和热线的成本。8、存储器管理单元(MMU)和集成RAM:在以12MB/S的速率传输并与微控制器并口相连时,MMU和集成RAM作为USB之间速度差

43、异和缓冲区。这就允许微控制器以其自己的速率对USB信息包进行读写。9、并行和DMA接口:一个普通的并行接口定义成易于使用,快速而且可以主流的微控制器直接连接的接口。对一个微控制器而言,PDIUSBD12看起来就像一个带位数据总线和一个地址(占用个位置)的存储器件,PDIUSBD12支持多路复用和非复用的地址和数据总线;支持主端点与本地共享RAM之间直接读取的DMA传输;还支持单周期和突发模式的DMA传输。10、DMA传输:直接存储器寻址(DMA)允许在主端点和本地共享存储器间实现数据块的有效传输。使用DMA控制器,PDIUSBD12的主端点和本地共享存储器间的数据传输可自主进行,而不需要本地C

44、PU的干预。要处理任何DMA传输,本地CPU从主机接收必要的SETUP信息,并对DMA控制器进行正确的编程。典型的,对DMA控制器的传输模式,字节计数寄存器和地址计数器进行正确的编程。在该模式下,PDIUSBD12发出请求时开始传输,当字节计数器减少为零时终止。在DMA控制器编程之后,本地CPU在初始化传输时,将PDIUSBD12中的DMA使能位置位。PDIUSBD12可编程为单周期DMA或突发模式DMA。在单周期DMA中,DMREQ在每单个应答后直到被DMACK_N重新激活之前保持无效。在突发模式DMA中,DMREQ器件中突发编程时一直保持有效。该过程持续到PDIUSBD12通过EOT_N接

45、收到一个DMA终止信息,这时产生一个中断指示本地CPU,DMA操作已经完成。3.3 接口硬件电路设计由D12接口组成的通信电路原理如图3.3.1.1所示。多路地址/数据总线ALE接单片机的ALE脚,这样使用传送指令可以与D12接口,对D12操作就象对D12操作一样,此时忽略A0(命令口和数据口地址线)的输入。因为没有使用DMA传输方式,所以没有用到DMACK_N、EOT_N和DMREQ_N等DMA引脚。INT_N是USB中断请求脚,发出USB中断请求;GL_N是GooDLink指示灯,在调试过程中非常有用,在通信时会不停闪烁。如果一直亮或者一直暗,表示USB接口有问题,如果D12挂起,则LED

46、关闭。CLKOUT是D12的时钟输出,可以通过固件编程改变其频率,在调试固件时,可作为参考。3.3.1 A/D与单片机接口电路图3.3.1.1 ADC0809与89C51的接口电路89C51通过P2.7和读、写控制线来控制转换器的模拟输入通道地址锁存、启动和允许输出。编程时注意启动AD0809后,EOC在一定时间才能变成低电平。3.3.2 PDIUSBDI2与单片机接口电路PDIUSBD12与89C51的连接电路如图3.3.2.1所示。89C51的ALE和PD12的ALE相接,表示采用单独地址和数据总线配置。其AO脚接高电平用于控制命令或数据输入到PDIUSBD12,也就是编程中outport

47、cmd()和outportdata()函数。此外89051的多位地址/数据复用总线PO可直接与PDIUSBD12的数据总线相连,CLKOUT时钟输出为89C51提供时钟输入。图3.3.2.1 PDIUSBD12与89C51的连接电路在该数据采集系统中,用ADC0809采集0-5V的电压信号,经A/D转换后将数字量存入预先设定的缓冲区里,利用接口芯片D12将数据送至USB总线上。设备应用程序从缓冲区里取数据显示,通过数值来说明USB接口的采集速率比一般的串行总线速度高。当前端的电压信号不断变化的同时,在PC上可以观察到数据的变化,这就表明利用USB接口在数字采集系统中进行数据传输是能够实现的,而且能够很好的实现。4 数据采集系统软件设计4.1 A/D转换时序控制 采用延时等待A/D转换结束方式,分别对8路模拟信号轮流采样一次,并依次把结果存入存储器。在软件编程时,令P2.7=0,A0、A1、A2给出被选择的模拟通道地址和启动A/D转换;执行一条输入指令,读取A/D转

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号