基于LPC2124的一个远程系统软件升级方案
时间:07-08
来源:互联网
点击:
引 言
用电现场监控终端是一种与多功能计量设备同步计量并全方位监控用电状况的智能化设备,在目前全国电力紧缺的情况下,起到了削峰填谷,提高电网运行效率的作用,尤其适合于对用电大户的用电监控。
市场的需求和应用技术的成熟往往是矛盾的,用户总希望尽快用到功能完善、技术先进的产品,但从新技术到应用总有一个过程。这个过程的长短最大程度上决定了产品的市场前景,如果要好好把握市场,常常不得不一边开拓市场一边完善技术。实践是检验真理的唯一标准,要做出好的产品,必须与用户形成互动的关系,利用用户的反馈信息对产品不断完善。另外,产品长时间使用后,终端程序设计上的缺陷也就慢慢浮出水面,这就要求对终端系统程序进行升级。如果对几百个终端进行现场ISP升级,那么不但浪费大量的人力、财力,更重要的是浪费了宝贵的时间,延误了开拓市场的机遇,降低了用户对产品的信誉度。
在Internet飞速发展的时代,将终端接入到Internet是解决上述问题的可靠、现实的方案。本设计方案应用于用电现场监控终端,采用高性能Philips ARM MCULPC2124,结合GPRS技术实现终端系统程序的远程升级。
1 LPC2124芯片简介
1.1 功能介绍
LPC2124基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-SCPU,并带有236 KB嵌入的高速Flash存储器和16 KB RAM。对于内嵌flash存储器支持JTAG、ISP、IAP等多种编程方式。
LPC2124具有非常小的64脚封装、极低的功耗、多个32位定时器、4路10位ADC、PWM输出、46个GPIO以及多达9个外部中断,且内置了宽范围的串行通信接口,使它们特别适用于工业控制中。因为用电监控终端对硬件资源要求高,软件功能复杂,实时性强,所以采用LPC2124可以提高产品的性价比。
1.2 Flash存储系统
LPC2124存储系统包含256 KB的17个扇区。Flash存储器从O地址开始并向上增加,17个扇区的大小也不连续分布,17个扇区总容量为248 KB,剩下的8 KB存储空间为Boot扇区。Boot扇区位于Flash存储系统的顶端部分,地址空间是0x0003 EO00~0x0003FFFF。LPC2124存储系统的地址分配如图1所示。
Boot Block占用第17扇区,即Boot扇区。该扇区的存储空间专用来存放B00t装载程序,控制复位后的初始化操作,并提供Flash的编程方法(代码)。B00t装载器可启动对空白片的编程、已编程器件的擦除和再编程以及在运行的系统中由应用程序对Flash存储器进行编程。
1.3 Flash存储系统的编程
LPC2124支持多种方式对Flash进行编程,用来写入用户代码或数据。第一种是通过内置的串行JTAG接口;第二种是通过UART0进行在系统编程(ISP);第三种是通过在应用编程(IAP)实现。
1.3.1 JTAG编程
LPC2124的JTAG Flash编程可方便下载程序到片内Flash,但JTAG接口更主要的是提供硬件系统调试功能,诸如实现软件的断点、单步。JTAG Flash编程要中断应用软件的正常运行,连线较多,通信距离较短,而且要现场编程,只适应于产品在开发期的调试使用。
1.3.2 在系统编程
ISP(In-Svstam Programming)技术,即在系统可编程技术,是指电路板上的空白器件可以编程写入最终用户代码,而无需从电路板上取下器件;已编程的器件也可用ISP方式擦除或再编程。LPC2124支持ISP的Flash编程,但要巾止应用软件的正常运行,且需要提供一定的硬件资源+包括UARTO口、RS232驱动和CPU特殊引脚的状态;编程要求现场操作,非常适用于便携式智能仪器的升级,但显然不适用于用电监测终端这类安装环境特殊的设备。ISP编程原理详见参考文献。
1.3.3 在应用编程
在应用编程IAP(In-Application Programming)是应用在F1ash程序存储器的一种编程模式。简单地说就是在应用程序控制下,对程序某段存储空间进行读取、擦除或写入操作。与ISP操作非常相似。具有在线编程功能,且克服了ISP的不足之处。它可以在应用程序正常运行的情况下对另外一段程序Flash进行读/写操作,甚至可以控制对某段、某页甚至某个字节的读/写操作。这为数据存储和固件的现场升级带来了极大的灵活性。
2 IAP功能的硬件设计
基于LPC2124的以上3种编程方法的分析,IAP实现对终端程序升级自然是最佳选择方案。下面介绍一种基于GPRS的远程IAP系统方案,系统框图如图2所示。
AT45DB08081B,8Mb串行flash存储器,兼有ROM的掉电数据保存和RAM的读/写速度,最快支持20MHz的时钟频率,擦写次数达10000次,内置2个264字节SRAM缓冲器,使得对主存储体的编程可以连续进行,省去编程等待时间。AT45DB081B采用CASON-8封装,支持2.5~3.6 V低电压,操作功耗低,支持模式O和3的SPI总线接口,与MCU接口简单,稳定可靠,非常适用于数字语音、图像、程序代码和数据的存储应用中。在本设计中采用模式0与LPC2124通信,速度可达MCU主频的1/8。
GPRS模块使用Wavecom公司生产的Q2406B,双频GPRS/GSM模块(EGSM900/1800 MHz或EGSM900/l900 MHz),内置TCP/IP,与标准AT指令完全兼容;其设计开发符合ETSI GSM Phase 2+标准。
用电现场监控终端是一种与多功能计量设备同步计量并全方位监控用电状况的智能化设备,在目前全国电力紧缺的情况下,起到了削峰填谷,提高电网运行效率的作用,尤其适合于对用电大户的用电监控。
市场的需求和应用技术的成熟往往是矛盾的,用户总希望尽快用到功能完善、技术先进的产品,但从新技术到应用总有一个过程。这个过程的长短最大程度上决定了产品的市场前景,如果要好好把握市场,常常不得不一边开拓市场一边完善技术。实践是检验真理的唯一标准,要做出好的产品,必须与用户形成互动的关系,利用用户的反馈信息对产品不断完善。另外,产品长时间使用后,终端程序设计上的缺陷也就慢慢浮出水面,这就要求对终端系统程序进行升级。如果对几百个终端进行现场ISP升级,那么不但浪费大量的人力、财力,更重要的是浪费了宝贵的时间,延误了开拓市场的机遇,降低了用户对产品的信誉度。
在Internet飞速发展的时代,将终端接入到Internet是解决上述问题的可靠、现实的方案。本设计方案应用于用电现场监控终端,采用高性能Philips ARM MCULPC2124,结合GPRS技术实现终端系统程序的远程升级。
1 LPC2124芯片简介
1.1 功能介绍
LPC2124基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-SCPU,并带有236 KB嵌入的高速Flash存储器和16 KB RAM。对于内嵌flash存储器支持JTAG、ISP、IAP等多种编程方式。
LPC2124具有非常小的64脚封装、极低的功耗、多个32位定时器、4路10位ADC、PWM输出、46个GPIO以及多达9个外部中断,且内置了宽范围的串行通信接口,使它们特别适用于工业控制中。因为用电监控终端对硬件资源要求高,软件功能复杂,实时性强,所以采用LPC2124可以提高产品的性价比。
1.2 Flash存储系统
LPC2124存储系统包含256 KB的17个扇区。Flash存储器从O地址开始并向上增加,17个扇区的大小也不连续分布,17个扇区总容量为248 KB,剩下的8 KB存储空间为Boot扇区。Boot扇区位于Flash存储系统的顶端部分,地址空间是0x0003 EO00~0x0003FFFF。LPC2124存储系统的地址分配如图1所示。
Boot Block占用第17扇区,即Boot扇区。该扇区的存储空间专用来存放B00t装载程序,控制复位后的初始化操作,并提供Flash的编程方法(代码)。B00t装载器可启动对空白片的编程、已编程器件的擦除和再编程以及在运行的系统中由应用程序对Flash存储器进行编程。
1.3 Flash存储系统的编程
LPC2124支持多种方式对Flash进行编程,用来写入用户代码或数据。第一种是通过内置的串行JTAG接口;第二种是通过UART0进行在系统编程(ISP);第三种是通过在应用编程(IAP)实现。
1.3.1 JTAG编程
LPC2124的JTAG Flash编程可方便下载程序到片内Flash,但JTAG接口更主要的是提供硬件系统调试功能,诸如实现软件的断点、单步。JTAG Flash编程要中断应用软件的正常运行,连线较多,通信距离较短,而且要现场编程,只适应于产品在开发期的调试使用。
1.3.2 在系统编程
ISP(In-Svstam Programming)技术,即在系统可编程技术,是指电路板上的空白器件可以编程写入最终用户代码,而无需从电路板上取下器件;已编程的器件也可用ISP方式擦除或再编程。LPC2124支持ISP的Flash编程,但要巾止应用软件的正常运行,且需要提供一定的硬件资源+包括UARTO口、RS232驱动和CPU特殊引脚的状态;编程要求现场操作,非常适用于便携式智能仪器的升级,但显然不适用于用电监测终端这类安装环境特殊的设备。ISP编程原理详见参考文献。
1.3.3 在应用编程
在应用编程IAP(In-Application Programming)是应用在F1ash程序存储器的一种编程模式。简单地说就是在应用程序控制下,对程序某段存储空间进行读取、擦除或写入操作。与ISP操作非常相似。具有在线编程功能,且克服了ISP的不足之处。它可以在应用程序正常运行的情况下对另外一段程序Flash进行读/写操作,甚至可以控制对某段、某页甚至某个字节的读/写操作。这为数据存储和固件的现场升级带来了极大的灵活性。
2 IAP功能的硬件设计
基于LPC2124的以上3种编程方法的分析,IAP实现对终端程序升级自然是最佳选择方案。下面介绍一种基于GPRS的远程IAP系统方案,系统框图如图2所示。
AT45DB08081B,8Mb串行flash存储器,兼有ROM的掉电数据保存和RAM的读/写速度,最快支持20MHz的时钟频率,擦写次数达10000次,内置2个264字节SRAM缓冲器,使得对主存储体的编程可以连续进行,省去编程等待时间。AT45DB081B采用CASON-8封装,支持2.5~3.6 V低电压,操作功耗低,支持模式O和3的SPI总线接口,与MCU接口简单,稳定可靠,非常适用于数字语音、图像、程序代码和数据的存储应用中。在本设计中采用模式0与LPC2124通信,速度可达MCU主频的1/8。
GPRS模块使用Wavecom公司生产的Q2406B,双频GPRS/GSM模块(EGSM900/1800 MHz或EGSM900/l900 MHz),内置TCP/IP,与标准AT指令完全兼容;其设计开发符合ETSI GSM Phase 2+标准。
ARM MCU 仿真 ADC PWM 电路 电压 总线 C语言 嵌入式 相关文章:
- 基于GPRS网络的GPS图形导航仪 (01-05)
- 基于ARM9内核Processor对外部NAND FLASH的控制实现(07-12)
- 基于ARM的局域网IP电话设计(05-11)
- Actel和ARM联合开发专为FPGA应用而优化的高性能32位处理器(02-26)
- 基于ARM的定时继电器驱动模板的设计(08-04)
- 基于ARM平台的GPRS CQT测试系统的设计(08-10)