首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

带以太网接口的GSM无线数据传输系统设计与实现

带以太网接口的GSM无线数据传输系统设计与实现

摘要:对当前远程监控系统的应用现状进行了较为全面的介绍,并对现有传输系统的特点进行了分析和研究。在此基础上,提出了适用于远程监控系统的基于GSM的无线数据传输系统总体架构以及总体设计方案。文章中详细介绍了带有以太网接口的基于GSM的无线数据传输系统的硬件电路与软件的设计与实现方法。该系统可适用于各种远程监测监控系统,对提高远程监控的数据传输效率及降低监控系统的运营成本具有十分重要的意义。
关键词:远程监控系统;无线数据传输;总体方案设计;以太网

    随着计算机控制系统应用的迅速发展,我们随处可见各种控制系统在现代化的生产和生活中的广泛应用,它们都是根据现代化控制理论开发的先进控制软件。要保障这些控制系统能够长时间不间断地稳定运行,就必须对系统工作状态进行实时监视和控制。而对于远距离作业的控制系统来说,也要求必须实现从被控制对象那里获取所需要的监控信息,并在对所获得的信息进行有效地数据分析和处理之后对被控制系统发出控制命令。因此,远距离数据传输系统是当前各种远程监控控制系统中倍受重视的主要组成部分之一。

1 综合监控系统总体架构
   
目前的远程监控系统虽然经济实用,但是有线数据传输方式很大程度上限制了其使用的场合,很难能满足现在的需求。结合基于工业以太网和GSM无线网络的监控系统的优点,本文提出了一种新的综合监控系统的组成方案,系统结构示意图如图1所示。


    随着Internet网络逐步覆盖全国和GSM网络日益成为国内覆盖范围最广、应用最普遍的无线通信网络,本系统方案在此基础上,充分将这两个公用网络结合,既可以利用GSM网络向分布在控制现场的各个子结点发送控制命令,同时接收来自各子结点所采集到的数据;又可以利用以太网接口实现与控制中心的计算机或显示屏的通信。这样在达到对异地设备监视和控制的同时可以将采集到的数据传送到控制中心的多台计算机或设备,从而实现对控制系统和管理系统的联接,有效的解决了信息采集、信息分析、信息处理、信息存储、信息输出的集成化系统的互联问题。
    按照综合监控系统结构示意图,远程监控系统大都由控制中心、监测中心结点和远程监测终端3部分组成。
1.1 GSM无线通信控制终端
    GSM无线通信终端通用的体系结构如图2所示,它的位置在系统被测对象的控制现场。它的作用是对测试现场进行数据采集,再由控制中心分析处理后根据SMS协议来编码,最后通过GSM网络发送到无线通信的中心结点;从结构图可以看出无线通信终端的组成部分,并由其数据传递流程看出控制终端还负责接收无线通信中心结点的指令,由检测到再控制形成一个闭环回路。


1.2 GSM无线通信中心结点
    GSM无线通信中心结点的通用体系结构如图3所示。它是整个测控系统的关键,它的位置在通信终端和控制中心之间,它是数据和命令传输的中转站,其主要作用是接收来自于通信终端的现场数据,经分析后保存在E2PROM中,同时接收控制中心各主控制计算机的采集数据的命令;并从以太网接口接收主控计算机的指令,传递给通信终端,对相应的监测设备进行控制。
1.3 控制中心
   
控制中心的主要体系结构如图4所示。它在系统的最上面。主控制计算机、显示设备通过以太网交换机连接在一起组成局域网,对通信中心结点所采集到的数据实现共享。它的作用是负责接收现场采集到的数据,并保存到数据库中,经过对数据的分析做出相应的决策,并由通信中心结点向通信终端发送控制指令,同时可以通过大屏幕显示器输出,实时显示被测对象的运行情况。

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

整个无线数据传输系统的核心是微处理器、GSM模块、以太网模块,辅以相应的输入输出模块即可完成,模块清楚、任务调度简单、数据处理量小、对实时性要求不高,所以本系统选择了微控制器+控制系统软件的架构来完成。
2.1 系统硬件结构设计
   
系统的硬件详细结构图如图5所示。以下将逐一分析各部分的的特点以及选型。


    1)处理器
    由于普通的8bit微处理器,速度较低,内存少,只能勉强运行一些不复杂的网络协议,因此从总体上说不适宜作为系统的微处理器。而ARM7处理器是32 bit处理器,运行频率为40 MHz,内存8MB,因此能够充分保证相关网络协议的运行以及μC/OSII等嵌入式操作系统的移植,也为以后软件的升级和维护带来极大的方便。同时考虑到系统需要大量的存储器接口和丰富的IO端口(UART/LCD/ISP)资源,在本系统中将选用以ARM7 CPU为控制器,并具有丰富接口的开发板为实验系统。
    2)GSM无线模块
    嵌入式系统的GSM通信接口一般采用目前在市场上提供的可供二次开发的标准的GSM模块。这些通信模块都具备GSM无线通信的全部功能,并提供标准的UART串行接口,支持GSM 07.05所定义的AT命令集的指令。因此,MCU能非常方便地通过UART接口与GSM模块连接,并直接使用AT命令就可以方便简洁地实现短信息的收发、查寻和管理。
    3)以太网通信模块
    由于本系统需要以太网接口,但在传输过程中的数据量不大,对数据传输的速度要求也不高,所以我们选用通用的10Mbps带宽的以太网模块即可。
    4)输入/输出模块
    本系统主要利用LCD和TSP相结合,为用户和设备的交互工作提供了良好的显示和输入接口。设备参数如下:分辨率:320x240,色彩:256色,画面尺寸:5.7 inch。
2.2 系统软件总体设计
   
整个系统的软件设计是系统设计的重点,包括GSM无线通信中心结点的程序设计和GSM无线通信终端的程序设计。GSM无线通信中心结点的控制系统软件可以使用实时操作系统(RTOS)来实现,也可以由用户自己直接编写控制程序来完成对各任务的调度。本系统的软件结构示意图如图6所示,主要包括系统的初始化、主程序、数据显示程序、触摸屏的输入、定时信号采集程序、GSM的通信程序、TCP/IP协议栈程序几部分。各模块的功能相对独立,各模块间的任务调度与处理全部由系统主程序完成即可。


    由于在现有的实时操作系统中,移植好TCP/IP协议的RTOS基本都需要收费,考虑到系统的成本,实时性需求、协议栈、软件对稳定性、可靠性、抗千扰等性能的要求,本系统决定不使用实时操作系统,采用C语言从系统底层开始直接编写控制程序就可以很好的达到要求。
2.3 开发系统的选择
   
基于系统的硬件结构设计方案,本系统选用了EmbestARM开发系统,它主要包括Embest IDE集成开发环境,Embest JTAG仿真器,Flash编程器,Embest EduKit-Ⅲ开发板等。开发系统的模型图如图7所示,它为用户提供了嵌入式系统所需要的整套工具,用户可以利用该平台很方便的设计出自己的目标系统。



3 基于GSM的无线数据传输系统的软件设计
3.1 系统主程序
   
系统的主程序主要负责系统各模块的控制和任务的调度。主程序流程图如图8所示。

3.2 定时模块

本系统的定时模块主要根据用户设置的定时时间定时,当定时时间到系统自动向远程监测结点发送采集数据的命令。本系统采用S3CA4 B0X处理器内部集成的RTC模块的秒中断实现定时功能。程序的设计思想是定义一整形变量(16位)用来记录秒中断的次数,这样最大定时时间可达到18小时,本系统定时时间为每1小时采集1次数据,所以该方法能够满足系统的定时需求。当定时时间到达后,系统向各远程监测终端发送数据采集命令,并等待数据的到来。
3.3 数据存取模块
   
系统的数据存取模块主要完成对E2PROM存储器的读取和写入操作。它负责把从远程终端结点采集来的数据经分析后按照规定的格式存入E2PROM中。与此同时,当其它系统需要时,会从E2PROM存储器中读出这些数据,并把它传送给请求的系统或设备。本系统采用的E2PROM存储器为AT24C64,它是基于IIC总线的外围器件。IIC总线是Philips推出的一种双向二线制总线。它只包括一条数据线(SDA)和一条串行时钟线(SCL),大大节省了微处理器的IO口线。
3.4 串口部分软件设计
   
本系统的GSM无线模块是通过串行接口与EduKit-Ⅲ开发板相连,该模块的软件设计的工作主要是遵循GSM无线模块提供的串行通信协议实现短信息的接收和发送。GSM无线模块相关的串行通信协议标准如下:1位起始位,8位数据位,1位停止位,无校验位,9 600 bps波特率。
    因为系统已经有串口操作的基本函数,本文重点考虑利用中断方式实现串口的数据接收与发送所涉及的相关问题,它主要包括串口中断的初始化和串口数据的接收及处理工作。串口中断的初始化工作主要包括设置S344B0X微处理器的中断模式、使能串口中断、清除串口中断标志位和设置串口中断的中断服务程序。其代码在这里就不在详述。串行数据接收部分的程序流程图如9所示。


    程序的设计思想是:当串口接收到来自GSM模块的数据时,程序首先保护现场,然后判断FIFO是否为空,若还有数据则存入数据接收缓冲区,并调用数据处理程序即是判断是不收到"OK OAH ODW”,如果是则将数据有效标志置为1,否则置为0,同时修改指针,否则说明数据已经接收完毕,需要进行错误处理并恢复现场后返回。
3.5 液晶显示(LCD)模块软件设计
   
液晶屏(LCD:Liquid Crystal Display)主要用于显示文本及图形信息。本系统主要包括ASCII字符、语言文字字符、图形图像的显示。由于ASCII码字符和汉字字符所使用的点阵是不同的,所以系统采用了不同的字库文件,但通过LCD屏幕向用户显示提示信息时,难免会同时出现汉字和ASCII字符,比如:“当前温度:23”。在这种情况下,为了方便程序的处理,需要编写中英文同时显示的程序。程序流程图如图10所示。程序的设计思想是:首先获得字符所需要显示的区域(左上角坐标,右下角坐标),然后读取需要显示的字符串,如果当前字符为ASCII码字符,则调led_disp_ascii8x16()函数显示,同时指针移1个字符,x坐标加8;否则,连续读取2个字符,调用led_disp_hz16()函数显示,同时指针移动2个字符,x坐标加16。最后判断是否需要换行。如此反复循环,直到所有字符显示结束为止。

返回列表