单片机程序远程升级的研究与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文献标识码:B
文章编号:1003- 0107(2011)12- 0053- 05
Abstract: Considering the difficulties of the software upgrading and maintenance of data acquisition ter-
minal,a remote upgradable data acquisition terminal is designed.The terminal can communicate with
Key w ords: remotely upgrading;MCU (Micro Controller Unit);GPRS (General Packet Radio Service);
MC37I
CLC num ber:TP368.2
Docum ent code:B
Article ID:1003- 0107(2011)12- 0053- 05
单片机技术的不断发展,编程技术也有了很大的改 进,不少单片机都具有自编程功能,比如 Atmel 公司生产 的 AVR 系列单片机。本文在 AVR 单片机的基础上,采用 西门子公司 GPRS 模块 MC37I 无线网络接入方案,实现
了远程升级的软硬件设计。 1 系统简介
图 1 系统原理框图
如图 1 所示,单片机的远程升级系统可以分为单 片机系统、客户端、服务器三个部分。单片机系统即需
摘 要:随着微控制技术的发展,单片机在工业领域得到广泛的应用,但是由于工作环境恶劣使得对单
片机的升级维护存在很大的困难。针对这种问题,提出了一种基于 GPRS(General Packet Radio Service)
的单片机远程升级的方案。单片机借助 GPRS(通用无线分组业务)模块连接到 Internet 上的服务器,远
Chen Xin1,Liu Hui- w ei1,Zhao Yan- ping1,Yang Chun- lai 2(1.Shanxi Province Power Company EHV Power Transmission Branch Company,Shanxi Taiyuan 030000;2.School of Control and Computer Engineering,North China Electric Power University,Hebei Baoding 071003)
53
电子质量 (2011 第 12 期)
单片机程序远程升级的研究与实现
要进行远程升级的微控制器系统,应具有 GPRS 联网的 功能。客户端是操作员对单片机系统进行升级的直接操 作终端,通过运行客户端程序,操作员可以看到连接到 服务器上的各微控制器系统,从而可以对其进行程序下 载校验工作。服务器是连接单片机系统与客户端的桥 梁,由于单片机与客户端都很难具备公网 IP,因此在 Internet 上,两者互不可见,需要借助于服务器才能进行 数据通讯。
连续在频道传输的方式不同,是以封包式来传输的,其 传输速率可以达到 56~114Kbps。
GPRS 模块是专为嵌入式设备接入 GPRS 无线网络 的一种集成模块。其内部具有射频发射和接收电路,嵌 入式设备可以通过 RS232 与 GPRS 模块连 接 ,接 入 GPRS 网络。
55
电子质量 (2011 第 12 期)
单片机程序远程升级的研究与实现
本系统采用西门子公司生产的 MC37I 模块,MC37I 是西门子公司推出的双频 GSM/GPRS 无线模块。MC37I 的特点包括:
(1)支持 GSM900 和 GSM1800 双频; (2)支持分时复用 Class10 级标准; (3)支持 SMS 短信、CSD 数据交换、语音通讯和传真; (4)支持标准的 AT 指令; (5)支持 3V,1.8V 的 SIM 卡。 MC37I 具有一个 SIM 接口、2 个模拟音频接口和 1 个数字音频接口、天线接口以及标准和辅助两个串行口。 本系统中只用到了模块的 SIM、天线和串行口接口。SIM 卡接口通过抽屉式 SIM 卡座连接中国移动标准手机卡, 天线接口外接 50 欧姆天线,两个串口分别用于连接 PC 和嵌入式设备。两个串行口都支持 AT 命令。在本设计 中,标准串行口用于连接 PC 机,PC 机可以用 MC37I 模 块作 Modem 拨号连接到 Internet;辅助串口用于与单片 机连接,单片机通过该串口拨号连接到 Internet。 标准串口共有 8 根信号线和一根地线,因此标准串 口有 8 路信号需要进行电平转换。本系统中选用了 MAXIM 公司生产的标准串口驱动芯片 MAX3238CAI。 MC37I 正常工作之前 IGT 引脚需要启动信号来启 动模块运行。IGT 启动信号必须在模块 BATT+ 达到 3.3V 之后维持低电平至少 100ms。为了避免有电流流入 到该引脚,设计中采用了集电极开路驱动电路。选用了 飞利浦公司生产的 NPN 晶体管 BC847,集电极直接接 到 MC37I,发射极连接到 GND,基极通过一个电阻连接 到单片机,由单片机控制产生启动信号。GPRS 模块电路 如图 3 所示。
单片机程序远程升级的研究与实现
电子质量 (2011 第 12 期)
单片机程序远程升级的研究与实现
Research and Realization of Upgrading Program of MCU
陈新 1,刘慧威 1,赵彦平 1,杨春来 (2 1.山西省电力公司超(特)高压输变电分 公司,山西 太原 030000;2.华北电力大学 控制与计算机工程学院,河北 保 定 071003)
程客户端通过访问服务器实现与单片机之间的数据通信。借助于单片机内部的自编程程序,即可实现
单片机程序的远程升级。介绍了单片机 Atmega128 的自编程原理以及 GPRS 模块的通信机理,并详细
说明了系统的软硬件设计。经过验证,方案运行可靠,稳定。
关键词:远程升级;单片机;GPRS;MC37I
中图分类号:TP368.2
the operation mode of GPRS modem named MC37i are introduced in detail.The hardware design and
the software are discussed.The system has been proved to be workable and stable.
通过编程 Boot 熔丝位使复位向量指向 Boot 区的起 始地址,这样在单片机复位后即开始运行 Boot 区的引 导程序。
在自编程的过程中,Z 指针与 RAMPZ 寄存器用于 SPM 命令的寻址。Z 指针是一个十六位的寄存器;而 RAMPZ 用于选择 Z 指针访问的是哪个 64K RAM,仅用 到了 8 位中的 1 位。由于 Flash 存储器是以页的形式组 织起来的,程序计数器可以看作由两部分构成:其一为 实现页内寻址的低位部分;其二为实现页内寻址的高位 部分。
54
单片机程序远程Βιβλιοθήκη 级的研究与实现电子质量 (2011 第 12 期)
图 2 主控制器电路
图 3 GPRS 模块电路
发的数据,便于开发。主控制器电路如图 2 所示。
2.2 GPRS 模块电路 GPRS(通用分组无线业务)是 GSM 移动电话用户可
用的一种移动数据业务。它通过利用 GSM 网络中未使 用的 TDMA 信道,提供中速的数据传递。GPRS 和以往
当数据传递完毕后,由单片机发送 AT 命令来断开 MC37I 与网关节点之间的连接,如果想再传递数据,还 需要重新拨号登录网关节点。
1.1 单片机自编程原理
Atmega128 单片机有128K 的 Flash,可以分为应用 程序 Flash 区和引导程序 Flash 区两部分,这两个区的 空间大小可以由熔丝位配置。应用程序和引导程序分别 存放在这两个区中。AVR 单片机提供了 SPM 和 LPM 两 条指令和一个寄存器 SPMCSR 专门进行自编程操作。 SPM 指令用于 Flash 写操作,可以实现页写、页擦除及写 锁定位。LPM 指令用于 Flash 页读操作。
单片机的程序开发,首先要在编译环境下,经过编 译生成十六进制文件,这个文件需要被下载到单片机的 程序存储器中,现在多为 Flash,然后单片机才能够执行 这个程序。通常,这个程序都是通过装在专用的编程工 具或者 JTAG 仿真器来实现。AVR 单片机具有自编程的 功能,通过保存在 Boot 区的引导程序,能够对 Flash 进 行自编程。十六进制文件通过串口传输到单片机,然后 经由引导程序将其写入到应用区 Flash 中。可以直接将 串口连接到上位机进行程序下载,当然这是传统的设计 方式。本设计中采用远程的方式,单片机与客户端之间 借助服务器建立网络连接,十六进制程序通过网络传输 至单片机,完成程序更新升级。
程序存储器的更新以页的方式进行。在编程页存储 器时首先需要将该页擦除,然后才能把临时页存储器中 存储的数据编程到这一页。SPM 指令每次写入一个字的 数据到临时页缓冲器。自编程过程可以分为三步:
(1)写临时页缓冲器; (2)执行页擦除操作;
2 硬件结构
2.1 主控制器电路
本系统采用 ATMEL 公司的高性能、低功耗的 8 位 微控制器 Atmega128 作为主控芯片。数据采集终端需要 与其他外设进行数据通讯,因此需要控制器具有 UART 接口、SPI 接口等常用外设接口。此外,控制器与 GPRS 模块之间的硬件连接也是由 UART 接口来实现的,这就 要求控制器具有两个独立的 UART 接口。远程升级的实 现还要求控制器具有对片内 Flash 进行自编程的功能, 综合考虑选用了 Atmega128 作为本系统的主控芯片。
sever on the internet via GPRS(General Packet Radio Service) modem.The client on the other side of in-
ternet will upgrade the terminal through the server.The theory of self- programming on Atmega128 and
该微控制器的特点如下: (1)先进的 RISC 结构,性能最高可达 16MIPS; (2)128K 字节的系统内可编程 Flash,4K 字节 EEPROM,4K 字节的内部 SRAM; (3)8 路 10 位 ADC 转换器,两路 8 位 PWM; (4)两个 UART 串行口,SPI 串行接口。 串口通讯采用 RS232 负逻辑电平,而 AVR 单片采 用正逻辑 TTL 电平,因此需要通过串口驱动芯片来完成 两者电平的转换。本系统中选用的是 MAXIM 公司生产 的 MAX3222EUE。MAX3222 可以转换成 4 路信号,包括 两路输入和两路输出信号。对于一般的三线制串口应 用,可以实现两路串口驱动。在本设计中,一路串口驱动 用于连接外部串口设备;另一路用于监视 GPRS 模块收
(3)执行页写操作。
1.2 GPRS 模块原理
MC37I 是西门子公司生产的一款 GPRS 模块,主要 为语音传输、短消息发送和数据业务提供无线接口,适 合开发一些 GPRS 的无线应用产品,如监控、调度、车载 和遥控等系统,也可以直接作为终端产品进行语音和数 据的传输[2]。
单片机首先发送一个启动信号给 MC37I,然后单片 机开始和 MC37I 进行数据通讯。首先需要配置模块参 数,配置完毕后单片机开始进行拨号尝试登录运营商网 关节点,单片机与网关节点之间的通信按 PPP 协议标准 进行。在登录过程中,网关节点会告知终端自己的 IP 地 址,并分配一个动态内网 IP 地址给终端。当成功登陆网 关节点之后,单片机就通过 GPRS 模块连接到了 Internet。此时,单片机发送的数据包全都透明地传递到 Internet,用户就可以与网络上的服务器通信了。
0 引言
随着现代微控制技术的快速发展,单片机等微控制 器在工业领域中的应用也越来越广泛。然而,受限于工业 现场比较恶劣,诸如高温、高压的工作环境,微控制器的 维护和升级工作显得异常困难,因此设计一套可以远程 维护和升级的微控制器应用方案就显得尤为重要。传统 的数据通讯方式有很多种,如 RS232,RS485,USB,等等, 但是由于受到传输距离和成本的限制,这些方式不能达到 设计的要求[1]。由于公网 IP 资源稀少,因此广域网的 Internet 传 输 成 本 高 昂 。 而 近 年 兴 起 来 的 GPRS(General Packet Radio Service)具有价格低廉、网络覆盖范围广、无线 传输等特点,使其在远程数据传输中具备很大的优势。