基于USB传输的数据采集及处理系统论文范本
VIP免费
温州大学 Page 1
目 录
摘要 2
Abstract 2
1. 引言 3
2. 系统总体设计简介 3
3. 系统的硬件体系结构 3
3.1 UART 转 USB 接口的设计 4
3.1.1 CP2101 芯片的功能及工作电路图 4
3.1.2 CP2101 的外围接口电路 6
3.1.2 RS-232 电平转换电路 6
3.2 数据采集系统的设计 7
3.2.1 器件选择 7
3.2.2 A/D 转换电路 8
3.2.3 四分频电路 8
4.系统软件体系结构 9
4.1 处理系统的设计 9
4.1.1 处理系统的功能 9
4.1.2 处理系统界面设计 9
4.1.3 数据处理系统用户界面控件回调程序设计 9
4.1.4MATLAB 环境下 PC 机与单片机通信的设计 11
4.1.5 Matlab 对 串 行 口 的 编 程 控 制
11
4.2 USB 设备驱动程序设计 12
4.3 数据采集系统的软件设计 13
4.3.1 系统的通信协议 13
4.3.2 A/D 转换子程序设计 14
5. 应用实例 15
5.1 实例(一) 15
5.2 实例(二) 15
6. 总结 16
7. 致谢 17
8. 参考文献 17
9. 附录 18
9.1 数据处理子系统程序 18
9.2 单片机端程序 27
9.3 数据采集子系统电路图 29
1 / 29
温州大学 Page 2
基于USB传输的数据采集及处理系统
摘要:本文介绍了一种基于 USB 传输的数据采集及处理系统的设计和实现,主要包括 USB 接口的工作原理、
接口芯片的应用方法、单片机端的数据采集以及 PC 机端接口程序的设计与数据处理的方法。系统实现了 PC
机对数据采集子系统采样速率的控制,并实时地将采集到的数据传输到基于 Matlab-GUI 界面设计的数据
处理子系统中进行实时分析、处理、显示和储存。与一般的数据采集系统相比,本系统数据传输快、误码率
低、上位机处理功能强大等特点。且该套方案实施容易,稳定可靠,为研究数据采集与数据处理提供了方
便。
关键词: USB AT89C51 单片机 图形用户界面(GUI)
Data Acquisition and Process System
Based on USB Transmitting
Author: Zhang Bingwei
Tutor: Li Fangzhou
(Physics and Electricment Information Department of WenZhou University 325027)
Abstract: this paper discuss how to design data acquisition and process system
based
on USB Transmitting. We further introduce some system’s structure such as
Operation
principle of USB、application method of Interface chip、the method of data collected by
MCU、
design of the interface procedure and the method of data processed in PC. The function of this
system is that , by Matlab programming ,computer can control of the Sampling rate of data
acquisition system through USB interface. Then, by USB’s interface ,the data is sent
to the process system based on Matlab-GUI Interface to analyze、operate、display
and store. To compare with general data acquisition system, it has the characters of fast
speed、low bit error rate and powerful to process data in PC. This method is reliable and easy to
implement. And it brings a lot of convenience for the research of data acquisition and
process
system.
Key words: USB AT89C51 GUI
1. 引言
通用串行总线USB(Universal Serial Bus)作为一种新型的数据通信接口在越来越广
2 / 29
温州大学 Page 3
阔的领域得到应用。而基于USB接口的数据采集与传统的串口数据采集相比具有即插即用、
热插拔、传输速度快、通用性强、易扩展和性价比高等优点。
数据采集的后端数据处理一般采用Visual C++编写,较为复杂,花费的时间较长。由
美国Mathworks公司开发的Matlab语言是面向理论分析研究、工程计算数据处理和作图的一
套具有强大功能的软件系统。其中Matlab语言是一种以矩阵为基本运算单元的解释执行的
高级语言,只要几条语句就能实现诸如FFT变换、FIR/IIR滤波等数据分析处理,易于调试、
理解和维护,而且程序编程简单、直观。因此它特别适用于数据采集处理系统。利用它编制
USB接口程序,把Matalb语言和USB总线紧密结合起来的数据采集及处理系统将集成两者的
优点。USB总线可以实现对外部数据实时高速的采集,把采集的数据传送到主机后再通过
Matlab的功能模块顺利实现数据分析、处理、显示和存储。
2. 系统总体设计简介
本设计以 Atmel 公司的 AT89C51 单片机为下位机,PC 机为上位机组成的实时数据采集及
处理系统,介绍了基于 USB 传输的 Matlab 环境下,PC 机与单片机通信的实时数据处理方法
的实现。数据采集系统的结构框图,如图 1 所示。PC 机 USB 接口与单片机 UART 口通过
MAX232 电平转换芯片相连,系统工作时,Matlab 通过调用设备控制工具箱中的 serial 类
及相关函数,来创建串口设备对象,得到设备的文件句柄,从而以操作文件的方式实现对
PC 机 USB 接口的读写操作。因而 PC 机可以通过Matlab 向USB 接口发送特殊指令,单片机应
用系统对此作出相应的反应,将 A/D 采样数据通过USB 串口回送给 PC 机。此时,Matlab 通
过查询的方式,实时接收单片机发送的数据,并完成对数据的分析处理、文件存储、傅立叶
变换及图形显示。
图1 基于USB传输的数据采集及处理系统的原理框图
3. 系统的硬件体系结构
基于 USB 传输的数据采集及处理系统硬件模块主要由微控制器、A/D 转换器、USB 通
信接口芯片、MAX232 电平转换芯片和分频器等模块组成。整个硬件系统按功能分则由 USB
接口电路和数据采集电路两部分组成。数据采集电路部分完成前端采样信号的采集、模数转
换以及处理、采样速率控制和传输控制;USB 接口电路则完成单片机与 PC 机之间的通信。
系统的 A/D 转换、数字I/O 的设计沿用了传统的设计方法。根据采集的精度、速率、通道
数等诸元素选择合适的芯片,设计时充分注意了抗干扰的性能,尤其对A/D 采集更是如此。
在微控制器和 USB 接口的选择上有两种方式:一种方案是采用具备 USB 通信功能的
单片机,如Intel、SGS-Tomson、Cypress、Philips 等芯片厂商都推出了具备 USB 通信接口的
单片机;另一种方案是采用普通单片机加上专用的 USB 通信芯片,现在的专用芯片中较流
行的有 Silicon Laboratories 公 司 的CP2101 、National Semiconductor 公 司 的
USBN9602、ScanLogic 公司的SL11 等。本设计的微控制器和 USB 接口的选择采用了第二个
3 / 29
温州大学 Page 4
方案,选用 ATLMEL 公司的AT89C51 单片机和 Silicon Laboratories 公司的CP2101 桥接器
构成系统。
CP2101 桥接器抛开了 USB 协议问题,使开发人员基本专注在硬件方面就行了。它可以
把USB 当成一个普通的串口来使用,将它与单片机中的串口相连,就可以把单片机的串口
变成一个USB 接口。这种方案的设计和调试比较简便,成本相对而言也比较低。下面将分点
介绍系统硬件体系中几个重要的模块。
3.1 UART 转 USB 接口的设计
通用串行总线 USB 是用来连接外围设备与计算机之间的新式标准接口总线。它是一种
快速、双向、同步传输、廉价的并可以实现热拔插的串行接口。它自 20 世纪 90 年代末出现以
来,USB(通用串行总线)简化了键盘及鼠标等计算机外部设备的连接与安装。现在,随着
USB 的应用越来越广泛,开发电子系统的工程师们也充分利用 USB 即插即用的好处,开发
USB 数据采集设备。那么 USB 为什么能成为最受欢迎的计算机外部设备总线呢?首先,其传
输速度快。USB 有高速和低速两种方式,主模式为高速模式,速率为 12Mbps,另外为了适应
一些不需要很大吞吐量和很高实时性的设备,如鼠标等, USB 还提供低速方式,速率为
1.5Mbps。其次,其易于扩展。虽然每条 USB 总线只能有一台主机(一般是您的计算机),
但是它可以同时连接多达 127 台设备。主机初始化并控制所有总线通信,所以它拥有大多数
协议信息。根据 USB 规格的规定,总线信号在一对数据线(D+和 D-)上产生。再次,其使用
灵活。USB 共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输
(interrupt)、批量传输(bulk),以适应不同设备的需要。最后,设备安装和配置容易。USB
的易用性来自于设备的自动识别和安装性能。在将任何一台设备插入到 USB 端口上之后,它
的默认地址为 0。在连接完毕后,设备将 D+线拉到 3.3 V 的“高”状态。主机检测到此变化,
给设备重新分配一个新地址,然后启动一个安装任务,在此任务中,它要求获得设备的各
种信息,例如它的类型(集线器或具有特定功能的终端设备)等。当主机安装好了总线上
的设备之后,操作系统将立即接管并安装所有需要的驱动程序,从而用户可以与该设备进
行交流。PCI 等内部总线要求用户关机并重新开启计算机后才能安装硬件 ,而即插即用 USB
连接功能为需要频繁断开,然后重新连接。由于 USB 通信的以上优点,使数据基于 USB 传输
的采集设备带来极大的高速性、便携性等诸多益处。
RS232是单个设备接入计算机时常采用的一种接入方式,其硬件和软件协议比较简单,
有很多传统设备采用了这种通信方式。本系统是将USB转UART技术应用于单片机与PC机之间
的数据通信,在计算机上产生一个虚拟的COM口,用户只需按照通用串行口一样使用USB口
即可。这样不仅能使单片机具备USB通信的诸多优点,简化了USB编程,同时还可以利用USB
对单片机提供5V的电源(500mA以下)。本系统采用Cygnal公司出的CP2101--UART转USB桥接
器。
芯片CP2101是一种高度集成的USB转UART桥接器,它包含有USB2.0全速功能控制器 、
USB
收发器振荡器和异步串行接口(UART)。该芯片的全部功能集成在一个5mm×5mm的MLP28封装
的IC中。CP2101内置有与计算机通信的USB协议,工作时,会在计算机上产生一个虚拟COM
口,用户就可以按照通用串行口的控制方式来使用这个COM口。
3.1.1 CP2101芯片的功能及工作电路图
CP2101内集成有多个模块,各自完成不同的功能,如图2所示。
1) USB功能控制器是一个符合USB 2.0的全速器件,集成了收发器和片内相应的上
拉电阻,USB功能控制器管理 USB和 UART间所有的数据传输和由 USB主控制器
发出的命令请求以及用于控制 UART功能的命令,USB接口的信号描述如表1所列。
4 / 29
温州大学 Page 5
图2 CP2101的功能框图
表1 USB信号描述
引脚 描述
1 VBUS(+5V)
2 D-
3 D+
4 GND(地)
2) 异步串行接口(UART)包括TX (发送) 、RX (接收) 、数据信号以及RTS、 CTS、
DSR、 DTR、 DCD和 RI控制信号。UART支持 RTS/CTS、 DSR/DTR和 XOn/XOff握手
协议,可以通过编程使UART支持各种数据格式和波特率,波特率的范围从300
~921600不等。从CP2101转换出来的UART信号不是标准的RS232电平,而是TTL
电平,其信号描述如表2所列。
表2 UART信号描述
引脚序号信号名称 符号 流向 功能
1载波检测 DCD DCE 到 DTE 表示DCE接收到远程载波
2 接收数据 RXD DCE 到 DTE DTE接收串行数据
3发送数据 TXD DTE 到 DCE DTE发送串行数据
4 数据终端准备好DTR DTE 到 DCE DTE准备好
5 信号地 GND 信号公共地
6 数据设备准备好DSR DCE 到 DTE DCE准备好
7请求发送 RTS DTE 到 DCE DTE请求DCE将线路切换到发送
方式
8允许发送 CTS DCE 到 DTE DCE告诉DTE线路已接通可以发
送
9振铃指示 RI DCE 到 DTE 表示DCE与线路接通,出现振
铃
3) 内部 EEPROM可以用于存储由设备原始制造商定义的USB供应商ID、产品ID、产
品说明、电源参数器件、版本号和器件序列号等信息。
5 / 29
温州大学 Page 6
4) 电压调节器是一个可以由USB总线驱动的器件电源,可在VDD引脚输出3.0~3.6
V电压,1~100 mA电流。
3.1.2 CP2101的外围接口电路
USB应用通常需要硅晶体和许多其它组件,虽然CP2101内置了EEPROM、稳压器、USB收
发器和集成式内部振荡器,使其可以简化设计,降低成本。但作为和普通单片机串口相接
的桥接器,它还需要设计外接USB接口电路和RS232接口电路。USB接口电路实现CP2101与计
算机之间的通信;RS232接口电路实现CP2101和单片机之间的通信。接口电路如图3所示。其
中RS232电平转换电路可根据需要选用MAX3243或MAX232。
对于本设计来说,采用的CP2101评估板就是一个USB转RS232的转换器。虽然CP2101芯
片的输入和输出信号均为TTL电平,但设计所采用的评估板已对CP2101输入输出的信号进行
了RS232电平转换,而本设计所采用的51单片机串行口输入输出的信号却还是TTL电平。因
此,本设计在评估板与单片机之间又加上RS232电平转换电路,使其能进行正确地进行数据
通信。
CP2101的使用与普通的USB外设相同,当第一次带电插入PC机USB接口时,系统会提
示安装相应的驱动程序。驱动程序安装完后,系统会自动增加一个COM口,并更新计算机硬
件设备管理中“端口”项的内容,添加进CP2101的名称:CP210X USB to UART Bridge
Controller(COMX).而这个虚拟COM口的序号则要根据所用计算机上已存在的COM口数量而定,
一般情况下是COM3。运行在 PC机上的应用软件可以按照访问一个传统的标准的硬件COM口
的方式访问基于 CP2101 的器件。但 PC 与 CP2101 器件间的数据传输却是通过 USB 完成
的。因此,无需修改现有的 COM 口应用就可以实现通过 USB 向这个带有5 V和3.3 V供电
的“COM口”传输数据。
图3 CP2101的外围接口电路
3.1.3 RS-232 电平转换电路
RS-232 标准是由美国电子工业协会(Electronic Industry Association)的推荐标
准。它是一种电压型总线标准,以不同极性的电压表示逻辑值:-3V~-25V 表示逻辑“1”;
+3V~+25V 表示逻 辑 “0”。标 准 数 据 传 送速 率 有
50、75、110、150、300、600、1200、2400、4800、9600、19200 波特等。目前较为常用的串口有 9
针串口(DB9)和 25 针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接
标准 RS232 端口(RS422,RS485 较远),若距离较远,需附加调制解调器(MODEM)。最为
6 / 29
温州大学 Page 7
简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连。
本系统所设计的电平转换电路的芯片选用 MAX232CPE。它是一个双 9 芯的转换接头,
具有 2路RS-232 电平至TTL 及2 路TTL 至RS-232 电平的转换。一般情况下,MAX232 外
加几个 0.1uF 的电容就可以轻松地完成 TTL 电平与 RS-232 电平相互转换的功能。本设计
RS-232 串口通信的接线采用最为基本的接法:三线制,即接收数据针脚(或线)与发送数
据针 脚 (或线)相连,彼些
交叉, 信 号地 对应相接。本设
计 的 RS-232 电平转换电路图,
如图4所示 。
图4 RS232电平转换电路
3.2 数据采集子系统的设计
数据采集子系统的工作原理,如图5所示。
由8051单片机、信号采样电路、A/D转换器、四分频电路和复位电路等部分组成。当上位
机有采集指令时,单片机就开始接收上位机发来的采样速率,接着单片机启动A/D转换器采
集信号采样电路输入的模拟量信号,并控制A/D转换器的采样速率。当上位机发来停止采集
指令或处理系统关闭时,单片机就停止A/D转换器工作,并等待上位机的新指令。
3.2.1 器件选择
A/D转换器的选择从精度和转换速率上考虑,AD574比ADC0809凡精度还是转换速率都
要高,但价格昂贵。而从系统实用的设计要求上考虑,本系统选用ADC0809八位A/D转换器,
它具有8路输入通道,转换速率为130μs,基准电压为5V时,其分辨率为0.0196V,基本满
7 / 29
温州大学 Page 8
足本系统的要求。
数据采集子系统需要微处理器控制的器件不多,执行任务不复杂。ATMEL公司的
89C51(Flash Rom型)微处理器,利用其自带的4K存储器、I/O口、定时器及串行通信口等
内置功能,足以满足存储全部程序、读取A/D转换器和上位机的通信等功能。虽然系统需要
采集大量的数据,但采取了即采即发的方法,无需外扩存储器。因此,微处理器选用
AT89C51。
3.2.2 A/D转换电路
A/D转换电路连接主要解决两个问题:一是8路模拟信号通道选择;二是A/ D转换完
成后转换数据的传送。如图6所示,模拟通道选择信号A、B、C分别接最低位地址A0、A1、A2
(即P0.0、P0.1、P0.2),而地址锁存允许信号ALE由138的 控制(138的A0、A1、A2分别接
单片机的P2.5、P2.6、2.7),则8路模拟通道的地址为8000H~8007H。此外,通道地址选择
以/WR作写选通信号,这一部分电路连接如图6所示。从图中可以看到,把ALE信号与START
信号连接在一起,这样使得在信号前沿写入(锁存)通道地址,紧接着在其后就启动转换,
有关信号的时序配合如图7所示。A/D转换完成的确认方法可以采用三种方式:定时传送方
式、查询方式、中断方式。不管采用哪种确认方式,只要一旦确认转换完成,即可通过指令
进行数据传送。首先送出口地址并以/RD作选通信号,当/RD信号有效时,OE信号即有效,
把转换数据送上数据总线,供单片机接收。
在图6中,A/D转换完成的信号EOC与CPU的P3.2相接,采用查询方式连接;/WR、/RD
分别接CPU的/WR(P3.6)和/RD(P3.7);/CSAD接138的 。
图6 A/D转换电路连接图
图7 信号的时序配合
3.2.3 四分频电路
ADC0809的内部没有时钟电路,所需时钟信号
由外部提供,通常使用的 频率为500kHz,其时钟信号
输入为引脚10,即图6中 的CLKAD。本设计充分考虑了
整个系统中已存在的条件, 决定AD0809的时钟信号不外
加500kHz晶振,而是对单片机的ALE信号进行分频来提供。由于本系统单片机晶振采用的是
12MHz,所以其ALE输出信号的频率为2 MHz。因此,本系统设计了一四分频电路,对ALE进
行四分频,以满足ADC0809转换器时钟信号的要求。
8 / 29
温州大学 Page 9
本设计的分频器采用74LS161四位二进制同步计数器为主要器件,采用反馈方式构成
四进制计数器。反馈式一般有两种形式:其一,利用预置端/LD构成。把计数器输入端
D0D1D2D3全部接地。当计数器计数已满时,输出端等于输入端电平,以达到清零目的。其二,
利用清除端/CR构成。即当Q3Q2Q1Q0=0100时,通过反馈线强制计数器清零。本设计采用第二
种接法,电路图如图8所示。
图8 分频电路图
4.系统软件体系 结构
4.1 数据处理子系统的设计
4.1.1 数据处理子系统的功能
本数据处理子系统需要实现的基本功能:a.随时启动或暂停数据采集子系统的采集工作;
b.采用控制方式,便于该控制平台的扩展,现已完成采样速率控制、各种电压显示的选择控
制、傅立叶变换和自动或手动保存数据文件等控制,实时、在线更改数据采集系统采样速率
的设定值和数据保存的文件名;c.将采集所得的数据实时地以图形的方式显示在中央的图
形显示区,便于观察前端信号变化以及走势;d.保存的数据文件更是可以在系统停止数据采
集的时候,随时调出来进行综合分析和处理。
4.1.2 数据处理子系统界面设计
随着计算机技术的飞速发展,人与计算机之间的通信方式也发生了深刻变化。从传统
的命令通信方式演变成了图形界面下的交互通信方式。在图形用户界面(GUI)下,用户可
以通过鼠标等输入设备与计算机进行信息的交流,选择欲运行的计算机程序,并控制程序
的运行。现在,绝大部分的程序设计工具如VB、VC++都可以进行图形用户界面(GUI)的设
计与开发工作。
作为强大的科学计算软件,MATLAB也提供了图形用户界面的设计与开发功能。MALAB中
的基本图形用户界面对象分为3类:用户界面控件对象(uicontrol)、下拉式菜单对象
(uimenu)和内容式菜单(uicontextmenu)。其中,uicontrol能建立按钮、列表框、编辑
框等图形用户界面对象,uimenu能建立下拉式菜单和子菜单等图形用户界面对象,
uicontextmenu能建立内容式菜单用户界面对象。利用上述对象,进行周密的组织、设计,
就可以设计出一个界面良好、操作简便、功能强大的图形用户界面。
本设计的数据处理子系统就是应用MATLAB 语言的可视化图形界面(GUI) 设计了人机交
互界面. 通过鼠标点击的方式来选择或者激活某一控件对象, 运行所需的M 文件, 完成特
定的功能,如图9所示。用户操作界面主要包括参数输入区、控制区、绘图区和观察对象选择
区等四个部分。
4.1.3 数据处理系统用户界面控件回调程序设计
实现一个图形界面的动态和友好交互设计, 最终是要通过图形界面中的控件对象的
操作来完成, 而这些操作必定是通过MATLAB 中函数代码的执行来完成的。这些函数代码的
编制可以通过编写每个控件的回调函数来完成, 而编写时可以把该控件的函数代码直接书
写在“CallBack”中, 也可以把函数代码放在一个自定义的 M 文件中。 而在“CallBack”
9 / 29
摘要:
展开>>
收起<<
温州大学Page1目录摘要2Abstract21.引言32.系统总体设计简介33.系统的硬件体系结构33.1UART转USB接口的设计43.1.1CP2101芯片的功能及工作电路图43.1.2CP2101的外围接口电路63.1.2RS-232电平转换电路63.2数据采集系统的设计73.2.1器件选择73.2.2A/D转换电路83.2.3四分频电路84.系统软件体系结构
相关推荐
-
我国基层财政困难的制度成因分析与对策研究VIP免费
2024-09-20 46 -
我国煤电产业链纵向交易合约机制研究VIP免费
2024-09-20 43 -
生产要素视角下的上海市产业结构优化研究VIP免费
2025-01-09 8 -
我国银行业结构与经济结构关系研究VIP免费
2025-01-09 17 -
大数据视角下农业供应链金融研究VIP免费
2025-01-09 14 -
跨国大型综合超市的规划研究VIP免费
2025-01-09 9 -
跨境电商农产品质量安全问题研究VIP免费
2025-01-09 9 -
世界市场的虚拟化与我国国际电子商务发展方向研究VIP免费
2025-01-09 43 -
中国政府对电力行业的价格规制问题研究VIP免费
2025-01-09 18 -
中小企业信息化系统集成技术研究VIP免费
2025-01-09 30
作者:朱铭铭
分类:高等教育资料
价格:100积分
属性:30 页
大小:861.01KB
格式:DOC
时间:2024-09-20
作者详情
相关内容
-
跨国大型综合超市的规划研究
分类:高等教育资料
时间:2025-01-09
标签:无
格式:PDF
价格:15 积分
-
跨境电商农产品质量安全问题研究
分类:高等教育资料
时间:2025-01-09
标签:无
格式:PDF
价格:15 积分
-
世界市场的虚拟化与我国国际电子商务发展方向研究
分类:高等教育资料
时间:2025-01-09
标签:无
格式:PDF
价格:15 积分
-
中国政府对电力行业的价格规制问题研究
分类:高等教育资料
时间:2025-01-09
标签:无
格式:PDF
价格:15 积分
-
中小企业信息化系统集成技术研究
分类:高等教育资料
时间:2025-01-09
标签:无
格式:PDF
价格:15 积分

