基于GR64模块的通用GPRS数传单元设计
发布时间:2008/5/26 0:00:00 访问次数:473
    
    
    来源:单片机及嵌入式系统应用 作者:中国地质大学 梁娟 王典洪 熊月华
    
    摘要 gprs数传单元(dtu)在远程数据采集终端与主站之间建立起无线ip连接和可靠的数据传输通道。本文提出采用内嵌脚本方式开发gr64,使之成为具有简单控制接口,可方便配置参数和灵活切换工作模式的通用dtu的硬件和软件实现方法,并总结了开发过程中遇到的问题和相应解决办法。
    关键词 gprs gr64 数传单元(dtu) 内嵌脚本
    
    引言
    
    通用分组无线业务gprs(general packet radio service)是在现有gsm网络基础上进行的软件升级,采用分组交换技术,可提供高速无线ip或x.25服务。它增加了sgsn (gprs 业务支持节点)和ggsn(gprs 网关支持节点)2 个服务节点,可提供端到端的、广域的无线ip 连接。相对于其他数传方式,gprs更具优势: 建设成本低,数据传输可靠性高,传输速率可达171 kbps,基于ip 协议可以访问整个internet,永远在线和按流量收费。
    
    gr64是sony/ericsson公司最新推出的一款内嵌tcp/ip协议栈的gsm/gprs模块,可向下兼容gr47,内嵌的arm9 cpu可以开放给用户。gr64 具有丰富的存储资源: 256 kb的脚本空间可同时容纳2个脚本,可用于csd方式下脚本远程升级,至少50 kb的数据nvm空间和100 kb ram;丰富的功能库涵盖所有的底层驱动,用户只须编写自己的应用程序。gr64提供丰富的接口: 对外有2个自适应波特率和帧格式的串口,其中uart1用于at命令控制或本地脚本下载,uart3为通用串口;另外,还有usb2.0(等同gr47 uart2,可用于模块自身固件升级和脚本调试信息输出)、spi、i2c、天线、音频接口,12根i/o线(8根复用),ad/da转换器,蜂鸣器和实时时钟等内置外设。
    
    gr64模块有两种开发方式: 一种是内部脚本方式,即直接利用模块开放的cpu和系统资源,将类c语言脚本下载到模块的nvm(nonvolatile memory)中,在模块的cpu中运行。内部脚本解释器从nvm中读入脚本,逐行解释执行,模块通过uart3与数据终端接口。另一种是外部控制器方式,控制程序在外部微控制器中运行,微处理器向gr64的uart1发送at命令控制其工作。
    
    1 gprs数据采集系统通信的实现
    
    上位机服务器不管采用哪种方式接入internet都必须有固定ip地址,并对各终端开放相应的侦听端口号,在接入网络后要尽量保持在线。下位机(终端)工作后,会通过dtu主动与服务器建立连接,随后告知服务器自己的终端地址;服务器收到后将其加到动态地址数据库中,并自动定时刷新数据库以确定哪些表还挂在网络上,再根据管理员设定的自动查抄时间对连接在网络上的终端进行数据读取、参数设定、校时等操作。
    
    2 基于gr64的gprs dtu实现
    
    2.1 dtu硬件电路
    
    dtu硬件电路如图1所示。
    
    
    
    图1 dtu硬件电路图
    
    模块工作电压vcc为3.2~4.5 v,可由降压芯片mic29302bu将5 v降至典型工作电压3.6 v提供,5个发光二极管分别指示模块gsm网络注册状态,与gprs网络交互,通信串口数据收发状态;由于模块引脚数字高电平为2.75 v,rs232电平转换芯片最好使用max3232等;on/off脚和vref分别提供给终端,用于控制模块硬件开关机和检测模块开关机状态;usb口为调试信息和打印信息输出口。
    
    2.2 dtu功能实现及程序流程
    
    该应用中gr64工作于内部脚本方式,利用集成开发环境m2mpoweride脚本可通过计算机串口从模块uart1下载到内部脚本空间,并设置为上电自动运行。上电开机、模块注册网络后开始运行脚本: dtu先从数据nvm中读出运行参数,初始化后按预设运行。其中包括: 网络连接参数,如gprs接入点apn(ga:cmnet)、用户名(gu∶wap)、密码(gp∶wap)、主站ip及端口号(ns:061.183.125.114:10001);系统参数,如通信协议(cp∶tcp/udp/sms)、tcp通信方式下
    
    
    来源:单片机及嵌入式系统应用 作者:中国地质大学 梁娟 王典洪 熊月华
    
    摘要 gprs数传单元(dtu)在远程数据采集终端与主站之间建立起无线ip连接和可靠的数据传输通道。本文提出采用内嵌脚本方式开发gr64,使之成为具有简单控制接口,可方便配置参数和灵活切换工作模式的通用dtu的硬件和软件实现方法,并总结了开发过程中遇到的问题和相应解决办法。
    关键词 gprs gr64 数传单元(dtu) 内嵌脚本
    
    引言
    
    通用分组无线业务gprs(general packet radio service)是在现有gsm网络基础上进行的软件升级,采用分组交换技术,可提供高速无线ip或x.25服务。它增加了sgsn (gprs 业务支持节点)和ggsn(gprs 网关支持节点)2 个服务节点,可提供端到端的、广域的无线ip 连接。相对于其他数传方式,gprs更具优势: 建设成本低,数据传输可靠性高,传输速率可达171 kbps,基于ip 协议可以访问整个internet,永远在线和按流量收费。
    
    gr64是sony/ericsson公司最新推出的一款内嵌tcp/ip协议栈的gsm/gprs模块,可向下兼容gr47,内嵌的arm9 cpu可以开放给用户。gr64 具有丰富的存储资源: 256 kb的脚本空间可同时容纳2个脚本,可用于csd方式下脚本远程升级,至少50 kb的数据nvm空间和100 kb ram;丰富的功能库涵盖所有的底层驱动,用户只须编写自己的应用程序。gr64提供丰富的接口: 对外有2个自适应波特率和帧格式的串口,其中uart1用于at命令控制或本地脚本下载,uart3为通用串口;另外,还有usb2.0(等同gr47 uart2,可用于模块自身固件升级和脚本调试信息输出)、spi、i2c、天线、音频接口,12根i/o线(8根复用),ad/da转换器,蜂鸣器和实时时钟等内置外设。
    
    gr64模块有两种开发方式: 一种是内部脚本方式,即直接利用模块开放的cpu和系统资源,将类c语言脚本下载到模块的nvm(nonvolatile memory)中,在模块的cpu中运行。内部脚本解释器从nvm中读入脚本,逐行解释执行,模块通过uart3与数据终端接口。另一种是外部控制器方式,控制程序在外部微控制器中运行,微处理器向gr64的uart1发送at命令控制其工作。
    
    1 gprs数据采集系统通信的实现
    
    上位机服务器不管采用哪种方式接入internet都必须有固定ip地址,并对各终端开放相应的侦听端口号,在接入网络后要尽量保持在线。下位机(终端)工作后,会通过dtu主动与服务器建立连接,随后告知服务器自己的终端地址;服务器收到后将其加到动态地址数据库中,并自动定时刷新数据库以确定哪些表还挂在网络上,再根据管理员设定的自动查抄时间对连接在网络上的终端进行数据读取、参数设定、校时等操作。
    
    2 基于gr64的gprs dtu实现
    
    2.1 dtu硬件电路
    
    dtu硬件电路如图1所示。
    
    
    
    图1 dtu硬件电路图
    
    模块工作电压vcc为3.2~4.5 v,可由降压芯片mic29302bu将5 v降至典型工作电压3.6 v提供,5个发光二极管分别指示模块gsm网络注册状态,与gprs网络交互,通信串口数据收发状态;由于模块引脚数字高电平为2.75 v,rs232电平转换芯片最好使用max3232等;on/off脚和vref分别提供给终端,用于控制模块硬件开关机和检测模块开关机状态;usb口为调试信息和打印信息输出口。
    
    2.2 dtu功能实现及程序流程
    
    该应用中gr64工作于内部脚本方式,利用集成开发环境m2mpoweride脚本可通过计算机串口从模块uart1下载到内部脚本空间,并设置为上电自动运行。上电开机、模块注册网络后开始运行脚本: dtu先从数据nvm中读出运行参数,初始化后按预设运行。其中包括: 网络连接参数,如gprs接入点apn(ga:cmnet)、用户名(gu∶wap)、密码(gp∶wap)、主站ip及端口号(ns:061.183.125.114:10001);系统参数,如通信协议(cp∶tcp/udp/sms)、tcp通信方式下