文档库 最新最全的文档下载
当前位置:文档库 › (经典)USB数据采集系统设计

(经典)USB数据采集系统设计

毕业设计(论文)

题目:USB数据采集系统设计专业:精密机械制造与维修

班次:0 4 4 4 1- 2 5

姓名:钟燕飞

指导老师:乐老师

成都电子机械高等专科学校

二OO七年六月

摘要

USB通用串行总线是计算机外设接口的发展趋势,它的最大特点就是传输速度快、即插即用、易扩展,使用非常方便,被越来越广泛的应用于工业控制和数字设备中。其连接方式非常灵活,既可使用串行连接,也可使用集线器(HUB)把多个设备连接在一起,与同PC机的USB接口相连。此外,它还可以从系统中直接汲取电源,无需单独的供电系统。

本论文以西安泰达电子公司生产的USB20C模块设计了一个基于USB 数据接口,数据传输和存储的系统,同时采用VB语言进行了内部程序的设计。

关键字: USB 接口技术 AT89C51 数据采集和存储

Abstract

The USB universal serial bus usb is outside the computer supposes theconnection the development tendency, its most major characteristic isthe transmission speed quick, namely inserts namely with, is easy toexpand, the use is extremely convenient, by more and more widespreadapplication in industry control and digital equipment. Its connectionway extremely nimble, also may use the serial connection, also may usethe concentrator (HUB) many equipment to connect in, with is togetherconnected with the PC machine USB connection. In addition, it also maydirectly derive the power source from the system, does not need theindependent power supply system. West of the present paper peacefully and undisturbed reached theUSB20C module which the electronic company produced to design based onthe USB data connection, the data transmission and the memory system,simultaneously used the VB language to carry on the internal proceduredesign.

Key Words:USB Connection technology AT89C51……Data acquisition and memory

目录

摘要 (2)

Abstract (3)

第一章.前言及总体设计方案的选择 (5)

1.1.前言 (5)

1.2 设计方案的选择 (6)

1.2.1硬件: (6)

1.2.2.软件设计: (7)

第二章硬件电路的设计 (8)

2.1 模数转换电路 (8)

2.1.1.51系列单片机简介 (8)

2.1.2. 模数转换芯片的介绍及选择 (15)

2.1.3.模数转换电路图 (16)

2.2 USB模块接口电路 (17)

2.2.1 USB20C模块介绍 (17)

2.2.1.2.硬件描述 (18)

2.2.2.USB模块与单片机的接口电路 (21)

2.2.3.总体电路的设计 (24)

第三章软件设计 (27)

3.1.Visual Basic简介 (27)

3.2. USB20C函数接口介绍 (27)

.3.2.1,USB设备操作函数 (27)

3.2.2.函数原型说明 (28)

3.3程序设计 (30)

3.3.1上位机程序框图 (30)

3.3.2.VB程序设计 (31)

第四章.结论 (43)

.谢辞 (44)

.附录 (45)

.参考文献 (46)

第一章.前言及总体设计方案的选择

1.1.前言

随着计算机技术的发展和计算机应用的普及,计算机的通信问题成了其应用的主要问题之一。而现在广泛使用的USB接口已经越来越多的应用于工业生产、数字设备等领域。USB通用串行总线将是计算机外设接口的发展趋势,将逐渐取代PC机上的RS232协议口。

USB具有速度快,即插即用,易扩展等优点,被越来越广泛的使用。但是仍然有很多的设备上面没有USB接口,而接收的数据又以USB的方式出现,那么在数据的接收端则要求将USB信号转换成传统的RS232信号以便接收;另一方面也会出现一端以RS232方式通信,而另一端为USB接口。他们都同样的涉及到USB与RS232的相互转换问题。本课题所研究的内容就是就是要设计这样一个转换系统,使其能够实现他们之间的相互转换。

要实现这种转换,第一种方案是采用普通单片机加专用USB接口芯片;采用带USB 接口的单片机,即专用US13控制器芯片。目前国外有很多半导体厂商都设计生产出自己的USB接口芯片,例如USBN9602 (National Semiconductor公司)、PDIUSBD I2 (Philips公司)和USS820/825 (Lucent公司);Cygnal公司生产的CP201使用也相当方便。在国内方面:凌阳公司生产的SPCP825A芯片就带有UART与USB格式转换的功能;南京沁恒电子公司生产的CH341、CH372、CH375等芯片都是很好的USB接口芯片。这种方案的优点是:开发人员可以利用现有单片机开发系统开发外设应用程序,缺点是硬件设计比较复杂,调试麻烦。

第二种方案是采用西安泰达电子公司生产的USB20C模块为器件,USB20C是于西安电子有限公司设计的USB2.0C设备通用接口模块,它隐藏了通过USB总线进行数据传输所需要的烦琐技术细节.应用程序通过调用本模块提供的函数,可以把相应的功能转变成模块硬件接口上的一系列脉冲和电平,发送到外围逻辑,进行指定的数据传输,从而极大的简化USB设备的设计工作.

USB设备的应用目前在国外处于高速发展阶段,在国内也已广泛运用,在USB 数据采集,USB工业控制等领域已经取得了一定的成果,在现实中等到成功的运用。USB2.0协议,数据传输速度高达480MBPS,如此高的传输速率能用于1.0的传输速率所无法满足的地方。如高时实性的工业设备控制,动态图象实时传输等。随着时代的进步和技术的发展,USB必将在更广泛的领域得到更深层次得应用。VISUAL BASIC 系列软件是美国MICROSOFT公司推出得,是很好得程序设计系统。我们将借助它方便,快捷以及功能强大等特点来完成这次毕业设计。

1.2 设计方案的选择

1.2.1硬件:

USB20C可以作为用户系统的嵌入式模块使用,用户无需深入了解USB的协议及底层控制操作,就像操作PC总线一样,通过USB接口实现对用户系统的控制。

对于笔记本电脑来说,使用USB接口的意义更加重大,通用的USB接口不仅使笔记本电脑对外的连接变得方便,更可以使笔记本电脑生产厂商不再需要为不同配件在主板上安装不同的接口,这使主板的线路,组件的数量以及复杂程度都有不用程度的消减,从而使系统运行中的散热问题得到很好的改善。也将促进更高主频的处理器可以迅速应用在移动计算机中,使笔记本电脑于PC的差距进一步缩小。

USB20C控制模块发挥了USB2.0高速数据传输的特点,尤其适合于高速数据采集及图象数据传输设备,用于医疗,地震,振动,监控,虚拟仪器,科研实验室,工业生产现场领域的数据采集设备,特别是为便携式笔记本电脑和日益流行的饿掌上电脑数据采集提供了极为广阔的发展空间。

本论文的硬件主要有三部分组成:西安泰达电子公司生产的USB20C模块,单片机AT89C51及模数转换ADC0809。外部模拟信号从ADC0809的8个输入口进入,经模数转换后变成数字信号输出到单片机A T89C51内进行信息处理,单片机连接到USB20C模块上,数据传输到模块上进一步处理,最后连接到个人计算机中。本设计的硬件连接框图如下所示:

1.2.2.软件设计:

USB接口数据采集系统软件主要由USB芯片软件程序,USB系统驱动程序和计算机应用程序三大部分组成。

本设计采用的USB20C接口c,USB芯片软件程序由USB20C 自带,不需另外编写。

USB系统驱动程序采用中断方式完成软件的编写;同时,为了保证程序的模块化及良好的可移植性,在设计中采用分层结构进行软件的编写。

本论文的程序主要为上位机程序,考虑到大一时学过VB程序设计,所以在本文中的上位机程序均才用VB来编。

第二章硬件电路的设计

本设计要涉及大量的电路基础知识,为更详细的介绍本设计的思想,接下来将介绍有关电路方面的知识,包括:MCS-51系列单片机的介绍,51单片机的通信原理,USB20C的使用说明,模数转换器A/D0809的介绍,特别是对USB20C,本章对其进行了重点介绍。在各小节进行子电路的设计,在第三节将子电路综合起来,进行总电路的连接和设计。

2.1 模数转换电路

模拟信号转换成数字信号示进行本设计的第一步,所以即显得格外的重要。而模数转换涉及到模数转换器选择的问题,也涉及到单片机的接口问题,所以在进行电路设计前对51单片机及A/D转换器进行适当的介绍示很有必要的。

2.1.1. 51系列单片机简介

2.1.1.1、8051简介

MCS-51 是由美国INTEL公司生产的一系列单片机的总称,包括8031,8051,8751,87C51、89C51、8032,8052等。下图是本课题中87C51引脚图和逻辑符号图:

图3.1 引脚图和逻辑符号

2.1.1.2、MCS-51单片机引脚功能

1、电源:单片机使用的是5V电源,其中正极接VCC引脚,负极接VSS引脚。

2、振荡电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器。当使用外接晶体振荡器时,接(18)、(19)脚。

3、ALE/PROG (30):地址锁存控制信号,高电平有效。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。

4、复位电路,RST/VPD (9):复位信号输入端。8051接通电源后,在时钟电路作用下,该脚上出现两个机器周期(24个振荡周期)以上的高电平,使内部复位。第二功能是VPD ,即备用电源输入端。当主电源VCC 发生故障,降低到低电平规定值时,VPD 将为RAM提供备用电源,以保证存储在RAM中的信号不丢失。

5、EA/VPP:内部和外部程序存储器选择线。EA=0时访问外部ROM 0000H~FFFFH;EA=1时,地址0000H~0FFFH空间访问内部ROM,地址1000H~FFFFH空间访问外部ROM。

6、PSEN(29):片外程序存储器选通信号,低电平有效

7、输入/输出口引脚P0、P1、P2和P3:P0口(39~32):该端口为漏极开路的8位准双向口,负载能力为8个高LSTTL负载,它为8位地址线和8位数据线的复用端口。P1口(1~8):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。P2口(21~28):它为一个内部带上拉电阻的8位准双向I/O 口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(10~17):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。

2.1.1.

3.、8051单片机的结构特点

8051单片机是MCS-51系列单片机的一个产品。MCS-51系列单片机是Intel公司推出的通用型单片机。8051单片机是HMOS工艺的,它的片内程序存储器ROM为掩膜型的,在制造芯片时已将应用程序固化进去,使它具有了某种专用功能。其特点如下:1.数据存储器(RAM):片内为128个字节(单元),片外最多可外扩至64K字节。

2.程序存储器(ROM):片内为4K字节,片外最多可外扩至64K字节。

3.中断系统:有5个中断源,2级中断优先权。

4.定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。

5.串行口:1个全双工的串行口,具有四种工作方式。

6.并行口:4个8位并行I/O口,即P0口、P1口、P2口、P3口。

7.特殊功能寄存器(SFR):共有21个,用于对片内各功能模块进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个特殊功能的RAM区。

8.位处理器(CPU):为8位的CPU,且内含一个1位CPU(位处理器)不仅可处理字节数据,还可进行位变量的处理。

9.片内振荡器及时钟电路,具有布尔代数的运算能力。

2.1.1.4、单片机的时钟电路与复位电路

(一)时钟系统的设计

80C51系列单片机片内时钟振荡器与外部谐振电路如图3.2.3所示,其片内振荡器与外部谐振电路构成了一个并联谐振的时钟振荡电路。外部谐振电路并行连接石英晶体或陶瓷谐振器QC和负载电容C1、C2、QC通常都按时钟频率选择相应的石英谐振器。80C51系列单片机可使用的外部独立时钟振荡器产生时钟信号。使用外部时钟信号时,输入连接如图3.2.2,3.2.1是本课题中使用的时钟电路:

(二)复位电路

(1)典型的上电复位电路如图3.3.1(本课题中使用到):

(2)外部复位电路如图3.3.2:

(3)上电及外部复位电路如图3.3.3(本课题中使用到):

(4)上电外部复位电路如图3.3.4:

2.1.1.5、系列单片机的中断系统

中断是指中央处理器CPU正在处理某事情的时候,外部又发生了某一件事需要CPU迅速处理,于是CPU暂时中断当前的工作,转入处理所发生的事件,中断处理完后在返回到原来的地方继续处理原来的事件。8051中一共有5个中断源:两个外部中断INT0和INT1,两个计数/定时器中断T1和T2,一个串行口中断。本课题中用到了串行中断,INT0/1,其电气连接见电气原理图,在应用程序中也有体现。

(一)MCS-51中断系统的控制寄存器

· IE1/IE0:外部边沿触发中断请求标志,其功能和操作类似于TF0。

· IT1/IT0:外部中断类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。IT1=1是边沿触发,IT=0是电平触发。

·SCON是串行口控制寄存器,地址为98H,低二位是串行口的发送/接收中断标志:

· TI:MCS-51串行口的发送中断标志,在串行口以方式0发送时,发送完8位数据,由硬件置位。但是CPU响应中断请求后,必须有“CLR TI”或“ANL SCON, #0FDH”等指令来清零TI。

· RI:串行口接收中断标志,若串行口接收器允许接收,并以方式0工作,每当接收到8位数据时,RI被置1,若以方式1、2、3方式工作,当接收到半个停止位时,TI 被置1表示串口接收器正向CPU申请中断。同样RI标志由用户的软件清“0”

· EA:中断总控制位,EA=1,CPU开放中断。EA=0,CPU禁止所有中断

· ES:串行口中断控制位,ES=1允许串行口中断,ES=0,屏蔽串行口中断。

· ET1/0:定时/计数器T1中断控制位。ET1为1允许T1中断,为0禁止T1中断。· EX1/0:外中断1中断控制位,EX1为1允许外中断1中断,为0禁止中断。

中断优先级寄存器IP

8051单片机有高/低优先级两个中断优先级,每个中断源都可以编程为高优先级

:

其中各位为1时,被声明为高优先级中断,为0时声明为低优先级中断。

8051复位时,IP被请“0”,5个中断源都在同一优先级,若几个中断源同时产生中断请求,则CPU按照片内硬件优先级链路的顺序响应中断,顺序如下:中断源

外部中断0(IE0)高

定时器/计数器0(TF0)

外部中断1(IE1)

定时器/计数器1(TF1)

串行口中断(RI/TI)低

(二)中断响应过程

中断响应的条件:MCS-51工作时,在每个机器周期中都会去查询一下各个中断标记,在下列三种情况之一时,CPU将封锁对中断的响应:

(1)CPU正在处理一个同级或更高级别的中断请求。

(2)现行的机器周期不是当前正执行指令的最后一个周期。要等整条指令都执行完

了,才能响应中断。

(3)当前正执行的指令是返回批令(RETI)或访问IP、IE寄存器的指令,则CPU 至少再执行一条指令才应中断。

CPU响应中断时,把当前下一条指令的地址送入堆栈,根据中断标记,将中断入口地址送入PC程序指针,CPU取指令根据PC中的值,程序就会转到中断入口处继续执行。每个中断向量地址间隔了8个单元,如0003-000B,在中断处安排一个LJMP 指令,这样就可以把中断程序跳转到任何地方,例如:

ORG 0000H

LJMP START ;跳转主程序

ORG 0003H

LJMP INT0 ;转外中断

0ORG 000BH

RETI

中断程序完成后,执行一条RETI指令,执行这条指令后,CPU将会把堆栈中保存着的地址取出,送回PC,那么主程序就会从主程序的中断处继续往下执行了。

中断优先级处理与中断嵌套:优先级的问题发生在几个中断同时产生的情况,或者是已发生在一个中断,又有一个中断产生时的情况。如果有低优先级的中断正在执行,那么高优先级的中断出现,CPU则会响应这个高优先级中断,即高优先级中断可以打断低优先级中断,反之则不行。下图面是一个中断嵌套流程:

2.1.1.6、控制寄存器

8051单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通讯。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突。

串行通信控制寄存器SCON

表二:串行口的工作方式及接收/发送控制。字节地址为98H,其各位定义如下

其中fosc为晶振频率

(2).SM2:多机通信控制位

多机通信是工作于方式2和方式3。本课题不涉及,在此不作介绍。

(3).REN:允许接收位

REN用于控制数据接收的允许和禁止,REN=1时允许接收,REN=0时禁止接收。

(4).TB8:发送接收数据位8

在方式2和方式3中,TB8是第9位数据位。在多机通信中同样亦要传输这一位,

并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。

(5).RB8:接收数据位8

在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收的数据特征。

(6).TI/RI:发送/接收中断标志位,在前面中断一章已作介绍。

电源管理寄存器PCON:主要是设置SMOD位,当SMOD=1时,串行口波特率加倍。

系统复位默认为SMOD=0。

中断允许寄存器IE:其中ES=1允许串行中断,ES=0,禁止串行中断。

在本课题中既涉及到的单片机对其性能及内存无特殊要求,可选最常用的一种,

例如AT89C51单片机。

2.1.2. 模数转换芯片的介绍及选择

在测控系统中。除了数字量之外,还存在大量的模拟量,如:温度,压力,流量,速度,电压,电流等。而计算机只能处理数字量,要实现对模拟量的测量和控制,首先必须将模拟量转换成数字量(A/D转换)。相反。计算机输出时有时也需要将数字量转换成模拟量(D/A转换)。目前,A/D转换和D/A转换电路都已集成化,它们就有体积小,功能强,可靠性高,误差小,功耗底,与计算机接口简单等特点。A/D转换是把模拟量转换成数字量的过程.A/D转换的方法很多,如:频率法.双斜积分法,逐次逼近法等.其性能指标也很多,如:分辨率,转换时间,转换精度,电源,输出特性等.

ADC0809是一种典型的A/D转换器.它是采用逐次逼近法的8位8通道的A/D 转换器.+5V单电源供电.转换时间在100us左右.

ADC0809为28引脚,双列直插芯片,其引脚如图8-51所示.

各引脚功能如下:

IN7~IN0 :8位模拟量输入端;

D7~D0 :8位数字量输出端口;

START :A/D转换启动信号输入端;

ALE :地址锁存应许信号.高电平有效;

EOC :转换结束信号,高电平有效;

OE :输出应许控制信号,高电平有效;

CLK :时钟信号输入端;

A.B.C:转换通道的地址;

V REF(+):参考电源的正端;

V REF(-):参考电源的负端;

V CC:电源负端;

GND:地.

ADC0809由一个8位A/D转换器,一个8路模拟开关,8路模拟地址锁存译码器和一个三态数据输出锁存器组成.

当ALE为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码.在START上跳沿时,所有的内部寄存器清0,在下降沿时,开始进行A/D转换,此期间START应保持低电平.需要注意的是,在START下降沿后10us左右,转换结果信号EOC 变为低电平,EOC低电平时,表示正在转换,变为高电平时,表示转换结束.OE为输出应许信号,控制三态输出锁存器输出数据,OE=1,应许转换结果输出.

因本设计对模数转换器并无特殊要求,所以一般的模数转换芯即可实现将进入

的模拟信号转换为数字信号。本设计采用最常用的转换芯片ADC0809。

2.1.3.模数转换电路图

2.1.

3.1.单片机与ADC0809的连接是一个很常见的数模转换电路,现将在本设计中要用到的此电路略画如下:

2.1.3.2

单片机内数据采集的子程序:数据采集框图

ORG 0000H Array AJMP MAIN

ORG 0013H

AJMP PINT1

MAIN:MOV R1,#30H

MOV R7,#08H

MOV DPTR,#FEF8H

SETB IT1

SETB EXI

SETB EA

LOOP:MOV A,R7

JNZ LOOP

CLR EXI

SJMP $

PINT1:MOVX A,@DPTR

MOVX @R1,A

INC R1

INC DPTR

DEC R7

MOVX @DPTR,A

RET1

2.2 USB模块接口电路

这个模块接口电路是本设计的重点设计电路,依据USB模块的说明及单片机的相关知识,即可设计出满意的电路。因此,在论文中对USB模块进行详细的介绍就显得很有必要了。

2.2.1 USB20C模块介绍

2.2.1.1.模块参数。

USB20C是于西安电子有限公司设计的USB2.0C设备通用接口模块,它隐藏了通过USB总线进行数据传输所需要的烦琐技术细节.应用程序通过调用本模块提供的函数,可以把相应的功能转变成模块硬件接口上的一系列脉冲和电平,发送到外围逻辑,进行指定的数据传输,从而极大的简化USB设备的设计工作

本模块提供两种数据传输模式地址IO模式批量数据传输模式以设计一个AD数据采集器为例可以使用地址IO模式执行初始化设置采样参数读取状态等功能使用批量数据传输模式读取采样得到的大批量数据

本模块是一个USB2.0设备同时也兼容USB1.1标准但是会降低数据传输速度

标准USB接口高性能USB 接口器件符合通用串行总线USB2.0版规范

高速DMA读写控制读写速度大于20Mbyte/Sec

系统驱动文件DLL动态连接库用户不必编写任何驱动程序

MT工艺低功耗系统超小体积模块化设计, 无需外接电源

简化的标准外部总线: 8位数据总线双向

5位地址总线单向输出

9根读写控制线

配备I2C存储模块

提供一个48MHz(30MHz)的时钟输出

提供5V电源输出

USB20C可以作为用户系统的嵌入式模块使用用户无需深入了解USB的协议及底层控制方法就像操作PC总线一样通过USB接口实现对用户系统的控制对于笔记本电脑来说使用USB接口的意义更加重大通用的USB接口不仅使笔记本电脑对外的连接变得方便更可以使笔记本电脑生产厂商不再需要为不同配件在主板上安置不同的接口这使主板的线路组件的数量以及复杂程度都有不同程度的削减从而使系统运行中的散热问题得到了改善也将促进更高主频的处理器可以迅速应用在移动计算机中使笔记本电脑与桌面PC的差距进一步缩小

USB20C控制模块发挥了USB2.0高速数据传输的特点尤其适合于高速数据采集及图像数据传输设备用于医疗地震振动监控虚拟仪器科研实验室工业生产现场领域的数据采集设备特别是为便携式笔记本电脑和日益流行的掌上电脑数据采集提供了极为广阔的发展空间

USB20C模块示意图

2.2.1.2.硬件描述

本模块提供了8位数据总线5位地址总线3位地址IO所需的控制信号9位批量传输所需的控制信号以及其他的辅助控制信号

辅助控制信号

本模块提供了4根辅助控制信号DMAINGCLKOUTSCLSDA

DMAING 正在批量数据传输指示信。

本信号为数据传输模式指示信号由本模块输出

高电平指示工作于批量数据传输模式

低电平指示工作于地址IO模式

本信号由函数USB20C_STARTDMAREAD USB20C_STARTDMAWRITE设置为高电平由函数USB20C_ENDDMA设置为低电平

CLKOUT 模块内单片机时钟输出信号

本信号输出模块内单片机的时钟

本信号由函数USB20C_SETCPUCS控制可以设定时钟的频率是否输出是否翻转SCLSDA 外接I2C器件信号

本信号用于外扩I2C存储器使用时需要把本模块的这两个信号管脚与外扩的I2C器件的相应管脚相连这两个信号已经在模块内上拉不需要外部上拉外扩I2C存储器件的芯片地址只能是23456之一地址017已经被本模块使用外扩器件不得使用

SCL时钟信号上的工作频率可以由函数USB20C_SetI2CFrequency函数选择为400KHz/100KHz 2.1 2.1.1 2.1.2 2.1.3

Xi’an DA TA Electronic Co. Ltd. 029-******** 85277568 https://www.wendangku.net/doc/c518241634.html, 5 USB20C 使用说明西安达泰电子有限责任公司2.2

数据总线

本模块提供8位宽的数据总线两种数据传输模式共用此数据总线当工作于地址IO模式并且PWR信号有效或者工作于批量传输模式DMARD信号有效并且DMACSDMAOE有效时数据总线处于输出状态否则数据总线处于输入状态地址总线

本模块提供5位宽的地址总线地址总线总是由本模块输出

以下函数可以改变地址

USB20C_SETADDRESS

USB20C_INPUT

USB20C_OUTPUT

USB20C_MULTINPUT

USB20C_MULTOUTPUT

USB20C_MIXEDIO

当使用后三个函数时地址会根据函数的参数而改变函数调用结束后地址为函数参数指定的最后一个地址2.3

Xi’an DA TA Electronic Co. Ltd. 029-******** 85277568 https://www.wendangku.net/doc/c518241634.html, 6 USB20C 使用说明西安达泰电子有限责任公司2.4

地址IO所需的控制信号

本模块提供了3个地址IO所需的控制信号PWRPRDPWAIT

PWR 地址写

本信号为地址写的写脉冲是一个低电平脉冲本脉冲由函数

USB20C_OUTPUT

USB20C_MULTOUTPUT

产生

当进行一次地址写时本模块首先更新地址总线把数据总线定义为输出并输出数据然后使PWR=0接着判断PW AIT状态等待PWAIT=1此时可以等待外部单片机等慢速逻辑执行或者超时超时时间由模块内单片机的工作频率决定具体时间待测最后使PWR=1把数据总线定义为输入完成一次地址写

PRD 地址读

本信号为地址读的读脉冲是一个低电平脉冲本脉冲由函数

USB20C_INPUT

USB20C_MULTINPUT

产生

当进行一次地址读时本模块首先更新地址总线把数据总线定义为输入使PRD=0接着判断PW AIT状态等待PWAIT=1或者超时然后从地址总线读取数据并把此数据返回主机最后使PRD=1完成一次地址读

PW AIT 等待外围逻辑

本信号为一个输入信号一般情况下当外部逻辑为单片机等慢速逻辑时需要使用本信号如果外部逻辑为一个CPLD则可以悬空本信号管脚

当外部逻辑为单片机等慢速逻辑时先由外部逻辑把本信号拉低则本模块在地址IO时会在PWRPRD脉冲有效后会插入等待周期等待外部逻辑执行完指定的读/写后外部逻辑把本信号拉高本模块检测到PW AIT=1后结束PWRPRD脉冲外部逻辑检测到PWRPRD无效后再次使PWAIT=0准备好下一次读/写

地址IO的时序图

注图中PW AIT信号应该反向 2.4.1 2.4.2 2.4.3 2.4.4

Xi’an DA TA Electronic Co. Ltd. 029-******** 85277568 https://www.wendangku.net/doc/c518241634.html, 7 USB20C 使用说明西安达泰电子有限责任公司

注图中PW AIT信号应该反向

Xi’an DA TA Electronic Co. Ltd. 029-******** 85277568 https://www.wendangku.net/doc/c518241634.html, 8 USB20C 使用说明西安达泰电子有限责任公司2.5

批量数据传输所需的控制信号

本模块提供了9个批量数据传输所需要的信号他们分别是DMACSDMARDDMAWRDMADIRDMAOEPKTENDFIFOEMPTYFIFOFULLIFCLK DMACS

模块选择信号由外部逻辑提供低电平有效

当整个设备需要本模块与其他外部逻辑需要共享数据总线时使DMACS=1可以使本模块断开与外部总线的链接本模块将忽略DMARDDMAWRDMAOEPKTEND信号

DMARD

由外部逻辑提供低电平脉冲有效

当使用USB20C_DMAWRITE从主机向设备写数据时数据首先从主机传送到本模块内的缓冲区内外部逻辑使用DMARD脉冲从本模块的缓冲区内读取主机发来的数据

当DMAOE有效时读到的数据在DMARD为低电平时从数据总线输出当DMAOE无效时数据总线悬空但是DMARD脉冲依然有效只不过数据不能输出DMAWR

由外部逻辑提供低电平脉冲有效

当使用USB20C_DMAREAD主机从设备读数据时外部逻辑首先使用DMAWR 脉冲把数据写入本模块的缓冲区内然后数据从本模块内的缓冲区内传输到主机DMADIR

读/写控制信号由本模块输出

高电平批量读数据数据从设备传向主机

低电平批量写数据数据从主机传向设备

相关文档