学位论文基于单片机和usb接口的数据采集系统设计.docx

上传人:b****5 文档编号:3571329 上传时间:2022-11-24 格式:DOCX 页数:49 大小:511.61KB
下载 相关 举报
学位论文基于单片机和usb接口的数据采集系统设计.docx_第1页
第1页 / 共49页
学位论文基于单片机和usb接口的数据采集系统设计.docx_第2页
第2页 / 共49页
学位论文基于单片机和usb接口的数据采集系统设计.docx_第3页
第3页 / 共49页
学位论文基于单片机和usb接口的数据采集系统设计.docx_第4页
第4页 / 共49页
学位论文基于单片机和usb接口的数据采集系统设计.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

学位论文基于单片机和usb接口的数据采集系统设计.docx

《学位论文基于单片机和usb接口的数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《学位论文基于单片机和usb接口的数据采集系统设计.docx(49页珍藏版)》请在冰豆网上搜索。

学位论文基于单片机和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;数据采集;固件

DesignofDataAcquisitionSystemBasedonSingleChipComputerandUSBInterface

Abstract

UniversalSerialBusisanewspecificationformicrocomputerbusinterface.Withthecontinuingadvanceoftheclients'demandforthespeedofadatacollectionsystem,USBismoreandmorewidelyusedindatacollectionsystemforitsadvantagessuchasconvenience,expandingportwitheaseandhighspeedetc.

ThispaperpresentsaUSB-baseddataacquisitionsystemdesignmethods,PHILIPScompaniesusingtheUSBinterfacechipwithPDIUSBD12ProgressiveAT89C51OKcommunication,andcommunicationandPC.ThesystemusingtraditionalUSBreplacetheRS232serialbus,ThroughtheUSBframeworkagreementandequipmentwiththefullunderstanding,rightto89C51microcontrollerandUSBinterfacechipPDIUSBD12-baseddataacquisitionsystemforthehardwarepiecesofsoftwaredesignandprogramming,andinthisdesignisgivenonthebasisofthecorrespondingdiagram.

ThemainsolutionofHardwaredesignistheConnectionbetweenPDIUSBD12andADC0809withtheinterfacebetweenthemicrocontrollercircuit,Thesoftwareprogrammemainlyincludes:

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

Keywords:

MCU;USB;datacollection;firmware

 

插图清单

表格清单

 

引言

在石油、化工、冶金、电力、纺织、轻工、水利等工业及科研领域中,都必须进行相关的数据采集。

随着科学技术的发展与普及,数字设备正越来越多地取代模拟设备,在生产过程控制和科学研究等广泛领域,计算机控制技术正发挥着越来越重要的作用。

然而外界的大部分信息是以连续变化的物理量形式出现的,例如温度,压力,速度等。

要将这些信息送入计算机进行处理,就必须先将这些连续的物理量离散化,并进行量化编码,从而变成数字量,这个过程即是数据采集。

数据采集系统是计算机与外部世界联系的桥梁。

数据采集技术是以传感器技术、信号检测与处理、电子学、计算机技术等方面技术为基础而形成的一个综合应用技术学科,已广泛应用于国民经济和国防建设的各个领域,并且随着科学技术的发展,尤其是计算机技术的发展与普及,数据采集技术将会有着更广阔的发展前景。

USB是一种IT行业新发展起来的通用接口标准,目前很多应用主要集中在PC机的外设和一些消费类电子上。

其实,作为一种通用型串行总线标准,USB不仅仅适用于IT行业,它的应用空间很广泛,完全可以使用在不同的领域和行业。

特别是由于USB的使用简单、即插即用、热插拔、开放性、高速、稳定、可靠性高等优点,它特别适用于仪器仪表、虚拟仪器、数据采集、数据采集设备、监控设备和加密设备等等场合。

本数据采集系统硬件模块主要由串行A/D转换器、89C51芯片、USB接口芯片和多路模拟开关等组成。

系统以AT89C51单片机为核心,集成电路全部采用CMOS器件。

与传统的8031单片机数据采集器相比,AT89C51单片机数据采集器硬件结构简单,价格低廉。

由于采用16位的AD0809,精度高,能够满足测量要求。

特别是该数据采集器配有串行通信接口,与微机相联后能够极大地提高测试系统的数据处理能力,容易实现误差的计算与补偿、校准测量仪器的非线性等。

这种单片机控制的数据采集系统克服了精度低、滞差大、走时短等缺点,并且功耗低、性能可靠,可以长时间连续工作,有着非常广的应用空间。

第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总线的数据采集系统,具有可靠性高、数据不丢失、抗干扰性强、便于数据传输和处理等优点,可在信号测试、信号采集场合广泛使用。

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

下面对USB的性能做简单的介绍。

 

表1.2.1USB使用分类表

性能

应用

特性

低速

交互设备

10-20kb/s

键盘、鼠标、游戏棒

低价格、热插拔、易用性

中速

电话、音频、压缩视频

500kb/s-10Mb/s

ISBN、PBX、POTS

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

高速

音频、磁盘

25-500Mb/s

音频、磁盘

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

 

通用串行总线(UniversalSerialBus,简称USB)是康柏、微软、IBM,DEC等公司为了解传统总线的不足推出的一种新型串行总线接口规范,自1995年在Comdex上亮相以来至今己广泛地为各PC厂家所支持。

现在生产的PC机几乎都配备了,USB接口,Microsoft的windows98,NT以及MacOS,Linux,FreeBSD等流行操作系统都增加了对USB的支持。

USB的主要特点如下:

1.速度快。

USB有全速和低速两种方式,主模式为全速模式,速率为12Mbps,从而使一些要求高速数据的外设,如:

高速硬盘、摄像头等,都能统一到同一个总线框架下。

另外为了适应一些不需要很大吞吐量但是有很高实时性要求的设备,如鼠标、键盘、游戏杆等,USB还提供低速方式,速率为1.5Mbps。

如表1.2.1所示。

新推出的USB2.0协议提供最高达480Mbps的数据传输速率可以适应各种不同类型的外设。

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.3系统的设计方案

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

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

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

软件设计可分为两部分:

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

二是了解USB的设备驱动程序与应用。

本数据采集系统的系统框图如下图所示:

 

第2章USB协议简介

2.1USB传输要件

1、设备端点

端点是可唯一识别的USB设备的一部分,它是主机与设备间通信流的一个结束点。

一系列相互独立的端点在一起构成了USB逻辑设备。

每个逻辑设备有一个唯一的地址,这个地址是在设备连上主机时由主机分配的,而设备中的每个端点在设备内部有唯一的端点号。

这个端点号是在设备设计时给定的。

每个端点都是一个简单的连接点,或者支持数据流进设备,或者支持其流出设备,两者不可兼得。

端点号不为0的端点在被设置前处于未知状态,是不能被主机访问的。

所有USB设备都需要实现一个缺省的控制方法。

这种方法将端点0作为输入端点和输出端点。

USB系统用这个缺省方法初始化。

一旦设备接上并加电,且收到一个总线复位命令,端点0就是可访问的了。

除缺省控制通道的缺省端点外,其他端点只有在设备被设置后才可使用。

2、USB通道

USB通道是设备上的端点和主机上的软件之间的联系,体现了主机上缓存和端点间传送数据的能力。

USB有两个不同且互斥的通道通信格式:

●流:

指不具有USB定义的格式的数据流。

●消息:

指具有某种USB定义的格式的数据流。

USB不解释在通道中传送的数据的内容。

消息通道要求数据组织成USB定义的格式,但它的内容,USB是不管的

2.2USB总线协议层

2.2.1位定序

数据位被发送到总线的时候,首先最低有效位,跟着是下一个最低有效位,最后是最高有效位

2.2.2同步字段

所有的包都是从同步字段开始的,同步字段是产生最大的边缘转换密度的编码序列。

同步字段作为空闲状态出现在总线上,通过被定义为8位长的二进制串,输入电路以本地时钟对齐输入数据。

同步字段的最后2位是同步字段结束的记号,并且标志了包标识符的开始

2.2.3包标识符

所有USB包的同步字段后都紧跟着包标识符(PID)。

如图2.2所示,PID由4位的包类型字段和其后的4位的校验字段构成。

PID指出了包的类型,并由此隐含地指出了包的格式和包上所用错误检测的类型。

PID的4位的校验字段可以保证PID译码的可靠性,这样包的余项也就能被正确地解释。

PID的校验字段通过求包类型字段的二进制反码产生。

如果4个PID检验位不是它们的各自的包标识符位的补,则说明存在PID错。

(LSb)(MSb)

PID0

PID1

PID2

PID3

PID0

PID1

PID2

PID3

2.3USB的传输结构

USB的传输结构描述的是各个类型USB传输的时序、数据包和特征。

下面分别介绍一下4种USB传输类型的传输结构:

1、控制传输

控制传输用于在设备初次连接时对器件进行配置,以及对设备的状态进行实时检测,还有在设备配置完成后用于特殊传输目的。

端点0只可以采用控制传送的方式。

每一个控制传输都必须有设置与状态阶段,数据阶段则是选择性的。

控制传输的设置事务传输结构如图2.3.1所示:

图2.3.1控制传输结构示意图

控制传送的数据阶段,由一个以上的输入或输出事务构成,遵守和批处理传送相同的协议规则。

所有的数据阶段里的事务都必须有相同的方向(即全部输入或全部输出)。

在数据项中要发送的数据的数量和其方向在建立阶段被指定。

如果数据的数量超过了先前确定的数据包的大小,数据在支持最大的包大小的多个事务中被发送(输入或输出)。

任何剩下的数据都作为剩余在最后的事务中被发送。

2、批量传输

批量传输包含一个或者多个传输事务,其传输是单方向的,即所有的事务都必须是输入或输出事务。

如果需要双向传数据,需要另建立一个管道。

批量传输的传输结构如图2.3.2所示:

图2.3.2批量传输结构示意图

3、中断传输

中断传输适用于小批量的、点式、非连续的数据传输应用的场合。

中断传输必须在指定的时间内完成,它一般应用于鼠标、键盘、游戏杆等HID(HumanInterfaceDevice)类设备以及集线器的状态报表中。

中断传输的传输结构如图2.3.3所示:

图2.3.3中断传输结构示意图

4、同步传输

同步传输的意义在于每一个帧或者微帧内必须传输固定数目的字节数据,它适用于固定速度或者特定时间的传输。

同步传输没有联络阶段,所以不能保证传输的完全可靠性。

同步传输的传输结构如图2.3.4所示:

图2.3.4同步传输结构示意图

2.4USB总线枚举过程

USB规范定义的设备状态总共有6个,分别是连接(Attached)、上电(Powered)、默认(Default)、地址(Address)、配置(Configured)和挂起(Suspend)。

USB总线枚举过程中,USB设备需要经历后4种状态。

USB集线器负责监测设备的连接情况,而USB主机会通过集线器轮询地查询设备。

当主机发现一个新的设备时,会要求集线器建立与设备的通信通道,即设备的端点0,控制传输端点。

之后,主机会通过此通道向设备发送一系列的标准USB请求以获取所需的信息,设备必须响应这些请求并且采取适当的动作。

这个过程即称为USB的总线枚举。

总线枚举的过程如下:

1设备连接

USB设备通过USB总线与主机相连。

2设备上电

USB设备可以采用USB总线供电,也可以使用外部电源供电。

3主机检测到设备,进行复位

设备连接到总线后,主机通过检测设备在差分信号线的上拉电阻检测到有新的设备连接,并获释该设备是全速设备还是低速设备,如果上拉电阻与D+线相连,则为全速设备,如果上拉电阻与D-线相连,则为低速设备,主机确认有设备连接后,向该端口发送一个复位信号。

4设备默认状态

设备收到一个复位信号后,连接到主机的所有设备的地址为默认地址(00H),主机会首先发送一个获取设备描述符的请求,设备通过这个默认地址向主机发送第一次设备描述符。

5地址分配

当主机接收到有设备对默认地址(00H)来响应的时候,就确认有设备连接,主机对设备分配一个空闲的地址(如02H),以后设备就只对02H地址进行响应。

6读取USB设备描述符

主机分配给设备地址后,通过这个地址主机读取该设备描述符,确认USB设备的属性。

7设备配置

主机依照读取的USB设备描述符来进行配置,如果设备所需的USB资源得以满足,主机就会查找驱动,当正确找到驱动后,主机给设备发送配置命令,配置完毕后,这个USB设备就枚举成功了。

8挂起

为了节省电源,当总线保持空闲状态超过3ms以后,设备驱动程序就会进入挂起状态,在挂起状态时,设备的消耗电流不超过500µA。

当被挂起时,USB设备保留了包括其地址和配置信息在内的所有的内部状态

2.5USB的设备描述符

标准的USB描述符包括设备(Device)描述符、配置(Configuration)描述符、接口(Interface)描述符、端点(Endpoint)描述符以及字符串(String)描述符,字符串描述符不是必须的。

不同的描述符从不同的层级来表示设备的属性。

设备描述符包含了整个设备的信息以及设备支持的配置号码,每一个设备只能由一个设备描述符。

但每一个设备可以有几个配置描述符,它包含了电源管理信息以及所支持的接口号码。

接口描述符包含了与端点通信所需要的信息,它可以有零个或多个端点描述符。

各个描述符的树状结构如图2.5.1所示:

图2.5.1描述符的树状结构

设备描述符描述了一个USB设备的总体信息,它在枚举过程中主机从设备读取的第一个描述符。

设备描述符总共有18个字节,分为14个字段。

配置、接口以及端点描述符是在主机得到设备描述符之后发送给主机的。

配置描述符描述了一个特定的设备配置信息,主机使用Set_Configuration请求来选择一个配置,用Get_Configuration请求来返回一个配置。

当主机请求获取一个配置描述符的时候,与配置描述符相关的所有接口、端点描述符都会一并返回。

配置描述符由9个字节组成,分为8个字段。

接口描述符描述了一个配置中的特定接口。

接口描述符总是作为配置描述符的一部分被返回,主机不能通过Get_Descriptor请求直接获取接口描述符。

接口描述符由9个字节组成,分为9个字段。

端点描述符包含了主机用来确定一个端点带宽要求的信息。

除了端点0外,一个接口所使用的每一个端点都有它自己的描述符。

端点0不需要描述符,它也不能直接由Get_Descriptor请求来获得。

端点描述符由7个字节组成,分为6个字段。

2.6USB请求

USB规范定义了3种请求,分别是标准请求(StandardRequest)、类请求(ClassRequest)和厂商请求(VendorRequest)。

USB规范定义了11种标准请求,所有设备都必须对这11种请求作出响应,即使当主机没有给设备分配一个地址或者没有配置设备。

某些设备的功能类似或者提供类似的服务,USB协议就将它们归为一类,并且定义了特定的请求,称为类请求。

但是只有类请求是不能满足众多USB厂商的需求的,所以,USB协议允许一个供应商为它的设备自定义特殊的请求,此类请求称为厂商请求。

所有的USB总线设备以缺省控制管道响应主机发出的请求,这些请求是通过控制传输来完成的,请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。

Setup包格式如表2.6.1所示。

表2.6.1SETUP包格式

大小(B)

1

1

2

2

2

bmRequestType

bRequest

wValue

wIndex

wLength

在表2.4.5.1中,bmRequestType表示设备请求类型,D7:

数据传输方向,0=主机到设备,1=设备到主机;D6…5:

类型,0=标准,1=类型,2=厂商,3=保留;D4…0:

接收方,0=设备,1=接口,2=端点,3=其它;4…31=保留。

bRequest表示USB设备请求值,标准请求有11个命令。

wValue为值,它根据不同的请求,以字节来定义,例如,设备请求为GetDescriptor(06H),wValue为01H时,表明要发送设备描述符。

wLength表示长度,如果传输的是一组数据,则这个长度的值表示要传输数据的字节数。

本章介绍了USB协议的相关内容,包括USB传输要件,USB传输中的事务、信息包和联络信号,USB的传输结构,USB的总线枚举过程,USB的设备描述符以及USB请求。

本章为本设计下面内容的展开奠定了基础。

 

第3章数据采集系统的硬件设计

3.1硬件系统的结构

基于USB总线的实时数据采集系统硬件组成包括模拟开关、A/D转换器、单片机、USB接口芯片,该系统能够实现8路数据自动采集,系统的组成框图如图3.1.1所示。

主要包括5个组成部分:

中央处理器选用AT89C51芯片,完成各部分控制功能和USB传输协议;A/D转换器和接口电路主要完成数据采集,并读入MCU处理;复位电路完成对MCU的上电复位和电源电压监视;电源电路主要为各部

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

当前位置:首页 > 小学教育 > 小升初

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

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