kaiyun官方注册
您所在的位置: 首页> 通信与网络> 设计应用> 带以太网接口的GSM无线数据传输系统设计与实现
带以太网接口的GSM无线数据传输系统设计与实现
现代电子技术
尹 慧,李 辉
摘要:较为全面地介绍了当前远程监控系统的应用现状,并对现有传输系统的特点进行了分析和研究。在此基础上,提出了适用于远程监控系统的、基于GSM的无线数据传输系统的总体架构及设计方案,详细介绍了带有以太网接口的、基于GSM的无线数据传输系统的硬件电路与软件设计与实现方法。该系统适用于各种远程监测监控系统,对提高远程监控的数据传输效率和降低监控系统的运营成本具有重要意义。
Abstract:
Key words :

0 引言

随着计算机与自动化技术的发展,各种控制系统在现代化的生产和生活中得到了广泛的应用。由于这些控制系统总是长时间不间断地运转,对系统工作状态进行实时监视和控制是保障系统稳定运行的重要手段。对于远距离的控制系统而言,同样必须实现从被控制对象获取所需监控信息,并在对所获信息进行数据分析和处理后对被控制系统发出控制命令。因此,目前远距离数据传输系统是各种远程监控系统中主要的组成部分之一。

1 综合监控系统总体架构

目前的远程监控系统一般很难满足需求,为此,结合基于工业以太网和GSM无线网络的监控系统的优点,本文提出了一种新的综合监控系统的组成方案,其系统结构示意图如图1所示。

a.JPG


随着Internet网络和GSM网络逐步覆盖全国,本系统方案可充分将两个公用网络结合,这一方面可以利用GSM网络向分布在控制现场的各个子节点发送控制命令,同时可接收来自各子节点所采集到的数据;另一方面,利用以太网接口还可实现与控制中心的计算机或显示屏的通信。这样,在达到对异地设备监视和控制的同时,可以将采集到的数据传送到控制中心的多台计算机或设备,从而实现对控制系统和管理系统的连接,有效解决信息采集、信息分析、信息处理、信息存储、信息输出的集成化系统互联问题。

按照综合监控系统结构示意图,远程监控系统大都由控制中心、监测中心节点和远程监测终端三部分组成。

1.1 GSM无线通信控制终端

GSM无线通信终端的通用体系结构如图2所示。它的位置在系统被测对象的控制现场,作用是对测试现场进行数据采集,再由控制中心分析处理后,根据SMS协议来编码,最后通过GSM网络发送到无线通信的中心节点;同时还负责接收无线通信中心节点的指令,然后由检测到再控制,最后形成一个闭环回路。

b.JPG

1.2 GSM无线通信中心节点

GSM无线通信中心节点的通用体系结构如图3所示。它是整个测控系统的关键,它的位置在通信终端和控制中心之间,是数据和命令传输的中转站。其主要作用是接收来自于通信终端的现场数据,经分析后保存在E2PROM中,同时接收控制中心各主控计算机的采集数据命令;并从以太网接口接收主控计算机的指令传递给通信终端,以对相应的监测设备进行控制。
1.3 控制中心

控制中心的主要体系结构如图4所示。它位于系统的最上面。主控计算机、显示设备通过以太网交换机连接在一起组成局域网,对通信中心节点所采集到的数据实现共享。它的作用是负责接收现场采集到的数据,保存到数据库中,经过对数据的分析做出相应的决策,并由通信中心节点向通信终端发送控制指令,同时通过大屏幕显示器输出,以便实时显示被测对象的运行情况。

c.JPG


2 基于GSM的无线数据传输系统的方案设计

整个无线数据传输系统的核心是微处理器、GSM模块、以太网模块,本方案辅以相应的输入输出模块即可完成,而且模块清楚、任务调度简单、数据处理量小、对实时陛要求不高,所以,本系统选择微控制器+控制系统软件的架构来完成。

2.1 系统硬件结构设计

本系统的硬件详细结构框图如图5所示。下面逐一分析各部分的特点以及选型方法。

d.JPG

(1)处理器

由于普通的8 bit微处理器速度较低,内存小,只能勉强运行一些不复杂的网络协议,因此,总体上不适宜作为系统的微处理器。而ARM7处理器是32 bit处理器,运行频率为40 MHz,内存为8 MB,能够充分保证相关网络协议的运行以及μC/OSII等嵌入式操作系统的移植,也为以后软件的升级和维护带来极大的方便。同时,考虑到系统需要大量的存储器接口和丰富的IO端口(UART/LCD/TSP)资源,因此,本系统选用以ARM7 CPU为控制器,并选取具有丰富接口的开发板作为实验系统。

(2)GSM无线模块

嵌入式系统的GSM通信接口一般采用目前市场上可供二次开发的标准GSM模块。这些通信模块都具备GSM无线通信的全部功能,并提供有标准的UART串行接口,支持GSM07.05所定义的AT命令集指令。因此,MCU能非常方便地通过UART接口与GSM模块相连接,并直接使用AT命令来方便简洁地实现短信息的收发、查寻和管理功能。

(3)以太网通信模块

由于本系统需要以太网接口,但在传输过程中的数据量并不大,对数据传输的速度要求也不高,所以,本设计选用通用的10 Mb/s带宽的以太网模块即可。

(4)输入/输出模块

本系统主要利用LCD和TSP相结合的方法来为用户和设备的交互工作提供良好的显示和输入接口。其设备分辨率为320×240,色彩为256色,画面尺寸为5.7 in。

2.2 系统软件总体设计

整个系统的软件设计是系统设计的重点,包括GSM无线通信中心节点的程序设计和GSM无线通信终端的程序设计。GSM无线通信中心节点的控制系统软件可以使用实时操作系统(RTOS)来实现,也可以由用户自己直接编写控制程序来完成对各任务的调度。本系统的软件结构示意图如图6所示,其中主要包括系统的初始化、主程序、数据显示程序、触摸屏的输入、定时信号采集程序、GSM的通信程序、TCP/IP协议栈程序等几部分。各模块的功能相对独立,模块间的任务调度与处理全部可由系统主程序完成。

e.JPG

由于在现有的实时操作系统中,移植好TCP/IP协议的RTOS基本都需要收费,考虑到系统的成本,以及实时性、协议栈、软件稳定性、可靠性、抗干扰等性能的要求,本系统不使用实时操作系统,而采用C语言从系统底层开始直接编写控制程序。这样可以很好地达到要求。

2.3 开发系统的选择

基于系统的硬件结构设计方案,本系统选用了EmbestARM开发系统。Embest ARM开发系统主要包括Embest IDE集成开发环境、Embest JTAG仿真器、Flash编程器、EmbestEduKit-III开发板等。开发系统的模型图如7所示,它可为用户提供嵌入式系统所需要的整套工具,用户可以利用该平台很方便地设计出自己的目标系统。

f.JPG

3 基于GSM的无线数据传输系统的软件设计

3.1 系统主程序

本系统的主程序主要负责系统各模块的控制和任务调度。

其主程序流程图如图8所示。

g.JPG

3.2 定时模块

本系统的定时模块主要根据用户设置的定时时间来定时,当定时时间到时,系统将自动向远程监测节点发送采集数据的命令。本系统采用S3C44BOX处理器内部集成的RTC模块的秒中断实现定时功能。程序的设计思想是定义一整形变量(16位)来记录秒中断的次数,这样,其最大定时时间可达到18 h。本系统定时时间为每1b采集1次数据,所以,该方法能够满足系统的定时需求。当定时时间到达后,系统将向各远程监测终端发送数据采集命令,并等待数据的到来。

3.3 数据存取模块

系统的数据存取模块主要完成对E2PROM存储器的读取和写入操作,并负责对从远程终端节点采集来的数据进行分析后按照规定的格式存入E2PROM中。与此同时,当其它系统需要时,就会从E2PROM存储器中读出这些数据,并把它传送给请求的系统或设备。本系统采用的E2PROM存储器为AT24C64,是基于I2C总线的外围器件。I2C总线是Philips推出的一种双向二线制总线。它只包括一条数据线(SDA)和一条串行时钟线(SCL),故可大大节省微处理器的IO口线。

3.4 串口部分软件设计

本系统的GSM无线模块是通过串行接口与EduKit-III开发板相连的,该模块的软件设计工作主要遵循GSM无线模块提供的串行通信协议来实现短信息的接收和发送。与GSM无线模块相关的串行通信协议标准有:1位起始位,8位数据位,1位停止位,无校验位,9600b/s波特率。

由于系统已经有串口操作的基本函数,本文重点考虑利用中断方式来实现串口数据接收与发送所涉及的相关问题,它主要包括串口中断的初始化和串口数据的接收及处理工作。串口中断的初始化主要包括设置S344B0X微处理器的中断模式、使能串口中断、清除串口中断标志位和设置串口中断的中断服务程序。其代码在这里就不再详述。串行数据接收部分的程序流程图如9所示。

h.JPG

本程序的设计思想是:当串口接收到来自GSM模块的数据时,程序首先保护现场,然后判断FIFO是否为空,若还有数据,则存入数据接收缓冲区,并调用数据处理程序判断是否收到“OK 0AH 0DH”。如果是,则将数据有效标志置为1,否则置为0,同时修改指针,否则说明数据已经接收完毕,需要进行错误处理并恢复现场后返回。

3.5 液晶显示模块软件设计

液晶屏(Liquid Crystal Display,LCD)主要用于显示文本及图形信息。本系统主要包括ASCII字符、语言文字字符和图形图像的显示。由于ASCII码字符和汉字字符所使用的点阵是不同的,所以,系统采用了不同的字库文件,但通过LCD屏幕向用户显示提示信息时,难免会同时出现汉字和ASCII字符,比如,“当前温度:23”。在这种情况下,为了方便程序的处理,需要编写中英文同时显示的程序,其程序流程图如10所示。该显示程序的设计思想是:首先获得字符所需要显示的区域(左上角坐标,右下角坐标),然后读取需要显示的字符串。如果当前字符为ASCII码字符,则调lcd_disp_ascii8x16()函数显示,同时指针移1个字符,x坐标加8;否则,连续读取2个字符,调用lcd_disp_hz16()函数显示,同时指针移动2个字符,x坐标加16。最后判断是否需要换行。如此反复循环,直到所有字符显示结束为止。

i.JPG


3.6 触摸屏模块的软件设计
本系统采用对角线定位方法来确定触摸屏的原点。触摸屏的控制程序软件包括触摸屏中断的初始化、触摸屏定位、用户动作响应等。
触摸屏中断的初始化工作主要包括设置S344B0X微处理器的中断模式、使能触摸屏所对应的外部中断、清除外部中断标志位和设置触摸屏中断的中断服务程序。
触摸屏定位部分的功能是获得用户输入的坐标,主要包括A/D转换、坐标计算、坐标存储等。其程序流程图如图11所示。

4 结语
本文针对当前远程控制系统存在的问题进行了分析和研究,给出了带以太网接口的、基于GSM的无线数据传输系统的总体设计方案,并对系统涉及的软硬件技术进行了详细介绍,最后在此基础上完成了系统设计和系统实现。本系统具有技术先进、系统互联、远程监控、性价比高、升级容易、扩展性强等优点,对提高远程监控的数据传输效率及降低监控系统的运营成本具有重要的意义,值得进一步研究与推广。



此内容为AET网站原创,未经授权禁止转载。
Baidu
map