|
Design of High Speed Data Sampling System Based On MAX114
摘要:该系统运用简单的MCS-51单片机来实现复杂的数据采集与还原电路。采用89C51单片机作为中心控制单元,由ADC芯片将数字信号转换为模拟信号,经过高速缓存芯片后,由DAC芯片进行数模转换,从而实现数据的高速采集及还原。
关键字:数据采集,MAX114,存储,单片机,数模转换
Abstract: The system uses MCS-51 single-chip microcomputer 89C51 to realize complicated circuit of data sampling and recovering. With 89C51 as center control cell, it applies ADC chip to convert analog signal to digital and then the signal passed from cache chip to DAC chip, which convert the signal to analog signal. The circuit realizes the signal’s sampling and recovering.
关键字:data sampling, MAX114, storage, single-chip microcomputer, A/D converter
1 引言
数据采集技术是信息科学的一个很重要的分支,它研究信息数据的转换,采集、存储、处理以及显示等作业,在信号处理、智能仪器以及工业自动控制等领域起到巨大的作用。如工业生产过程中常常需要对湿度、温度、压力、流量等各种工艺参数随时进行检测和监控,同时还要将检测到的数据及时传递给上位机,以实现对于参数的随机查询,对信息的存储与处理,及时调整控制方案,提高生产效率和产品质量。
但是,在许多其他领域如:雷达通信,地理信息,图像传输,军工及医疗化工,为了捕捉,采集,存储,处理,传输和再现瞬间变化的模拟信号(类似脉冲信号),则对数据采集速度及效率提出了更高的要求。本文应用单片机89C51作为主控制来实现模拟信号的高速采集、存储及再现。应用中,单片机只对信号进行中转不对数据进行处理,采集的数字信号传给DA转换器后,由DA转换器将信号还原成模拟信号。
2硬件组成
设计的方案主要用于瞬间信号的采集,要求选用的A/D转换芯片转换速度比较快,经过考虑选用MAX114。89C51单片机的指令执行时间(us级)与AD转换芯片的转换时间往往不同步[1],因此在单片机与AD转换器间加入高速缓存IDT72041,用高速缓存来连接单片机与AD转换器。系统整体结构框图如图1所示。
![]()
500)this.style.width=500;" border=0>
图1 系统整体结构框图
实际应用中,须将瞬间的连续的模拟信号转换成便于存储与分析的数字信号。在这个过程中应尽量避免模拟信号的失真,这就与AD转换芯片的转换精度与转换速度有极大的关联。在模拟信号的频率很高时,AD芯片的转换速度就显得尤其重要。MAX114芯片对输入的模拟电压有一定的要求,必须对输入的模拟电压进行放大以满足AD转换芯片的要求[2]。MAX114的前置放大电路如图2:
![]()
500)this.style.width=500;" border=0>
图2 放大与滤波电路
高通滤波只允许一定频率的信号通过,清除杂波的影响。MAX114的引脚REF+,REF-所接旁路电容消除干扰。MAX114为四通道的A/D芯片,而我们只需要一个通道转换数据,因此A1,A2必须接数字“0”。根据需要选择模式“0”状态来转换数据,引脚“5”MODE也必须接数字“0”。其真值表如表1所示:
![]()
500)this.style.width=500;" border=0>
AD转换芯片MAX114将转换出来的数字信号传送给高速缓存IDT72041。MAX114的工作时钟由内部时钟电路提供的时钟脉冲,缓存写控制信号也是由该芯片的 “INT”来控制,在AD芯片转换完毕后,“INT”产生一个低电平,这一低电平被传送给缓存芯片,数据即被写入缓存中并按照先入先出的规则进行保存。只有当缓存引脚(FF)为高电平,(EF)为低电平时,AD转换出来的数据才能被写入[3]。
IDT72XX系列是IDT公司推出的先进先出(FIFO)存储器芯片,它具有双口输入输出,采集传输速度快和先进先出的特点,能满足高速数据传输的要求[4]。
高速缓存IDT72041有这样一个特点:当缓存芯片被写满后,缓存芯片就不再接受外来的写信号,同时缓存IDT72041的满位FF变为低,同时会触发单片机的外部中断。单片机接收到中断信号后运行片选程序,第二块缓存开始读入A/D转换数据。以此类推,当所有的缓存芯片中的数据被全部写满后,单片机经运用程序传输缓存中的数据再进行处理。缓存中数据全部处理完后重新启动A/D转换,开始数据的采集。
为了保证数据采集的连续性和采集足够的数据,必须有较大的存储空间来存放数据,为此,本系统中将IDT72041芯片扩展了8片[5]。扩展中的第一个芯片用FL/RT端接地来表示,其它芯片的FL/RT端接高电平。且每个芯片的“XO”端必须接到下个芯片的“XI”端。并将每个芯片的“EF”标志相“或”以构成新的空标志,每个芯片的“FF”端也相“或”在一起构成新的满标志。RT和HF在字深的扩展中不起作用。这里采用的方式是将8块芯片的“ FF”端分别接在单片机的P2口,由单片机来控制写满。
在设计中,当IDT缓存芯片4K的存储空间被写满,缓存的引脚“FF”为低,MAX114转换的数据不能再写入。同时FF向89C51发出中断请求,单片机接收到中断信号后,用P0口来实现与缓存芯片的数据传送,然后由单片机对存储于IDT72041中的数据进行初步处理。经单片机P3.6口(WR)的片选,再将处理过的数据传给DAC0832[6]。
在硬件电路中,单片机控制IDT72041和DAC0832,MAX114开始采样时,要用到IDT72041中的D0~D7数据线、写控制端口WR;当数据采样结束,即数据已经存储到IDT72041中,单片机就要从IDT72041中读取数据,要用到Q0~Q7线,读控制端口。在实际的运用中,通过QE脚和/DIR脚置不同的电平来解决信号串扰的问题。通过置QE脚不同的电平可以实现三态的功能,同时由/DIR脚来确定信号传输的方向。
3系统软件
3.1程序功能
此程序的功能是实现AD芯片MAX114、缓存IDT72041之间的通信以及采样频率的控制,各功能分别用进程完成[6]。程序主体分为五个部分:单片机初始化及对外围器件的设置、对缓存的全满标志位判断以及该条指令的循环、对缓存的片选以及将缓存的数据传给单片机寄存器A、对DAC的片选以及将暂存器的数据传给DAC、判断缓存是否为空以及跳转。
3.2程序各部分的实现
第一部分是单片机的初始化及对外围器件,主要是对IDT72041的设置,开始是对89C51的P0、P1和P2口所有的端口置1,接下来是P1.1清“0”,实现IDT72041的复位,对P1.1清“0”,实现对MAX114进行片选,指令如下:
START:SETB P0
SETB P1
SETB P2
CLR P1.0
CLR P1.1
第二部分主要是判断缓存是否被写满。输入的模拟信号进入该系统,由放大电路先进行放大、整流,进入A/D(MAX114)进行转换,由于A/D芯片的INT脚在每转换结束一次将产生一个低电平,此低电平驱动缓存(IDT72041)进行写入数据,由于使用8片缓存,所以会出现数据先被写入哪个缓存的问题,为了提高单片机处理效率,在硬件上将前一个芯片的XO端接下一个芯片的XI端,逻辑“1” 芯片的FL/RT接地,其它芯片的FL/RT接高电平,这样就可以实现将8个缓存芯片组成一个存储整体,这样数据将从第一个芯片一直写到最后一个芯片,8个缓存的写满端“FF”被接在单片节的P2口,用来判断每个缓存是否被写满。在硬件连接上,将8个缓存已经组成了一个整体存储体,所以在软件方面,只需判断P2.7是否为“0”来确定缓存是否被写满[7],即:
ST:JNB P2.7, ST
第三部分判断缓存是否写满,如果写满就中止A/D转换,已被转换的数据将全部被存储到缓存中,指令如下:
SETB P1.1
第四部分对DAC的片选以及将暂存器的数据传给DAC。将首地址存入DPtr数据指针寄存器,从缓存中顺序读取数据并存入外部RAM,经由单片机初步处理后传送到DAC。指令如下:
MCADTS:MOV DPtr, # 7000H
CLR P2.6
MOVX A,@DPtr
MOV DPtr, #5000H
CLR P2.0
MOVX @DPtr,A
第五部分判断缓存是否为空,如果不为空将继续读取数据,否则程序跳转到初始位置,重复上述过程,实现对数据的不断采集及还原。指令如下:
SA: JNB INT1, MCADTS
SJMP START
结语:
本文作者创新点为:
本系统运用简单的MCS-51单片机来实现复杂的数据采集与还原电路。在操作过程中,将该应用系统按其功能分成各个模块,对电路进行焊接以及调试,并进行仿真测试。该系统设计方案电路简单,可靠性好,实现了高速数据采集的目的。
参考文献:
【1】 张振荣等,MCS-51单片机原理及实用技术[M],人民邮电出版社,1997.5
【2】 MAXIM.MAX114-MAX118[DB/OL].http://www.maxim-ic.com.cn/pdfserv/en/ds/MAX114-MAX118.pdf
【3】 李大庆, 段建民, 綦慧, 江存胜. 高速数据采集处理系统的设计和实现[J]. 微计算机信息 , 2006(20)
【4】 Integrated Device Technology. CMOS ASYNCHRONOUS FIFO WITH REtrANSMIT [DB/OL], www.idt.com, 1996(12)
【5】 陈国良,黄心汉. 一种数据采集与融合系统结构及其实例[J], 高技术通讯,2005(07)
【6】 王力,赵庆玲. 基于AT89S51和USB接口的实时数据采集系统设计[J]电子工程师 , 2006,(11) .
【7】 林焯华,蒋梁中,姚锡凡,王春宝.一个单片机串行数据采集及传输模块的设计[J],微计算机信息,2006(29)
作者简介:
贺良华(1966-),男,湖北,中国地质大学机电系副教授,博士。主要从事智能测试与控制技术、智能仪器、通信与信息处理等方面的教学与研究工作;
He Liang-hua(1966-),
李琴(1981-),女,湖北,中国地质大学,硕士研究生,主要从事硬件电路设计方面的应用研究。
通讯地址:中国地质大学(武汉)机械与电子工程系自动化教研室,贺良华,邮编:430074
[/td]
[/tr]
|
|