0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >通信与网络 > 基于LPC2124芯片和GPRS网络+AT45DB08081B实现终端系统程序的远程升级设计方案

基于LPC2124芯片和GPRS网络+AT45DB08081B实现终端系统程序的远程升级设计方案

来源: yibeiic
2022-07-27
类别:通信与网络
eye 17
文章创建人 拍明芯城

原标题:基于LPC2124芯片和GPRS网络实现终端系统程序的远程升级设计方案

基于LPC2124芯片和GPRS网络+AT45DB08081B实现终端系统程序的远程升级设计方案

1. 引言

随着物联网(IoT)的快速发展,远程升级已经成为终端系统的一个重要功能。它不仅能显著降低维护成本,还能提高系统的灵活性和可用性。本文将介绍一种基于LPC2124微控制器、GPRS网络和AT45DB08081B闪存芯片实现远程程序升级的设计方案。

image.png

2. 系统概述

该系统的核心组件包括:

  • LPC2124微控制器:作为系统的主控单元,负责接收和处理远程升级数据。

  • GPRS模块:通过GPRS网络实现与远程服务器的通信。

  • AT45DB08081B闪存芯片:用于存储新的固件程序。

系统结构图如下所示:

+--------------------+        +-----------------+        +--------------------+
|                    |        |                 |        |                    |
|   远程服务器       |<------>|     GPRS模块    |<------>|    LPC2124微控制器  |
|                    |        |                 |        |                    |
+--------------------+        +-----------------+        +--------------------+
                                                          |
                                                          |
                                                          v
                                              +--------------------+
                                              |    AT45DB08081B   |
                                              |    闪存芯片        |
                                              +--------------------+

3. 硬件设计

3.1 LPC2124微控制器

LPC2124是NXP(原飞思卡尔)公司生产的一款基于ARM7TDMI-S核心的32位微控制器,具有以下主要特点:

  • 高达60 MHz的工作频率。

  • 128 KB的片内闪存和16 KB的片内SRAM。

  • 多达46个GPIO端口,支持多种通信接口(如UART、SPI、I2C等)。

  • 多种电源管理模式,适用于低功耗应用。

在本设计中,LPC2124的主要作用是:

  • 通过UART接口与GPRS模块进行通信,接收远程服务器发送的升级数据。

  • 通过SPI接口与AT45DB08081B闪存芯片通信,将接收到的新固件写入闪存。

  • 在升级过程中,负责校验固件的完整性和正确性,并在升级完成后重新启动系统,加载新固件。

3.2 GPRS模块

GPRS模块用于实现远程数据通信。在本设计中,常用的GPRS模块型号有SIM800C、SIM900A等。其主要功能包括:

  • 通过GPRS网络与远程服务器建立连接。

  • 接收并转发远程服务器发送的固件数据。

  • 通过AT命令与LPC2124进行通信。

3.3 AT45DB08081B闪存芯片

AT45DB08081B是Adesto Technologies公司生产的一款8 Mbit的闪存芯片,支持SPI接口通信。其主要特点包括:

  • 高速读写操作,最大写入速度为33 MHz。

  • 具备数据保护功能,防止数据在意外断电时丢失。

  • 支持多种工作模式(如标准SPI模式、快速读取模式等)。

在本设计中,AT45DB08081B的主要作用是存储从远程服务器接收到的新固件。LPC2124通过SPI接口将新固件写入该芯片,并在系统重启时从该芯片读取新固件进行加载。

4. 软件设计

4.1 主控程序

主控程序运行在LPC2124微控制器上,其主要功能包括:

  • 初始化UART和SPI接口,建立与GPRS模块和闪存芯片的通信。

  • 接收来自GPRS模块的固件数据,并通过SPI接口写入AT45DB08081B闪存芯片。

  • 校验固件数据的完整性,确保数据传输过程中没有出现错误。

  • 在升级完成后重启系统,并从闪存芯片加载新固件。

以下是主控程序的简化流程图:

开始
|
V
初始化UART和SPI接口
|
V
通过UART与GPRS模块建立连接
|
V
接收固件数据并写入AT45DB08081B
|
V
校验固件数据完整性
|
V
固件校验通过?
|      
否        是
|         |
V         V
报告错误  重启系统
         |
         V
       从闪存芯片加载新固件
         |
         V
        结束

4.2 GPRS模块通信

GPRS模块通过AT命令与LPC2124微控制器进行通信。典型的通信过程如下:

  1. 初始化GPRS模块,设置工作模式。

  2. 通过AT命令与远程服务器建立TCP连接。

  3. 接收服务器发送的固件数据,并通过UART接口传递给LPC2124。

4.3 闪存操作

LPC2124通过SPI接口与AT45DB08081B进行通信,主要涉及以下操作:

  • 写入数据:将接收到的固件数据写入闪存芯片的指定地址。

  • 读取数据:在系统重启后,从闪存芯片读取固件数据进行加载。

  • 校验数据:在写入数据后,读取并校验数据的完整性,确保数据传输过程中没有出现错误。

5. 远程升级流程

整个远程升级过程包括以下几个步骤:

  1. 固件准备:开发人员在远程服务器上准备好新固件,并生成固件校验码。

  2. 连接建立:LPC2124通过GPRS模块与远程服务器建立连接。

  3. 数据传输:远程服务器将固件数据发送到LPC2124,LPC2124将接收到的数据写入AT45DB08081B闪存芯片。

  4. 数据校验:LPC2124对写入的固件数据进行校验,确保数据传输的完整性。

  5. 系统重启:校验通过后,LPC2124重启系统,并从闪存芯片加载新固件。

6. 设计实现

6.1 硬件连接

硬件连接图如下所示:

+-------------------+     UART     +-------------+
|                   |<------------>|             |
|     LPC2124       |              |  GPRS模块   |
|                   |              |             |
+-------------------+              +-------------+
      |
      |
    SPI
      |
      |
+-------------------+
|                   |
|   AT45DB08081B    |
|                   |
+-------------------+

6.2 主控程序实现

主控程序的主要代码如下:

#include <LPC21xx.h>
#include "UART.h"
#include "SPI.h"
#include "Flash.h"

void main() {
   UART_Init();
   SPI_Init();
   Flash_Init();

   if (GPRS_Connect()) {
       while (GPRS_ReceiveData()) {
           Flash_WriteData();
       }

       if (Flash_VerifyData()) {
           System_Reset();
       } else {
           UART_SendError();
       }
   }
}

7. 结论

本文详细介绍了一种基于LPC2124微控制器、GPRS网络和AT45DB08081B闪存芯片实现终端系统远程升级的设计方案。该方案具有较高的实用性和可靠性,适用于各种物联网终端设备的远程升级需求。通过实际应用,可以显著降低系统维护成本,提高系统的灵活性和可用性。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告