引 言
配变监测终端(即配电变压器监测终端,distributiontransformer monitoring terminal),通过有线或无线的方式与主站进行通信,将采集、计算、分析后的数据上传到主站,实现远程抄表、线损分析、电能质量监测、防窃电以及故障诊断等功能,从而保证了配变监测终端的安全运行,提高了供电企业的管理水平,产生了很好的经济效益和社会效益。同时,配变监测终端作为嵌入式终端产品,当安装的设备程序出现缺陷,或者用户提出新的需求时,需要对终端程序进行远程更新,以保证终端运行的正确性。
本文采用Philips公司的32位微处理器LPC2378进行配变监测终端的开发,并利用该芯片自带的IAP功能实现了终端程序的远程更新。为了降低通信流量和终端的存储空间,本文还将LZW压缩算法应用到程序更新中。
1 LPC2378芯片介绍
LPC2378是一款基于ARM7TDMI-S的32位处理器。它具有512 KB的片内Flash程序存储器、32 KB的静态RAM(SRAM),以及在系统编程(In-System Programming,ISP)和在应用编程(In-Application Program-ming,IAP)功能。由于程序对内存需求比较大,所以外扩了一片64 KB的SRAM。
通常,程序的下载可通过3种方式实现:
①采用嵌入式实时操作系统。该方法加大了系统对存储容量的要求,增加了硬件和软件成本。
②采用增加外控制烧录系统的方法。该方法同样增加了系统的复杂度和成本,且降低了系统本身的可靠性。
③采用IAP技术。该方法充分利用芯片本身的功能,不增加外围器件,是一种最佳的实现方案。
1.1 LPC2378的FIash扇区
IAP命令以“扇区”为单位进行操作,操作时需要指定扇区号。LPC2378的扇区分布如表1所列。IAP、ISP和RealMonitor程序都位于Boot区,Boot区位于地址0x000TE000~0x0007FFFF处。IAP命令不允许对Boot扇区执行写/擦除/运行操作。
1.2 LPC2378的IAP功能
IAP程序是Thumb代码,位于地址0x7ffffff1。IAP功能可用下面的C代码来调用。
[1] [2] [3] 下一页