0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于GPRS网络传输的终端固件升级系统设计

电子设计 2018-09-17 09:51 次阅读

设计基于中国移动GPRS无线网络,以C8051F340单片机为核心,GSM/GPRS/EDGE无线模块MC75作为通信模块开发的网络测试终端设备。当该终端设备的固件需要升级时,在远程服务器端开启FTP服务器并与终端建立连接,终端从该FTP服务器上下载已更新的二进制升级文件并存储在外部Flash中,在主程序进行校验后跳转到升级程序段覆盖掉片内Flash中原有的固件程序,完成系统固件远程更新。

引言

嵌入式技术的迅速发展使得越来越多的嵌入式终端设备应用在人们的日常生活中,其中不乏应用在一些偏远地方,甚至工作在无人看管的场合下。人口比较稀少的地方,由于基站分布比较分散,加之人口比较稀疏,基站维护等操作常难以执行,这就需要在某些地方放置网络信号测试仪检测该地区的通信信号质量,并将该信息反馈到远程服务器。同时,由于硬件系统程序设计固有的局限性,固件程序的升级在所难免。针对实际情况,本文开发了网络信号测试仪的单片机远程升级系统。

1 系统硬件设计

整个系统以Silicon Labs公司推出的混合信号片上系统型单片机C8051F340作为核心控制单元,采用GSM/GPRS/EDGE无线模块MC75作为与远程服务器的通信模块,采用上海丽浪电子有限公司推出的R36模块作为GPS模块,通过GPS卫星接收RMC格式的导航电文供终端设备定位用。C8051F340单片机包含两个TTL电平的串行接口,分别与GPRS模块和GPS模块进行通信。GPRS模块可接收远程控制台发来的控制指令,并传输给单片机进行处理。系统总体框图如图1所示。

基于GPRS网络传输的终端固件升级系统设计

1.1 C8051F340介绍

C8051F340具有片内上电复位、VDD监视器、电压调整器、看门狗定时器时钟振荡器等内部资源,是真正能独立工作的片上系统。Flash存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许远程更新8051固件程序。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以降低功耗。

C8051F340的主要特点:

◆高速、流水线结构并与8051兼容的微控制器内核 (可达48 MIPS);

◆全速、非侵入式的在系统调试接口(片内);

◆精确校准的12 MHz内部振荡器和4倍时钟乘法器;

◆64 KB的片内Flash存储器,4532字节的片内RAM

◆硬件实现的SMBUS接口,2个增强型UART(TTL电平)、1个增强型SPI串行接口;

◆4个通用的16位定时器;

◆5个捕获/比较模块和具有看门狗定时器功能的可编程计数器/定时器阵列(PCA)。

1.2 单片机与GPRS模块通信电路设计

MC75模块是Siemens公司推出的第三代GSM/GPRS/EDGE无线模块。这种模块能处理高数据密集型多媒体设施,可以应用于全球的GSM网络。其主要特点为:

◆支持850 MHz、900 MHz、1 800 MHz、1 900 MHz四种频段;

◆E-GPRS下行速率可达460 kbps;

◆EDGE(E-GPRS)multi-slot ClasslO:

◆GPRS移动基站ClassB;

◆SMS及SMS蜂窝广播;

◆板载SIM卡捅槽或外接SIM卡读卡器,支持USB接口;

◆AT指令GSM07.05及GSM07.07;

◆输入电压为3.2~4.5 V,建议使用3.8 V±O.2 V。

C8051F340与MC75模块的通信电路如图2所示。

基于GPRS网络传输的终端固件升级系统设计

1.3 单片机与串行FIash接口设计

C8051F340内部有64 KB的Flash,而整个系统程序为40 KB左右,为了实现远程升级功能,需将更新的程序存储在外部扩展Flash中。在此选用了Atmel公司的串行Flash,型号为AT45DBl61D。其电压工作范围为2.7~3.6 V,快速串行接口工作频率最高可达到66 MHz,空间大小为17 301 504位,由4096页组成(每页包含512字节或者528字节)。除了主存储器外,它还包括2片512或528字节的静态随机存储单元。在本系统设计中,AT45DB161D可存储系统中所需的一些网络信号参数,以便经过GPRS网络传递给远程主机;另外,还可以存储远程服务器发送的二进制升级文件。其与C8051F340的接口电路如图3所示。

基于GPRS网络传输的终端固件升级系统设计

2 系统软件设计

该终端设备在工作期间,会收到远程服务器发送来的一系列控制命令,如测试周围附近的网络信号指令,给某个手机拨打电话并记录通话状态下的信号指令等。这些操作都是由单片机通过串口发送给GRPS模块的AT指令实现的。例如SEND String(”AT-SMONC\r”),单片机将“AT-SMONC”这条命令通过串口发送给GPRS模块,该模块可自动测得主小区及相邻小区的信号指令数据,并通过串口发送给单片机以供其处理。同样,单片机可接收到远程升级指令,从而启动远程升级功能。

2.1 升级系统软件设计

本系统软件由两部分组成:主程序和升级程序,分别对应于Main工程和Update工程。Main工程负责与远端服务器进行通信,接收服务器发送的指令并进行相应操作;而Update工程编译、链接时,在其编译器链接选项中设置CODE(OxE000,PR?MAIN?UPDATE(0xE000)),可将Upd-ate工程编译、链接后生成的hex文件烧写到单片机内部Flash以0xE000作为起始地址处,同时默认地将Main工程编译、链接生成的二进制文件烧写到内部Flash的起始地址处。单片机在执行主程序过程中,检测到升级标志置1后,单片机跳转到升级程序地址处执行固件升级程序;升级完毕后,复位单片机,程序又从内部Flash的零地址开始执行更新的固件程序。图4为主程序流程,图5为相应的固件升级程序流程。主程序在运行过程中受远程服务器的实时控制。当固件程序需要更新时,在服务器端将准备更新的固件编译、链接后生成的hex或bin文件放入某一固定目录内,启用FTP服务器(如FtpMan),通过TCP/IP协议发送远程升级指令给测试终端;终端收到升级指令后启动相应的FTP接收功能,将远端文件分解成多个数据包并逐个存储在外部Flash中;存储完毕后,主程序会对该接收文件进行CRC校验,若校验无误,则通过函数指针跳转到升级程序功能区,启动升级程序,将二进制文件从外部Flash中转移到内部Flash对应的地址空间中去。单片机复位重启后,就可以从内部Flash的起始地址处执行更新完毕的程序。

基于GPRS网络传输的终端固件升级系统设计

基于GPRS网络传输的终端固件升级系统设计

2.2 函数指针应用

当主程序检测到升级标志后,主程序跳转到升级程序地址处执行升级固件程序,此处使用了函数指针的功能。

结语

本文设计了基于GPRS网络传输的终端固件升级系统,给出了合理的芯片选型,以及独立的固件升级程序。该升级系统已应用到实际产品应用中,并取得了很好的效果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620821
  • GPRS
    +关注

    关注

    21

    文章

    980

    浏览量

    128615
  • 通信模块
    +关注

    关注

    2

    文章

    123

    浏览量

    32915
收藏 人收藏

    评论

    相关推荐

    EtherCAT总线如何对从站固件进行升级

    EtherCATFOE是一种主站对从站设备固件升级的技术,通过利用EtherCAT的数据链路层来处理数据实现文件传输,可以确保文件传输的完整性和准确性,为设备的维护、
    的头像 发表于 02-27 08:23 179次阅读
    EtherCAT总线如何对从站<b class='flag-5'>固件</b>进行<b class='flag-5'>升级</b>?

    基于GPRS的无线数据传输嵌入式系统设计

    电子发烧友网站提供《基于GPRS的无线数据传输嵌入式系统设计.pdf》资料免费下载
    发表于 10-27 10:25 0次下载
    基于<b class='flag-5'>GPRS</b>的无线数据<b class='flag-5'>传输</b>嵌入式<b class='flag-5'>系统</b>设计

    基于ARM的GPRS无线数据传输监控系统设计

    电子发烧友网站提供《基于ARM的GPRS无线数据传输监控系统设计.pdf》资料免费下载
    发表于 10-27 09:41 0次下载
    基于ARM的<b class='flag-5'>GPRS</b>无线数据<b class='flag-5'>传输</b>监控<b class='flag-5'>系统</b>设计

    基于ARM与GPRS的无线数据传输系统的设计

    电子发烧友网站提供《基于ARM与GPRS的无线数据传输系统的设计.pdf》资料免费下载
    发表于 10-27 09:15 0次下载
    基于ARM与<b class='flag-5'>GPRS</b>的无线数据<b class='flag-5'>传输</b><b class='flag-5'>系统</b>的设计

    基于GPRS的嵌入式无线数据传输终端的设计

    电子发烧友网站提供《基于GPRS的嵌入式无线数据传输终端的设计.pdf》资料免费下载
    发表于 10-27 09:12 0次下载
    基于<b class='flag-5'>GPRS</b>的嵌入式无线数据<b class='flag-5'>传输</b><b class='flag-5'>终端</b>的设计

    基于GPRS的无线数据传输系统的研究与设计

    电子发烧友网站提供《基于GPRS的无线数据传输系统的研究与设计.pdf》资料免费下载
    发表于 10-27 09:10 0次下载
    基于<b class='flag-5'>GPRS</b>的无线数据<b class='flag-5'>传输</b><b class='flag-5'>系统</b>的研究与设计

    嵌入式GPRS无线数据传输系统实现及应用

    电子发烧友网站提供《嵌入式GPRS无线数据传输系统实现及应用.pdf》资料免费下载
    发表于 10-26 11:11 0次下载
    嵌入式<b class='flag-5'>GPRS</b>无线数据<b class='flag-5'>传输</b><b class='flag-5'>系统</b>实现及应用

    基于ZigBee网络GPRS的数据采集传输系统设计

    电子发烧友网站提供《基于ZigBee网络GPRS的数据采集传输系统设计.pdf》资料免费下载
    发表于 10-26 10:21 0次下载
    基于ZigBee<b class='flag-5'>网络</b>与<b class='flag-5'>GPRS</b>的数据采集<b class='flag-5'>传输</b><b class='flag-5'>系统</b>设计

    基于GPRS网络的医疗监护系统

    电子发烧友网站提供《基于GPRS网络的医疗监护系统.pdf》资料免费下载
    发表于 10-25 09:18 0次下载
    基于<b class='flag-5'>GPRS</b><b class='flag-5'>网络</b>的医疗监护<b class='flag-5'>系统</b>

    Ethernet远程固件升级

    本实验工程实现了Ethernet远程固件升级, 通过编译下载工程到STM32F769 Flash bank1并执行,能够实现从远程服务器下载程序到Flash bank2中做固件升级,并
    发表于 09-11 06:00

    ip网络数字广播音频点播终端 IP广播网络音频解码播放终端

    网络音频解码终端 校园IP网络广播语音考试听力终端 ip网络数字广播音频点播终端 IP广播
    的头像 发表于 07-10 09:14 651次阅读
    ip<b class='flag-5'>网络</b>数字广播音频点播<b class='flag-5'>终端</b>  IP广播<b class='flag-5'>网络</b>音频解码播放<b class='flag-5'>终端</b>

    【产品应用】DTU传输终端CATCOM-100的远程固件升级

    起初,工程师更新设备固件需要到安装场地进行,很不方便。现在DTU传输终端CATCOM-100具有OTA升级功能,在云端就能将新固件通过无线
    的头像 发表于 07-08 10:00 344次阅读
    【产品应用】DTU<b class='flag-5'>传输</b><b class='flag-5'>终端</b>CATCOM-100的远程<b class='flag-5'>固件</b><b class='flag-5'>升级</b>

    【产品应用】DTU传输终端CATCOM-100的远程固件升级

    起初,工程师更新设备固件需要到安装场地进行,很不方便。现在DTU传输终端CATCOM-100具有OTA升级功能,在云端就能将新固件通过无线
    的头像 发表于 07-07 11:40 398次阅读
    【产品应用】DTU<b class='flag-5'>传输</b><b class='flag-5'>终端</b>CATCOM-100的远程<b class='flag-5'>固件</b><b class='flag-5'>升级</b>

    启明FOTA差分升级 系统级解决方案

    “你的设备远程升级可以不再是升级整个固件。启明提供了一套完整的差分升级算法,升级固件更小、下载速
    的头像 发表于 06-05 09:40 1101次阅读
    启明FOTA差分<b class='flag-5'>升级</b> <b class='flag-5'>系统</b>级解决方案

    固件升级的设计

    在一些项目交期比较急的情况下,可以先把基本功能做出来,加入固件升级的功能,后续即使发现重大BUG,也不用返厂更新固件,只需要把加密固件发给客户自行更新,也可以使用物联网的方式进行远程
    的头像 发表于 05-17 16:17 808次阅读
    <b class='flag-5'>固件</b><b class='flag-5'>升级</b>的设计