【经验】一种GPRS燃气表远程OTA升级的方法

2018-06-26 世强
单片机,MCU,GPRS 模块,A9500 单片机,MCU,GPRS 模块,A9500 单片机,MCU,GPRS 模块,A9500 单片机,MCU,GPRS 模块,A9500

燃气表安装在用户家中,使用寿命10年。如果固件出现问题,需要升级。将燃气表拆下,返厂升级,成本太高。笔者在一个GPRS燃气表项目中应用一种远程OTA升级的方法,解决上述问题。


GPRS燃气表项目远程OTA升级方案




在燃气表OTA升级方案中,主要有3部分主要内容。一是单片机要选择大Flash的,要分出两块大的存储区域用于存储应用程序1和应用程序2;二是燃气表在出厂时要烧写2个程序,分别是bootloader程序和默认的应用程序1,bootloader程序下载地址在最前面,最先被执行; 三是要有时钟模块和GPRS模块。时钟模块用于定时唤醒单片机启动GPRS通讯,GPRS模块与后台服务器通讯下载最新的应用程序。OTA升级的关键在于,如果正在执行应用程序1,那么升级包要下载到应用程序2的Flash区域中。如果正在执行应用程序2,那么升级包要下载到应用程序1的Flash区域中。避免下载中途失败造成系统瘫痪。


GPRS燃气表项目远程OTA升级

1、Flash分区

将单片机Flash分成编号为1—4的4块区域,1号区域为单片机的bootloader程序,上电后第一个被执行。2号区域用于存储燃气表一些参数,定义其中一个字节用于标识应该执行应用程序的位置。例如0x01执行应用程序1,0x02执行应用程序2。3号区域为应用程序1,4号区域为用户应用程序2。


例如GPRS燃气表的应用程序一般不会超过50K,选用128KFlash的单片机,1号区域分配8K,地址为0x8000000—0x8001FFF;2号区域分配20K,地址为0x8002000—0x8006FFF;3号区域分配50K,地址为0x8007000—0x80137FF;4号区域分配50K,地址为0x8013800—0x801FFFF。


2、 出厂程序烧写顺序和执行顺序

燃气表出厂程序烧写顺序为:单片机首先烧写bootloader程序,bootloader程序烧写起始地址为0x8000000,大小不能超过8K;再烧写应用程序1,应用程序1烧写起始地址为0x8007000,大小不能超过50K。


燃气表上电执行顺序为:燃气表上电首先执行起始地址为0x8000000的bootloader程序,bootloader程序从2号区域中读取“用于标识应该执行应用程序的位置”的字节,如果是0x01程序指针跳转到0x8007000执行应用程序1,如果是0x02程序指针跳转到0x8013800执行应用程序2,燃气表首次出厂时,标识字节读出默认为“0xFF”,bootloader程序判断如果是“0xFF”跳转到0x8007000执行应用程序1,并将标识字节写成 “0x01”。


3、OTA升级顺序为:

燃气表定时连接后台服务器,服务器查看是否有高版本的燃气表固件程序(BIN文件格式)。如果有服务器下发OTA升级请求指令,燃气表回复准备好。服务器将程序包分包采用一问一答的形式下发, 最后一包结束后,服务器下发OTA升级结束指令,燃气表收到结束指令后,重新启动,执行新版本的应用程序。


燃气表在OTA升级前,读取“用于标识应该执行应用程序的位置”的字节,如果是0x01,将升级包写在起始地址为0x8013800的4号Flash区域,并将标识字节写成 “0x02”;如果是0x02,将升级包写在起始地址为0x80070000的3号Flash区域,并将标识字节写成 “0x01”;每次写标识字节必须确保收到服务器下发OTA升级结束指令。


服务器每次升级燃气表交替将程序下载到Flash 3区和4区,重启后通过读取标识字节,执行最新升级的应用程序。这样保证即本次升级不成功,也会保持老版本程序运行。


GPRS燃气表项目远程OTA升级模块选型

在OTA升级这个项目中,最主要的功能模块是单片机和GPRS模块,对这两部分模块选型如下: 

1、单片机

在笔者参与的该项目中,对MCU主要是Flash大小、RTC、LCD驱动、UART和低功耗的要求,具体如下:

1) Flash:GPRS燃气表的应用程序一般不会超过50K, 2套应用程序加上bootloader和存储参数的区域,Flash的大小应在128(KB)~256(KB)。

2)支持UART接口,与物联网模块通讯;

3)支持RTC,定时连接后台服务器;

4)支持低功耗模式;燃气表电池供电要工作一年以上;

5) 支持LCD驱动,至少4*32段;


针对上述要求,笔者选择了SILICON LABS EFM32LG880F128-QFP100。经过对功能的比较确认,这款MCU可以很好的满足控制器对MCU的要求。


EFM32LG880F128-QFP100具体相关参数如下:

1)Flash 128 KB;
2)UART 2个;

3)支持RTC;

4)低功耗模式:0.4 µA @ 3 V 关断模式RTC运行 ;  0.95 µA @ 3 V 深度睡眠模式;

5)支持LCD驱动 8*32;

另外EFM32LG880F128-QFP100有很好的扩展性。EFM32LG880F256-QFP100的Flash是256K,如果2套应用程序比较大,可以考虑。


2、GPRS模块

对GPRS模块主要是高可靠性、小尺寸和低功耗的要求。笔者在设计中选择LONGSUNGA9500模块。A9500是基于高通 MDM9206的LTE CatM / CatNB1蜂窝模块,专为全球IOT和M2M市场而设计。 A9500是一款高性价比、有竞争力的模组产品。 产品具有以下的重要特点:

· 小尺寸的LCC封装:产品的尺寸仅为26.0×24.0×2.5mm,小尺寸的模组可减小最终产品的尺寸,提高产品集成度。

· 高可靠性

· 关机漏电流:50uA


A9500 LTE/NB-IOT模块可为燃气表OTA升级提供无线数据传输通道, 将燃气表的相关参数和状态数据上传到无线网络,到燃气公司实现云端存储和管理。利用龙尚的A9500,实现了燃气表的联网,将终端用户和燃气公司进行了有效链接。

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 1

本文由铮铮提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(1

  • 用户50283199 Lv7. 资深专家 2020-09-26
    这个不错
没有更多评论了

相关推荐

【应用】芯科科技高性能8位单片机EFM8BB31F32G用于音频放大器,集成多达四个12位DAC

本文介绍Silicon Labs 8位单片机EFM8BB31F16G-D-QFN24R用于音频放大器,优势:最高工作频率50MHz,稳定性好;集成一个12位ADC、四个具备同步和PWM功能的12位DAC;FLASH从16KB~64KB可选等。

2022-09-20 -  应用方案 代理服务 技术支持 批量订货

【经验】从低功耗角度比较32位单片机EFM32和STM32

Silicon Labs 32位单片机EFM32是世界上功耗最低的单片机之一,比目前市场上所有通用MCU的功耗都要低,本文通过跟目前最流行的MCU之一由ST推出的STM32L系列低功耗MCU进行比较,来向读者展示EFM32系列32位MCU的低功耗性能。

2018-11-14 -  设计经验 代理服务 技术支持 批量订货

【经验】Silicon Labs 8位单片机EFM8BB21 GPIO输出配置与调试

Silicon Labs 创新型8位MCU提供完全集成的体验,非常适合物联网应用,提供了也接最快的速度和最低的功耗,同时EFM8系列车用8位MCU为当前市场上最具价值、最灵活和集成度更高的车载MCU。 GPIO为单片机中最常使用的功能,本文将以P0.0端口为例分享EFM8BB21的GPIO输出配置与调试。

2019-07-14 -  设计经验 代理服务 技术支持 批量订货

C8051F93x-C8051F92x单/双电池,0.9–3.6 V,64/32 kB,智能时钟,10位ADC MCU

描述- 该资料详细介绍了C8051F93x-C8051F92x系列单/双电池供电的微控制器(MCU),包括其供电电压范围、内置功能、模拟和数字外设、存储器组织、时钟源、封装类型和温度范围。资料涵盖了产品的主要特性和应用领域,旨在为工程师提供全面的技术信息。

型号- C8051F930-G-GQ,C8051F920-G-GM,C8051F931,C8051F920,C8051F921,C8051F930-G-GM,C8051F93X,C8051F920-G-GQ,C8051F921-G-GM,C8051F92X,C8051F931-G-GM,C8051F930

11/13  - SILICON LABS  - 数据手册  - Rev. 1.4 代理服务 技术支持 批量订货

【经验】8位单片机EFM8系列的SFR Page操作

Silicon Labs的8位单片机EFM8系列,集成丰富的外设,高性能,小封装。软件开发时,由于外设多,寄存器操作引入了SFR Page机制,注意SFR Page设置,防止程序错误,让EFM8系列芯片设计出稳定的优质产品。

2019-04-17 -  设计经验 代理服务 技术支持 批量订货

【经验】芯科科技单片机EFM32PG22的ADC采样如何使用LDMA传输大于2048个数据?

EFM32PG22使用LDMA传输ADC的采样数据,可以在MCU休眠下进行,从而降低MCU功耗,是比较好的应用方式。但是LDMA的计数器最多只能计数2048,限制了LDMA的一次性传输数据大小,本文介绍如何打破LDMA传输大小的限制。

2023-07-01 -  设计经验 代理服务 技术支持 批量订货

C8051F58x C8051F59x混合信号ISP Flash MCU系列

描述- 本资料详细介绍了C8051F58x/F59x系列混合信号ISP闪存微控制器的特性、功能和应用。资料涵盖了系统概述、订购信息、引脚定义、封装规格、电气特性、模拟和数字外设、存储器组织、中断、闪存、电源管理、复位源、外部数据内存接口、振荡器和时钟选择、端口输入/输出、LIN、CAN、SMBus、UART、SPI、定时器、可编程计数器阵列(PCA)、C2接口等内容。

型号- C8051F590,C8051F581,C8051F580,C8051F591,C8051F583,C8051F582,C8051F585,C8051F584,C8051F59X,C8051F587,C8051F586,C8051F589,C8051F58X,C8051F588

9/24  - SILICON LABS  - 数据手册  - Rev. 1.7 代理服务 技术支持 批量订货

【经验】一招教你延长单片机的Flash擦写寿命

在单片机开发应用中,工程师经常会遇到需要在单片机内部Flash的某个区域保存和读取一些数据,而这些数据在应用中可能会经常变化,因而需要对Flash的数据经常更新。本文就以Silicon Labs的8位单片机EFM8SB10F8G为例,教大家如何延长单片机的Flash擦写寿命。

2018-04-06 -  设计经验 代理服务 技术支持 批量订货

C8051F300/1/2/3/4/5混合信号ISP-Flash单片机系列

描述- 本资料介绍了C8051F300/1/2/3/4/5系列混合信号系统级单片机(MCU)的特性。该系列MCU具备高速流水线式8051内核,支持在系统内非侵入式全速调试,具有真正的8位500 ksps 11通道ADC、可编程增益放大器和模拟多路复用器,内置精确的可编程25 MHz内部振荡器,高达8 KB的片上闪存内存,256字节片上RAM,硬件实现的SMBus/I2C和增强型UART串行接口,三个通用16位定时器,可编程计数器/定时器数组(PCA),带有三个捕获/比较模块和看门狗定时器功能。

型号- C8051F302 FAMILY,C8051F303 FAMILY,C8051F304 FAMILY,C8051F301 FAMILY,C8051F300-GM,C8051F303-GM,C8051F301-GM,C8051F302-GM,C8051F304-GM,C8051F305-GM,C8051F305,C8051F300-GS,C8051F304,C8051F301-GS,C8051F303-GS,C8051F302-GS,C8051F304-GS,C8051F305-GS,C8051F300 FAMILY,C8051F305 FAMILY,C8051F301,C8051F300,C8051F303,C8051F302

3/22  - SILICON LABS  - 数据手册  - REV 3.0 代理服务 技术支持 批量订货

C8051F930-G1DI经过测试的单/双电池、0.9–3.6 V、64 kB闪存、SmartClock、10位ADC MCU晶片

描述- 本资料介绍了C8051F930-G1DI微控制器(MCU)的详细规格和应用。该产品是一款低功耗、高集成度的单/双电池供电型MCU,适用于多种应用场景。它具备丰富的数字外设接口、模拟功能和高性能的8051内核。

型号- C8051F930-G-GDI,C8051F930-G1DI,C8051F930G,C8051F930-G-G1DI

3/23  - SILICON LABS  - 数据手册  - Rev. 1.4 代理服务 技术支持 批量订货

Silicon Labs C8051单片机如何读写FLASH?有没有程序案例?

可以安装 Simplicity Studio软件,就有C8051单片机读写FLASH的例程,可以参考下面的文章:如何将EFM8系列MCU的FLASH用作EEPROM?

2019-01-10 -  技术问答 代理服务 技术支持 批量订货

为了提高EFM32单片机AD采样的实时性并降低功耗,在RTC中断中打开AD,并设置MCU进入EM1模式下进行AD采样,但功耗并没有降低,是什么原因?

测试发现在RTC中断中,EFM32单片机并没有进入EM1模式,设置EM1模式无效;由于在RTC中断中,RTC定时事件一直存在,所以导致进入EM1模式失败。为了实现AD采样的实时性以及低功耗,可以在RTC中断中开启AD,并在退出RTC中断之后在主程序中通过判断AD采样的标志来设置MCU进入EM1睡眠模式,以此来降低功耗。

2016-10-25 -  技术问答 代理服务 技术支持 批量订货

【经验】如何使用芯科的单片机EFM32PG23的内部温度传感器

EFM32PG23内部集成一个温度传感器,可以采集芯片的温度,用于时钟、ADC等校准,也可以用于过温报警等功能。由于手册对温度传感器的介绍比较少,并没有详细介绍温度传感器的使用步骤,导致研发时,不清楚怎么使用EFM32PG23内部的温度传感器。本文将详细介绍。

2023-04-17 -  设计经验 代理服务 技术支持 批量订货

EFM32单片机与stm32单片机是pin对pin对换的嘛

EFM32系列单片机,是Silicon Labs提供的基于ARM-Cortex核、超低功耗MCU。关于管脚兼容情况,要视不同型号而定。具体可参考如下资料:https://www.sekorm.com/doc/62781.html 《【选型】Silicon Labs(芯科科技) EFM32 32位MCU选型指南》

2018-10-29 -  技术问答 代理服务 技术支持 批量订货

可做ST MCU备选方案的Silicon Labs(芯科)小蜜蜂单片机EFM8

Silicon Labs的EFM8BB1以及 EFM8BB2都是ST MCU的备选方案。其有集成度高、体积小、功耗低和优越的节电模式等特点,是成本敏感型的嵌入式系统和便携式设备等应用的理想选择。

2018-06-02 -  新产品 代理服务 技术支持 批量订货
展开更多

电子商城

查看更多

品牌:LONGSUNG

品类:无线通信模块

价格:¥58.8000

现货: 20

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.5305

现货: 85,765

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.9026

现货: 83,555

品牌:SILICON LABS

品类:8位MCU

价格:¥5.8534

现货: 71,919

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥12.9143

现货: 61,558

品牌:SILICON LABS

品类:8位MCU

价格:¥8.1764

现货: 41,397

品牌:SILICON LABS

品类:8位MCU

价格:¥14.1226

现货: 29,699

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥4.3667

现货: 27,741

品牌:SILICON LABS

品类:8位MCU

价格:¥4.4595

现货: 26,040

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥5.0172

现货: 24,300

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:SILICON LABS

品类:8位MCU

价格:¥39.8000

现货:266

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。

最小起订量: 1pcs 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面