采用C51与插拔式FLASH闪存设计无纸记录仪

2006-08-30 16:07:42来源: 今日电子

  ATMEL公司推出的带有看门狗功能的单片机AT89C55WD带有20K的程序存储器,是8051系列中一款较为先进的产品,其看门狗功能可以大大提高产品的稳定性,大容量的内部程序存储器可以容纳功能丰富的软件。

  以往的许多无纸记录仪均采用3.5英寸软盘作为数据存贮介质,但软盘存贮的可靠性差、存储容量有限、成本较高等诸多缺点实在难以克服。

  作为一种高科技的非易失性存储设备,FLASH闪存首先在数码相机、PDA、移动电话等数字产品当中得到了应用,随着工艺的进步和价格的下降,逐步向其他应用领域扩展,其容量大、功耗低、速度快、不易受损等优点正受到人们越来越多的青睐,而且最大的好处是,随着技术水平的进步,FLASH闪存的容量也在不断增加,目前已经达到128M,而接口方式并没有任何变化,这就避免了费时费力的重新设计。FLASH闪存分为插拔式和贴片式,目前国内大部分厂家都采用贴片式即直接把FLASH闪存焊接于电路板上,这种应用方式就使FLASH闪存一旦焊好就无法更改和移动,而插拔式可以根据需要任意扩充并且携带方便,非常适合容量不确定和需要移动的应用。基于这些原因,我们采用了插拔式FLASH闪存作为无纸记录仪的存储设备。

  下面简要介绍以C51为开发工具,以AT89C55WD单片机为核心,以插拔式FLASH闪存为存储器的无纸记录仪的设计和实现。

一、无纸记录仪总体布局

  无纸记录仪所要实现的功能是这样的:记录仪有4个通道,每秒采样1次,每个通道每次采样需记录两个字节,根据各个通道的转储速率(从1至255可设定),把采样的数据写入外部数据存储器62256,一旦数据满512字节,就把512字节一次性写入FLASH闪存中。

             图1:记录仪总体功能图

总体功能图如图1所示。

二、系统电路构成

  无纸记录仪电路由单片机AT89C55WD、液晶显示电路、A/D采集电路、FLASH闪存存储电路、时钟电路和看门狗电路组成,下面简要介绍各个组成部分。

1.单片机AT89C55WD及电路组成

  AT89C55WD与MCS-51相兼容,可对内核进行1000次的电擦写,其电压、电流和功耗都比较小,带有20K的可重写快闪存储器和硬件看门狗定时器。

  看门狗定时器是在系统软件崩溃后进行恢复的一种方法,WDT由14位计数器和看门狗复位特殊功能寄存器(WDTRST SFR)组成,在缺省设置下,系统复位时即关闭。要使WDT有效,用户必须向0A6H单元的WDTRST SFR顺序写入01EH和0E1H。当WDT有效,计数器每经过一个机器周期后加1,除了硬件或WDT溢出复位,没有任何方法可使WDT无效。当计数器溢出,WDT就在RST引脚产生一个复位的高脉冲。

  要使WDT持续有效,就必须每隔一定时间往WDTRST写入01EH和0E1H来避免WDT溢出。当WDT的14位计数器计数至16383(3FFFH)时,计数器便溢出,引起设备的复位。这就意味着用户必须至少每16383个机器周期复位WDT一次。使WDT复位,必须向只写寄存器WDTRST写入01EH和0E1H。当WDT溢出时在RST引脚产生一个复位的高电平脉冲,持续时间为:98×TOSC,TOSC=1/FOSC。为了充分利用WDT,在要求防止WDT溢出复位时,应每隔一定周期写WDTRST一次。

  单片机AT89C55WD通过P0口驱动液晶显示器;通过T1输出作为AD7715的采样脉冲同时用P2.6引脚读入AD7715的采样数据;因为FLASH的8根数据线与地址线是复用的,用单片机的P0口通过一片74ALS244及TC4010BP将电平转化后与FLASH相连;用单片机的P2.4经过74ALS32作为时钟DS1305的脉冲输入,INT0与时钟的引脚6即INT0相连,这样DS1305每秒产生中断信号作为AD7715采样的开始;通过把对时钟DS1305的脉冲输入作为看门狗X25045的输入,通过P2.6向X25045写入数据来实现看门狗功能。

2.液晶显示电路

  在记录仪中使用HG16501点阵式液晶显示器,其内置有T6963C控制芯片,与单片机接口较为简单。

3.A/D采集电路

  A/D采集电路主要由AD7715构成,该芯片是串行输入,三线接口,而4个通道的输入则选用了HCF4051。

4.电平转换电路

  该电路主要是5V与3.3V之间的电平转换电路,本设计采用三片TC4010BP来实现。

5.时钟电路

  系统时钟采用串行时钟芯片DS1305,并使用Motorola SPI工作方式。DS1305的INT0与单片机INT0直接相连,DS1305每秒产生中断启动AD7715进行采样。

6.看门狗电路

  系统防复位的看门狗电路由可编程的X25045来实现,该芯片具有看门狗定时器、电压监控和EEPROM三种功能,这种组合降低了系统的成本并节省了电路板空间。

三、系统软件部分

  系统软件采用C51语言与A51汇编语言混合编程,其中中断采样部分采用A51汇编语言来编写。

1.编程语言

  本系统采用Keil公司V6.10的C51编译器。A51是一个有通用特性机用法的重定位宏汇编器,能很好地与INTEL公司的MASM51宏汇编兼容,支持模块化编程,可以方便地与高级语言接口,但与MASM51还是有很大区别,主要是A51对许多MASM51的寄存器都不支持,这一点需要注意。

2.工作过程

  系统上电,对时钟、液晶显示器HG16501、AD7715芯片初始化后,主程序处于循环检测键盘的按键状态,并根据按键作相应处理,而采集部分是由CPU每秒产生中断来执行。四个通道采集后先向外部存储器62256写完512个字节后置写入允许,主程序一发现写入允许置位,就将这512字节的数据写入FLASH闪存,同时把写允许复位。因为软件是分级菜单结构,每进入下一级子菜单,都必须作同样的事,时钟读并显示,检查写FLASH闪存允许位是否置位,如置位,则把数据写入FLASH闪存,所以把它单独列为常规操作。

  主程序和常规操作的流程图比较简单,故略去。


图2:中断采集流程图


  中断采集流程图如图2所示。

四、C51及A51程序

  整个系统软件C51部分的源程序约70KB,中断部分的A51源程序约7.1KB,两部分编译连接后产生的HEX文件将近16KB,仅用了20KB程序存储器的五分之四,剩下的4K可留给将来添加新功能。

结束语

  在研制无纸记录仪的过程中,我们采用C51与A51混合编程进行软件开发,以FLASH闪存作为存储器,不但软件的功能丰富多了,而且由于存储器稳定可靠、便于携带,也方便了进一步的数据处理工作。

关键字:单片机  复位  电路

编辑: 引用地址:http://www.eeworld.com.cn/Test_and_measurement/zhzx/200608/2033.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
单片机
复位
电路

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved