USB接口在单片机通信中的设计应用完整论文.doc_第1页
USB接口在单片机通信中的设计应用完整论文.doc_第2页
USB接口在单片机通信中的设计应用完整论文.doc_第3页
USB接口在单片机通信中的设计应用完整论文.doc_第4页
USB接口在单片机通信中的设计应用完整论文.doc_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

USB接口在单片机通信中的设计应用摘要 51系列芯片的串口通信速率较低,会在其串口通信中形成一个速度瓶颈。通用串行总线(USB)作为一种新的微机总线接口规范,具有便捷、易扩展、低成本、低干扰等特点,非常适合作为主机和外设之间的通信接口。本文介绍了一种比较简单方便设计USB设备的方法,设计采用51单片机和USB接口芯片组成的单片机最小系统来实现一个完整的USB设备,大大提高了通信速率。在设计中,采用的控制器是51单片机AT89S52,USB电气接口则是PHILIPS公司的USB接口芯片PDIUSBD12。单片机控制器作为下位机,通过USB电气接口芯片和USB总线与PC机交换数据,并实现USB设备的逻辑功能。系统开发的最终硬件成果是一个带有USB接口的设备,通过USB电缆与PC机相连接,能够实现主机对设备的列举,以及和PC机交换数据,并实现其扩展功能。关键词 USB;单片机系统;PDIUSBD12;AT89S52;接口技术USB interface in the design of communicationAbstract The communication rate of the series 51 chip is lower and it forms a tare bottle neck in serial communication. This paper introduced a simple and convenient method to design a USB apparatus, that is to say, to realize an intact USB apparatus with a minimum system of single-chip computer that made of 51 single-chip computer and USB interface, the circuit greatly improves communication rate. In this system, I adopted 51 one-chip computers AT89S52 as its controller, the chip PDIUSBD12 of PHILIPS Company as its electric interface. The one-chip computer as the next machine, exchanges the data with the PC, through the USB bus and USB electric interface chip, and it realizes the logic function of USB apparatus. It can exchange data with PC, and realize its expanding function, through connecting with PC.Key words single-chip computer system;interface technology;PDIUSBD12;AT89S52;USB 目录0 引言1 0.1 选题现状、研究意义以及发展趋势1 0.2 系统实现功能21 USB技术4 1.1 USB总线概述4 1.1.1 USB总线简介4 1.2.2 USB总线的优点4 1.2 USB协议简介5 1.2.1 USB物理体系结构5 1.2.2 USB设备逻辑结构6 1.2.3 USB传输类型8 1.2.4 USB低层通信协议8 1.3 USB接口技术102 系统硬件电路设计11 2.1 设备电路系统概述11 2.2 51系列单片机最小系统11 2.2.1 AT89S52单片机的介绍和选用11 2.2.2 AT89S52与PDIUSBD12构建的最小系统15 2.2.3 AT89S52和外围器件16 2.3 PDIUSBD12外围电路及其与单片机的连接设计17 2.3.1 PDIUSBD12介绍17 2.3.2 USB外围电路及其与单片机连接21 2.4 扩展功能电路的设计22 2.4.1 PS/2串行接口的扩展设计23 2.4.2 Flash存储器的扩展设计23 2.4.3 LPT并行接口的扩展设计253 系统软件设计27 3.1 固件程序的设计与实现27 3.1.1 描述符27 3.1.2 固件程序的结构29 3.2 驱动程序的设计与实现32 3.2.1 驱动程序概述32 3.2.2 WDM设备驱动程序结构33 3.2.3 驱动程序开发的工具软件33 3.2.4 用Win Driver开发驱动程序34 3.3 系统应用程序开发35 3.3.1 应用程序的实现的功能35 3.3.2 利用Win Driver实现应用程序354 系统调试37 4.1 系统硬件测试37 4.2 系统软件调试及系统测试37结论39致谢语40参考文献41附录一:原理图42附录二:程序43附录三:英文原文53附录四:英文译文6374 / 780 引言0.1 选题现状、研究意义以及发展趋势USB(Universal Serial Bus)即通用串行总线,是现在非常流行的一种快速、双向、廉价、可以进行热插拔的接口,在现在的每一台PC机上都可以找到一对USB接口。USB是近年来应用在PC领域的新型接口技术,是一些PC大厂商,如 Microsoft、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以来至今已广泛地为各 PC厂家所支持。现在生产的PC几乎都配备了USB接口,Microsoft 的Windows98、NT以及Linux、FreeBSD等流行操作系统都增加了对 USB的支持。在这之前,个人电脑的外部接口规格十分“繁华”,例如,键盘要接AT口或PS/2的接口,鼠标要接COM口或PS/2接口,Modem要接另一个COM口,打印机要接Parallel Port(并口),而摇杆则要跟MIDI装置共抢Game/MIDI口,每个外设都是这样单独地与电脑连接。如果各位绕到电脑背后看看,一定可以看到一堆惨不忍睹的“纠结”现象,这正是USB想解决的一个问题。 除了线路紊乱与安装模糊混淆外,这些线路都是不可以随意插拔的,必须在开机前装好才能正常使用。如果在电脑工作期间插上或拔出,虽然有时电脑还是可以继续工作,但大多数时候电脑会停止响应,或是插入的装置无法工作,甚至死机,严重的还会烧坏主板接口。 USB就是要解决上述这些问题,它是一种新规格的外接串联口,提出该规格的厂商希望用USB来取代现有种种的外接设备接口。它还具备连接单一化、软件自动“侦测”以及热插拔的功能,也就是说,在电脑不关机的情况下,就可以将设备连接到电脑上或是将设备从电脑上拔下来拿走。在操作系统的支持下,还可以不用干预自动安装驱动程序,可以说是做到了真正的即插即用。随着大量支持USB的个人电脑的普及,USB逐步成为PC机的标准接口已经是大势所趋。几乎三年内生产的主板都有2个或以上的USB标准接口,支持USB的外设越来越多,像USB键盘和USB鼠标、USB调制解调器、USB音箱 、USB打印机、USB扫描仪、USB游戏杆、USB Hub、USB显示器、USB数码相机、USB摄像头、USB硬盘等等设备。现在的USB生产厂商很多,几乎所有的硬件厂商都有USB 的产品。USB控制器一般有两种类型:一种是MCU 集成在芯片里面的,如Intel 的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以及MOTOLORA、National Semiconductors 等公司的产品。另一种就是纯粹的USB接口芯片,仅处理USB 通信,如PHILIPS 的PDIUSBD11(I2C 接口)、PDIUSBP11A、PDIUSBD12(并行接口)、National Semiconductor的USBN9602、USBN9603、USBN9604等。前一种由于开发时需要单独的开发系统,因此开发成本较高;而后一种只是一个芯片与MCU接口实现USB通信功能,因此成本较低,而且可靠性高。本文详细介绍了利用89s52与PDIUSBD12相连的USB接口电路的应用。51系列的芯片在目前来说是性价比最高的单片机,而且供货充足,有多家公司生产,而且51系列芯片的开发是最容易的,开发周期短,特别是国内的院校大都采用了51系列来学习单片机系统。然而,使用51系列芯片,其串口的最高通信速率为19.2kbp/s,在要求高传输率的场合根本无法满足要求,这样在51系列芯片的串口通信中会形成一个速度瓶颈。AT89S52是MCS51系列兼容单片机,工作电压4-6V,通常封装为DIP40或PLCC44,工作频率24MHZ。增强的部分主要有:8K FLASH程序存储器(8051用PROM,无法编程写入,导致实际上多数用无ROM的8031外扩的EPROM。8K FLASH一般已经够用,通常无需外扩程序存储器,理论可写入次数1000)、256B RAM数据存储器(8051为128)、3个定时计数器(8051为2个)、WDT(8051没有)、ISP(8051没有)。利用89S52与PDIUSBD12相连的USB接口电路能大大提高89S52的通信速率。而PDIUSBD12通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口,因此具有广阔的应用前景。这种实现USB接口的标准组件,使得我们可以在各种不同类型微控制器中选择出最合适的微控制器。这种灵活性不但减小了开发的时间、风险以及费用,而且利用USB总线技术的即插即用、热插拔等特性,可以开发出高性能的USB接口,从而用最快捷的方法实现最经济的USB外设的解决方案,因此,研究意义较为深远。0.2 系统实现功能系统是一个人机接口设备(HID),主要完成的是USB设备的基本功能,即主机对设备的列举和中断方式的数据传输。这两点是USB设备所必须拥有的功能,可以称作USB设备的基本功能。设备主体由AT89S52和PDIUSBD12以及维持它们正常工作所必需的外围元件组成,设备主体接上主机之后,能够单独完成设备的识别和配置,并可以实现数据通信功能。为了丰富设备的功能,对系统还做了一定的扩充,还扩展了8位拨码开关输入和8位发光二极管LED输出,另外还实现以下设备功能:1) 简单的演示设备用于演示HID设备配置过程和中断传输方式下基本数据交换过程。2) PS/2接口扩展电路扩展PS/2接口,可实现将PS/2键盘和PS/2鼠标转换为USB设备使用。3) Flash存储器扩展利用SamsungK9F2808芯片(16MB的Flash存储器芯片,数据字宽8位)扩展为移动存储器设备。4) LPT并行接口扩展保留了LPT并行接口,可用于并口打印机信号到USB打印机信号的转换或者其它类型的数据传输扩展。以上几种扩展不可能同时实现,设备可在上电后由一个2位的拨码开关选择自己配置哪种设备。设备的系统结构框图如图0.1所示。 单片机控制器USB接口芯片 Flash存储器芯片输入输出模块LPT并行接口PS/2串行接口 图0.1 设备系统结构框图1 1 USB技术1.1 USB总线概述1.1.1 USB总线简介USB(Universal Serial Bus)的中文含义是通用串行总线。早先的微机系统中,外设与CPU的连接存在接口标准各自独立、互不兼容、无法共享的问题,并且安装、配置也很麻烦。这不仅使外设日益多样化的发展趋势与系统(I/O端口、IRQ)有限性的矛盾更加突出,而且给用户对外设的连接和使用带来极大不便,因此,迫切需要新的通用型外设标准出台。为了实现整个计算机系统中总线的一致性,以Intel公司为主,并联合Compaq,Hewlett-Packard,Lucent,Microsoft,NEC以及Philips共七家公司共同开发的一种快速的、双向的、同步传输的并可以热拔插的新型通用串行总线,简称USB总线。1.2.2 USB总线的优点随着各种类型的USB外设(如USB闪存盘、USB视频头、USB鼠标等)的陆续出现,USB通信的优点越来越广泛的被人们所熟知,将外设连接到计算机时,USB接口成为优先的选择,不管是使用外设的用户或是开发USB软硬件的设计者,USB都有让双方满意的特性。根据USB总线规范的定义,USB总线主要具有以下优点:1)方便最终用户的使用(1)电缆和连接器具有唯一的型号。(2)对最终用户隐藏了电气细节,例如总线终结。(3)设备自动识别,自动安装驱动程序和配置。(4)支持动态接入和动态配置。2)工作负荷和应用范围广(1)支持传输速率从几Kb/s至几Mb/s的设备。(2)同一组总线上可以同时支持同步和异步传输类型。(3)支持对多个设备的同时操作(多连接)。(4)支持多达127个物理外设。(5)支持在主机和设备间多个数据和消息流的传输。(6)具有较小的协议开销,总线利用率较高。3)同步带宽(1)可以为外设提供确定的带宽和很小的时延。(2)同步负荷可以使用总线上全部带宽。4)灵活性(1)可以有很多不同大小的分组,并允许在一定范围内选择设备的缓冲区。(2)通过支持不同的分组缓冲区和时延要求,支持不同数据传输速率的设备。(3)提供了用于控制缓冲区的流控功能。5)稳定性(1)协议中包含错误检测机制。(2)支持动态接入和插出(热插拔)。6)与PC工业协同作用(1)符合PC即插即用体系结构。(2)对现存操作系统接口产生极大影响。7)成本低廉(1)组件与电缆价格便宜。(2)低速模式(l.5Mb/s)更加经济。(3)利用了商用技术。8)易于升级101.2 USB协议简介1.2.1 USB物理体系结构USB总线设备以星型的拓扑结构实现与主机的物理连接,其物理拓扑结构如图1.1所示。USB的接入点由集线器(Hub)来提供。这种由集线器提供的额外的接入点称为端口(Port)。主机中包含了一个嵌入的集线器,称为根集线器(Root hub)通过根集线器,主机可以提供一个或多个接入点。为主机提供附加功能的设备称为功能模块。为了防止出现环形接入的情况,在USB中使用了分层的拓扑结构。这种结构具有树型结构。通过使用集线器扩展可连接多达127个外设。复合设备根HUB主机设备设备HUB设备设备HUB设备设备图1.1 USB物理总线拓扑结构USB的电缆有4根线,两根传送的是十5V电源,另外两根是数据线。其定义如表1.1所示。信号线的特性阻抗为9052,而信号是利用差模方式送入信号线的。利用这种差模传输方式,接收端的灵敏度可以达到不低于200mV。功率不大的外设可以直接使用USB总线电源供电,而不必外接电源,USB总线最大可以提供5V, 500mA电源,并支持节约能源的挂机和唤醒模式。表1.1 USB电缆信号定义编号信号名称颜色注释1VBUS红色电源线2D-白色-数据3D+绿色+数据4GND黑色地线1.2.2 USB设备逻辑结构USB的设备可以分成多个不同类型,同类型的设备可以拥有一些共同的行为特征和工作协议,这样可以使设备驱动程序的编写变得简单一些。USB协议规范中定义了USB的设备类型,比如音频、通信、HID、HUB等设备类。USB设备的逻辑结构如图1.2所示,USB设备的物理连接不影响这个逻辑视图。图1.2 USB逻辑结构每个USB设备内有一个或多个逻辑连接点,称为端点(Endpoint),每个端点指定下面的传输类型之一:控制传输、中断传输、块传输和等时传输。在USB协议规范中用4位地址标识端点地址,每个设备最多有16个端点。所有设备都有一个端点0传输,用于配置和控制各设备。管道(Pipe)实现了在主机的一个内存缓冲区和设备的端点之间的数据传输,主机USB系统软件和设备的端点0之间的连接称为缺省管道。管道是具有多个特征的信道,如带宽分配、包大小、管道类别以及数据流向。管道分为流管道(Stream Pipe)和消息管道(Message Pipe)。流管道传输的数据包的内容不具有USB要求的结构,它是单向传输的;流管道支持批量、等时和中断传输方式。而消息管道与流管道具有不同的行为。首先,由主机发请求给USB设备,然后在适当的方向上传输数据,最后是到达一个状态阶段。为了保证三个阶段的数据传输,消息管道定义了一个数据结构使命令可靠地被识别和传输。消息管道是双向的,它只支持控制传输方式。一个设备对主机表现为一组合适的端点,一组相关的端点称为一个接口,有多个接口的设备称为组合设备。最后,设备可以有多组接口。每一组称为一个配置,一次只能有一个配置是活动的。但是,当前配置中的所有接口(和它们的端点)可以同时是活动的。大多数的设备只有一个配置和一个接口。主机从设备读取各种描述符,了解有什么配置、接口和端点可用。当设备第一次使用缺省管道插入时,主机读取这些描述符。主机操作系统要为发现的每个配置或接口建立内核设备19。1.2.3 USB传输类型在USB级,设备可以使用4种不同的传输类型通信:控制传输、中断传输、批量传输和等时传输。如果从头设计一个USB设备,必须决定那些传输类型是合适的。1)控制传输:主要用于命令袱态操作,由主机软件发起的请求/响应通信过程,具有突发性,非周期的特点。任何一个USB设备都必须支持与一个控制传输类型相对应的端点0。2)中断传输:单向的并且对于主机来说只有输入的通信方式。主要用于定时查询设备是否有中断数据要传送,用来支持那些偶然需要少量数据通信,但服务时间受限制的设备。键盘,鼠标和游戏杆都属于这种类型。3)批量传输:主要用于没有带宽和间隔时间要求的大量数据的传送和接收。它具有非周期和突发性强等特点。它并不能保证传输的速率,但可以保证传输的可靠性,出现错误的时候会要求发送方重发。打印机和扫描仪属于这种类型。4)同步传输:主要用于主机和设备与时间有关的信息传输,具有周期性、连续性等特点。它要求有一个恒定的速率。例如进行语音业务传输时,使用等时传输方式是很好的选择。1.2.4 USB低层通信协议USB协议定义串行数据线路上发生的动作。可用的数据传输时间(带宽)被划分成帧,每个帧lms长,一个全速的数据帧最多含有1500字节,而对于低速的帧最多含有187字节。1)包在串行线路上传输的最小数据块是包,它仅沿一个方向发送,要么来自主机, 要么发送给主机。一个包通常由同步信号、包标志(PID)、地址、传送的数据和CRC等组成。PID由8位组成,其中后4位是纠错位。有4类10个PID如表1.2所示。2)事务事务是主机和一个设备之间使用一个或多个包的离散交互。一个事务通常由主机开始,一般分三个阶段,第一阶段发送令牌(token)包,第二阶段发送是数据(data)包(可以沿任何一个方向发送),在数据包传送完之后,就会由设备返回一个握手(handshake)包。3)帧开始(SOF)SOF包由主机发送,指示一个帧的开始。这个包包括一个11位的帧号,这个帧号从0到Ox7FF连续变化,并重新折回0,SOF包被所有高速设备看到。像任何其它包一样,SOF包可能被破坏。4)事务包结构控制传输涉及主机给设备发送一个SETUP包、任一方向的0个或多个DATA包以及一个握手包。IN包或OUT包开始所有其它的传输。设备端点的定义确定它是中断传输、块传输还是同步传输。主机定时启动中断传输,看设备端点是否有任何数据可用。设备端点可以返回数据。另外,设备可能发送NAK,指示没有可用的数据,或者状态没有改变4。表1.2 PID类型17PID类型PID名PID3:0描述标记(Token)输出(OUT)0001B在主机到功能部件的事务中有地址+端口号输入(IN)1001B在功能部件到主机的事务中有地址+端口号帧开始(SOF)0101B帧开始标记和帧号建立(SETUP)1101B在主机到功能部件建立一个控制管道的事务中有地址+端口号数据(DATA)数据0(DATA0)0011B偶数据包PID数据1(DATA1)1011B奇数据包PID握手(Handshake)确认(ACK)0010B接收器收到无错误数据包不确认(NAK)1010B接收设备部不能接受数据,或发送设备不能发送数据停止(STALL)1110B端口挂起,或一个控制管道请求不被支持。专用(Special)前同步(PRE)1100B主机发送的前同步字。打开到低速设备的下行总线通信。1.3 USB接口技术在进行一个USB设备开发之前,首先要根据具体使用要求选择合适的USB控制器。实现USB设备与计算机之间的接口连接,通常的做法有以下的两种:一种是采用分离的USB接口芯片和微处理芯片。USB接口芯片,是指芯片厂商生产的可以用单片机控制的,带有USB电气接口,并完成将USB总线中的物理信号同单片机可以识别的TTL电平信号之间相互转换的接口芯片。USB接口芯片常见的有PHILIPS的PDIUSBD11(I2C接口),PDIUSBD11A,PDIUSBD12(并行接口),National Semiconductor的USBN9602,USBN9604等。接口芯片作为单片机的外围器件与单片机及单片机的其它外围电路共同组成的USB设备。采用这种结构开发USB设备成本较低,可靠性高。另一种就是采用带有USB接口电路的单片机,这种单片机的芯片上集成了USB接口电路,可以直接处理USB传输线上的数据。如Intel的8X930AX,CYPRESS的EZ-USB,SIEMENS的C541以及MOTOLORA,National Semiconductors等公司的产品。采用这种结构的设备外围电路简单,设计方便,周期短,但这些要采用专业的开发设备,且投资高2。因此,选择的方案是功能强大,支持总线供电和设备自供电两种方式的PDIUSBD12作为接口芯片来设计USB设备接口,单片机控制器作为下位机,通过USB接口芯片和USB总线与PC机交换数据,并实现USB设备的逻辑功能。2 系统硬件电路设计2.1 设备电路系统概述USB设备的硬件通常是由处理器和接口电路实现组成。本系统实际上是AT89S52和PDIUSBD12单片机组成的单片机系统。其核心就是单片机控制器,它负责完成设备所有的控制功能;USB接口芯片和其它输入输出模块作为单片机的外围部件挂接在系统总线上,所有器件在单片机的控制下协同工作。 2.2 51系列单片机最小系统2.2.1 AT89S52单片机的介绍和选用单片机采用51系列兼容的AT89S52单片机。AT89S52是低功耗,高性能,采用COMS工艺的8位单片机。其片内具有8KB的可在线编程的Flash存储器,比80C51单片机多4K的程序存储器。该单片机采用了ATMEL公司的高密度,非易失性存储技术,与工业标准型80C51单片机的指令系统与引脚完全兼容;片内的Flash存储器可在线重新编程,或使用通用的非易失性存储器编程器;通用的8位CPU与在线可编程Flash集成在一块芯片上,从而使AT89S52功能更加完善,应用更加灵活;具有较高的性能价格比,使其在嵌入式控制系统中有着广泛的应用前景。所以我选用AT89S52单片机做此毕业设计。1) AT89S52单片机的主要性能:(1)与MCS-51单片机产品兼容 (2)8K字节在系统可编程Flash存储器(3)1000次擦写周期 (4)全静态操作:0Hz33Hz (5)三级加密程序存储器 (6)32个可编程I/O口线 (7)三个16位定时器/计数器 (8)八个中断源 (9)全双工UART串行通道 (10)低功耗空闲和掉电模式 (11)掉电后中断可唤醒 (12)看门狗定时器 (13)双数据指针 (14)掉电标识符2) AT89S52单片机的标准功能8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止16。3) AT89S52引脚及其功能:AT89S52有40个管脚分布如图2.1所示:图2.1 AT89S52引脚图功能说明:VCC: 电源GND: 接地P0口: P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口: P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL 逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表2.1所示。在flash编程和校验时,P1口接收低8位地址字节。表2.1 P1口引脚第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2.2所示。在flash编程和校验时,P3口也接收一些控制信号。表2.2 P3口引脚第二功能引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.2.2 AT89S52与PDIUSBD12构建的最小系统在设备电路中,真正起到USB设备实质作用的只有单片机和USB接口芯片,所以本系统的重点是AT89S52单片机和PDIUSBD12接口芯片组成的单片机系统,也是最小系统,如图2.2。当P27=1时,89S52给PDIUSBD12发命令;当P27=0时,向PDIUSBD12写数据或从PDIUSBD12读数据。PDIUSBD12的GL_N接LED,对其工作状态进行监控,LED在USB被连接时会发光,在进行数据传输时会闪烁,LED常亮或一直不亮说明USB接口有问题。R1,R2是串联终端电阻。L1,L2是磁珠,分别串联在电源和地中,USB总线电源从L1引入。因为是设备自供电,可以不接L1。对于自供电设备的电源必须要与总线的电源进行隔离,自供电电源与USB总线的电源之间只能共地,同时设备不能通过USB口向VBUS输出电流。PDIUSBD12片内集成了6MHZ8MHZ时钟乘法锁相环(PLL),这样就可以使用低成本的6MHZ晶振。同时,PDIUSBD12的时钟输出可以作为微处理器的外部晶振输入11。 P101P112P123P134P145P156P167P178RESET9RXD10TXD11INT012INT113WR16RD17X218X119P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30P0732P0633P0534P0435P0336P0237P0138P0039EA/VP31AT89S52U1+5VGND+5VD1LEDD2LEDD3LEDD4LEDD5LEDD6LEDD7LEDD8LED12345678RP112345678RP2+5V10uFC51KR3+5VGND+5V1KR6+5V+5VD9LED1KR7+5VY16MHZ30pFC330pFC40.1uFC110uFC218R118R21234J1USB-B PORT+5VD01D12D23D34D46D57D68D79GND5ALE10CS11SUSPEND12CLKOUT13INT14RD15WR16DMREQ17DMACK18EOT19RESET20GL21XTAL122XTAL223VCC24D-25D+26Vont3.327A028U3PDIUSBD12图2.2 AT89S52与PDIUSBD12构建的最小系统2.2.3 AT89S52和外围器件单片机控制器部分的电路原理图如图2.3所示。74LS373 是一种带三态门的8D锁存器,其中:1D-8D为8个输入端,1Q-8Q为8个输出端。 LE为数据打入端:当LE为“1”时,锁存器输出状态同输入状态;当LE由“1”变“0”时,数据打入锁存器。 OE为输出允许端:当OE=0时,三态门打开; 当OE=1时,三态门关闭,输出高阻。图中单片机的P0口接74LS373后,引出地址总线A0A7,本系统中外部空间的高8位地址没有使用,故不再列出;P0口引出的AD0AD7本为地址/数据分时复用总线,在这样连接之后就不可以考虑地址出现的时间,只用做数据总线;单片机接外部振荡时钟源,由PDIUSBD12提供,这是因为D12可以外接6MHZ石英晶振,在内部用锁相环(PLL)倍频产生高频时钟,并通过编程产生4MHZ至48MHZ时钟输出提供给单片机,这种方式比较灵活,而且也为USB接口芯片减小了相应的高频电磁干扰。图2.3 AT89S52和外围器件在构建最小系统的同时,为了方便调试,还为单片机扩展了8位LED输出和8位拨码开关控制的电平输入,分别接在AT89S52的P1口和P2口上,LED可备调试设备固件程序时使用。LED输出直接通过1K上拉电阻排接到+5V电源上,以低电平驱动;拨码开关输入则由于与LPT并口接口扩展有冲突,没有直接连接在单片机P2口上,而是通过74245三态门缓冲器连接三态门作为总线开关,它的使能端由单片机的P3.4口控制,即在使用这一模块时限制了模式选择开关的低位应为低电平3。2.3 PDIUSBD12外围电路及其与单片机的连接设计2.3.1 PDIUSBD12介绍1) PDIUSBD12简介PDIUSBD12是一款性价比很高的USB器件。它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口。它还支持本地的DMA传输。PDIUSBD12完全符合USB1.1版的规范。它还符合大多数器件的分类规格:成像类,海量存储器件,通信器件,打印设备以及人机接口设备。同样,PDIUSBD12理想地适用于许多外设,例如:打印机,扫描仪,外部的存储设备(Zip驱动器)和数码相机等等。它使得当前使用SCSI的系统可以立即降低成本。PDIUSBD12所具有的低挂起功耗连同Lazy Clock输出可以满足使用ACPI, On NOW和USB电源管理的要求低的操作功耗可应用于使用总线供电的外设。此外它还集成了许多特性包括SoftConnetTM,GoodLinkTM,可编程时钟输出,低频晶振和终止寄存器集合。2) PDIUSBD12的特性(1) 符合通用串行总线USB1.1版规范 (2) 高性能USB接口器件集成了SIE、FIFO存储器、收发器以及电压调整器 (3) 符合大多数器件的分类规格 (4) 可与任何外部微控制器微处理实现高速并行接口2M字节秒 (5) 完全自治的直接内存存取DMA操作 (6) 集成320字节多结构FIFO存储器 (7) 主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输 (8) 在批量模式和同步模式下均可实现1M字节秒的数据传输速率 (9) 具有良好EMI特性的总线供电能力 (10) 在挂起时可控制LazyClock输出 (11) 可通过软件控制与USB的连接 (12) 采用GoodLink技术的连接指示器,在通信时使LED闪烁 (13) 可编程的时钟频率输出 (14) 符合ACPI OnNOW和USB电源管理的要求 (15) 内部上电复位和低电压复位电路 (16) 有SO28和TSSOP28两种封装 (17) 工业级操作温度-40+85 (18) 高于8kV的在片静电防护电路减少了额外元件的费用 (19) 具有高错误恢复率(99)的全扫描设计确保了高品质 (20) 双电源操作3.3V或扩展的5V电源,范围为3.65.5V (21) 多中断模式实现批量和同步传输 3) PDIUSBD12芯片功能框图及其说明芯片内部结构框图如图2.4所示。图2.4 PDIUSBD12芯片内部结构框图(1) 模拟收发器集成的收发器接口可通过终端电阻直接与USB电缆相连。(2) 电压调整器片内集成了一个3.3V的调整器用于模拟收发器的供电。该电压还作为输出连接到外部1.5k的上拉电阻。可选择PDIUSBD12提供的带1.5k内部上拉电阻的软件连接技术。(3) PLL片内集成了6M到48M时钟乘法PLL。这样就可使用低成本的6M晶振。EMI也随之降低。PLL的工作不需要外部元件。(4) 位时钟恢复位时钟恢复电路使用4X过采样规则,从进入的USB数据流中恢复时钟。它能跟踪USB规定范围内的抖动和频漂。(5) Philips串行接口引擎PSIEPhilips SIE实现了全部的USB协议层。完全由硬件实现而不需要固件的参与。该模块的功能包括:同步模式的识别,并行/串行转换,位填充/解除填充,CRC校验/产生,PID校验/产生,地址识别和握手评估/产生。(6) SoftConnectTM与USB的连接是通过1.5k上拉电阻将D+(用于高速USB器件)置为高实现的。1.5k上拉电阻集成在PDIUSBD12片内,默认状态下不与VCC相连。连接的建立通过外部/系统微控制器发送命令来实现。这就允许系统微控制器在决定与USB建立连接之前完成初始化时序。USB总线连接可以重新初始化而不需要拔出电缆。PDIUSBD12在连接可以建立之前会检测VBUS是否可用。VBUS可通过EOT_N管脚进行检测。(7) GoodLinkTMGoodLinkTM技术可提供良好的USB连接指示。在枚举中,LED指示根据通信的状况间歇闪烁。当PDIUSBD12成功地枚举和配置后,LED指示将一直点亮。随后与PDIUSBD12之间成功的传输(带应答)将关闭LED,处于挂起状态时,LED将会关闭。该特性为USB器件,集线器和USB通信状态提供了用户友好的指示。作为一个诊断工具,它对隔离故障的设备是很有用的。该特性降低了现场支持和热线的成本。(8) 存储器管理单元MMU和集成RAM在以12M/s的速率传输并与微控制器并口相连时,MMU和集成RAM作为USB之间速度差异的缓冲区。这就允许微控制器以它自己的速率对USB信息包进行读写。(9) 并行和DMA接口14一个普通的并行接口定义成易于使用,快速而且可以与主流的微控制器直接接口。对一个微控制器而言,PDIUSBD12看起来就像一个带8位数据总线和一个地址位(占用2个位置的)存储器件。PDIUSBD12支持多路复用和非复用的地址和数据总线。还支持主端点与本地共享RAM之间直接读取的DMA传输。支持单周期和突发模式的DMA传输。4) PDIUSBD12引脚极其功能表2.3定义了芯片的引脚:表2.3 PDIUSBD12的引脚定义符号类型描述1DATA0IO2双向数据位02DATA1IO2双向数据位13DATA2IO2双向数据位24DATA3IO2双向数据位35GNDP地6DATA4IO2双向数据位47DATA5IO2双向数据位58DATA6IO2双向数据位69DATA7IO2双向数据位710ALEI地址锁存允许。在多路地址/数据复用总线系统中,ALE下降沿用于锁存地址;在独立地址/数据总线系统中,ALE应一直接地。11CS_NI片选(低电平有效)12SUSPENDLOD4芯片进入挂起状态13CLKOUTO2可编程时钟输出14INT_NOD4中断输出(低电平有效)15RD_NI读使能(低电平有效)16WR_NI写使能(低电平有效)17DMREQO4DMA请求18DMACK_NIDMA响应(低电平有效)19EOT_NID

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论