基于无线网的GPRS嵌入式船舶终端控制器的设计

2012-12-23 04:50彭立新
武汉船舶职业技术学院学报 2012年2期
关键词:串口终端服务器

刘 学 彭立新

(武汉船舶职业技术学院,湖北武汉 430050)

随着工业控制系统现代化的发展和GSM 网络业务的不断拓展,应用于工农业生活方面的远程控制越来越广泛,如空调、冰箱、工业终端设备测量、监控等,控制的方式也越来越多样化,常见的有基于Internet局域网、GSM 短消息、以太网、电话网、GPRS 网等。基于GSM 网的数据传输GPRS具有控制对象夸大区域、可移动等优点,并具有实时在线、登陆快捷、传输速度高、数据传输和话音传输切换自如、按流量计费等特点。本文探讨的控制器终端侧重应用于内河或近海GSM网络所覆盖区域的船舶监控,文中给出以S3C44B0X 芯片[1]作为MCU 对GPRS无线通信终端模块GT47进行数据传输控制的设计。

1 GPRS网络结构与协议模型

GPRS是基于GSM 网络增加了PCU(Packet Control Unit)、GGSN(Gateway GPRS Supporting Node)和SGSN(Serving GSN),以及其他一些辅助进行数据业务管理和应用的单元实现。GSN 有两种:SGSN 和GGSN。典型GPRS网络结构如图1所示。

PCU 与BSC 协同作用,提供逻辑链路与物理链路的映射、数据包的拆封、确认、无线数据信道的分配等功能,并以帧中继协议与SGSN 形成Gb接口。

图1 GPRS 网络的典型结构

SGSN 用来记录移动终端的当前位置信息,并在移动终端和GGSN 之间完成移动分组数据的发送和接收。它通过Gb接口提供与无线分组控制器PCU 的连接,进行移动数据的管理,如用户身份识别、加密、压缩等。通过Gn 接口与GGSN 相连,提供IP数据包到无线单元的传输通路和协议变换等功能。

GGSN 起网关作用,可以与ISDN、PSPDN和LAN 等多种不同的数据网络连接,并把GSM网中的GPRS分组数据包进行协议转换,传送到远端的TCP/IP 或X.25 网络,实现与外部数据网的数据传送。

控制器与GPRS 模块作为可移动的控制终端MS,通过空中接口Um 经MS 所在小区的基站BSS,将分组数据送到GSM 网络中的SGSN服务节点。经SGSN 数据封装处理后通过GPRS骨干IP网络送到网关支持节点GGSN,GGSN 将GPRS的分组数据包进行协议转换传送到远端的TCP/IP或X.25网络,实现移动终端控制信息和外部网络之间的数据传输。

GPRS协议模型既包含类似局域网技术中的逻辑链路控制子层(LLC)和媒体接入控制子层(MAC),又包含RLC和BSSGP等新引入的特定规程[2]。SGSN 与BSS侧的Gb接口上采用帧中继规程,与GGSN 侧的Gn接口则采用TCP/IP规程。SGSN 中协议低层部分(如NS和BSSGP层)与无线管理相关,高层部分(如LLC 和SNDCP层)则与数据管理相关。

由于GPRS本身采用IP数据网络结构,所以基于GPRS网络的IP 应用规程结构可以理解应用级的IP 协议及已经嵌入IP 协议的GPRS 本身。由GPRS系统端到端的应用协议结构可知,GPRS网络是作为应用层之下的承载网络,它用以承载IP 或X.25 等数据业务。Um 接口是GSM 的空中接口。Um 接口上的通信协议有6层,协议模型的结构如图2所示。

图2 GPRS协议模型结构

GPRS工作时,其路由管理表现为监控中心向移动终端发送数据或接受移动终端的数据,以及移动终端处于漫游时3 种情形数据路由的建立。当移动终端产生一个PDU 分组数据单元时,这个PDU 经过SNDCP层处理,再经LLC 层处理为LLC帧,通过一些空中接口送到GSM 网中移动终端所处的SGSN,SGSN 把数据传到GGSN,GGSN 再把收到的数据进行解装,转换为可在公用数据网中传送的格式(如PSPDN 的PDU),最终送给公用数据网的用户。移动终端接受数据时,先通过数据网的标准协议,建立数据网和GGSN 之间的路由。数据网用户发出的数据单元如PSPDN 中的PDU,通过建立好的路由把数据单元PDU 送给GGSN。而GGSN 再把PDU 送给移动终端所在的SGSN 上,GSN 把PDU 封装成SNDC 数据单元,再经过LLC 层处理为LLC帧单元,最终通过空中接口送给移动终端。当数据监控中心传送数据给一个正在漫游的控制终端时,数据的传送就必须经过终端归属地的GGSN 进行。

2 系统硬件组成

2.1 控制器硬件

系统的硬件主要由嵌入式控制器、串口、GPRS模块组成。

控制器以S3C44B0X 为微处理器核心,该芯片具有高性价比、高占有率以及可编程8/16/32位的RISC处理器,并提供丰富的内置部件,含有8KB Cache,5 通道定时器,8 通道A/D 转换,看门狗和IIC、IIS总线接口等功能,能够很好地满足控制对象对系统的需求。同时因集成了众多外设,使得系统的稳定性得到很大提高,也便于所需功能的扩展。

系统的串口则采用S3C44B0X 本身所具有的双串口功能,串口1与GPRS模块连接完成对控制中心的信息接入,串口0 与终端PC 机或者其它控制器的数据交流。

GPRS模块选用SONY ERICSSON 公司的GT47完全透明传输模块。GT47 是一个智能GSM/GPRS控制终端,它内置了TCP/IP 协议栈,可以用作单独功能强大的GPRS 调制解调器。还具有GSM/GPRS全套语音和数据功能。

GT47透传模块由包含TCP/IP 协议栈的GR47模块、SIM 卡插座和RS232串行接口等组成。GR47 的TCP/IP 协议栈存放了基本的TCP/IP协议规程,以实现模块与网络的链接协议握手。微处理器与GPRS模块硬件结构如图3所示。

2.2 GT47相关AT 指令

控制器通过S3C44B0X 的UART 功能发送AT 指令控制GT47 模块完成其所有功能。GT47模块针对内嵌的TCP/IP 协议栈有自己特有的AT 指令,该指令可以创建、解除UDP\TCP Sockets,控制GPRS PDP上下文,来使模块接收和发送数据。GT47模块有数据传输模式和在线命令模式两种[3]。在线命令模式下,模块把串口发送来的数据作为指令解释。而在数据传输模式下,模块对发送来的数据不作解释,直接传送到线路上。一般,模块建立连接后直接进入数据传输模式。通过使用DTR 线让用户在两种模式间切换。故在数据传输的任何时候,可以通过AT 指令来改变或查询IP 的设置,然后通过输入ATO重新设置DTR 返回数据传输模式。AT 指令:

图3 终端控制器硬件

(1)AT,测试模块串口的连接情况,返回OK表示成功。

(2)AT+CGDCONT=1,”IP”,”CMNET”,如果模块没有运行,使用该AT 指令设置PDP上,返回“OK”表示成功。

(3)AT*E2IPA=1,1,激活IP,确定PDP上的ID。

(4)AT*E2IPRH=“www.google.co.uk”,返回该网址IP地址,如返回:

*E2IPRH:129.59.217.99OK

(5)AT*E2IPO=1,“202.114.175.121”,1001,模块与IP地址连接,连接成功,返回CONNECT,则模块进入数据传输模式,DCD 已经激活,发送的数据通过Google网址的80端口进入Google的服务器。此时,可以通过改变DTR 线的状态,使模块切换到在线命令模式。如返回“OK”,表示切换成功,可以通过“AT*E2IPI=1”,“AT*E2IPO?”来查询当前的状态。

(6)ATO,通过该指令返回到数据传输模式。返回“CONNECT”表示连接成功。如此刻远程服务器已关闭,模块进入命令模式,返回“NO CARRIER”。

(7)AT*E2IPA=0,1,关闭当前的IP。

2.3 GPRS与监控中心服务器的通讯

实现GPRS的无线网络监控,监控中心的服务器上必须有相应的软件来负责服务器与终端模块的通讯。在监控中心服务器上利用Winsock进行socket网络编程。

Winsock规范定义并记录了如何使用API与Internet协议族CIPS。应用程序调用Winsock的API实现信息传输,客户机可随机申请一个Winsock,系统为之分配一个唯一Winsock号,服务器拥有全局公认的Winsock号,任何客户端可以向它发出连接请求及信息请求。在网络内部,每个Winsock用一个串相关描述,即协议、本地地址和本地端口;一个完整的Winsock接口用一个相关描述:协议、本地地址、本地端口、远地地址和远地端口。Winsock 定义了三类型的套接字:流式套接字(stream socket)、数据报套接字(datagram socket)和原始套接字(raw socket)。它们分别支持TCP/IP 及UDP 协议。Winsock的编程原理是基于套接字的系统调用完成。

远程控制器GPRS 监控中心服务器端软件如图4所示。运行程序后输入服务器的IP 地址和侦听的端口号,点击“侦听”,当远程控制器与服务器连接成功后,可以在消息栏输入要发送的控制信息,点击“发送”就可以实现GPRS无线网络控制。

图4 GPRS监控中心服务器端软件界面

3 GPRS控制软件设计

GPRS透传模块接收从Internet传送来的控制信息,控制器与透传模块GT47串行通信,通过对接收信息的提取识别,判断有效的控制信息,以对控制对象进行控制。控制器GPRS 远端控制方式的程序流程图如图5所示。

远端控制器GPRS 控制方式所包含的主要函数有模块初始化函数、模块登陆网络函数等。模块登陆Internet后,服务器通过Internet传输的数据透明的传输给模块,模块在串行中断服务函数中读取服务器传过来的数据。所谓透明即模块完成了数据的解包操作,只把接收到的数据传给主板。

图5 GPRS远程控制器程序流程图

(1)模块初始化函数

(2)模块登陆GPRS网并连接服务器函数void AttachGPRS(void)

4 结 语

本文介绍了使用基于GSM 网络的升级节点网络GPRS作为远程终端控制器的信息传递媒质,实现跨区域、大范围的控制对象的控制,不仅可用于家电等设备的信息遥控,还可用于船舶等工业领域的终端信息监控,使用快捷方便。

1 陈赜,刘振兴.ARM 嵌入式技术实践[M].北京航空航天大学出版社,2005.

2 李继弢,叶坤.GPRS安全体系结构的硬件实现研究[J].微计算机信息,2006,22(3):4~6

3 宋宏达.如何使用GR47在GPRS网络上传输数据[J].移动通信,2005(12):85~88

猜你喜欢
串口终端服务器
浅谈AB PLC串口跟RFID传感器的通讯应用
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
GSM-R手持终端呼叫FAS失败案例分析
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式