微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 带以太网接口的GSM无线数据传输系统设计与实现

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

时间:10-06 来源:电子科技 点击:

的速度要求也不高,所以我们选用通用的10Mbps带宽的以太网模块即可。

4) 输入/输出模块

本系统主要利用LCD和TSP相结合,为用户和设备的交互工作提供了良好的显示和输入接口。设备参数如下:分辨率:320x240,色彩:256色,画面尺寸:5.7 inch。

2.2 系统软件总体设计

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

\

图6 软件结构示意图

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

2.3 开发系统的选择

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

\

图7 Embest EduKit-Ⅲ开发板与TC35i GSM模块的连接示意图

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

3.1 系统主程序

系统的主程序主要负责系统各模块的控制和任务的调度。主程序流程图如图8所示。

\

图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所示。

\

图9 串行中断处理流程图

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

3.5 液晶显示(LCD)模块软件设计

液晶屏(LCD:Liquid Crystal Display)主要用于显示文本及图形信息。本系统主要包括ASCII字符、语言文字字符、图形图像的显示。由于ASCII码字符和汉字字符所使用的点阵是不同的,所以系统采用了不同的字库文件,但通过LCD屏幕向用户显示提示信息时,难免会同时出现汉字和ASCII字符,比如:"当前温度:23"。在这种情况下,为了方便程序的处理,需要编写中英文同时显示的程序。程序流程图如图10所示。程序的设计思想是:首先获得字符所需要显

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top