当前位置:首页 > 通信技术 > 通信技术
[导读]本文提出采用内嵌脚本方式开发GR64,使之成为具有简单控制接口,可方便配置参数和灵活切换工作模式的通用DTU的硬件和软件实现方法,并总结了开发过程中遇到的问题和相应解决办法。

摘要 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 khps,基于IP协议可以访问整个Internet,永远在线和按流量收费。
    GR64是Sony/Ericsson公司最新推出的一款内嵌TCP/IP协议栈的GSM/GPRS模块,可向下兼容GR47,内嵌的ARM9 CPU可以开放给用户。GR64具有丰富的存储资源:256KB的脚本空间可同时容纳2个脚本,可用于CSD方式下脚本远程升级,至少50 KB的数据NVM空间和100KB RAM;丰富的功能库涵盖所有的底层驱动,用户只须编写自己的应用程序。GR64提供丰富的接口:对外有2个自适应波特率和帧格式的串口,其中UARTl用于AT命令控制或本地脚本下载,UART3为通用串口;另外,还有USB2.0(等同GR47 UART2,可用于模块自身固件升级和脚本调试信息输出)、SPI、I2C、天线、音频接口,12根I/O线(8根复用),AD/DA转换器,蜂鸣器和实时时钟等内置外设。
    GR64模块有两种开发方式:一种是内部脚本方式,即直接利用模块开放的CPU和系统资源,将类C语言脚本下载到模块的NVM(Nonvolatile Memory)中,在模块的CPU中运行。内部脚本解释器从NVM中读入脚本,逐行解释执行,模块通过UART3与数据终端接口。另一种是外部控制器方式,控制程序在外部微控制器中运行,微处理器向GR64的UARTl发送AT命令控制其工作。


1 GPRS数据采集系统通信的实现
   
上位机服务器不管采用哪种方式接入Internet都必须有固定IP地址,并对各终端开放相应的侦听端口号,在接入网络后要尽量保持在线。下位机(终端)工作后,会通过DTU主动与服务器建立连接,随后告知服务器自己的终端地址;服务器收到后将其加到动态地址数据库中,并自动定时刷新数据库以确定哪些表还挂在网络上,再根据管理员设定的自动查抄时间对连接在网络上的终端进行数据读取、参数设定,校时等操作。

2 基于GR64的GPRS DTU实现
2.1 DTU硬件电路
    DTU硬件电路如图1所示。

    模块工作电压VCC为3.2~4.5 V,可由降压芯片MIC29302bu将5V降至典型工作电压3.6V提供,5个发光二极管分别指示模块GSM网络注册状态,与GPRS网络交互,通信串口数据收发状态;由于模块引脚数字高电平为2.75 V,RS232电平转换芯片最好使用MAX3232等;ON/OFF脚和、VREF分别提供给终端,用于控制模块硬件开关机和检测模块开关机状态;USB口为调试信息和打印信息输出口。
2.2 DTU功能实现及程序流程
    该应用中GR64工作于内部脚本方式,利用集成开发环境M2mpowerIDE脚本可通过计算机串口从模块UARTl下载到内部脚本空间,并设置为上电自动运行。上电开机、模块注册网络后开始运行脚本:DTU先从数据NVM中读出运行参数,初始化后按预设运行。其中包括:网络连接参数,如GPRS接入点APN(GA:cmnet)、用户名(GU;wap)、密码(GP:wap)、主站IP及端口号(NS:061.183.125.114:l0001);系统参数,如通信协议(CP:TCP/UDP/SMS)、TP通信方式下工作模式(MD:RT实时在线/SA短信激活/DA振铃激活)、连续登陆失败停止登陆次数(CT:10次)、激活模式下无数据传输自动断网时间间隔(IT:30min),以及短信控制密码(SP:whzydz)等。所有参数均向数据通信串口(UART3)发送“+++”后,按上面的格式本地修改(可以一次更改多项,各参数间用分号隔开);改后向DTU发送LS,将得到所有参数的当前值。也可在运行过程中通过短信远程更改各参数,但须在短信的开头加上预先设定好的短信控制密码(PWD:whzydzCT:15;……);另外还可通过通信串口及短信方式控制模块上下线(SM:ONLINE/OFFLINE)及软件重启动(RESET),掉电重上电后将按最近一次更改的参数运行。程序流程如图2、同3和图4所示。

 

2.3 内部脚本方式下程序实现要点
    以下粗体部分表示模块内建功能库函数。
    ①内部脚本不支持中断,须通过内部gtf()函数查询系统标志位方式检测触发类事件的发生,或者通过gtb()函数查询系统状态字节的值确定各项系统状态。例如,收到新短信时标志位SMS—RCV将被置位。其中:im SMS_RCV=29。


    同样,接收到IP数据时标志位IP_DT_RCV将被置位。其中:IP_DT_RCV=13。
    通过查询来电状态字节,即if(gtb(CAL_STA)==RING)判断是否有来电拨入。其中:CAL_STA=12,RING=1。
    ②是否接收到串口数据,通过判断内部函数utrl()返回的串口接收缓冲内数据的长度是否大于0确定。例如:


    此函数的值只能确定串口是否接收到数据,因此在进入串口处理进程后,须先通过查询定时器超时时间内utrl()返回值的变化来检查数据链路,待一包数据接收完毕后再作处理。
    ③内部脚本方式下,TCP连接需要完成以下步骤。
    (a)待注册GPRS网络(开机后模块自动完成)后,进入GPRS初始化进程。
    ◆调用atcrt()创建内部AT命令通道;
    ◆调用afsnd()发送命令“AT+CGDCONT=1,”IP”,”cmnet”<CR>”设置APN(由从记录中读出的全局变量GA决定,此处默认为cmnet);
    ◆调用atsnd()发送AT命令“AT*ENAD=l,”GPRSl”,”wap”,”wap”<CR>”设置接入用户名和密码(由GU、GP决定,此处默认为、wap和wap);
    ◆调用atdst()关闭AT命令通道,然后由字符串变量NS(”061.183.125.114:10010”)计算出32位IP(0x3db77d72)和Port(10010),为IP连接作准备。
    (b)进入IP连接进程。
    先激活PDP,pdpa(1,1);然后选择IP连接类型(CM=l,为TCP;CM=0,为UDP),ipo(CM,&ScNm)。UDP方式下此时已可透明传输uDP数据,不需要以下步骤:
    ->执行TCP连接:tcpc(ScNm,Port,IP)。连接成功后,即可透明传输TCP数据。同时不停查询TCP连接状态字节和IP异常标志位时,当检测到TCP连接状态不是已连接或IP异常标志位置位时,Log()进程将调用ipc(ScNm)关闭IP,然后跳转到ipo()重连接。如此往复循环,就可以在检测到连接丢失(如主站软件关闭或断开侦听后重新打开)或数据传输过程中发生异步时序错误时自动重新接入。
    ④利用功能库中的数据库函数存储非易失性参数。
    由于数据库函数对公用的NVM数据空间进行操作,即使下载新脚本,原脚本建立的数据库及数据库中的内容仍然存在,因此若用到数据库脚本就必须包含删除数据库的部分。此应用设计为当串口收到“DEL”字符串时,脚本将自动删除当前已建立的所有数据库。具体如下:


2.4 实际运用中需注意的问题及解决办法
    ①若GPRS模块在线、长时间无数据传输时,可能被GPRS网络踢掉,大多GPRS模块都不能在短时间内检测到。同样,GR64也会发生实际连接已断,但TCP状态字节仍为已连接的情况。虽然只要终端上发一包数据,GR64内部将马上更改TCP连接状态字节为断开(此时脚本即可控制模块重连接),但此包数据不能被发送至主站,需重新发送。为避免此类情况发生,也可适当发送上行心跳帧,以保持连接。
    ②当GR64长时间不能建立连接时(例如主站侦听不开),调用ipc(ScNm)关闭IP可能发生不响应的情况,脚本中设定连续5次关闭IP失败,模块将调用rst()自动软件重启。

    ③内部脚本方式下,GR64工作时不安装天线,将导致脚本运行缓慢,但只要安装天线,即使信号强度较弱也不会影响脚本运行速度。


结语
   
基于GR64 GSM/GPRS模块的通用数传单元(DTU)为数据终端建立起同主站的无线IP连接和数据传输通道,具有ARM9内核的GR64的出色性能决定了DTU能够快速进行网络连接、数据传输及处理,并支持大数据包传输。运行参数可方便地进行配置和更改,掉电不会丢失;TCP/UDP/SMS三种通信方式可满足大多数情况下网络数据通信的需要,并为网络不通时预留了短信通道,以便在网络故障和维护期间上报重要事件,或告警重要人员;实时在线/短信激话/振铃激活3种工作方式可灵活切换,有利于实际应用中节省流量,有效控制运行费用;内部脚本方式直接使用GR64对外开放的CPU和功能库,简化硬件和软件开发,降低成本。此数传单元具有通用性,完全可以用于各种远程采集、远程控制系统中。
    本文采用嵌入式脚本方式开发GR64模块,实现了DTU的单片解决方案;多工作模式和通信方式使该DTU具有应用于各种远程采集和控制系统的灵活性和实用性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

南京2022年10月17日 /美通社/ -- 日前《2022第三届中国高端家电品牌G50峰会》于浙江宁波落幕,来自两百余名行业大咖、专家学者共同探讨了在形势依然严峻的当下,如何以科技创新、高端化转型等手段,帮助...

关键字: LINK AI BSP 智能家电

通信技术

120994 篇文章

关注

发布文章

编辑精选

技术子站

关闭