基于ARM的GPRS通信系统设计_第1页
基于ARM的GPRS通信系统设计_第2页
基于ARM的GPRS通信系统设计_第3页
基于ARM的GPRS通信系统设计_第4页
基于ARM的GPRS通信系统设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页I摘要本文介绍了基于S3C2410的GPRS通信系统的设计与实现,包括硬件模块程序设计以及系统软件设计。硬件模块程序包括ADC、键盘、LCD、UART、GPRS等各功能模块控制程序的设计;系统软件包括数据采集子系统、数据中心子系统软件系统的设计,其中详细介绍了系统的数据流图分析、程序结构设计过程。本文还简单介绍了GPRS传输控制协议、SMS编解码过程。最后还简单介绍了本系统的系统测试方法、测试过程以及测试结果。关键词S3C2410,GPRS,SMS第页II目录1绪论111课题背景及意义112课题研究的国内外发展及现状113课题研究的主要内容12硬件平台简单说明121硬件系统结构图23各模块程序设计231异步串口通信控制程序232LCD显示控制程序333键盘控制程序434ADC数据采集控制程序44系统软件设计541系统数据流图分析5411数据采集子系统数据流图分析6412数据中心子系统数据流图分析842系统程序结构设计9421数据采集子系统程序结构设计9422数据中心子系统程序结构设计116结论14参考文献15附录文中出现的部分英文缩写说明16第页11绪论11课题背景及意义近年来,通信技术和网络技术的迅速发展,特别是无线通信技术的发展,使得电力系统的自动化程度进一步提高。GSM网络出现后,技术人员很快把GSM模块嵌入到各种仪表仪器中,如多功能电能表、故障测录仪、抄表系统和用电负荷监控等,从而使这些仪表仪器具有远程通信功能。GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持TCP/IP协议,可以直接与INTERNET互通。因此,CPRS在无线上网、环境监测便携型、交通监控、移动办公等行业中具有无可比拟的性价比优势。12课题研究的国内外发展及现状GPRS是通用无线分组业务(GENERALPACKETRADIOSYSTEM)的缩写,是介于第二代和第三代之间的一种技术,通常称为25G。GPRS采用与GSM相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的TDMA帧结构。因此,在GSM系统的基础上构建GPRS系统时,GSM系统中的绝大部分部件都不需要作硬件改动,只需作软件升级。有了GPRS,用户的呼叫建立时间大大缩短,几乎可以做到“永远在线”。此外,GPRS是以营运商传输的数据量而不是连接时间为基准来计费,从而令每个用户的服务成本更低。13课题研究的主要内容介绍了基于S3C2410的GPRS通信系统的设计与实现,包括硬件模块程序设计以及系统软件设计。硬件模块程序包括ADC、键盘、LCD、UART、GPRS等各功能模块控制程序的设计;系统软件包括数据采集子系统、数据中心子系统软件系统的设计,其中详细介绍了系统的数据流图分析、程序结构设计过程。本文还简单介绍了GPRS传输控制协议、SMS编解码过程。最后还简单介绍了本系统的系统测试方法、测试过程以及测试结果。2硬件平台简单说明本系统硬件平台根据英蓓特公司的EMBESTEDUKITIII实验教学平台所设计,该教学平台是一款功能强大的32位嵌入式开发板,采用三星公司以ARM7为内核的微处理器S3C44B0X和以ARM9为内核的微处理器S3C2410X,具有JTAG调试等功能。S3C2410内部集成了ARM公司ARM920T处理器核,资源丰富,第页2带独立的16KB的指令CACHE和16KB数据CACHE,LCD控制器、RAM控制器、NAND闪存控制器、3路UART、4路DMA、4路带PWM的TIMER、并行I/O口、8路10位ADC、触摸屏接口、IIC接口、IIS接口、2个USB接口控制器、2路SPL,主频最高可达200MHZ。本系统设计主要是对ADC、键盘、液晶显示屏、无线通信模块的控制1。21硬件系统结构图硬件系统的结构如图21所示。GSM/GPRS收发电路板SIM卡S3C2410天线RS232键盘LCD存储器GSM/GPRS收发电路板SIM卡天线S3C2410RS232GPRS/GSM网络数据采集传感器8路执行机构图21硬件系统结构图3各模块程序设计由于硬件平台采用英蓓特公司的EMBESTEDUKITIII实验教学平台,所以该系统的设计主要是软件的设计,下面分别介绍各个主要功能模块的控制程序的设计4。31异步串口通信控制程序串口通信程序的主要包括初始化与UART传输相关的I/O口,设置UART相关控制寄存器,中断入口函数设置,往串口发送数据,从串口读入数据,和从串口读字符串等。处理器与GPRS模块间是通过UART通信的,所以异步串口通信控制程序是该系统程序设计最重要的模块程序之一,其流程图如图31所示。第页3开始端口初始化寄存器设置中断入口函数设置发送数据接收数据写数据到发送缓冲区发送缓冲区空接收到数据读接收缓冲区的数据延时发送数据接收数据返回图31异步串口通信程序流程图32LCD显示控制程序LCD显示控制程序主要包括LCD应用初始化函数,汉字显示函数,其中前两个参数为显示X,Y坐标,第三个参数表示显示颜色,第四个参数是指向要显示的汉字的指针;字符显示函数,其参数同汉字显示;矩形显示函数,图形显示函数。系统数据处理结果最终要在LCD上显示出来,LCD显示是人机接口设计的重要内容之一。LCD显示控制程序的流程图如图32所示。开始端口初始化寄存器设置清屏汉字显示LCD显示打开字符显示返回矩形显示图形显示图32LCD显示控制程序流程图第页433键盘控制程序键盘控制程序主要是IIC通信程序的设计,通过控制ZLG7290来读取键值。包括初始化函数,读取键值函数,字符显实函数(用于显示按键值);其中初始化函数主要实初始化端口、IIC串口通信相关寄存器设置、中断寄存器设置、中断入口函数设置。键盘也是人机接口设计的重要内容之一,其程序流程图如图33所示。开始键盘初始化置标值位为0标值位等于0返回Y置标志位为0读键值键值等于0Y键值转换按下退出键LCD显示系统退出Y在LCD上显示按下的键值NNN图33键盘控制程序流程图34ADC数据采集控制程序ADC控制程序是为了掌握S3C2410处理器的A/D转换功能,利用S3C2410集成的A/D转换模块,把分压值转换为数字信号,并送数码管显示。AD转换是数据采集子系统的核心程序之一,整个系统的数据源即来自AD转换,它的程序流程图如图34所示。开始数码管初始化数码管显示全8ADC寄存器设置启动AD转换读AD转换结果返回数据转换把数据送数码管显示AD转换完NY图34ADC数据采集程序流程图第页54系统软件设计系统软件主要包括3部分程序代码、与软件相关的说明文档以及软件所处理的数据。数据是整个软件处理的对象,所以本系统系统软件的设计是从数据着手5。41系统数据流图分析当数据在软件系统中移动时,它将被一系列“变换”所修改。数据流图描绘数据从输入移动到输出的过程中所经过的变化,他没有任何具体物理部件,只描述数据在软件中流动和被处理的逻辑过程。本系统数据源点是数据采集终端AD转换器,经无线网络GSM/GPRS传给数据控制中心上位机LCD显示,LCD即为系统的数据终点,其基本系统模型如图41所示。ADCADCADCADCGPRS数据处理系统环境参数环境参数环境参数环境参数液晶显示器LCD环境参数信息图41基于ARM的GPRS设计与实现基本系统模型经进一步分解,可把系统划分为数据采集子系统和数据中心子系统两部分。其中数据采集子系统的数据源点是各采集终端的AD转换器,终点是GSM/GPRS无线网络,如图42所示;数据中心子系统数据源点是GSM/GPRS无线网络,终点是数据中心液晶显示器LCD,如图43所示。即数据采集终端的数据终点通过无线网络后变成数据中心的数据源点。ADCN数据采集子系统N无线网络GSM/GPRS环境参数SMS/数据包无线网络GSM/GPRS数据中心子系统N液晶显示器LCDSMS/数据包环境参数信息图42数据采集子系统系统模型第页6ADCN数据采集子系统N无线网络GSM/GPRS环境参数SMS/数据包无线网络GSM/GPRS数据中心子系统液晶显示器LCDSMS/数据包环境参数信息图43数据中心子系统系统模型下面分别介绍各子系统的数据流图。411数据采集子系统数据流图分析在数据采集子系统中,环境参数经AD转换后存储。为了采集数据的精确,先采取多次样值,去除坏值后,再对剩下的数据进行数字滤波处理,得出比较精确的环境参数。现在得出的环境参数还是原始的整型二进制代码,首先要根据处理器的ADC规律把二进制代码转换为对应的电压值,再根据传感器特性把电压值转换为对应的环境参数,如温度、湿度等。在上面工作都完成之后,由于GPRS模块的特性,要把环境参数值转换为对应的ASCII码,这样方便传输。根据以上分析,可得出数据采集子系统数据流图如图44所示。ADCNAD转换环境参数存储数组环境参数模拟量环境参数数字量、电压、整型数据分析环境参数数字量、电压、整型数据处理比较精确的电压值整型串口传输环境参数的对应值浮点型、ASCII码GPRS模块发送ASCII码、AT指令无线网络GSM/GPRS短消息/数据包ASCII码图44数据采集子系统数据流图对图中各数据流说明环境参数模拟量经传感器采集后的环境参数,为模拟量的电压值。环境参数数字量、电压、整型模拟量的电压值经AD转换后存储在寄存器中,此时的环境参数为整型的二进制代码,经读取后存储。比较精确的电压值整型AD转换有可能出现误差,所以必须进行多次采样,经分析后得出比较接近实际参数的值。第页7环境参数的对应值浮点型、ASCII码参数经分析后,还是整型的二进制代码,需要根据处理器AD转换器的参考电压及位数转换为浮点型的电压值,再根据传感器的特性转换为对应环境参数的实际值。为了方便传输和数据中心解码,还要将转换后的值再转换成对应的ASCII码,方便数据的传输。ASCII码、AT指令GPRS模块采用AT指令控制,在数据传输前,需要先通过AT指令进行一系列初始化过程,然后再把数据的ASCII码通过串口给GPRS模块。短消息/数据包GPRS模块解析AT指令、建立连接后就把环境参数值、手机号码、发送时间等以短消息GSM网络或数据包GPRS网络的方式传送到无线网络。对数据流图中各处理说明AD转换负责采集、存储环境参数。数据分析读取AD转换存储的参数,经比较除去与实际情况完全不符或与其他数据相差较大的值,再滤波,得出比较精确的参数,供数据处理用。数据处理取分析后的数据,根据处理器输入参考电压33V、ADC位数10位把二进制整型代码转为电压值。根据传感器的电压环境参数的对应关系,求出环境参数具体值,再转换为ASCII码,为传输做准备。串口传输GPRS模块与处理器通过串口连接,所有数据、指令都是通过串口交换,AT指令是处理器与GPRS模块的软件接口。GPRS模块发送GPRS模块解析AT指令后,将串口发送过来的数据通过无线网络发送。412数据中心子系统数据流图分析GPRS模块接收到无线网络传输的数据后,首先分析是短消息还是数据包。如果是短消息,则采用PDU/TEXT解码分离出短消息数据中心号、发送方手机号、发送时间、发送内容等,经处理后提取出有用的信息,存储、送LCD显示,必要时还可发出报警信号;如果是PPP数据包,先提取出数据包的协议域,在取出数据报的信息,采用PPP数据帧解码规则分离出发送方号码、环境参数内容、参数发送的时间数据包信息域协议自己规定,经处理提取出有用的信息,存储、送LCD显示,必要时还可发出报警信号。根据以上分析,可得出数据中心子系统数据流图如图45所示。第页8无线网络GSM/GPRS接收数据短消息/数据包分析数据短消息/数据包PDU/TEXT解码短消息处理存储发送号码、消息内容、发送时间LCD地点参数时间PPP数据帧解码数据包手机卡编号、参数内容、发送时间显示地点参数时间图45数据中心子系统数据流图对图中各数据流说明短消息/数据包包含有由数据采集子系统通过无线网络传送给中据中心子系统的环境参数,该环境参数可能采用短信息的形式通过GSM网络传输,也可能以数据包的形式通过GPRS网络传输,由GPRS模块接收,串口传递,传递数据分析模块处理。短消息包含有由数据采集子系统通过无线网络传送给中据中心子系统的环境参数,由数据分析模块提取出,传递给PDU/TEXT解码模块解码。发送号码、消息/参数内容、发送时间由发送号码为发送方的手机号,消息/参数内容包括环境参数内容,发送时间环境参数采集或/和传输的时间。手机卡编号在数据包方式发送中每一个处理器为其上的手机卡编的号码,与其所处地点唯一对应。地点、参数、时间地点是数据采集模块所处的位置,由发送号码或手机卡编号唯一确定,参数即数据采集模块采集点的环境参数,时间环境参数采集或/和传输的时间。数据包包含有由数据采集子系统通过无线网络传送给中据中心子系统的环境参数,由数据分析模块提取出,传递给PPP数据帧解码模块解码。对图中各处理说明接收数据接收无线网络传输的短消息或数据报,由GPRS模块和串口联合完成。分析数据分析串口接收的数据是短消息还是数据包,调用相应解码模块。PDU/TEXT解码解码经过分析的字符串,提取出短信中包含的发送方手机号码、消息内容、发送时间等。PPP数据帧解码解码经过分析的字符串,提取出数据包中包含的手机卡编号、环境参数内容、发送时间等。处理存储把手机号或手机卡编号与其所处的位置对应起来并存储如果不是自己设定的号则丢弃收到的数据,存储收到的环境参数信息以及接收的第页9时间。显示把刚才处理好的数据送到LCD显示。42系统程序结构设计经过数据流图的分析,我们对每个子系统必须做什么已经已经很清楚了,程序结构设计也称总体设计将完成“概括来说,系统将如何实现”这个问题。程序结构设计将确定系统中每个程序是由那些模块组成,以及这些模块相互间的关系。下面分别详细介绍数据采集子系统和数据中心子系统的程序结构设计过程。421数据采集子系统程序结构设计分析数据采集子系统的数据流图,可以从系统中分解出下面几个控制功能模块,由主函数协调他们的控制功能1)数据采集模块,协调所有传感器输入模拟量的采集,负责所采集数据的接收与存储;2)数据处理模块,管理数据采集模块存储的数据,负责数据转换;3)数据输出模块,协调输出信息的产生过程,并负责吧数据传递到无线网络。数据采集子系统第一级分解得出的结构图如图46所示,每个控制模块的名字表明了他所控制的那些模块的功能。主函数数据采集数据处理数据输出输入控制变换控制输出控制图46数据采集子系统的第一级分解对第一级分解进一步细化,把数据流图中每个处理映射成软件结构中一个适当的模块,即第二级分解,如图47所示。第页10AD转换存储转换结果数据采集数据处理数据输出数据分析数据处理串口传输GPRS模块发送图47数据采集子系统第二级分解图中每个模块的名字表明了它的基本功能,对各模块作一简要说明如下AD转换模块入口参数是模拟信号输入端口、AD转换结果存储首地址,无返回值,由主函数调用;调用模块之前需要进行ADC初始化等工作;模块内部要包括AD转换结果的存储、延时等;要有判断采集的数据是否合理,对不合理的进行重新采集;每一路数据都采集完之后需要调用分析数据模块。数据分析模块入口参数是AD转换采集的数据存储数组,无返回值,由主函数调用;模块先检查每一路端口采集的数据有没有与同端口下其他数据相差很大,如果有就采用滤波等方法剔除坏值,再取平均值,得出比较接近的环境参数值,供数据处理模块取用;模块最后需要调用数据处理模块。数据处理模块入口参数是数据分析模块计算出的比较精确的每一路环境参数值,无返回值,由数据分析模块调用;模块首先把整形的环境参数装换成与之对应浮点型电压值,然后根据每一路传感器特性计算出环境参数值,再把对应环境参数值转换为ASCII码后编码,存储在字符型数组中,供串口传输模块取用;模块最后调用串口传输模块。串口传输模块入口参数是数据分析模块编码得到的字符串,无返回值,由数据处理模块调用;调用该模块之前需要进行串口初始化、GPRS模块初始化等工作(这些初始化工作包括ADC初始化等可以在主函中先完成);该模块主要通过AT指令控制GPRS模块进行数据的传输,在GPRS模块测试通过后传输数据处理模块处理好的字符串,数据发送后返回。GPRS模块发送GPRS模块负责解析串口传输的AT指令,主要是硬件设计问题,在此系统中不必着重研究。经过以上分析可画出数据采集模块子系统的程序结构图如图48所示。第页11AD转换存储转换结果数据分析数据处理串口传输GPRS模块发送主函数数据采集数据处理数据输出图48数据采集子系统程序结构图422数据中心子系统程序结构设计分析数据中心子系统数据流图,从系统中分解出下面几个控制模块,由位于软件结构最顶层的控制模块“GPRS测试”协调他们的控制功能1)输入信息处理控制模块“接收无线网络数据”,协调对所有输入数据的接收;2)变换中心控制模块“数据转换控制”,管理内部数据的所有操作;3)输出信息处理控制面模块“驱动LCD显示”,协调输出信息的产生过程。数据中心子系统第一级分解得出的结构如图49所示,每个控制模块的名字表明了为他所控制的那些模块的功能。GPRS测试接收无线网络数据数据转换控制驱动LCD显示输入控制变换控制输出控制图49数据中心子系统的第一级分解对第一级分解进一步细化,把数据流图中每个处理映射成软件结构中一个适当的模块,即第二级分解,如图410所示。图中每个模块的名字表明了它的基本功能,对各模块作一简要说明如下接收数据模块包含在上层模块中,由上层GPRS测试模块管理;当判断有新短信时用该模块读取新信息,接收的数据供分析模块分析处理;模块接收完数据后需要调用分析数据模块。分析数据模块入口参数是接收模块接收到的数据,无返回值,由上层GPRS测试模块调用;模块主要负责判断接收到的数据是短消息还是数据包,并第页12把判断后的字符串传递给解码模块解码;模块最后需要调用PDU/TEXT解码或PPP数据解码模块。接收无线网络数据数据转换控制驱动LCD显示接收数据分析数据PDU/TEXT解码PPP数据帧解码处理存储显示图410数据中心子系统第二级分解PDU/TEXT解码模块入口参数是分析数据模块处理后的数据,无返回值,由分析数据模块调用;模块先判断接收到的短信息是PDU模式还是TEXT模式,再根据他们的编码规则分离解码出发送方手机号、短消息内容、发送时间等信息,供处理存储模块分析处理;模块最后需要调用处理存储模块。PPP数据帧解码;模块入口参数是分析数据模块处理后的数据,无返回值,有分析数据模块调用;模块对接收到的数据包解码,分离出信息域,再对信息域进行解码,分离出数据包中包含的手机号编号、环境参数、数据发送时间等信息,并把手机号编号映射成手机号如果是不合法的数据包,则丢弃该数据包并返回,供处理存储模块分析处理;模块最后需要调用处理存储模块。处理存储模块入口参数是解码模块解码好的字符串,无返回值,由PDU/TEXT解码模块或PPP数据帧解码模块调用;模块首先把手机号映射成对应数据采集终端所处的位置如果是不合法的手机号,则丢弃数据并返回,再把对应的时间、参数等组合在一起存储,供显示模块调用;模块最后需要调用显示模块。显示模块入口参数是处理存储模块处理好的数据,无返回值,由处理存储模块调用;模块负责把数据终端位置、数据采集时间、环境参数值等送LCD显示;显示完后返回。经过以上分析可画出数据采集模块子系统的程序结构图如图411所示。第页13GPRS测试接收无线网络数据数据转换控制驱动LCD显示接收数据分析数据PDU/TEXT解码PPP数据帧解码处理存储显示图411数据中心子系统程序结构图6结论至此,设计也差不多按预先规定完成。系统设计过程涵盖了软件开发的一般流程,包括分析、设计、实现与测试。本系统中分别对应数据流图分析、程序结构设计、程序流程图设计和代码编写、系统测试。程序流图设计和代码编写比较简单,所以在论文中没有介绍。当然,由于只是做简单的设计,系统维护阶段也就省去了。设计开发出两套非常简单的小型系统,数据采集子系统和数据中心子系统。数据采集子系统每隔一分钟采集一次数据,通过无线网络发送给数据中心子系统;数据中心子系统接收数据数据采集子系统通过无线网络传来的数据,显示在LCD上,两个子系统之间通过发送短消息通信。这就是本设计最后实现的功能。第页14参考文献1田译ARM9嵌入式LINUX开发实验与实践M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论