新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于MAX114的高速数据采集系统设计

基于MAX114的高速数据采集系统设计

作者:时间:2012-01-07来源:网络收藏

1 引言

技术是信息科学的一个很重要的分支,它研究信息数据的转换,采集、、处理以及显示等作业,在信号处理、智能仪器以及工业自动控制等领域起到巨大的作用。如工业生产过程中常常需要对湿度、温度、压力、流量等各种工艺参数随时进行检测和监控,同时还要将检测到的数据及时传递给上位机,以实现对于参数的随机查询,对信息的与处理,及时调整控制方案,提高生产效率和产品质量。

但是,在许多其他领域如:雷达通信,地理信息,图像传输,军工及医疗化工,为了捕捉,采集,,处理,传输和再现瞬间变化的模拟信号(类似脉冲信号),则对速度及效率提出了更高的要求。本文应用89C51作为主控制来实现模拟信号的高速采集、存储及再现。应用中,只对信号进行中转不对数据进行处理,采集的数字信号传给DA转换器后,由DA转换器将信号还原成模拟信号。

2硬件组成

设计的方案主要用于瞬间信号的采集,要求选用的A/D转换芯片转换速度比较快,经过考虑选用。89C51的指令执行时间(us级)与AD转换芯片的转换时间往往不同步[1],因此在单片机与AD转换器间加入高速缓存IDT72041,用高速缓存来连接单片机与AD转换器。系统整体结构框图如图1所示。

图1 系统整体结构框图

实际应用中,须将瞬间的连续的模拟信号转换成便于存储与分析的数字信号。在这个过程中应尽量避免模拟信号的失真,这就与AD转换芯片的转换精度与转换速度有极大的关联。在模拟信号的频率很高时,AD芯片的转换速度就显得尤其重要。芯片对输入的模拟电压有一定的要求,必须对输入的模拟电压进行放大以满足AD转换芯片的要求[2]的前置放大电路如图2:

图2 放大与滤波电路

高通滤波只允许一定频率的信号通过,清除杂波的影响。MAX114的引脚REF+,REF-所接旁路电容消除干扰。MAX114为四通道的A/D芯片,而我们只需要一个通道转换数据,因此A1,A2必须接数字“0”。根据需要选择模式“0”状态来转换数据,引脚“5”MODE也必须接数字“0”。其真值表如表1所示: www.51kaifa.com

表1 MAX114真值表

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程序功能www.51kaifa.com

此程序的功能是实现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转换,已被转换的数据将全部被存储到缓存中,指令如下:www.51kaifa.com

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]./upload/eWebUpload/200805/2008051509462072.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)www.51kaifa.com

【6】 王力,赵庆玲. 基于AT89S51和USB接口的实时数据采集系统设计[J]电子工程师 , 2006,(11) .

【7】 林焯华,蒋梁中,姚锡凡,王春宝.一个单片机串行数据采集及传输模块的设计[J],微计算机信息,2006(29)



评论


相关推荐

技术专区

关闭