基于avr单片机的数据采集系统设计.docx
- 文档编号:10319565
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:80
- 大小:654.98KB
基于avr单片机的数据采集系统设计.docx
《基于avr单片机的数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于avr单片机的数据采集系统设计.docx(80页珍藏版)》请在冰豆网上搜索。
基于avr单片机的数据采集系统设计
基于AVR单片机的数据采集系统设计
摘要
近年来,随着嵌入式微处理器的快速发展,单片机系统得到了广泛的应用。
在医疗、航空、交通、军事技术、工业控制、科学研究等领域,单片机往往是作为一个核心部件来使用,但仅仅具备单片机方面的知识是不够的,还应结合具体的硬件结构以及应用对象的软件特点来设计系统。
本论文的目的就是设计实现一个具有一定实用性的实时数据采集系统。
论文主要论述对土壤内部温度、湿度、压力等数据采集系统的设计与实现。
它的主要功能是完成数据采集、处理、显示、控制以及与PC机之间的通信等。
基于对数据采集系统体系结构及功能要求的分析,本文设计并实现的采集系统采用Atmega64单片机为核心,扩展了电源电路、复位电路、LCD接口电路以及监控电路等,并配有标准RS-232及RS-422串行通信接口。
系统软件采用汇编语言编写,为了便于扩展和更改,软件的设计采用模块化结构。
由于使用该仪器的野外环境多样,干扰严重,在系统的开发实现中,不仅要实现数据采集仪的一般功能,也要保证它的可靠性和安全性。
本文论述了数据采集系统所采取的硬件和软件方面的抗干扰措施,并对与PC机之间的通信实现进行了相应的论述。
关键词嵌入式;数据采集;Atmega64;传感器
DesignofDataAcquisitionSystemBasedonAVRSCM
Abstract
Inrecentyears,withtherapiddevelopmentinembeddedmicroprocessor,theSCM(SingleChipMicyoco)hasbeenwidelyappliedinmanyfieldssuchasthemedicaltreatment,theaviation,thetransportation,themilitarytechnique,theindustry,thescienceresearch,andsoon.Inthisfields,SCMisusuallytobeusedasacoreparts,buttheknowledgeofSCMisn'tenough.Weshouldcombinewiththestructureofconcretehardwareandcharacteristicsofrelevantsoftwaretodesignthesystem.Thepurposeofthisthesisistodesignapracticalreal-timedatacollectionsystem.
Thisthesismainlydiscussthedesignandrealizationofthedatacollectionsystemwhichreferstothetemperature、humidity、pressureinsidethesoil.Thesystemismainlyusedtofinishthedatacollection、processing、displayandthecorrelativecontrolandcommunicationwiththePC.Ontheanalysisofthesystemstructureandfunctionrequirement,thesysteminthisthesisadoptstheAtmega64core,expandsthepower、reset、LCDinterfacecircuitwithstandardRS-232seriescommunicateinterface.Fortheentironmentthesysteminuseiscomplexwithseriousdisturb.Weshouldensurethereliabilityandsecuritybesidesthebasicfunctioninthedesignofthesystem.Inthisthesiswediscusstheanti-jammingmeasuresthroughhardwareandsoftware.WetalkabouttherealizationofcommunicationwiththePC.Thesoftwaredesignwithassemblelanguage,andadoptsmodularizeframeworkdesign.
KeywordsEmbeddedSystem;datacollectsystem;Atmega64;sensors
不要删除行尾的分节符,此行不会被打印
摘要
Abstract
千万不要删除行尾的分节符,此行不会被打印。
在目录上点右键“更新域”,然后“更新整个目录”。
打印前,不要忘记把上面“Abstract”这一行后加一空行
第1章绪论
1.1课题背景
在实际的生活与工作中,我们常常需要到工作现场和野外进行数据采集及相关的处理,计算机虽然具有强大的数据处理和分析能力,但我们不能把计算机搬到现场,这是因为计算机除了体积大、携带不方便外,更因为它的抗干扰能力差以及对工作环境质量要求高等缺点,使计算机无法在某些环境恶劣的场合下工作。
而单片机以其运算速度快、体积小、成本低、集成度高、抗干扰能力和控制能力强等优点,已经广泛用于智能化仪器仪表、机电一体化产品以及数据采集和过程控制方面。
近年来随着微电子技术的迅速发展和大规模集成电路的出现,特别是高性能单片机的出现,正引起数据采集系统领域内的一场新的技术革命。
数据采集是信号与信息采集学科的一个重要组成部分,也是诸多计算机领域中最为活跃的领域之一。
随着计算机、集成电路等技术的飞速发展,数字采集系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。
我国是农业大国,不同地区的土壤环境有着较大的差异,即使同一地区在不同季节土壤环境也不尽相同,土壤的温湿度及压力对于农作物的正常生长至关重要,准确的了解土壤的温湿度及压力参数就显得尤其重要。
1.2数据采集系统的发展
数据采集系统起始于20世纪50年代1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员进行操作,并且测试任务是由测试设备高速自动控制完成的。
由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。
大约在60年代后期,国外就有成套的数据采集设备产品进入市场,此阶段的数据采集设备和系统多属于专用的系统。
20世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。
由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因此获得了惊人的发展。
从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,另一类是工业现场数据采集系统。
就使用的总线而言,实验室数据采集系统多采用并行总线,工业现场数据采集系统多采用串行数据总线。
20世纪80年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了通用的数据采集与自动测试系统。
该阶段的数据采集系统主要有两类,一类以仪器仪表和采集器、通用接口总线和计算机等构成。
例如:
国际标准ICE625(GPIB)接口总线系统就是一个典型的代表。
这类系统主要用于实验室,在工业生产现场也有一定的应用。
第二类以数据采集卡、标准总线和计算机构成,例如:
STD总线系统是这一类的典型代表。
这种接口系统采用积木式结构,把相应的接口卡装在专用的机箱内,然后由一台计算机控制。
第二类系统在工业现场应用较多。
这两种系统中,如果采集测试任务改变,只需将新的仪用电缆接入系统,或将新卡再添加到专用的机箱即可完成硬件平台重建,显然,这种系统比专用系统灵活得多。
20世纪80年代后期,数据采集系统发生了极大的变化,工业计算机#单片机和大规模集成电路的组合,用软件管理,使系统的成本降低,体积减小,功能成倍增加,数据处理能力大大加强。
20世纪90年代至今,在国际上技术先进的国家,数据采集技术已经在军事、航空电子设备及宇航技术、工业等领域被广泛应用。
由于集成电路制造技术的不断提高,出现了高性能、高可靠性的单片数据采集系统(DAS)。
目前有的DAS产品精度已达16位,采集速度每秒达到几十万次以上。
数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。
该阶段数据采集系统采用更先进的模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统"迅速地组成一个新的系统。
该阶段并行总线数据采集系统向高速、模块化和即插即用方向发展,典型系统有VXI总线系统,PCI、PXI总线系统等,数据位已达到32位总线宽度,采样频率可以达到100MSps。
由于采用了高密度,屏蔽型,针孔式的连接器和卡式模块,可以充分保证其稳定性及可靠性,但其昂贵的价格是阻碍它在自动化领域普及的一个重要因素。
但是,并行总线系统在军事等领域取得了成功的应用。
串行总线数据采集系统向分布式系统结构和智能化方向发展,可靠性不断提高。
数据采集系统物理层通信,由于采用RS485双绞线、电力载波、无线和光纤,所以其技术得到了不断发展和完善。
其在工业现场数据采集和控制等众多领域得到了广泛的应用。
由于目前局域网技术的发展,一个工厂管理层局域网,车间层的局域网和底层的设备网已经可以有效地连接在一起,可以有效地把多台数据采集设备联在一起,以实现生产环节的在线实时数据采集与监控。
1.3课题设计内容
课题主要对土壤内部温度、湿度、压力数据采集系统的进行设计。
它的主要功能是完成数据采集、处理、显示、控制以及与PC机之间的通信等。
要求对数据采集系统体系结构及功能进行分析,设计并实现采用单片机为核心,扩展电源电路、复位电路、LCD接口电路以及监控电路等,并要求配有标准RS-232和RS-422串行通信接口。
系统软件采用C语言编写,软件设计采用模块化结构。
数据采集系统需采取硬件和软件方面的抗干扰措施。
第2章系统总体设计
2.1系统总体设计框架
图2-1系统总体框架图
如图2-1,本采集系统以ATmega64为微处理器,温湿度传感器采用I2C总线接口的SHT75芯片。
采用MAX232电平转换芯片扩展标准RS-232接口,采用MAX485芯片扩展标准RS-422接口,通过标准RS-232接口和RS-422接口实现单片机采集系统和PC机的数据通信。
电源设计采用LM7805CK稳压芯片,显示模块使用LCD1602液晶显示器。
2.2系统主程序设计
采集系统软件设计采用模块化结构,用C语言编写,总体设计流程图如图2-2所示:
系统上电后首先进行自检,检查各功能模块电子器件是否正常工作,检查完毕后进行各功能模块初始化,扫描键盘,当有“按键1”按下时,系统可读到PB0口为低电平,此时系统开始执行测量数据的工作,将采集到的温湿度及压力数据储存到特定寄存器,当有“按键2”按下时,系统将储存在寄存器中的温湿度及压力数据组送LCD显示,同时将该组数据通过I2C总线传送至片外E2PROM,当“按键3”按下时,系统检查是否与上位机已经建立连接,若连接成功则通过RS-232接口进行数据传送同时清空E2PROM内数据。
系统主程序及头文件“#include"define.h"”完整代码见附录D。
图2-2系统主程序流程图
2.3系统主要功能
本系统是以ATmega64单片机为核心的土壤参数采集系统,主要采集土壤温湿度及压力并进行相应的分析,系统设计了3个按键,当传感器探针插入土壤后,按键1(KEY1)按下,此时系统开始工作,执行测量命令,按键2(KEY2)按下,系统则将采集到的温湿度及压力数据送LCD显示同时储存当前数值到片外扩展的E2PROM,按键3(KEY3)按下时,系统检查是否通过RS-232连接PC机,若连接成功,则执行传输命令同时清空E2PROM内数据组。
2.3本章小结
本章分成硬件总体设计和软件总体设计两部分介绍了整个系统,在硬件总体设计方面给出了系统各模块框图,软件设计则给出主程序流程图。
通过本章可对数据采集系统在硬件和软件方面有一个总体的认识。
第3章硬件设计
3.1单片机最小系统设计
3.1.1ATmega64单片机概述
Atmega64单片机为基于AVRRISC结构的8位低功耗CMOS微处理器。
由于其先进的指令集及单周期指令执行时间,Atmega64单片机的数据吞吐率高达1MIPS/MHz,故可以减缓系统的功耗和处理速度之间的矛盾。
AVR单片机内核具有丰富的指令集和32个通用工作寄存器。
所有的寄存器都直接与逻辑单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。
这种结构大大提高了代码效率,并且具有比普通的复杂指令集处理器高10倍的数据吞吐率。
Atmega64单片机是AVR单片机家族中的高性能单片机,具有比其他型号更高的性能,Atmega64片内带有64KB的系统可编程Flash程序存储器,具有在写的过程中还可以读的能力,即同时读写(RWW);2KB的E2PROM;4KB的SRAM;53个通用I/O端口线;32个通用工作寄存器;实时时钟(RTC);4个灵活的具有比较模式和PWM的定时器/计数器(T/C);2个USART;面向字节的两线接口(TWI);8通道10位ADC;可选的可编程增益;片内振荡器的可编程看门狗定时器;串行外围接口(SPI);与IEEE1149.1规范兼容的JTAG测试接口,此接口同时还可以用于片上调试;6种可以通过软件选择的省电模式。
空闲模式时,CPU停止工作,而SRAM、T/C、SPI以及中断系统继续工作;掉电模式时,晶体振荡器停止震荡,所有功能除了中断和硬件复位之外都停止工作,而寄存器的内容则一直保持;省电模式时,异步定时器继续运行,以允许用户维持时间基准,器件的其他部分处于睡眠状态;ADC噪声抑制模式时,CPU和所有的I/O模块停止运行,而异步定时器和ADC继续工作,以减少ADC转换时的开关噪声;Standby模式时,振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动的能力;扩展Standby模式时,则允许振荡器和异步定时器继续工作。
Atmega64单片机元器件是以ATMEL公司的高密度非易失性内存技术生产的。
片内ISPFlash存储器可以通过SPI、通用编程器或引导程序多次编程。
引导程序可以使用任何接口来下载应用程序到Flash存储器。
在更新应用Flash存储器时引导Flash区的程序继续运行,实现RWW操作。
通过将8位RISC与系统内可编程的Flash存储器集成在一个芯片内,Atmega64单片机为许多嵌入式控制应用提供了灵活且低成本的方案。
Atmega64AVR单片机有整套的开发工具,包括C语言编译器、宏汇编语言、程序调试器/仿真器和评估板。
其具体产品特点如下:
1.高性能、低功耗的8位微处理器。
2.先进的RISC结构:
•130条指令,大多数可以在一个时钟周期内完成。
•32KB*8bit通用工作寄存器和外设控制寄存器。
•全静态工作。
•工作于16MHz时性能高达16MIPS。
•只需两个时钟周期的硬件乘法器。
3.非易失性的程序和数据存储器;
•64KB的系统内可编程Flash存储器,寿命为10000次写/擦出周期。
•具有独立锁定位、可选择的启动代码区,通过片内的启动程序实现系统内编程真正的读—修改—写操作。
•2KB的E2PROM,寿命为10000次写/擦除周期。
•4KB的内部SRAM。
•多达64KB的优化的外部存储器空间。
•可以对锁定位进行编程,以实现软件加密。
•可以通过SPI实现系统内编程。
4.JTAG接口(与IEEE1149.1标准兼容):
•遵循JTAG标准的边界扫描功能。
•支持扩展的片内调试。
•通过JTAG接口实现对Flash存储器,E2PROM、熔丝位和锁定位的编程。
5.外设特点:
•2个具有独立的预分频器和比较器功能的8位定时器/计数器。
•2个具有预分频器、比较功能和捕捉功能的16位定时器/计数器。
•具有预分频器的实时时钟计数器。
•2路8位PWM。
•6路分辨率可编程(1~16位)的PWM。
•输出比较调制器。
•8路10位ADC:
8个单端通道;7个差分通道;2个具有可编程增益(1倍、10倍、200倍)的差分通道。
•面向字节的两线接口(TWI)。
•2个可编程的串行USART。
•可工作于主机/从机模式的串行外围设备接口(SPI)。
•具有独立片内振荡器的可编程看门狗定时器。
•片内模拟比较器。
6.特殊的处理器特点:
•上电复位以及可编程的掉电监测。
•片内经过标准的RC振荡器。
•片内/片外中断源。
•6种睡眠模式:
空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby(待机)模式以及扩展的Standby模式。
•可以通过软件进行选择的时钟频率。
•通过熔丝位可以选择Atmega103单片机兼容模式。
•全局上拉禁止功能。
7.I/O和封装:
•53个可编程I/O端口线。
•64引脚TQFP与64引脚MLF封装。
8.工作电压:
4.5~5.5V。
9.速度等级:
0~16MHz。
3.1.2ATmega64单片机引脚功能
1.VCC:
数字电路的电源。
2.GND:
地。
3.端口A(PA7~PA0):
端口A为8位双向I/O端口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电阻拉低时将输出电流。
复位发生时端口为三态。
4.端口B(PB7~PB0)、C(PC7~PC0)、D(PD7~PD0)、E(PE7~PE0):
与端口A具有相同的I/O性能,但在Atmega103单片机兼容模式下,端口C只能作为输出,而且在复位发生时不是三态。
5.端口F(PF7~PF0):
端口F为ADC的模拟输入引脚。
如果不作为ADC的模拟输入,端口F可以作为8位双向I/O端口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口F为三态。
如果使能了JTAG接口,则复位发生时引脚PF7(TDI)、PF5(TMS)、和PF4(TCK)的上拉电阻使能。
端口F也可以作为JTAG接口。
在Atmega103单片机兼容模式下端口F只能作为输入引脚。
6.端口G(PG4~PG0):
端口G为5位双向I/O端口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时,端口G为三态。
在Atmega103单片机兼容模式下,端口G只能作为外部存储器的所存信号以及32KHz振荡器的输入,并且在复位时,这些引脚初始化为PG0=1、PG1=1以及PG2=0。
PG3和PG4是振荡器引脚。
图3-1Atmega64引脚图
7.端口A、B、C、D、E、F、G:
都可作为第二引脚试用
8.RESET:
复位输入引脚。
超过最小门限时间的低电平将引起系统复位,低于此时间的脉冲不能保证可靠复位。
9.XTAL1:
反向震荡放大器及片内时钟操作电路的输入。
10.XTAL2:
反向震荡放大器的输出。
11.AVCC:
AVCC为端口F以及ADC的电源,须与VCC相连接,即使没有使用ADC也应该如此。
使用ADC时,应该通过一个低通滤波器与VCC连接。
12.AREF:
AREF为ADC的模拟基准输入引脚。
13.PEN:
PEN为SPI串行下载的使能引脚。
在上电复位时,保持PEN为高电平,将使器件进入SPI串行下载模式。
在正常工作过程中,PEN引脚没有其他功能。
3.1.3系统时钟电路
AVR单片机的时钟信号通常有两种产生方式:
一是内部时钟方式;二是外部时钟方式,本课题采用内部时钟方式,如图3-2。
图3-2时钟电路与Atmega64连接图
晶振Y1的频率范围为0~16MHz,本系统中采用8MHz的晶振频率,电容器C1、C2均为22pF。
3.1.4系统复位电路
复位操作有两种基本形式:
一种是上电复位,另一种是按键复位。
Atmega64单片机为低电平复位最小门限时间为两个时钟周期。
S1未按下时,RESET处于高电平,当S1按键按下时,RESET接地,处于低电平,单片机进入复位状态,复位电路如图3-3所示。
图3-3系统复位电路图
3.1.5系统电源电路
系统输入电压为12V,通过LM7805CK稳压芯片转换,为系统提供5V工作电压。
LM7805CK是常见的三端稳压器件,如图3-4所示,它具有良好的温度系数,应用范围很广。
其主要特点有:
1.最大1A电流的输出,输出电压为5V;
2.过热和短路保护;
3.宽电压输入。
图3-4LM7805引脚图
常见的LM7805CK的引脚定义如表3-1
表3-1LM7805CK引脚定义
引脚
符号
功能
1
Input
输入电压
2
GND
地
3
Output
输出电压
3.2标准RS-232接口扩展
大多数控制系统都是把PC机作为上位机,单片机系统作为下位机。
单片机系统必须把采集的数据传输给PC机,以便进行存储和处理。
PC机几乎都具有RS-232接口,因此单片机通过RS-232接口与PC机通信最方便,也是最常用的方法。
但是单片机并没有RS-232电气接口,要进行通信就必须要进行接口扩展。
本设计采用MAX232电平转换芯片进行接口扩展。
3.2.1RS-232接口的机械指标
RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的,于1969年公布的通信协议,全称是EIA-RS-232C。
它适于数据传输速率在0~20000bps的通信。
这个标准对串行通信接口的有关问题,如信号线功能、电特性都作了明确规定。
由于通信设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
RS-232C采用负逻辑,规定+3V~+15V任意电压表示逻辑0(或信号有效),-3V~-15V任意电压表示逻辑1(或信号无效)。
一个完整的RS-232接口有22根线,采用一种标准的“D”型保护壳的25针插头座通常使用的RS-232接口信号只有9针。
这9根引脚可以分成两类:
一类是基本的数据传送引脚,另一类是用于调制解调器(Modem)的控制和反映它的状态的引脚。
基本的数据传送引脚包括RXD、TXD、SG;Modem的控制引脚状态包括DTR、RTS、DSR、CTS、DCD和RI。
其中DTR和RTS是计算机通过RS-232接口送给Modem的控制引脚;DSR、CTS、DCD和RI是Modem通过RS-232送给计算机的状态信息引脚。
表3-2RS-232信号定义
名称
说明
FG
信号地,该引脚为所有电路提供参考电位
TXD
数据发送引脚,数据传送时,数据由此引脚发出,在不传送数据时,异步串行通信接口维持该脚为逻辑“1”
RXD
数据接收引脚
RTS
要求发送数据,用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 avr 单片机 数据 采集 系统 设计