基于MAX1241的数据采集系统设计.docx
《基于MAX1241的数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于MAX1241的数据采集系统设计.docx(42页珍藏版)》请在冰点文库上搜索。
![基于MAX1241的数据采集系统设计.docx](https://file1.bingdoc.com/fileroot1/2023-6/13/f04bcf28-18b6-407e-8d62-58b752420de0/f04bcf28-18b6-407e-8d62-58b752420de01.gif)
基于MAX1241的数据采集系统设计
南开大学滨海学院
本科生毕业设计
中文题目:
基于MAX1241的数据采集系统设计
外文题目:
MAX1241-baseddataacquisitionsystemdesign
学号:
08990393
姓名:
刘彬
年级:
2008级
专业:
通信工程
系别:
电子科学系
指导老师:
潘勇
完成日期:
2012年5月
南开大学滨海学院毕业设计诚信声明
本人郑重声明:
所呈交的毕业设计,题目《基于MAX1241的数据采集系统设计》是本人在指导教师的指导下,独立进行研究工作所取得的成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明。
除此之外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。
本人完全意识到本声明的法律结果。
毕业设计作者签名:
刘彬
2012年5月1日
摘要
本文介绍了基于MAX1241的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带。
本文介绍的重点是数据采集系统,而该系统硬件部分的核心在于具有A/D转换功能的MAX1241。
数据采集与通信控制采用了模块化的设计,主控单元由单片机AT89S52来实现,硬件部分是以单片机为核心,还包括A/D模数转换模块,显示模块。
被测模拟电压通过模数转换器MAX1241进行模数转换,并将转换后的数据显示到显示器上。
软件部分应用KeilUvision2编写控制软件,对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。
关键词:
单片机;模数转换;MAX1241;数据采集
Abstract
ThisarticledescribesthehardwaredesignandsoftwaredesignofthedataonwhichbasedonMAX1241.Thedataacquisitionsystemisthelinkbetweenthedigitaldomainandanalogdomain.Theintroductivepointofthistextisasystemofcollectingdata.ThehardwareofthesystemfocusesonMAX1241whichhasafunctionofconvertinganalogsignalintodigitalsignal.Datacollectionandcommunicationcontrolusemodulardesign.TheMCUcontrolwithcorrespondencetoadoptamachine8051tocarryout.Thepartofhardware’scoreisAT89S52,isalsoincludesA/Dconversionmodule,displaymodule.MmeasuredanalogvoltagemakesconversionofanalogtodigitalbytheADCMAX1241andresultdisplayonLCD.ThesoftwarecanrealizethefunctionofmonitoringandcontrollingthewholesystembyKeilUvision2.Itdesignsmuchprogramlikedata-acquisitiontreatment,data-displayanddata-communicationect.
Keywords:
Micro-ControllerUnit;A/Dconvetor;MAX1241;Dataaquisition
第一章绪论
1.1研究背景及其目的意义
近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。
数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。
由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。
大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统[1]。
20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表同计算机融为一体的数据采集系统。
由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。
从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统[1]。
20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。
该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。
这类系统主要应用于实验室,在工业生产现场也有一定的应用。
第二类以数据采集卡、标准总线和计算机构成,这一类在工业现场应用较多。
20世纪80年代后期,数据采集发生了很大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,使系统的成本降低,体积变小,功能成倍增加,数据处理能力大大加强[1]。
20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。
由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。
数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。
该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统[1]。
尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。
相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。
这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。
1.2国内外研究现状
数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。
它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。
各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。
我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。
近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。
该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。
该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ[1]。
由美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:
(1)传感器:
利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;
(2)计算机接口:
将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:
中文及英文的应用软件[1]。
受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。
如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统,到了2006年,本系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。
1.3该课题研究的主要内容
数据采集技术是信息科学的重要分支之一,它研究信息数据的采集、存储、处理以及控制等问题。
它是对传感器信号的测量与处理,以微型计算机等高技术为基础而形成的一门综合应用技术。
数据采集也是从一个或多个信号获取对象信息的过程。
随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。
数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。
尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅速的发展,并且适于通用微机(如IBMPC系列)使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用。
传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把握。
本系统以采集模拟电压然后显示在LCD上为例来说明采集系统设计,该系统采用的是AT89C52单片机,此芯片功能比较强大,能够满足设计要求。
第二章数据采集
2.1数据采集系统
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。
数据采集技术广泛引用在各个领域。
70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。
原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。
由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大地提高,系统硬件成本和系统的重建费用大大地降低。
在该系统中需要将模拟量转换为数据量,而A/D是将模拟量转换为数字量的器件,他需要考虑的指标有:
分辨率、转换时间、转换误差等等。
而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务
2.2方案论证
2.2.1A/D模数转换的选择
A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。
位数越高其分辨率就越高,价格也就越贵。
A/D转换器型号很多,而其转换时间和转换误差也各不相同。
(1)逐渐逼近式A/D转换器:
它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。
(2)双积分A/D转换器:
它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是速度很慢,适用于对转换速度要求不高的系统。
(3)并行式A/D转换器:
它又被称为flash(快速)型,它的转换速度很高,但它采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频A/D转换器等速度特别高的领域。
鉴于上面三种方案,在价格、转换速度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器——MAX1241。
2.2.2单片机的选择
单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。
此系统是由CPU、随机存取数据存储器、只读程序存储器、输入输出电路(I/O口),还有可能包括定时/计数器、串行通信口、显示驱动电路(LCD或LED驱动电路)、脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个最小但完善的计算机任务。
单片机要使用特定的组译和编译软件编译程序,在用keiluvision2把程序下载到单片机内。
而本设计选用的是AT89C52。
第三章硬件部分
3.1单片机介绍
AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案[8]。
AT89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[8]。
其引脚图,如图3-1所示。
图3-1AT89C52的引脚图
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C52的一些特殊功能口,如下表所示。
表3.1
P3口引脚
第二功能
P3.0
RXD(串行口输入)
P3.1
TXD(串行口输出)
P3.2
INT0(外部中断0输入)
P3.3
INT1(外部中断1输入)
P3.4
T0(定时器0外部脉冲输入)
P3.5
T1(定时器1外部脉冲输入)
P3.6
WR(外部数据存储器写脉冲输出)
P3.7
RD(外部数据存储器读脉冲输出)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1、XTAL2(19、18脚):
当使用单片机内部振荡电路时,这两个引脚用来外接石英晶体和微调电容,如图3-2(a)。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部时钟时,对于HMOS单片机,XTAL1引脚接地,XTAL2接片外振荡脉冲输入(带上拉电阻);对于CHMOS单片机,XTAL2引脚接地,XTAL1接片外振荡脉冲输入(带上拉电阻),如图3-2(b)和(c)。
图3-2内部振荡电路
3.2模数转换器MAX1241
在我们所测控的信号中均是连续变化的物理量,而要对这些信号进行处理,则需要将其转换为数字量,A/D转换器就是为了将连续变化的模拟量转换成计算机能接受的数字量。
按模拟量转换成数字量的原理可以分为3种:
双积分式、逐次逼近式及并行式A/D转换器。
而该系统选用的是逐次逼近式的MAX1241,下面就具体的介绍一下MAX1241的工作原理。
1、MAX1241的介绍
MAX1241是低功耗,12位串行模数转换器,共有8个管脚,工作电压为+2.7~+5.5V,连续AD转换时间为7.5μs,跟踪时间为1.5μs,它使用逐次逼近技术完成A/D转换过程。
最大非线性误差小于1LSB,转换时间9µs。
采用三线式串行接口,内置快速采样/保持电路,片上自备时钟电路。
在芯片以73ksps最大采样速率工作时,消耗功率仅为37mw(Vdd=3V)。
关闭模式也可以降低功耗,但这时传输速率也会降低。
MAX1241需要一个外部参考电压,参考电压输入范围一般为0~2.5V,MAX1241能接收的电压范围为0~2.5V,输入电压过大会烧掉芯片,一般不应超过3V。
采用单电源供电,动态功耗在以每秒73K转换速率工作时,仅需0.9mA电流。
当把MAX1241的模式控制端SHDN置低时,芯片处于关闭模式或称休眠模式,此时工作电流低于15μA,置高后,它能在4μs内从休眠状态转到工作状态。
如不使用,可以接高电平或悬空。
在停止转换时,可通过SHDN控制端使其处于休眠状态,以降低静态功耗。
休眠方式下,电源电流仅1µA。
MAX1241具有一个3线连续接口,直接与微控制器的I/O口相连,并与SPI和MICROWIRE接口相兼容。
SPI接口是一种三线制接口,这三线分别是片选线CS,数据线DOUT,时钟信号线SCLK。
SCLK的下降沿输出数据,数据位为先高后低依次出现。
它的引脚的排列及其功能,见图3-3、表3.2。
图3-3MAX1241的引脚图
表3.2MAX1241的引脚图
管脚
名称
功能
参数
1
VDD
电源输入
+2.7~+5.2V
2
AIN
模拟电压输入
0~VREF
3
SHDN
节电方式控制端
“0”——节电方式(休眠状态)
“1”或浮空——工作
4
REF
参考电压VREF输入端
10V~VDD
5
GND
模拟、数字地
6
DOUT
串行数据输出
三态
7
CS
芯片选通
“0”——选通
“1”——禁止
8
SCLK
串行输出驱动时钟输入
频率范围:
0~2.1MHz
2、MAX1241时序图及其接口电路
MAX1241的时序图如图3-4所示。
图3-4MAX1241的时序图
其工作过程是:
在开始加电20ms内不要有任何转换工作。
将CS置低电平后,开始转化。
在CS的下降沿,采样保持电路进入保持状态,而且转化正式开始,经过一段内部转化时间后,转化结束的标志是Dout信号置高。
数据然后能在外部时钟的作用下依次送出。
操作过程
(1)使用CPU上的一个通用I/O接口去拉低CS,保持SCLK低电平。
(2)等待最大转换时间或查询DOUT是否为高电平来决定转换是否结束。
(3)转换结束后,在SCLK的下降沿开始DOUT数据输出。
(4)在第13个脉冲将CS置高,如果CS继续保持低电平,以下输出数据为0。
(5)在开始一次新的转换之前,等待最小规定时间tcs,这期间CS应为高电平。
如果在转换过程中通过拉高CS来放弃转换,在开始一段新的转换之前,也要等待一段时间(tacq)。
CS必须在所有数据转换结束前一直保持低电平。
MAX1241与AT89C52接口的实现有二种选择,一是使用普通端口,利用程序实现串行输入。
另一种则是直接使用串行口。
前者输入速度低,后者需占用串行通讯口。
这两种接口方式的电路图,如图3-5所示。
图3-5MAX1241与单片机的连接图
图3-5(a)中,接口使用三位通用I/O端口P1.5~P1.7。
其中P1.5用于片选信号。
P1.7为数据输入,P1.6产生驱动脉冲SCLK。
当使用8051的串行口与MAX1241连接时,如图3-5(b)串行口应工作在方式0,即同步移位寄存器方式。
此时,串行口的RXD被用于接收MAX1241的输出数据。
而发送数据端TXD则被用于提供驱动时钟,为满足时序要求,应将其反相。
由于单片机的串行口一次只能接受8位数据,故12位的A/D转换结果必须分二次接收。
本系统采用(a)接法。
3.3LCD1602介绍
3.3.1什么是LCD1602液晶
LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5×7或者5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能显示图形(用自定义CGRAM,显示效果也不好)1602LCD是指显示的内容为16×2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
3.3.2LCD1602的特性
1、+5V电压,对比度可调
2、内含复位电路
3、提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能
4、有80字节显示数据存储器DDRAM
5、内建有160个5×7点阵的字型的字符发生器CGROM
6、8个可由用户自定义的5×7的字符发生器CGRAM
7、字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚)
3.3.3LCD1602的引脚图接口图
图3-6LCD1602的接口图
表3.3LCD1602的引脚功能
3.3.4LCD1602液晶控制指令
1602液晶模块内部的控制器共有11条控制指令,如下表所示
表3.4LCD1602的引脚图
序号
指令
RS
R/W
D7
D6
D5