




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I目 录第一章 绪论 .51.1 课题背景 .51.2 课题的提出 .51.3 USB串行总线优势 .61.4 本课题研究的内容和意义 .7第二章 USB概要设计 .92.1 USB传输要件 .92.2 事务、信息包和联络信号 .92.3 USB的传输结构 .102.4 USB总线枚举过程 .132.5 USB的设备描述符 .142.6 USB请求 .15第三章 数据采集系统的硬件设计 .173.1 硬件系统的结构 .173.2 芯片选择 .173.2.1 ADC0809.183.2.2 AT89C51 .203.2.3 PDIUSBD12.213.3 接口硬件电路设计 .243.3.1 A/D与单片机接口电路 .253.3.2 PDIUSBDI2与单片机接口电路 .25第四章 数据采集系统软件设计 .274.1 A/D转换时序控制 .274.2 固件的开发 .274.3 采用PDIUSBD12的固件设计 .284.3.1 驱动的开发工具 .284.3.2 PDIUSBD12固件程序的编写 .294.4 固件结构 .304.5 固件的编程实现 .324.5.1 底层函数 .324.5.2 命令接口 .324.5.3 中断服务程序ISR.C .344.5.4 主循环MAINLOOP.C .36第五章 USB设备驱动及应用程序设计 .405.1 USB设备驱动程序 .405.2 USB设备应用程序设计 .46II第六章 结 论 .49参考文献 .50附录 .51基于USB总线的数据采集系统设计摘要:本文介绍了一种基于通用串行总线USB(Universal Serial Bus)的数据采集系统设计。随着用户对数据采集系统要求的不断提高,USB接口以其简单易用、速度快而被广大用户所接受。本论文所阐述的数据采集系统采用了集成了微处理器的USB接口芯片PDIUSBDI2来完成采样控制并与PC机应用程序完成系统通信功能,由应用程序完成用户命令及数据的显示。该系统采用USB总线取代传统的数据采集总线,通过对USB协议和设备构架的理解,对数据采集系统进行了硬件设计和软件设计。硬件设计主要解决了控制器与主机通信问题,数据采样、模拟输出、I/O扩展等电路设计以及它们之间的接口。软件编程主要分为三部分:一是为满足获得最大传输速率和运行效率的固件程序编程; 二是为用户提供的以动态链接库形式封装的功能函数;三是提供演示和测试的控制面板程序,并为系统提供了两个应用实例。除此之外,论文还介绍了设备驱动程序的开发,并在文章结尾对USB的应用前景进行了探索。关键词:USB总线;单片机;数据采集;固件;Windows驱动程序模型;设备驱动程序USB bus-based data acquisition system design and implementationAbstract:This paper describes the design of a data acquisition system based on USB. With the advance of the clients requirement on data collection of a system, as a late-model interface technology, USB is well accepted by vast clients because of its simplicity and high speed. The system using the USB interface chip with on-chip microprocessor PDIUSBDI2controls the data acquisition process and communicates with the computer. Through the man-machine interface clients can send commend and data can be printed. With good understanding of USB protocol and device truss, the system is design by using USB instead of other buses. The hardware design includes the communication between the controller and computer, the data acquisition part, analog output, I/O extension and the interface between them. The software program mainly includes the firmware code in the controller, functions for clients with DLL encapsulation and the control panel design. Also the device driver development is introduced and the foreground of USB application is explored at the end.KEY WORDS:USB bus;data collection;MCU;fireware;WDM;device drive program 第 1 页 共 56 页第一章 绪论本次毕业设计的数据采集系统是在单片机 AT89C51 控制下进行数据采集,并通过PHILIPS 公司的 USB 接口芯片 PDIUSBDI2 上传给 PC 机进行分析、显示和存盘。该系统用传统的 USB 总线取代了 RS232 串行总线,通过对 USB 协议和设备构架的充分理解,对以单片机 89C51 和 USB 接口芯片 D12 为主的数据采集系统进行了硬件设计和软件编程,并在此设计的基础上给出相应的原理图。硬件设计主要解决的是 D12 与单片机的接口电路的设计。软件设计可分为三部分:一是充分了解 D12 的主要功能特点,为满足 D12 在 USB 上的最大传输速率而编写固件程序,用 C51 语言编写:二是了解USB 的设备驱动程序与应用。1.1 课题背景现代工业生产和科学研究对数据采集的要求日益普遍,在瞬态信号测量、图像处理等一些测量中,都需要进行数据采集。现在通用的数据采集卡一般多是利用微机机箱内的PCI插槽或 ISA插槽进行扩展。通过数据采集系统,可以简洁、通用化的硬件配合以相应的软件实现以往专用测试仪器的功能;完成 “软件既仪器”的理念.信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用。过去人们单纯追求计算机与外设之间的传输速度,现在纠错能力和操作安装的简易性也成为人们关注的目标。USB通讯技术的出现,使高传输速度、强纠错能力、易扩展性、方便的即插即用,有机的结合在一起。USB设备需要依据USB协议进行数据的解包与打包,底层硬件设备与操作系统之间需要以驱动程序为桥梁。驱动程序以WDM为模型,以DDK为开发工具,以IRP为消息传播载体,来实现与Windows系统底层核心机制相交互的功能。1.2 课题的提出对于数据采集系统而言有两个关键性问题:一是控制 A/D转换和数据传输的控制器,一是采集系统与上位机PC 的传输方式。其中控制器一般采用通用的单片机,包括 4位、8位、16位以至32位的各类单片机;这些单片机芯片优势在于价格低廉、结构简单、接口扩展能力强等,但是其数字运算能力较差,所以目前出现了许多以DSP芯片作为数据采集系统控制器的数据采集系统。本课题为简化开发难度,充分利用现有的工作环境采用较常用的AT89C52单片机作为系统控制器。对于数据采集系统与上位机的通讯方式,现行的常用方式是利用PC机箱内的PCI, ISA插槽进行扩展:其传输速度分别为132M/S. 16M/S、但是由于PC机接口资源有限,且需要对接口卡硬件资源进行合理配置,故其存在以下缺点:安装麻烦; 价格昂贵;受计算 第 2 页 共 56 页机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,易导致采集的数据失真。本课题旨在使用新型的通用串行总线USB完成数据采集系统的构架,充分发挥USB总线接口简洁、使用方便的优势;并为后续的使用 USB总线对实验室现有的“频率特性测试系统” 改进作前期准备工作。课题主要完成四个方面的工作 :数据采集系统硬件设计、固件设计、应用程序及WDM设备驱动程序设计。使用到的软件工具包括Prote199,K eilC 51,M icrosoftV isualSt udio6 .0,W in2000DDK:使用到的硬件工具包括单片机写入器、万用表、示波器等等。采用的操作系统平台为Windows 200。1.3 USB串行总线优势通用串行总线USB( UniversalS erialB us)是1995年康柏、微软、IBM,D EC等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。基于USB的高速数据采集卡充分利用USB总线的上述优点,有效解决了传统数据采集卡的缺陷。USB从传统I/O 模式的栓桔中解放出来,开辟了一条外设同PC机连接的方法。与其他的老式PC机接口相比, USB具有如下优点:1. 热插拔:用户可以把USB外设连接到一台正在运行的PC机上,操作系统能自动识别,并且用户可以立即使用,而不需要重新启动。用户也可以在任何时候断开USB设备,而不管计算机是否正在运行,这都不会损坏计算机。 2. 即插即用 :USB实现了自动配置,它不需要用户手动配置I/O地址和中断请求(URQ)。当USB外设接入PC 时,操作系统会自动检测到这个连接。并加载适合的驱动程序。对用户来说,只需要等待几秒钟,USB外设的安装就会完成。3. 共享式接口:USB端口支持多个外设的连接,通过USB 集线器,一个USB主控制器可以连接多达126个外设。4.接口体积小巧:和其它老式的PC接口相比,USB 接口小且薄,更适合于外设体积的小型化。5. 使用灵活:USB支持三种类型的传输速率,1.5Mb/s的低速传输、12Mb/s的全速传输和480Mb/s 的高速传输。 USB支持四种传输类型,块传输、同步传输、中断传输和控制传输。这使得USB总线适合多种外设的传输需要。6. 提供电源:USB电缆向外设提供一根+5V的电源线,电流的大小取决于集线器端口。用户可以直接使用这个总线电源。当然 ,USB总线还存在许多缺陷,比如USB2.0所支持的480Mb/s速率不及IEEE-1394的六分之一;USB总线传输距离有限 ;USB总线协议复杂等。但随着操作系统、硬件厂商对USB的进一步支持,其在PC 外设方面的将大有可为。 第 3 页 共 56 页1.4本课题研究的内容和意义本课题旨在对USB总线的结构、协议和系统体系进行充分研究的基础上,完成一个实际的USB数据采集系统软硬件的构架。具体需要做的工作包括软件和硬件两部分。硬件方面 ,该系统使用Philips公司的PDIUSBD12芯片作为设备的USB接口芯片;采用常用的AT89C51作为系统的CPU: ADC0809芯片作为AD转换芯片。配合其它辅助芯片和单片机固件完成输入模拟信号的采集、存储和向PC主机的传输。软件方面分如下几部分:1. 单片机固件:本系统中的单片机固件采用C语言编写,使用KeilC 51编译器为开发工具。固件中主要完成对USB协议规定的诸多标准请求以及用户自定义请求的响应;此外还包括控制ADC0809芯片完成对模拟信号的转换代码,以及USB设备所需各种描述符的定义。2. 主机设备驱动程序:USB外设的驱动程序只能为WDM(WindowsD riverM odle)形式的驱动,课题中采用以DDK2000为开发工具,在VC6.0集成开发环境编写,编译时直接在DDK2000 的DOS窗口中编译。3. 用户应用程序:应用程序是采集到数据最终显示、处理的地方。系统用户应用程序界面模仿传统示波器的外形;以图形的方式动态的显示采样数据 ;具体的采样数值也可以写入“记事本”文件中,进而可以用其它专门软件进行处理。Philips公司提供了PDIUSBD1 2的开发包,包括软件和硬件两部分。为用户使用该种型号的USB接口芯片进行设备开发提供一个基础和工作平台。该数据采集系统的目的在于为实验室现有的一套频率特性测试仪的改进做前期工作。但系统应用的潜力并不局限与此,比如在增加与被测信号相适应的传感器、采样保持、滤波和隔离电路后系统可以方便的应用于家庭医疗护理方面,可以用于对人体的心率、脉搏、体温等参数的测试。在个人电脑逐步进入家庭的当今,这样的系统应当具有一定的应用前景。 第 4 页 共 56 页第二章 USB概要设计2.1 USB 传输要件1、端点端点是 USB 设备的一个部分,所有的传输都是将端点作为发出点或者接收点。通常情况下,设备端点是一个内存区域,或者是控制芯片的一个缓存器,端点的作用是数据缓存。每个 USB 设备有一个唯一的地址,这个地址是在设备连上主机时由主机分配的,而设备中的每个端点在设备内部有唯一的端点号,这个端点号是在设备设计时被给定的。端点号可以是 015,方向可以是 IN(设备发送数据给主机)或者OUT(主机发送数据给设备) 。每个设备必须将端点 0 设置为控制端点。控制端点是双向传输数据,其他端点都是单向数据传输。2、管道管道是设备端点和主机控制器之间的连接,在一个传输发生之前,必须首先建立一个管道。管道随着主机和设备的连接的建立而建立,当移除设备时,管道也跟着被移除。每一个设备都会和主机建立一个默认的控制管道(Default Control Pipe) ,此管道使用端口 0。不同的传输类型使用不同的管道,此外管道还可以被分为消息管道(Message Pipe)和流管道(Stream Pipe)消息管道是指具有某种 USB 定义格式的数据流,是双向的管道;而流管道则是不具有 USB 定义格式的数据流,不具有双向性。控制传输是唯一使用双向消息管道的传输,其他传输都是使用单方向的流管道。2.2 事务、信息包和联络信号每一个 USB 传输包含一个或多个事务,每一个事务又包含一到三个信息包。事务根据其数据流方向以及传输目的,可以分为 3 类:输入、输出与设置。每一个传输类型的传输包括一个或多个阶段(Stage) ,一个阶段即一种类型的事务。每个阶段又可以分为一个或几个相位(Phase) ,相位包含几个或两个事务信息包。信息包是一个区块的固定格式信息,每个信息包由一个信息包标示符(PID)开头,作为信息包的识别。根据事务种类的不同,PID 后面可能有端点地址、数据、状态信息,或者是一个在帧号码、错误校验位。在控制传输、批量传输和中断传输中都有一个相位是联络数据包,它包含的是联络信息。但是联络信号不是仅仅在联络数据包中,有些数据信息包中也包含联络信号。USB 定义的联络信号如下:ACK(Acknowledge):表示主机或设备已成功接收数据。NAK(Negative Acknowledge):表示设备在忙中。 第 5 页 共 56 页STALL:表示 3 种意义,即不支持的控制要求、控制要求失败或端点失败。NYET(Not Yet):表示设备是否已准备好接收数据,只有高速设备使用。ERR(Error ):表示在集线器和主机事务中,设备没有传回预期的联络信号。ERR 只有在高速集线器完成事务分割时才会使用。2.3 USB 的传输结构USB 的传输结构描述的是各个类型 USB 传输的时序、数据包和特征。下面分别介绍一下 4 种 USB 传输类型的传输结构:1、控制传输控制传输用于在设备初次连接时对器件进行配置,以及对设备的状态进行实时检测,还有在设备配置完成后用于特殊传输目的。端点 0 只可以采用控制传送的方式。每一个控制传输都必须有设置与状态阶段,数据阶段则是选择性的。控制传输的设置事务传输结构如图 2-1 所示:图 2-1 控制传输结构示意图控制传送的数据阶段,由一个以上的输入或输出事务构成,遵守和批处理传送相同的协议规则。所有的数据阶段里的事务都必须有相同的方向(即全部输入或全部输出) 。在数据项中要发送的数据的数量和其方向在建立阶段被指定。如果数据的数量超过了先前确定的数据包的大小,数据在支持最大的包大小的多个事务中被发送(输入或输出) 。任何剩下的数据都作为剩余在最后的事务中被发送。2、批量传输批量传输包含一个或者多个传输事务,其传输是单方向的,即所有的事务都必须是输入或输出事务。如果需要双向传数据,需要另建立一个管道。S E T U PD A T A 0A C KI d l eT o k e nD a t aH a n d s h a k eI d l eH o s tF u n c t i o n 第 6 页 共 56 页批量传输的传输结构如图 2-2 所示:图 2-2 批量传输结构示意图3、中断传输中断传输适用于小批量的、点式、非连续的数据传输应用的场合。中断传输必须在指定的时间内完成,它一般应用于鼠标、键盘、游戏杆等 HID(Human Interface Device)类设备以及集线器的状态报表中。中断传输的传输结构如图 2-3 所示:图 2-3 中断传输结构示意图4、同步传输同步传输的意义在于每一个帧或者微帧内必须传输固定数目的字节数据,它适用于固定速度或者特定时间的传输。同步传输没有联络阶段,所以不能保证传输的完全可靠性。I N O U TD A T A 0 /D A T A 1N A KS T A L LD A T A 0 /D A T A 1A C KA C KN A K S T A L LI d l eI d l eI d l eD a t aE r r o rD a t aE r r o rT o k e nD a t aH a n d S h a k eH o s t F u n c t i o nI N O U TD A T A 0 /D A T A 1N A KS T A L LD A T A 0 /D A T A 1A C KA C KN A K S T A L LI d l eI d l eI d l eD a t aE r r o rD a t aE r r o rT o k e nD a t aH a n d S h a k eH o s t F u n c t i o n 第 7 页 共 56 页同步传输的传输结构如图 2-4 所示:图 2-4 同步传输结构示意图2.4 USB 总线枚举过程USB 规范定义的设备状态总共有 6 个,分别是连接(Attached) 、上电(Powered) 、默认(Default ) 、地址(Address) 、配置(Configured)和挂起(Suspend) 。USB 总线枚举过程中,USB 设备需要经历后 4 种状态。USB 集线器负责监测设备的连接情况,而 USB 主机会通过集线器轮询地查询设备。当主机发现一个新的设备时,会要求集线器建立与设备的通信通道,即设备的端点 0,控制传输端点。之后,主机会通过此通道向设备发送一系列的标准 USB 请求以获取所需的信息,设备必须响应这些请求并且采取适当的动作。这个过程即称为 USB 的总线枚举。总线枚举的过程如下: 设备连接USB 设备通过 USB 总线与主机相连。 设备上电USB 设备可以采用 USB 总线供电,也可以使用外部电源供电。 主机检测到设备,进行复位设备连接到总线后,主机通过检测设备在差分信号线的上拉电阻检测到有新的设备连接,并获释该设备是全速设备还是低速设备,如果上拉电阻与 D+线相连,则为全速设备,如果上拉电阻与 D线相连,则为低速设备,主机确认有设备连接后,向该端口发送一个复位信号。 设备默认状态设备收到一个复位信号后,连接到主机的所有设备的地址为默认地址(00H ) ,主机会首先发送一个获取设备描述符的请求,设备通过这个默认地址向主机发送第一次I N O U TD A T A 0 /D A T A 0I d l eI d l eT o k e nD a t aH o s t F u n c t i o n 第 8 页 共 56 页设备描述符。 地址分配当主机接收到有设备对默认地址(00H)来响应的时候,就确认有设备连接,主机对设备分配一个空闲的地址(如 02H) ,以后设备就只对 02H 地址进行响应。 读取 USB 设备描述符主机分配给设备地址后,通过这个地址主机读取该设备描述符,确认 USB 设备的属性。 设备配置主机依照读取的 USB 设备描述符来进行配置,如果设备所需的 USB 资源得以满足,主机就会查找驱动,当正确找到驱动后,主机给设备发送配置命令,配置完毕后,这个 USB 设备就枚举成功了。 挂起为了节省电源,当总线保持空闲状态超过3ms以后,设备驱动程序就会进入挂起状态,在挂起状态时,设备的消耗电流不超过500A 。当被挂起时,USB 设备保留了包括其地址和配置信息在内的所有的内部状态。2.5 USB 的设备描述符标准的 USB 描述符包括设备(Device)描述符、配置(Configuration)描述符、接口(Interface)描述符、端点(Endpoint)描述符以及字符串(String)描述符,字符串描述符不是必须的。不同的描述符从不同的层级来表示设备的属性。设备描述符包含了整个设备的信息以及设备支持的配置号码,每一个设备只能由一个设备描述符。但每一个设备可以有几个配置描述符,它包含了电源管理信息以及所支持的接口号码。接口描述符包含了与端点通信所需要的信息,它可以有零个或多个端点描述符。各个描述符的树状结构如图 2-5 所示:图 2-5 描述符的树状结构设备描述符配置描述符 配置描述符 配置描述符接口描述符 接口描述符端点描述符接口描述符端点描述符端点描述符端点描述符端点描述符端点描述符 第 9 页 共 56 页设备描述符描述了一个 USB 设备的总体信息,它在枚举过程中主机从设备读取的第一个描述符。设备描述符总共有 18 个字节,分为 14 个字段。配置、接口以及端点描述符是在主机得到设备描述符之后发送给主机的。配置描述符描述了一个特定的设备配置信息,主机使用 Set_Configuration 请求来选择一个配置,用 Get_Configuration 请求来返回一个配置。当主机请求获取一个配置描述符的时候,与配置描述符相关的所有接口、端点描述符都会一并返回。配置描述符由 9 个字节组成,分为 8 个字段。接口描述符描述了一个配置中的特定接口。接口描述符总是作为配置描述符的一部分被返回,主机不能通过 Get_Descriptor 请求直接获取接口描述符。接口描述符由 9个字节组成,分为 9 个字段。端点描述符包含了主机用来确定一个端点带宽要求的信息。除了端点 0 外,一个接口所使用的每一个端点都有它自己的描述符。端点 0 不需要描述符,它也不能直接由 Get_Descriptor 请求来获得。端点描述符由 7 个字节组成,分为 6 个字段。2.6 USB 请求USB 规范定义了 3 种请求,分别是标准请求(Standard Request) 、类请求(Class Request)和厂商请求(Vendor Request) 。USB 规范定义了 11 种标准请求,所有设备都必须对这 11 种请求作出响应,即使当主机没有给设备分配一个地址或者没有配置设备。某些设备的功能类似或者提供类似的服务,USB 协议就将它们归为一类,并且定义了特定的请求,称为类请求。但是只有类请求是不能满足众多 USB 厂商的需求的,所以,USB 协议允许一个供应商为它的设备自定义特殊的请求,此类请求称为厂商请求。所有的 USB 总线设备以缺省控制管道响应主机发出的请求,这些请求是通过控制传输来完成的,请求及请求的参数通过 Setup 包发向设备,由主机负责设置 Setup 包内的每个域的值。Setup 包格式如表 2-1 所示。表 2-1 SETUP 包格式大小( B)1 1 2 2 2域 bmRequestTypebRequest wValue wIndex wLength在表 2.4.5.1 中,bmRequestType 表示设备请求类型,D7 :数据传输方向, 0主机到设备,1设备到主机;D65:类型, 0标准,1类型,2厂商,3保留;D40:接收方,0设备,1接口,2端点, 3其它;431保留。bRequest 表示 USB 设备请求值,标准请求有 11 个命令。wValue 为值,它根据不同的请求,以字节来定义,例如,设备请求为 Get Descriptor(06H),wValue 为 01H 时,表 第 10 页 共 56 页明要发送设备描述符。wLength 表示长度,如果传输的是一组数据,则这个长度的值表示要传输数据的字节数。本章介绍了 USB 协议的相关内容,包括 USB 传输要件,USB 传输中的事务、信息包和联络信号,USB 的传输结构,USB 的总线枚举过程,USB 的设备描述符以及USB 请求。本章为本设计下面内容的展开奠定了基础。 第 11 页 共 56 页第三章 数据采集系统的硬件设计如前所述 ,USB系统中的通信主要由主机控制,这里的主机是指计算机硬件与软件的结合体,不是单纯的硬件。在开发USB的外围设备时,需要有主机中主控制器对应外设控制器和外设响应软件程序。其中硬件部分的收发器的作用是驱动和接收USB的差分数据,串行输入引擎SIE的作用是前端硬件和USB标准中相关规定的协议内容,即包识别、数据编码和译码、填充和去填充、CRC错误校验、数据串并和并串转换等。协议引擎部分的主要作用是操作控制管道(端点0)的消息流、USB标准中相关内容规定的最底层协议和数据接受与发送。3.1 硬件系统的结构基于 USB 总线的实时数据采集系统硬件组成包括模拟开关、A/D 转换器、单片机、USB 接口芯片,该系统能够实现 8 路数据自动采集,系统的组成框图如图 3.1.1 所示。主要包括 5 个组成部分:中央处理器选用 AT89C51 芯片,完成各部分控制功能和 USB传输协议;A/D 转换器和接口电路主要完成数据采集,并读入 MCU 处理;复位电路完成对 MCU 的上电复位和电源电压监视;电源电路主要为各部分提供要求的电源;外设与主机间的通信电路采用 USB 接口。单片机通过 8 位并行接口传送经过 A/D 转换的采集数据,存储在 FIFO 存储器中。一旦存满,串行接口引擎 SIE 立刻对数据进行处理,包括同步模式识别、并串转换、位填充/不填充、 CRC 校验、PID 确认、地址识别以及握手鉴定,处理完毕后数据由模拟收/发器通过 D+、D-发送至 PC。上述过程遵循USB1.1 协议。图 3-1 数据采集系统硬件组成框图3.2 芯片选择USB数据采集系统硬件主要由微控制器AT89C51,A/D转换芯片ADC0809,USB接口芯片PDIUSBDI2 组成。在实际开发过程中使用 USB D12 SMART开发套件,使用其预留的扩展口在试验板上搭建AID转换电路,并对开发板电路进行相应修改而实现此硬件系统。现场电信号A / D转换器USB接口芯片PC机MCU 第 12 页 共 56 页要实现一个USB设备,首先面对的问题就是选择一种适合的USB控制芯片。从芯片大的构架来分,市面上所有的USB控制器芯片可以分为不需要外接微控制器的芯片和需要外接微控制器的芯片。而不需要外接微控制器的芯片又可以分为专门为USB设计的芯片和嵌入通用微控制器内核的芯片。1.专 US 设计的 USB 控制芯片该类芯片是厂商为开发USB应用设备而专门设计的,内部用的是专用的CPU.较为典型的代表为Cypress公司推出的CY7C63101A, CY7C63723、等等。2.内嵌通用微控制器的芯片内嵌通用微控制器的USB控制芯片可以说是在通用微控制器的基础上扩展了USB功能。这些控制器芯片的优点是开发者已经熟悉了这些通用微控制器的结构和指令集,所以开发起来救比较容易。即使用户不熟悉这些芯片的结构,但是介绍这些微控制器的书籍和关于他们的范例程序、开发工具等都可以作为设计时的参考。此类芯片的典型代表有:Cypress公司的EZarU SB系列芯片(内嵌80C186), Atmel公司的AT76C711(内嵌Atmel AVR), SIEMENS公司的C541U(内 嵌80C51,8 0052)等等。3.需外接微控制器的芯片这些USB控制芯片只负责处理USB 相关的通信工作,而且必须由外部微控制器的控制才能正常工作。如果选择了这种设计方按,那么必须再选择一个微控制器芯片,这样就增加了设备的体积。但其优点是用户可以选择任何一种己熟悉的微控制器,而且这种芯片价格也相对便宜。3.2.1 ADC0809ADC0809允许的最大时钟频率为1280kHz,主要管脚功能如下:地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C 为地址输入线,用于选通 IN0IN7上的一路 第 13 页 共 56 页图3-2 ADC0809的内部逻辑结构模拟量输入。 ADC0809对输入模拟量要求信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 通道选择表如下表3-1所示。表3-1数字量输出及控制线:11条 ST为转换启动信号:当ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明C B A 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7 第 14 页 共 56 页转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 VREF() , VREF()为参考电压输入。CLOCK: 时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ.START: 启动脉冲输入端。在时钟脉冲频率为640kHz时,START 脉宽应大于100ns-200ns 。EOC: EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。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 AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器( FPEROM Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 第 15 页 共 56 页图3-3 AT89C51管脚图主要特性:(1)4K字节可编程 FLASH存储器(寿命:1000写/擦循环)(2)全静态工作:0Hz-24KHz(3)三级程序存储器保密锁定(4)128*8位内部 RAM(5)32条可编程 I/O线(6)两个16位定时器 /计数器(7)6个中断源(8)可编程串行通道(9)低功耗的闲置和掉电模式(10)片内振荡器和时钟电路3.2.3 PDIUSBD12 介绍PDIUSBD12是一款性价比很高的 USB器件,它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口。它还支持本地的DMA传输。这种实现USB接口的标准组件使得设计者可以在各种不同类型微控制器中选择出最合适的微控制器。这种灵活性减小了开发的时间风险以及费用(通过使用已有的结构和减少固件上的投资),从而用最快捷的方法实现最经济的USB外设的解决方案。PDIUSBD12完全符合USB1.1版的规范,它还符合大多数器件的分类规格:成像类、海量存储器件、通信器件、打印设备以及人机接口设备。同样地,PDIUSBD12理想地适用于许多外设,例如:打印机、扫描仪、外部的存储设备、Zip驱动器和数码相机等 第 16 页 共 56 页等,它使得当前使用SCSI 的系统可以立即降低成本。PDIUSBD12 所具有的低挂起功耗连同 LazyClock输出可以满足使用ACPI、OnNOW和USB电源管理的要求。低的操作功耗可以应用于使用总线供电的外设。此外它还集成了许多特性包括SoftConnetTM、GoodLinkTM、可编程时钟输出、低频晶振和终止寄存器。集合所有这些特性都为系统显著节约了成本,同时使USB功能在外设上的应用变得容易。D12 芯片的主要特点包括:(1)符合 USB1.1 版本规范;(2)可与任何外部微控制器/微处理器实现高速并行接口 (2MB/s);(3)采用 GoodLink 技术的连接指示器,在通信时使 LED 闪烁;(4)主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输;(5)在批量和等时模式下均可实现 1Mb/s 的数据传输率;(6)完全自治的直接内存存取 DMA 操作。PDIUSBD12 内部结构如图 3-4 所示。图 3-4 PDIUSBD12 内部结构说明:1、模拟收发器:集成的收发器接口可通过终端电阻直接与 USB 电缆相连。2、电压调整器:片内集成了一个 3.3V 的调整器用于模拟收发器的供电。该电压还作为输出连接到外部 1.5K 的上拉电阻。可选择 PDIUSBD12 提供的带 1.5K 内部上拉电阻的软件连接到外部 1.5K 内部上拉电阻的软件连接技术。3、PLL 锁相环:片内集成了 6MHz 时钟乘法 PLL,这样就可使用低成本的 6MHzP L L 锁相环位时钟恢复电路串行接口引擎模拟收发器3 . 3 VD +1 . 5 k 6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电气笔试试题及答案
- 人教版初中语文九年级上册第四单元文言文对比阅读试卷及答案
- 高一期末历史试卷及答案
- 2025年江西省庐山市电工证考试题模拟试题初级电工证书考试题库(附答案)
- 植物源农药田间试验服务原料创新创业项目商业计划书
- 收容遣送服务创新创业项目商业计划书
- 控制欲心理测试题及答案
- 棉花加工辅助工国庆节后复工安全考核试卷含答案
- 线绕电阻器、电位器制造工中秋节后复工安全考核试卷含答案
- 停车场的租赁合同(标准版)
- 2025年国企中层干部竞聘笔试题含答案
- (高清版)DB54∕T 0447-2025 建筑空气能供暖通风技术标准
- 乡镇卫生院医护人员培训计划
- 计量热工培训
- 冲刺2025年高考政治大题突破-大题预测05 中国人民抗日战争80周年 (解析版)
- 中国金融黑灰产治理研究报告2025-非法代理维权的识别标准与溯源治理505mb
- 麻醉科病例汇报
- 涉密测绘成果管理制度
- 2025-2030中国汽车结构胶行业市场发展趋势与前景展望战略研究报告
- 八年级英语下学期期末考试(深圳专用)(解析版)
- 2025年证券从业资格考试金融市场基础知识试题解析与答案
评论
0/150
提交评论