基于AVR单片机大容量数据采集系统的设计

发布者:iota19最新更新时间:2011-08-28 来源: 山西电子技术关键字:AVR 手机看文章 扫描二维码
随时随地手机看文章

   摘要:高速嵌入式AVR单片机广泛应用于数据采集控制系统中,但由于自身存储容量过小而不能尽其所能,外扩Flash芯片很好地解决了存储容量上的瓶颈,在提高单片机性能的同时大大降低了系统成本。基于此设计了5路A/D采集电路,同时介绍了各个芯片的特点、功能结构,并在此基础上给出了它们之间的硬件接口设计及程序设计流程。
关键词:大容量数据采集;AVR单片机;Flash存储器,接口设计

0 引言
    AVR系列单片机一直以功能强、高可靠性、高速度、低功耗等特点而受到广泛的应用。但是AVR单片机自身的存储空间不大,例如在长时间或者高速数据采集系统中,对数据存储空间需求很大,单片机自身的空间难以满足存储要求,所以在大容量数据采集的场合下其作用受到了限制。因此,在AVR单片机的基础上外扩一个存储芯片可以解决其存储容量小的问题。
    Flash存储器体积小、容量大、并可随机访问,是作为扩展存储芯片的最佳选择。设计中采用了sumsung公司生产的NAND型的K9F5608UOM芯片作为扩展存储。

1 硬件设计
    论文设计了5路A/D采集电路,介绍了如何在实际的电路中实现大容量数据采集。设计要求:5路并行采集电路,A/D采集精度为12位,每路的采集速度约为10 k/s,有效采集时间约为10分钟。由此我们可以得到所需要的存储空间大小大约为3 M(10×5 x10×60 K),一般AVR单片机的数据存储容量是远远达不到的,因此扩展一个FLASH芯片作为数据存储器。
    整个数据控制采集系统由三大模块组成,分别是MAX1304模数转化芯片构成的数据采集模块、K9F4G08UOM存储芯片构成数据存储模块以及Atm-ega16L芯片组成的系统控制模块。系统设计构架见图1。

a.jpg


1.1 系统控制芯片介绍
    ATmage16L是ATMEL公司在2002年第一季度推出的一款AVR单片机,采用RISC指令系统,Havard结构设计,具有接近1MIPS/MHz的高速处理能力,具有16 k字节的在线编程FLASH,512字节的EEPROM数据存储器,32个可编程双向I/O口可传送地址和数据。芯片引脚见图2。

b.jpg


1.2 A/D芯片接口设计
    MAX1304是MAXIM公司推出的可编程12位精度串行输出A/D转换芯片,它具有8路模拟通道输入,每路都有独立的采样保持(T/H)电路。并行采样的功能极大地提高了采样速率,可应用在高速数据采集电路中。其电压输入范围为0~+5 V,并具有±6 V的故障保护,为电路提供了很好的安全屏障。内部或外部基准模式以及内部或外部时钟选择使得在设计电路时有了很大的灵活性。本设计中选用的是内部时钟及内部基准模式(电路典型接法如图3所示)。MAX1304的数据位与ATmegal6L的B,D两个扩展口相连,以实现采集数据的读取;其控制位与ATmegal6L的A扩展口连接,控制AD转换、芯片配置等操作。

MAX1304的12个I/O口中高8位分别与PB的8个口相连,低4位与PD的前4个口相连。其中可以通过配置高8位D0~D7来选通要启动的模拟输入通道。上电时,在启动转换位CONVST(接PA4)之前写入配置寄存器,以选择有效通道。写配置寄存器时,将片选CS(接PA3)和写使能WR(PA2)设为低电平,然后将D0~D7位装载到并行总线,再将WR置为高电平,数据在WR的上升沿锁存。转换结束位EOLC(接PA0),所有选通通道转换结束指示,在EOLC的下降沿,将CS(接PA3)和读RD(接PA1)置为低电平,把第一个转换结果置于并行总线。RD连续的低电平脉冲将转换结果顺次放到总线上。时序中最后一个转换结果读取后,额外的读脉冲可以使指针重新指向第一个转换结果。
1.3 Flash芯片接口设计
    K9F5608UOM 32M×8位闪速存储器是sumsung公司生产的基于NAND技术的大容量、高可靠性存储器。该芯片结构简单,只有一颗存储体;数据读、写、擦除速度快,按页顺序读取平均每字节50 ns,与一般的SRAM相当;接口电路简洁,8位双向I/O口端口,地址,数据复用;编程简单,片内的写操作控制器自动执行所有的写操作和擦除功能,包括提供必要的脉冲、内部校验等,完全不用外部控制器考虑;数据完全性好,具有硬件写保护功能,采用CMOS浮置门技术提高其寿命(可擦写100,000次),数据保存10年不丢失。本设计中Flash的数据位与ATme-gal6L的C扩展口相连,控制位与ATmegal6L的B,D扩展口连接,实现数据的写入操作。

c.jpg


    如图4所示Flash芯片的8个I/O与ATmega16L的PC0~7相连,作为数据总线,用于输入命令、地址、数据,在读操作中输出数据。忙闲指示(R/B)接PD4,器件运行状态指示,当进行一个写、擦、随机读取操作时,指示为低电平,操作结束后指示高电平。读使能RE接PD5,控制把片内数据放到I/O中线上,在它的下降沿时数据有效,同时使内部的列地址自动加1。写使能WE接PA5,用于控制把命令、地址和数据在它的上升沿写入到I/O口,而在读操作时必须保持高电平。片选CE接PD6,用于器件的选择控制,在进行读操作时,如果CE变为高电平,器件转入待用状态,而当器件写操作或擦除过程中,则不受CE高的影响。命令锁存使能CLE接PA7,使输入的命令发送到命令寄存器,当变成高电平时,在WE上升沿命令通过I/O口锁存到命令寄存器。地址锁存器使能ALE接PA6,使输入的地址发送到地址寄存器,当变成高电平时,地址在WE的上升沿被锁存。写保护WP提供由于芯片供电压突变而引起的意外擦写操作保护,当WP置低时,内部高压源使芯片复位,引脚状态不定,处于无操作态。由于本设计只需要向Flash中写入数据,所以写保护WP接VCC强制高电平。

2 软件设计流程
    数据采集模块负责数字化5个通道的模拟输入量,将每路模拟量转化为并行输出的12位数字量。控制模块的作用是将MAX1304所转化的数据进行读取并写入到K9F4G08UOM存储模块中。

d.jpg


    由图5可以看到整个软件的设计流程。MAX1304在上电时,开始配置寄存器选通前5路模拟通道输入。在第一个CONVST脉冲上升沿时,5路并行采样数据开始转换。当所选通道数据全部转化完毕时,EOLC将输出低电平,可以通过查询该端口状态来了解转换是否完成。当该端口电平为高时,继续转换下一路通道数据;为低时,ATmega16L配置相应的读取端口为读取状态,将这一路数据读到ATmega16L的缓存中,并控制Flash芯片将缓存中的数据写入其中。随着5个RD的脉冲信号,5路的数据将依次放置12位I/O总线上。所以,循环操作5次即可将一次并行采集的数据写入Flash。然后进入下一时刻读取写入操作,整个过程循环操作即可。

3 结束语
    通过这个5路采集电路,可以看出ATmega16L单片机和32M的K9F5608UOM大容量Flash存储芯片在实际的接口设计是十分简单的,而且操作灵活多变。在以上设计基础上还可以将5路扩展到8路以内(通过配置MAX1304芯片可以实现),实现更多路的并行采集,并且可以根据实际情况来选择大小合适的Flash芯片。这种可扩展的采集电路具有很高的性价比,无需选择更昂贵的大容量控制芯片,可广泛用于大批量数据采集记录系统中。

关键字:AVR 引用地址:基于AVR单片机大容量数据采集系统的设计

上一篇:基于单片机ATmega16的无线温度监测系统
下一篇:强磁水处理仪设计

推荐阅读最新更新时间:2024-03-30 21:48

AVR 定时器中断程序
基于7.3728M晶振作AVR定时器的时钟源进行1S定时! 实验内容: 使用AVR的定时器T1做1S定时,并使用PD口的LED指示灯做简单指示。 #include iom16v.h #include macros.h #define DISP_DDR DDRD #define DISP_PORT PORTD /*-------------------------------------------------------- 程序名称:定时器1初始化程序 --------------------------------------------------------*/ void timer1_init(void) {
[单片机]
AVR单片机定时计数器学习笔记分享
  定时计数器的结构与应用定时计数器(Timer/Counter)常用于计数、延时、测量 周期、频率、脉宽、提供定时脉冲信号等。在实际应用中,对于转速,位移、速度、流量等物理量的 测量,通常也是由传感器转换成脉冲电信号,通过使用定时计 数器来测量其周期或频率,再经过计算处理获得。   AVR的定时计数器接口功能: 通过定时计数器与比较匹配寄存器相互配合,生成占空比 可变的方波信号,即脉冲宽度调制输出PWM信号,可用于 D/A、马达无级调速控制、变频控制等。本文主要介绍的是AVR单片机定时/计数器学习笔记,具体的跟随小编来了解下。      AVR单片机定时/计数器学习笔记   定时/计数器1(16位)有普通模式、CTC模式、
[单片机]
<font color='red'>AVR</font>单片机定时计数器学习笔记分享
AVR单片机的RC5和RC6算法区别、实现与优化
引言   在无线局域网中,传输的介质主要是无线电波和红外线,任何具有接收能力的窍听者都有可能拦截无线信道中的数据,掌握传输的内容,造成数据泄密。因此,对于无线局域网来说,数据的加密是关键技术之一。   AVR高速嵌入式单片机是8位RISC MCU,执行大多数指令只需一个时钟周期,速度快(8MHz AVR的运行速度约等于200MHz C51的运行速度);32个通用寄存器直接与ALU相连,消除和运算瓶颈。内嵌可串行下载或自我编程的Flash和EPPROM,功能繁多,具有多种运行 模式。   依照IEEE1999年发布的802.11无线局域网协议标准,采用Atmel公司的Atmega128高速嵌入式单片机,开发无线数据传输装 置。
[单片机]
AVR单片机为核心的全自动太阳能工程热水器控制器设计
引 言 随着人们生活水平的提高, 各种热水器的使用已相当普及, 与之相配套的控制仪也相继问世。然而, 目前市场上的各种热水器控制电路还与理想要求相差甚远。消费者需要真正的全自动 控制, 以实现使用的最简单化, 就像家用电视机、电冰箱一样, 接通电源、设定完毕就不用再操心了。鉴于国内太阳能热水器市场不断扩大, 而与其相配套的控制器却急需改进的情况, 研制了这套太阳能热水器控制器。本文设计的太阳能热水器是以AVR Meg a 32 单片机为检测控制核心,不仅实现了温度、水位两种参数的实时显示功能, 而且具有温度设定与控制功能。控制器可以根据天气情况利用辅助加热装置使蓄水箱内的水温达到预先设定的温度, 从而达到24 小时供应热水的目的。
[单片机]
以<font color='red'>AVR</font>单片机为核心的全自动太阳能工程热水器控制器设计
基于AVR单片机的实验加载闭环控制系统
分离式液压千斤顶在生产建设、科学实验等各类工程结构加载工作中具有广泛的用途。 该设备一般由电动高压油泵+压(拉)千斤顶组成,本文论及的加载系统规格如表1所示。 油泵电机直接带动泵轴旋转,柱塞作往复运动,进油阀/排油阀工作,液压油通过高压油管进入千斤顶。用户可通过泵站上的手柄,人工转动泵内卸荷阀处于不同位置,实现系统的加载/卸载、推力/拉力及加载速率和稳压作业。 在对力和位移数值或稳压时间等精度要求较高的科研实验加载场合,显然这种仅靠手工操作的方式难以胜任。给该设备增设电脑测控系统就成为一项与时俱进的技术革新,也是提高此类设备性价比的最佳方案。 1 下位机 由ATmega128构成下位机控制核心(见图1),其
[单片机]
基于<font color='red'>AVR</font>单片机的实验加载闭环控制系统
AVR Studio 的使用注意
AVR单片机最常用的集成开发环境就是AVR Studio和ICCAVR了,AVR Studio是ATMEL公司自己开发的编译环境,但是只支持汇编语言的开发。现在的版本已经出到AVR Studio5.0 ,但是好像要100M左右,很多研发的都是在使用AVR Studio4.0版本的吧。相对于C语言来说,就要安装winAVR和AVR Studio共同组成C语言编译环境了。AVR Studio头文件有自己的延迟函数。#include uitl/delay.h 有毫秒_delay_ms()和微妙_delay_us()两个子函数,可以在其他函数中调用这两个函数,但是使用这两个函数的时候特别要注意在AVR Studio中设置编译对象的晶振和优
[单片机]
AVR单片机的RTOS-AVRX应用
引 言   随着技术的发展,嵌入式系统的设计及应用对人们的生活产生了很大的影响,并将逐渐改变人们未来的生活方式。在特定的操作系统上开发应用程序,可以使开发人员忽略掉很多底层硬件细节,使得应用程序调试更方便、易于维护、开发周期缩短并且降低开发成本,因而嵌入式操作系统深得开发人员的青睐。   AVR微处理器是Atmel公司开发的8位嵌入式RISC处理器,它具有高性能、高保密性、低功耗、非易失性等优点,而且程序存储器和数据存储器可独立编址,并具有独立访问的哈佛结构。AVR单片机内核有丰富的指令集,通过32个通用寄存器直接与逻辑运算单元相连接,允许在一个周期内一条单一指令访问两个独立的寄存器,这样的结构使代码的执行效率比传统的复杂指令集
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
最新工业控制文章
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved