USB接口芯片PDIUSBD12与单片机AT89C51通信系统.docx
- 文档编号:25873610
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:68
- 大小:392.19KB
USB接口芯片PDIUSBD12与单片机AT89C51通信系统.docx
《USB接口芯片PDIUSBD12与单片机AT89C51通信系统.docx》由会员分享,可在线阅读,更多相关《USB接口芯片PDIUSBD12与单片机AT89C51通信系统.docx(68页珍藏版)》请在冰豆网上搜索。
USB接口芯片PDIUSBD12与单片机AT89C51通信系统
USB接口芯片PDIUSBD12与单片机AT89C51通信系统
名目
文摘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必须提供更换特定接口配置的机制。
修改了配置后,接口的新通道句柄替换了旧的通道句柄。
在上述的要求执行的过程中,接口必须是闲暇的。
(11)创建设备配置
配置软件向USBD提出进行设备配置的要求时提供一个包含配置信息的数据缓冲区。
USBD依照提供的配置信息为设备端口要求资源。
假如所有的资源要求都得到满足,USBD设置设备配置参数,同时返回当前设备所有活跃态接口句柄和与该接口中的某一端口相连的通道句柄。
接口的设置可使用缺省参数。
(12)设置描述符
关于支持该项行为的设备,USBDI承诺升级设备上的描述符或者增加新的描述符。
3.USBD通道设施
USBD的通道设施使客户与设备之间高速的低附加信息的数据传输成为可能。
数据传输的高性能是通过将USBD的一部份通道治理任务转交给客户来实现的。
因此通道设施比USBD命令设施所提供的数据传输服务更直截了当。
通道设施不承诺访问设备的标准通道。
只有在USB及设备的配置都顺利完成后,客户才有可能进行USBD的通道传输。
当设备被配置的时候USBD依照配置参数为设备的所有通道要求资源。
当特定的接口或通道闲暇的时候,客户能够更换配置。
客户为输出的通道提供一个满的数据缓冲区,同时在要求完成以后取得传输状态信息。
客户能够依照返回的状态信息判定传输是否顺利完成。
客户为输入通道提供空的数据缓冲区,同时在要求完成以后得到一个具有数据的缓冲区及传输的状态信息。
客户可依照该状态信息判定传输数据的数量及质量。
依照所支持的数据传输类型,USBD共有四种通道类型:
操纵传输、同步数据传输、中断传输、块传输。
2.3USB设备
USB设备可被划分三层:
·底层是传送和接收数据包的总线接口
·中间层处理总线接口与不同端点之间的数据路由端节点是数据的终结提供处或使用处,它可被看作数据源或数据接收端(Sink)
·最上层的功能由串行总线设备提供,比如鼠标,或ISDN接口。
2.3.1USB设备状态
USB设备有若干可能的状态,其中一些关于USB与主机(host)来说是外置的,而另外一些对USB设备来说是内置的,表2-1描述的确实是这些外置状态之间的转化关系。
表2-1外呈(可见)的设备状态
连接
加电
缺省
编址
配置
挂起
说明
不
_
__
__
__
__
设备尚未连接至接口.其他特性无关
是
不
_
_
__
__
设备已连接至接口,但未加电.其他特性无关.
是
是
不
__
_
__
设备已连接至接口,同时已加电.但尚未被复位.
是
是
是
不
__
__
设备已连接至接口,已加电.并被复位.
但尚未分配地址.设备在缺省地址处可寻址.
是
是
是
是
不
_
设备已连接至接口,已加电.并被复位.且分配了唯独地址.尚未被配置.
是
是
是
是
是
不
设备已连接至接口,已加电.并被复位.且分配了唯独地址,并被配置.设备功能可被使用.
是
是
__
__
__
是
设备在至少3毫秒以内探测不到总线活动,自动进如挂起.设备功能不可用.
2.3.2通用USB设备操作
所有的USB设备支持通用的操作集,下面简要地描述这些操
1.动态插接与拔开
USB设备必须在任意时刻承诺被插接与拔开。
提供连接点或端口的集线器应当负责汇报端口的状态改变情形。
当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此而复位,一个被复位了的USB设备有如下特性:
·对缺省USB地址发生响应
·没有被配置
·初始状态不是挂起
当设备从一个集线器端口移去时,集线器会使得原先连接的端口失效,同时通知主机设备已移去。
2.地址分配
当USB设备连接以后,由主机负责给此设备分配一个唯独的地址,那个操作是在设备复位及端口使能操作?
?
以后。
3.配置
USB设备在正常被使用往常,必须被配置,由主机负责配置设备。
主机一样会从USB设备猎取配置信息后再准定此设备有哪些功能。
作为配置操作的一部分,主机会设置设备的配置值,同时,假如必要的话会选择合适的接口的备选设置。
只须一个简单配置,一个设备可能支持多重接口。
一个接口是一组端结点集合,它们代表了设备向主机提供的单一的功能或特性,用来与这组相关端结点通信的协议以及接口内各端结点的目的能够作为一个设备类的一部分或者由厂商制定具体定义。
另外,一个配置中的结口可能有备选设置。
这些备选设置会重定义相关端结点的数目或特性。
假如是如此的话,设备必须
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 接口 芯片 PDIUSBD12 单片机 AT89C51 通信 系统