微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于GPRS业务的定位信息传输系统

基于GPRS业务的定位信息传输系统

时间:08-29 来源:互联网 点击:
软件控制流程

由于采用了ATMEGA128作控制器,使得硬件的工作相对简单和通用,所以该系统实现的主要工作集中在软件的实现上。

下面就主要的软件控制流程做一介绍。

首先是数据源,GPS模块不断发送固定格式的串口数据,CPU利用一串口与之相连。一般单片机对串口数据的接受处理方式有两种:轮寻和中断。这里因为数据量很大,而且除了接收数据外其他的工作量并不很大,可以采用轮寻的方式。我们最终的目的是要把位置信息发送到因特网上,在此之前,最为关键的就是将系统无线接入因特网,这个功能由GPRS提供,但我们必须对它进行初始化,和链路控制。利用GPRS上网,和普通用户通过PC机拨号上网原理相同,都是通过呼叫固定号码的PPP服务器,进行握手认证,以及协议的配置。正常情况下,完成握手以后,PPP链路建立。PPP 帧结构如图3所示。此表未包括为同步而设置的字符和为透明性而设置的字符。传送时由左向右传送下图的内容。

每个帧由一个标记序列开始和结束。所有系统不断检测此标记,它用于对帧进行同步。在两帧之间只需要一个这样的标记,两上相继的标记构成一个空帧,它被无响应抛弃,而不产生FC S错误。地址域是一个字节,也就是“所有站”地址。单独站地址未被指定。“所有站”地址必须能够识别并被接受。不可识别的地址应该被无回应抛弃。控制域是一个字节,“未编号信息”(UI)命令和选举/结果位被设置为零。不可识别的地址应该被无回应抛弃。帧检查序列(FCS)域通常包括两个字节(16位)。先传送它的最低位,它指示的是最高系数项。也使用四个字节的FCS,此域是由地址、控制、协议、信息和填充域中的所有位运算得到的,不包括开始和停止位或用于数据透明性而插入的位,也不包括标记序列和FCS域本身。在同步控制字符映射中标记的字节在接收时存在,但在计算FCS时会被抛弃。与PPP服务器建立链路以后,就可以进行数据的传输了。

链路层之上就是IP层,IP层之上可选的协议主要有面向连接的TCP协议和非面向连接的UDP协议。当业务的数据要求高可靠性时,应该选用TCP协议,但TCP协议实现起来复杂,而且系统负荷较大。UDP协议没有可靠性的保证,但它对网络的负荷较小,比较适合实时数据的传输。本系统对数据的可靠性要求不是特别高,比较适合选择UDP协议。

Atmega128处理器中含有128k字节的可编程flash memory,4k字节的EEPROM,4k字节的SRAM。对于此系统,如果不嵌入RTOS内核,这些资源就足够了。但如果没有RTOS,在写控制程序时就没有协议栈的支持,也就是说,必须自己实现PPP协议、IP协议和UDP协议。如果要嵌入其他的操作系统,就必须扩展SRAM。本文中采用直接实现协议的方式进行描述。图3就是系统的软件控制流程。

如果需要更强大的网络功能支持,可以嵌入RTOS内核,现在有不少系统支持Atmega128,有的甚至是为它量身订做的,像NUT/OS,内嵌了对各种网络协议的支持,当然也包括PPP协议。它甚至专门对Atmega128的各种扩展做了支持,例如SPI接口。此外,NUT/OS包括了一套函数专门用来让Atmega128访问扩展的以太网芯片,大大的缩短了开发周期和开发成本。

结语

随着时代节奏的不断加快,实时信息传送的应用领域越来越广泛,需求量与日俱增。GPRS业务的推出,更加推动了这一方向的迅猛发展,更加预示了它的广阔前景。

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

网站地图

Top