本系统采用FRAM作为记录仪存储器,FRAM是美国Ramtron公司的产品,被称为铁电存储器,其核心技术是铁电晶体材料。这一特殊材料使得铁电存贮产品同时拥有SRAM和非易失性存储产品的特性:擦写次数至少可达到1000亿次,超过1000亿次后还可作为SRAM使用。但是,目前市场上出现的FRAM芯片容量都不够大,所以考虑再使用一块大容量FLASH作为数据存储器,而将FRAM作为数据转存的中介。超过一定时间或者发生掉电时,则立即将FRAM中的数据转存入FLASH中,这样就能满足存储器大容量且能够多次擦写的要求,而且避免了因掉电发生的数据丢失现象。本系统采用两块256kbit FRAM (FM24C256)和一块512kbit FLASH(W29C040)。
本系统软件部分的设计都是在ADS开发环境下进行的,并通过JTAG仿真器进行软件调试。ADS(ARM Developer Suite)集成开发环境是ARM公司推出的ARM核处理器集成开发工具。JTAG(Joint Test Action Group)是一种通过ARM芯片的JTAG边界扫描口进行调试的仿真设备,它比在线实时仿真器要廉价简单,是现在较为流行的一种仿真器。本系统采用的EasyJTAG是广州周立功单片机发展有限公司开发的LPC2000系列ARM7微控制器的JTAG仿真器。
本系统软件部分的程序流程图如图2所示。软件部分主要包括以下几个模块:
A/D采样模块
LPC2292内置有8个模数转换器ADC,其控制器只有2个,即ADCR、ADDR。本系统使用3个ADC分别采集、转换3路模拟信号。首先将ADC设置为向量IRQ中断,为其中断通道分配一个优先级,并设置中断服务程序地址向量,此后将ADCR的START位置1来启动ADC转换。每当ADC完成一次转换,ADDR寄存器(A/D Data Register)的DONE位置1,从而引起中断,转入中断处理程序,在该处理程序中从ADDR寄存器的6-15位读取转换结果,再将二进制数转换成十进制数予以保存并显示。