基于MAX114的高速数据采集系统设计
方向。
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单片机来实现复杂的数据采集与还原电路。在操作过程中,将该应用系统按其功能分成各个模块,对电路进行焊接以及调试,并进行仿真测试。该系统设计方案电路简单,可靠性好,实现了高速数据采集的目的。
参考文献:
张振荣等,MCS-51单片机原理及实用技术[M],人民邮电出版社,1997.5
MAXIM.MAX114-MAX118[DB/OL]./upload/eWebUpload/200805/2008051509462072.pdf
李大庆, 段建民, 綦慧, 江存胜. 高速数据采集处理系统的设计和实现[J]. 微计算机信息 , 2006(20)
Integrated Device Technology. CMOS ASYNCHRONOUS FIFO WITH RETRANSMIT [DB/OL], www.idt.com, 1996(12)
陈国良,黄心汉. 一种数据采集与融合系统结构及其实例[J], 高技术通讯,2005(07)www.51kaifa.com
王力,赵庆玲. 基于AT89S51和USB接口的实时数据采集系统设计[J]电子工程师 , 2006,(11) .
林焯华,蒋梁中,姚锡凡,王春宝.一个单片机串行数据采集及传输模块的设计[J],微计算机信息,2006(29)
- 一种基FPGA和DSP的高性能PCI数据采集处理卡设计(08-26)
- 基于LabVIEW的USB实时数据采集处理系统的实现(03-26)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 基于DSP和USB的三维感应测井数据采集系统(06-14)
- 多通道同步数据采集及压缩系统(08-12)
- 基于DSP的高速数据采集系统设计方案(06-25)