单片机与DSP中的基于LPC2378的IAP功能的配变监测终端远程设计
本文采用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的S 本文探讨了基于Philips公司的32位微处理器LPC2378的配变监测终端远程设计,利用其内置的IAP(In-Application Programming)功能实现程序的远程更新,同时结合LZW压缩算法降低通信流量和存储空间的需求。LPC2378是一款基于ARM7TDMI-S内核的处理器,拥有512 KB Flash和32 KB SRAM,支持ISP和IAP。考虑到程序的内存需求,外部扩展了64 KB的SRAM。 在LPC2378中,IAP操作是以Flash扇区为单位进行的,扇区分布如表1所示。IAP不允许对Boot扇区执行写、擦除和运行操作。调用IAP功能主要通过定义的C代码函数指针实现,例如,通过iap_entry()函数执行各种IAP命令(如表2所示),包括读ID、擦除、写入等操作。 远程更新程序的实现分为两部分:应用程序和更新程序。应用程序占据0~21个扇区,而更新程序占据22~27个扇区。使用ARM的ADS1.2开发环境,通过Scattered链接选项和定制的.scf文件,将程序分为这两部分。ROM_MAIN包含应用程序及其数据,位于片内Flash的0地址开始;LOADER是更新程序的代码区域,位于0x78000地址开始。在更新过程中,主站发送ROM_MAIN文件的二进制数据给终端,终端通过IAP功能对应用程序扇区进行擦除和改写,实现程序的无缝升级。 LZW压缩算法的应用旨在减小程序更新时的通信数据量。LZW是一种字典编码算法,通过查找重复模式并用更短的编码代替,有效压缩数据。在程序更新过程中,先对新的应用程序进行LZW压缩,减少传输的数据大小,到达终端后再解压并利用IAP功能写入Flash。 总结来说,文章详细阐述了如何使用LPC2378微处理器实现配变监测终端的远程更新机制,包括了LPC2378芯片的特性、IAP功能的原理及使用、LZW压缩算法的应用以及远程更新的具体步骤。这种方法不仅优化了通信效率,还降低了终端的存储需求,提升了系统更新的灵活性和可靠性。
- 粉丝: 10
- 资源: 962
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YOLOv8完整网络结构图详细visio
- LCD1602电子时钟程序
- 西北太平洋热带气旋【灾害风险统计】及【登陆我国次数评估】数据集-1980-2023
- 全球干旱数据集【自校准帕尔默干旱程度指数scPDSI】-190101-202312-0.5x0.5
- 基于Python实现的VAE(变分自编码器)训练算法源代码+使用说明
- 全球干旱数据集【标准化降水蒸发指数SPEI-12】-190101-202312-0.5x0.5
- C语言小游戏-五子棋-详细代码可运行
- 全球干旱数据集【标准化降水蒸发指数SPEI-03】-190101-202312-0.5x0.5
- spring boot aop记录修改前后的值demo
- 全球干旱数据集【标准化降水蒸发指数SPEI-01】-190101-202312-0.5x0.5