USB数据采集系统论文.docx

上传人:b****7 文档编号:11210105 上传时间:2023-02-25 格式:DOCX 页数:74 大小:384.10KB
下载 相关 举报
USB数据采集系统论文.docx_第1页
第1页 / 共74页
USB数据采集系统论文.docx_第2页
第2页 / 共74页
USB数据采集系统论文.docx_第3页
第3页 / 共74页
USB数据采集系统论文.docx_第4页
第4页 / 共74页
USB数据采集系统论文.docx_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

USB数据采集系统论文.docx

《USB数据采集系统论文.docx》由会员分享,可在线阅读,更多相关《USB数据采集系统论文.docx(74页珍藏版)》请在冰豆网上搜索。

USB数据采集系统论文.docx

USB数据采集系统论文

基于USB总线的高速数据采集系统设计

摘要

通用串行总线USB(UniversalSerialBus)是一种新型的微机总线接口规范。

随着客户对系统数据采集速度要求的不断提高,USB以其使用方便、易于扩展、速度快等优点而越来越多的应用于数据采集系统中。

本文介绍了一种基于USB总线的数据采集系统的设计方法,采用PHILIPS公司的USB接口芯片PDIUSBD12与单片机AT89C51进行通信,并和PC机通信而编制出友善的设备应用程序。

该系统用传统的USB总线取代了RS232串行总线,通过对USB协议和设备构架的充分理解,对以单片机89C51和USB接口芯片PDIUSBD12为主的数据采集系统进行了硬件设计和软件编程,并在此设计的基础上给出相应的原理图。

硬件设计主要解决的是PDIUSBD12和ADC0809与单片机之间的接口电路问题,软件编程大致分为三部分:

一是为满足D12在USB上的最大传输速率而编写的固件程序;二是在PC机中的Windows2000工作环境下编写USB设备驱动程序;三是充分了解D12的主要功能特点,并编写出应用程序。

通过该数据采集系统,我们可以对USB协议有很深刻的理解,对D12接口芯片有很熟练的应用,能更好领悟USB接口的优势。

关键词:

USB总线;单片机;数据采集;固件;Windows驱动程序模型;设备驱动程序;客户应用程序

 

ABSTRACT

UniversalSerialBusisanewspecificationformicrocomputerbusinterface.Withthecontinuingadvanceoftheclients'demandforthespeedofadatacollectionsystem,USBismoreandmorewidelyusedindatacollectionsystemforitsadvantagessuchasconvenience,expandingportwitheaseandhighspeedetc.

thisarticlepresentsaparticulardescriptionofthedesignanddevelopmentofadatacollectionsystembasedonUSB.singlechipprogramsthefirewaretotheUSBinterfacechip—PDIUSBD12;communicationappearsbetweenD12andup-locationcomputerandman-machinemutualinterfacecomesintobeing;lotsofdatafromtheindustryspotareprinted,analyzedanddisposedontime.OnthebaseofwonderfulunderstandingtoUSBprotocolanddevicetruss,Ifinishthehardwaredesignandsoftwareprogrammeofthedatacollectionsystem.Anddrawtheprinciplechart.

?

Thesoftwareprogrammemainlyincludes:

thefirewarecodeinneedofD12'smaximumtransmissionrate;USBdevicedriverandclientapplicationunderthecircustanceofWin2000operationsystemincomputer.Afterthisdatacollectionsystem,wecanunderstandtheUSBprotocolprofoundlyandapplytheinterfacechip-PDIUSBDI2proficiently.Inall,theadvantagesofthisinterfacetechniquemayhelpstoyourdesignarrangement.

KEYWORDS:

USBbus;datacollection;MCU;fireware;WDM;devicedriveprogram;clientapplication

 

目录

文摘1

英文文摘1

1绪论

1.1课题背景

1.2课题的提出

1.3USB简介

1.4主要工作

2USB1.1协议

2.1USB的互连

2.2USB的主机

2.2.1USB主机概述

2.2.2USB驱动(USBD)

2.3USB设备

2.3.1USB设备状态

2.3.2通用USB设备操作

2.3.3USB设备请求

2.4USB的物理层

2.5USB数据流

3数据采集系统的固件设计

3.1固件的开发环境

3.2采用PDIUSBD12的固件设计

3.2.1固件要完成的主要工作

3.2.2PDIUSBD12芯片特点

3.2.3PDIUSBD12固件程序的编写

3.3固件的文件结构

3.4固件的编程实现

3.4.1底层函数

3.4.2命令接口

3.4.3中断服务程序ISR.C

3.4.4主循环MAINLOOP.C

4USB设备驱动程序设计

4.1Windows2000驱动程序

4.2WDM驱动程序结构模型

4.2.1USB设备驱动程序层次结构

4.2.2设备对象

4.2.3标准总线驱动程序和类驱动程序

4.2.4WDM驱动程序的结构

4.3USB驱动的开发环境

4.3.1驱动的开发工具

4.3.2驱动开发环境的安装与设置

4.4驱动程序的实现

4.4.1驱动入口

4.4.2数据传输控制

5USB设备应用程序设计

5.1Win32API简介

5.2动态链接库

5.3MFC的应用程序开发

5.4设备应用程序与WDM的通信

5.4.1Win32应用程序对WDM的通信

5.4.2WDM对Win32应用程序的通信

5.5应用程序的实现

6数据采集系统的硬件设计

6.1硬件系统的结构

6.2接口芯片选择

6.3接口硬件设计

6.3.1A/D与单片机接口电路

6.3.2PDIUSBDI2与单片机接口电路

 

1绪论

1.1课题背景

随着数字化的广泛应用,数据采集也越来越重要,传统的外设与主机的通信口一般采用ISA、PCI、CPCI、1394等标准,基于这些接口的产品,安装麻烦,价格昂贵,并受计算机插槽数量、地址中断资源限制,且可扩展性差,USB的出现,很好地解决了以上问题。

USB作为一种新型的串口通信标准,具有较高的传输速率,可扩展性好,采用总线供电,使用灵活。

它共有4种传输模式:

控制传输、同步传输、中断传输、批量传输,以适应不同设备的需要。

信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。

过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。

USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。

USB设备需要依据USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。

驱动程序以WDM为模型,以DDK为开发工具,以IRP为消息传播载体,来实现与Windows系统底层核心机制相交互的功能。

1.2课题的提出

尽管RS232是一种十分成熟且应用广泛的通讯方式,但是随着控制系统的日益复杂,所要采集的量也会越来越多。

因此寻求一种高速、安全、方便的通讯形式是十分必要的。

USB技术虽然出现的时间并不长,但是由于它的种种优点,被越来越多的厂商和用户所接受,出现了USB打印机、摄像头等产品。

尽管目前USB接口的应用主要集中在电脑的周边外设,但是USB产品进入工控领域将是必然的趋势。

采用PDIUSBD12芯片和89C51单片机设计的基于USB总线的数据采集系统,具有可靠性高、数据不丢失、抗干扰性强、便于数据传输和处理等优点,可在信号测试、信号采集场合广泛使用。

所以本课题的研究是具有一定的现实意义和经济意义的。

1.3USB简介

通用串行总线(UniversalSerialBus,简称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-1USB使用分类表

性能

应用

特性

低速

·交互设备

·10-20kb/s

键盘、鼠标、游戏棒

低价格、热插拔、易用性

中速

·电话、音频、压缩视频

·500kb/s-10Mb/s

ISBN、PBX、POTS

低价格、易用性、动态插拔、限定带宽和延迟

高速

·音频、磁盘

·25-500Mb/s

音频、磁盘

高带宽、限定延迟、易用性

2.支持热插拔和即插即用。

所有的USB设备可以随时的插入和拔离系统,USB主机能够动态的识别设备的状态,并自动给接入的设备分配地址和配置参数,添加、删除设备完全不用关闭计算机,也不必像过去那样需要手动跳线和拨码开关来设置新的外设。

3.易于扩展。

USB使用的是一种易于扩展的树状结构,通过使用USBHub扩展可连接多达127个外设。

标准USB电缆长度为3米(低速为5米)。

通过Hub或中继器可以使外设距离达到30米。

4.使用灵活。

USB共有4种传输模式:

控制传输(control),步传输(synchronization)、中断传输(interrupt)、批量传输(bulk),适应不同设备的需要。

5.能够采用总线供电。

普通使用串口、并口的设备都需要单独的供电系统,而USB设备则不需要,因为USB接口提供了内置电源eUSB电源能向低压设备提供最大5V,500mA的电源,从而降低了这些设备的成本并提高了性价比。

6.实现成本低。

USB对系统与PC的集成进行了优化,适合于开发低成本的外设。

本文设计的基于USB总线的数据采集系统正是充分地利用了USB总线的上述优点,从而有效地解决了传统数据采集系统的缺陷。

很方便地就能够实现低成本、高可靠性、实时的数据采集,适用于对瞬态信号进行采集和处理。

1.4主要工作

本论文所设计的数据采集系统是在单片机89051控制下进行数据采集,并通过PHILIPS公司的USB接口芯片PDIUSBDI2上传给PC机进行分析、显示和存盘。

该系统用传统的USB总线取代了RS232串行总线,通过对USB协议和设备构架的充分理解,对以单片机89C51和USB接口芯片D12为主的数据采集系统进行了硬件设计和软件编程,并在此设计的基础上给出相应的原理图。

硬件设计主要解决的是D12与单片机的接口电路的设计。

软件设计可分为三部分:

一是充分了解D12的主要功能特点,为满足D12在USB上的最大传输速率而编写固件程序,用C51语言编写:

二是在充分了解WDM驱动程序的基础上编写USB的设备驱动程序;三是编写出界面友好、具有强大的数据处理和分析能力的应用程序。

2USB1.1协议

2.1USB的互连

一个USB系统主要被定义为三个部分:

·USB的互连;

·USB的设备;

·USB的主机。

USB的互连是指USB设备与主机之间进行连接和通信的操作,主要包括以下几方面:

·总线的拓扑结构:

USB设备与主机之间的各种连接方式;

·内部层次关系:

根据性能叠置,USB的任务被分配到系统的每一个层次;

·数据流模式:

描述了数据在系统中通过USB从产生方到使用方的流动方式;

·USB的调度:

USB提供了一个共享的连接。

对可以使用的连接进行了调度以支持同步数据传输,并且避免的优先级判别的开销。

总线拓朴结构包括四个重要的组成部分。

·主机和设备:

USB系统的基础组成部分。

·物理拓朴结构:

描述USB系统中的各组成部分是如何连接起来的。

·逻辑拓朴结构:

描述USB系统中各种组成部分的地位和作用,以及描述从主机和设备的角度观察到的USB系统。

·客户软件层与应用层的关系:

描述从客户软件层看到的应用层的情况,以及从应用层看到的客户软件层的情况。

USB系统中的设备与主机的连接方式采用的是星形连接,如图2-1。

 

 

图2—1USB物理总线的拓扑

图中的Hub是一类特殊的USB设备,它是一组USB的连接点,主机中有一个被嵌入的Hub叫根Hub(rootHub)。

主机通过根Hub提供若干个连接点。

为了防止环状连接,采用星形连接来体现层次性,如图4-5。

这种连接的形状很像一棵树。

用于提供具体功能的设备叫应用设备。

许多不同功能的设备放在一起被看作一个整体,叫包。

例如,键盘和轨迹球可以被视作一个整体,在它的内部,提供具体功能的设备被永久地接到Hub上,而这个Hub被接到USB上。

所有这些设备及这个Hub被看作一个复合设备,而这个Hub又被看作这个复合设备的内部Hub。

在主机看来,这个复合设备和一个带着若干设备的单独Hub是一样的。

图中也标出了一个复合设备。

总线逻辑拓朴结构。

在物理结构上,设备通过Hub连到主机上。

但在逻辑上,主机是直接与各个逻辑设备通信的,就好像它们是直接被连到主机上一样。

这个逻辑关系如图2-2所示。

与之对应的物理结构就是图2-1中的结构。

Hub也是逻辑设备,但在图2-2中,为了简化起见,未被画出,虽然USB系统中的工作都是从逻辑角度来看待的,但主机必须对物理结构有个了解。

例如,在处理Hub被移去的情况时,当一个Hub被移出,通过它与主机相连的设备也应一起被移去,这是由其物理结构决定的。

 

图2-2USB逻辑总线的拓扑

三.客户软件层与应用层的关系

USB系统的物理上、逻辑上的拓朴结构反映了总线的共享性。

操纵USB应用设备的客户软件只关心设备上与它相关的接口,客户软件必须通过USB软件编程接口来操纵应用设备。

这与另一些总线如PCL,ELSA,PCMUA等不同,这些总线是直接访问内存或I/O的。

在运行中,客户软件必须独立于USB上的其它设备。

这样,设备和客户软件的设计者就可以只关心该设备与主机硬件的相互作用和主机软件的相互作用的细节问题。

图2-3说明了在图2-2的逻辑结构下,一个设备设计者看到的客户软件与相应应用的关系的视图。

 

图2-3客户软件和应用间的关系

2.2USB的主机

2.2.1USB主机概述

图2-4展示了USB通信模型之间基本的信息流与互连关系:

 

图2-4通信模型层次关系图

由图2-4可见,主机与设备都被划分成不同的层次。

主机上垂直的箭头是实际的信息流。

设备上对应的接口是基于不同实现的。

在主机与设备之间的所有通信最终都是通过USB的电缆进行,然而,在上层的水平层之间存在逻辑的主机-设备信息流。

主机上的客户软件和设备功能部件之间的通信是基于实际的应用需求及设备所能提供的能力。

客户软件与功能部件之间的透明通信的要求,决定主机和设备下层部件的功能以及它们的界面(interface),图2-5描述了从主机角度看到的它与设备的连接。

 

 

图2-5主机通信图

主机在整个USB系统中是唯一的,它包括如下几个层次。

·USB总线接口

·USB系统(USBSystem)

·USB客户(Client)

其中,USB总线接口处理电气及协议层的互连。

从互连的角度看,USB设备和USB主机都提供类似的USB总线接口,如串行接口引擎。

由于主机在USB系统中的特殊性,USB主机上的总线接口还必须具备主机控制器的功能,主机控制器具有一个内集成的集线器(根集线器)提供与USB电缆的连接。

USB系统使用主机控制器来管理主机与USB设备的数据传输。

USB系统与主机控制器之间的界面基于主机控制器的硬件特性。

USB系统层相对于主机控制器而言,处理的是以客户观点见到的数据传输及客户与设备的交互。

这包括附加的USB信息,比如协议头。

USB系统还必须管理USB的系统资源,以使得客户的访问成为可能。

USB系统有三个主要组成部份:

·主机控制器驱动

·USB驱动

·主机软件

主机控制器驱动的存在,方便地将各种不同的主机控制器实现映射到USB系统,客户可以不必知道设备到底接在哪个主机控制器上就能同设备进行通信。

USB驱动提供了基本的面向客户的主机界面。

在HCD与USB之间的接口称为主机控制器驱动接口(HostControllerDriverInterfaceHCDI)。

这层接口不能被客户直接访问,所以也不是由USB具体来完成的。

一个典型的HCDI是由支撑各种不同主机控制器的操作系统来定义的。

USBD提供I/O请求包(I/ORequestPackets)形式的数据传输,以某一特定通道来传输数据。

另外,USBD为它的客户提供一个容易被支配及配置的抽象的设备。

作为这种抽象的一部份,USBD拥有标准通道对设备进行一些标准的控制。

这标准通道实现了USBD与抽象设备之间的逻辑通信。

(见图2-5)

在有些操作系统中,提供了额外的非USB系统软件以支持设备的配置及设备驱动程序的加载。

在这样的操作系统中,设备驱动程序应使用提供的主机软件接口而不是直接访问USBDI。

客户层描述的是直接与USB设备进行交互所需要的软件包。

当所有的设备都已连上系统时,这些客户就可以直接通设备进行通信。

一个客户不能直接访问设备的硬件。

总而言之,主机可提供如下的功能:

·检测USB设备的连接与断开。

·管理主机与设备之间的标准控制流。

·管理主机与设备之间的数据流。

·收集状态及一些活动的统计数字。

·控制主机控制器与USB设备的电气接口,包括提供有限的能源。

2.2.2USB驱动(USBD)

USBD提供了供操作系统组件特别是设备驱动程序访问设备的一组接口。

这些操作系统组件只能通过USBD来访问USB。

USBD的具体实现基于不同的操作系统。

一个USBD可以访问一个或多个HCD,而一个HCD可能与一个或多个主机控制器相连。

某些操作系统可能允许对USBD的初始化进行一些设置。

从客户的观点来看,与客户进行通信的USBD管理着所有连接着的USB设备。

1.USBD概况

USBD的客户直接命令设备或从通道直接输入和输出数据流。

USBD为客户提供两组工具。

命令工具和通道工具。

命令工具允许客户配置和控制USBD操作同时配置及控制USB设备。

命令工具提供了对设备标准通道的所有访问。

通道工具允许USBD客户管理特定设备的数据和控制数据的传输。

通道工具不允客户直接访问设备的标准通道。

图2-6给出了USBD的总体框架。

 

图2-6USB驱动结构

(1)USBD初始化

具体的USBD初始化工作是与操作系统有关的。

当USB系统初始化时,USB的管理信息被创建,其中包括缺省地址设备及它的标准通道。

当一个设备连上USB时,它响应特殊的缺省地址,直到他的唯一地址由主机给出。

为了让USB系统能与新的设备进行通信,设备在刚连上总线时,设备的却省地址必须是可用的。

在设备的初始化期间,设备的缺省地址被修改成一个唯一的地址。

(2)USBD通道使用

通道是设备与主机的逻辑连结。

一个通道由且仅由一个客户所拥有。

虽然通道的基本属性不因通道的拥有者而改变,但在两类不同客户所拥有的通道之间还存在一定的差异:

·标准通道他们由USBD拥有和管理。

·其他的通道它们由USBD的客户拥有和管理。

虽然标准通道经常用于完成一些客户通过命令接口所传递的请求,但是它们不能由客户直接访问的。

(3)USBD服务功能

USBD提供如下种类的服务:

·通过命令工具配置设备

·通过命令工具及通道工具提供传输服务

·事件通知

·状态报告及错误恢复

2.USBD命令工具功能

USBD命令工具允许客户访问设备。

通常,这些命令允许客户以读写形式访问某个设备数据及控制部份。

客户要做的仅是提供设备的标识码和相关数据缓冲区或空缓冲区指针。

USBD命令传输时并不需要USB设备是已被配置好。

USBD提供的设备配置设施大部分使用是用命令传输。

下面的是有关命令工具提供的功能:

(1)接口状态控制

USBD客户必须能够设置具体的接口。

接口状态的改变使得所有与该接口相连的通道都进入新的状态。

另外接口的所有通道都能够被重新设置或废弃。

(2)通道状态控制

USBD通道状态由两部份组成

·主机状态。

·反映的端口状态。

通道状态值总是包含上述两部份。

USBD的客户管理由USBD报告通道状态,且客户能够与端口交互以改变它状态。

(3)获取描述码

USBD提供取得标准设备描述符,设备配置描述符,字串描述符和设备类或者厂商定义的描述符的功能。

(4)取得当前配置参数

USBD提供取得任何设备当前配置参数的描述符的功能。

如果设备没有被配置,则不返回描述符。

当客户请求为设备设置特定的参数时也返回当前配置的描述符。

返回的配置信息中包括如下一些内容:

·所有存放在设备上的配置描述符,包括接口的所有其他可替换配置。

·返回接口的当前的配置的描述符。

·接口当前配置中的某一端口(一个接口可能具有多个端口)的通道句柄。

·接口当前配置中的某一端口的最大允许包长。

另外,对于任一通道,USBDI必须提供返回该通道的当前正使用的最大包长的值的机制。

(5)增加设备

USBDI必须提供某种机制以便于当增加新的设备的时候,集成器驱动器能通知USBD并能取得该新USB设备的USBD标识。

USBD的任务包括分配设备地址并且为设备准备使用的标准通道。

(6)设备断开

USBDI必须提供某种机制以便于集线器控制器通知USBD特定的设备已断开。

(7)管理状态

USBDI必须提供取得和清除设备或接口或通道上与设备有关的状态的功能。

(8)向设备发送与设备类有关的命令

USBD的客户,特别是特定类的和自适应的驱动器使用USBD提供的该种机制向设备送出一个或多个设备类命令。

(9)向设备发送特殊的厂商定义的命令

客户使用USBDI提供的该种机制向设备送出一到多个厂商定义的命令。

(10)更改接口配置

USBDI必须提供更改特定接口配置的机制。

修改了配置后,接口的新通道

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

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1