AT89C51单片机USB接口驱动和应用程序的开发毕业论文.doc
《AT89C51单片机USB接口驱动和应用程序的开发毕业论文.doc》由会员分享,可在线阅读,更多相关《AT89C51单片机USB接口驱动和应用程序的开发毕业论文.doc(59页珍藏版)》请在三一办公上搜索。
1、北方民族大学学士学位论文论文题目: AT89C51单片机USB接口驱动和应用程序的开发 院(部)名 称: 电信学院 学 生 姓 名: 杨闯 专 业: 测控技术与仪器 学 号: 20060249 指导教师姓名: 周春艳 论文提交时间: 2010年5月24日 论文答辩时间: 2010年5月29日 学位授予时间: 北方民族大学教务摘 要通用串行总线USB是一种新兴的并逐渐取代其他接口标准的数据通信标准。USB,由于速度快,使用方便灵活,易于扩展,支持即插即用,成本低廉等一系列优点,得到了广泛的应用。本论文以基于USB总线的数据采集系统的研制过程为主要内容,阐述了利用CH372与ATMEL的AT89C
2、51等组成的一套数据采集系统的设计方案、开发方法和开发过程,并给出了具体实现方案。论文首先简要介绍了USB总线的相关内容,然后介绍了数据采集系统的设计。数据采集系统的设计包括硬件设计、固件程序开发、驱动程序开发和应用程序开发四部分。在硬件设计部分,首先介绍了设计中所用的CH372的性能和特点,然后给出了具体硬件设计方案,并对设计中应该注意的问题进行了说明。驱动和应用程序主要完成USB设备的读写和即插即用功能,并提供一个友好的人机界面,对数据采集系统进行控制并显示采集后的数据。本论文已完成了基于USB总线的数据采集系统的设计,用其实现了基本的数据采集功能。使用USB总线传输数据,为数据采集系统与
3、计算机之间的通讯开辟了新的道路。关键词:USB、驱动程序、应用程序、AT89C51、CH372AbstractUniversal serial bus USB is one kind of emerging and replace other interface standards of data communication standards. USB, due to fast, convenient and flexible easy to expand, to support plug and play, low cost advantages, such as widely appli
4、cation.The paper is mainly concerned with design process of data acquisition system that is based on USB bus. The design scheme, developing method and developing process of a suit of data acquisition system used with CH372 and ATMELs AT89C51 are expatiate. In addition, the paper also gives the mater
5、ial realization scheme.At fist, the paper introduces the protocol of USB bus in brief, and then discusses the design of data acquisition system, which includes four parts, hardware design, firmware design, device driver and application program. In hardware part, the performance of CH372 is fistly de
6、scribed; then the hardware scheme are given in detail; the questions which should be paid attention to in design is explained. Drivers and applications of the main equipment and USB plug and play function, and provide a friendly human-machine interface, control of data acquisition system and display
7、 the data collection.The paper has finished the design of data acquisition system based on USB bus and realized the basal data acquisition foundation. Using USB bus to transfer data blazed a way in communication between data acquisition system and computer.Keywords: USB、Drive、Applications、AT89C51、CH
8、372目 录第1章 绪论11.1 引言11.2 USB的特点11.3 USB实时数据采集系统的实现方案3第2章 USB体系简介42.1 体系概述42.2 USB的传输类型52.3 USB的设备状态7第3章 USB数据采集系统的硬件设计113.1 USB 接口方案113.2 USB接口的硬件设计113.2.1 CH372简介113.2.2 USB接口的硬件电路设计163.3 USB接口硬件的实现173.3.1时钟电路173.3.2 复位电路183.3.3 A/D转换电路183.3.4 CH372接口电路193.3.5 单片机扩展RAM接口电路20第4章 USB数据采集系统设备固件编写214.1
9、固件设计方案及工作流程214.1.1固件的设计思想214.1.2固件的工作流程214.2固件开发224.2.1主循环模块(MAINLOOP.C)224.2.2外接口模块224.2.3 CH375_INIT初始化模块234.2.4上传数据块模块234.2.5上传中断数据模块23第5章 USB设备驱动程序及应用程序245.1驱动开发工具的选择245.2 WDM概述245.3 主要模块设计255.3.1 初始化模块255.3.2即插即用管理模块265.3.3IO控制模块285.4 应用程序设计与实现285.4.1 操作例程及初始化285.4.2 设备读写接口程序的实现295.4.3 数据传输程序的设
10、计和实现305.5 用户应用程序的具体实现34结束语35致谢36参考文献37附录一38附录二39第1章 绪论1.1 引言现代工业生产和科学研究对数据采集系统的要求日益提高,目前比较通用的方法已逐渐不能适应其要求。例如在PC机及工控机内安装数据采集板卡,如A/D卡、422卡或485卡等。这些数据采集系统存在以下缺陷:安装麻烦;价格昂贵;受计算机插槽数量、地址、终端资源的限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真等。USB是Universal Serial Bus的简称,译为通用串行总线。USB是一种外设总线,所不同的是,它是由Intel、Compa
11、q、Digital、IBM、Microsoft、NEC及Northern Telecom等几家计算机和通信公司联合制订的,并成为了行业标准。目前USB 1.1标准得到了广泛支持。2000年初,USB 2.0标准问世,USB 2.0以480Mb/s的传输速率得到了广泛关注,在一定基础上代表了计算机接口的发展趋势。1.2 USB的特点USB作为新一代的计算机接口,具备如下特点:(1)低成本。为了把外围设备连接到计算机上去,USB提供了一种低成本的解决方案,所有系统的智能机制都驻留在主机并嵌入芯片组中,方便了外设的制造。(2)热插拔。USB实现了真正的“即插即用”功能。设备连接后由USB自检测,并且
12、由软件自动配置,完成后立刻就能使用,不需要用户进行干涉。在操作系统方面,由主机负责扫描总线上的所有接口,自动识别USB设备的插拔,并相应的加载或卸载设备驱动程序,实现了即插即用功能。(3)单一的连接器类型。USB定义了一种简单的连接器,仅使用一个四芯电缆,即可用来连接任何一个USB设备。多个连接器可以通过USB集线器连接。(4)最多可通过网络连接127个设备,每个USB总线支持127个设备的连主机 RootHubRoot Hub设备设备设备设备设备设备HubHub图1.1 树形拓扑结构示意图接,其树形拓扑结构如图1.1所示。在图1.1中,每个Hub集线器可向上连接到另一个Hub,深度可达5层。
13、由于协议中规定使用8位数据寻址,因此每一个主机最多可连接127个设备。(其中0x00地址用于缺省地址,在设备刚入网或复位时使用)(5)如图1.1所示,无论多少个设备连接在系统中,主机只给USB主控制器分配固定的I/O地址和中断向量,不会额外占用系统资源。(6)USB有两种设备传输率:1.5Mb/s和12Mb/s,并且两种速率能够自适应转换。USB 2.0的传输速率可达480Mb/s。(7)独立供电。USB设备提供总线供电和自供电两种方式,通过集线器向设备提供电源。当外设的电源要求电压为5伏且电源小于500mA时,可以直接从USB总线获取电源,这样USB设备就无需专用电源线,从而降低了设备的成本
14、。(8)错误检测和恢复。USB事物处理包括错误检测机制,它们用于确保数据无错误发送。在发生错误时,事物处理可以重新进行。(9)电源保护。如果连续3ms没有总线活动,则USB会自动进入挂起状态,处于挂起状态的设备消耗的电流不超过500uA。(10)支持四种类型的传输方式。USB定义了四种不同的传输类型来满足不同设备的需求,这些传输类型包括等待传输、块传输、中断传输和控制传输。基于USB总线的数据采集系统,充分利用了USB总线的优点,有效解决了传统数据采集系统的缺陷,是数据采集系统设计的一种较好选择。1.3 USB实时数据采集系统的实现方案USB数据采集系统的硬件模块包括多路模拟开关、A/D转换器
15、、微控制器和USB接口芯片等。硬件总体结构如图1.2所示。微控制器USB芯片 模拟开关A/D转换器PC机 多 路 信 号图1.2 USB实时数据采集系统的硬件模块系统的模拟开关、A/D转换器均采用传统的设计方法,根据系统功能、采集的精度、速率、通道数等诸元素选择合适的芯片。微控制器采用了Atmel公司的AT89C51,USB接口芯片采用CH372。USB数据采集系统的软件包括USB设备驱动程序、设备固件、主机端应用程序三部分。我主要负责使用Delphi语言进行USB设备驱动程序和应用的开发。其中设备固件对数据采集系统进行控制,还要控制USB接口芯片实现USB协议。这要求设计者不仅熟悉Delph
16、i程序设计,还要熟悉USB协议Windows核心态。第2章 USB体系简介2.1 体系概述USB 体系包括“主机”、“设备”以及“物理连接”三个部分。其中主机是一个提供USB 接口及接口管理能力的硬件、软件及固件的复合体,可以是PC,也可以是OTG 设备。从图2.1中可以看出USB采用分层的星型拓扑来连接所有的USB设备。(图中的Func代表USB设备):图2.1 USB体系图在任何USB系统中都只有一个主机,它是USB通信的中心。主机管理总线,就必须知道总线上有哪些设备,以及每个设备的功能。总线上的各个设备有不同的要求,这些设备都在企图同时性的传输数据。主机必须让每一个设备都可以正确地发送和
17、接收数据。主机所完成的USB相关工作:1、为外围设备提供电源;2、检测设备的连接和移除;3、检查数据的错误;4、管理数据通信、5、与外围设备交换数据。USB 集线器最基本的作用是作为与设备融合为一体的分离器和中继器。集线器在 USB 设备和主机之间提供了电接口。集线器直接负责支持能使 USB 用户友好并让用户方便易用的各种属性。集线器提供了超越主机实施所能提供的额外结合点,并重播了在面对上行端口及面对下行端口上查看的所有通信量。集线器可以检测其下行端口上的连接与断开情况,并将此信息报告给主机。此外,集线器必须能够支持与下行端口相连的 USB 外设的所有速度或类型, 集线器必须能够从所有因连接目
18、标错误条件引发的总线故障中检测和恢复。此外,集线器负责为其下行端口管理电源,并将所有的电源问题报告给主机从而通知用户。USB协议规范为集线器定义了两种不同的电源类型:总线供电和自加电。USB设备是带有USB接口并可以完成特定功能的外设,它通过USB总线发送和接收数据/控制信息。每个USB设备都包含设置信息,来描述该设备的性能和所需资源。在功能部件使用前,主机要对其进行设置。设置信息包括USB带宽分配,选择设备的设置信息等。目前USB设备是USB总线中发展最快的部分,常见USB外设有:鼠标或光笔、键盘等。2.2 USB的传输类型USB通过通道在主机缓冲区与设备端点间传送数据。在消息通道中传递的数
19、据具有USB定义的格式,它在数据净荷区中包含的数据允许具有设备指定的格式。USB要求任何在通道上传送的数据均被打包,数据的解释工作由客户层软件和应用层软件负责。USB协议中规定了四种不同的数据传送类型,每种传送类型在以下的几个传送特征上会有不同: USB规定的数据格式; 信息流的方向; 数据净荷区的长度限制; 总线访问的限制; 延时的限制; 出错处理。USB设备的设计者可以决定设备上每个端点的能力。一旦为这个端点建立了一个通道,这个通道的绝大多数传送特征也就固定下来了,一直到这个通道被取消为止。USB定义了4种传送类型:(1) 控制传送 控制传输属于突发式、非周期性的,由主机软件发起的请求或响
20、应的通信,它用于支持在客户软件和功能设备之间的关于设置信息、命令信息、状态信息的传送。控制传送一般由三个阶段组成:首先是设置阶段,通过(Setup Stage)包建立联系,把请求信息从主机传到它的应用设备;接下来是数据阶段(Data Stage),零个或多个数据传送事物按照Setup包中指明的方向传送数据;最后是状态信息的回传,应用设备将状态信息传到主机。控制传送使用的是消息通道上双向信息流。所以,一旦一个控制通道被确认之后,这个通道就使用了具有某个端点号的两个端点,一个输入,一个输出。(2) 同步传送 USB要求等时传送能提供以下几点:固定的延迟下,确保对USB带宽的访问;只要数据能提供得上
21、,就能保证通道上的恒定数据传送速度;由于错误而造成的传送失败时,并不重传数据。只有高速设备可以使用等时传送。USB设备要求一个帧内不能有超过90%的时间用于等时传送或中断传送(因为吗,每帧都得保留10%的时间用于控制传送)。等时传送不支持因总线错误而进行的重传。接收器可以判断是否发生了一个错误。一般情况下,可以由握手信号来通知发送者包是否被成功的接收。对于等时传送来说,定时比正确性和重传更重要。考虑到总线的错误率较低,协议认为传送一般均能成功。同步接受者可以判断自己是否在一个帧内错过了一些数据,而且知道丢失了多少数据。(3) 中断传送 中断传送是低频率、固定延迟的通信。中断传送适用于那些请求传
22、输的频率不高,但是必须在指定时间内完成传输的数据。一般的应用包括USB的键盘、鼠标、游戏杆和集线器的状态报告。中断传输需要快速地向主机报告当前的状态,这是由设备的属性和使用的场合所决定的。要在USB上进行中断传送,必须在每个周期对端口进行访问。主机无法知道一个端口何时准备好一个中断传送,除非它访问这个端点,并同时请求一个中断传送,等待回答。如果端口无数据需要中断传送,就请求其回送一个NAK信号。如果端口传送数据时会有中断情况发生,一定要用中断传送,以防中断产生时,客户软件误以为IRP结束。长度为0的数据净荷区的传送是合法的,而且对某些实现是很有用的。低速、全速和高速设备都支持中断传送。中断传送
23、支持像游戏手柄,鼠标和键盘等输入设备,这些设备与主机间数据传输量小,无周期性,但对响应时间敏感,要求马上响应。(4) 批量传送 批量传送支持在不确定时间进行的相当大量的数据通信,它可以利用任何可获得的带宽,批量传送有以下特点: 可以获得带宽访问总线; 如果总线出现错误,传送失败,可进行重发; 可以保证数据必能被发送,但不能保证带宽和延迟;只有当可获得带宽时,批量传送才会发生。如果USB有较多的空闲带宽0则批量传送发生地相对频繁,如果空闲带宽较少,则可能有很长时间没有批量传送发生。通常打印机、扫描仪和数字相机以这种方式与主机联接。2.3 USB的设备状态USB设备状态共有6个,分别是连接(Att
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89C51 单片机 USB 接口 驱动 应用程序 开发 毕业论文
链接地址:https://www.31ppt.com/p-2392414.html