基于ARM的GPRS数据传输系统的研究_第1页
基于ARM的GPRS数据传输系统的研究_第2页
基于ARM的GPRS数据传输系统的研究_第3页
基于ARM的GPRS数据传输系统的研究_第4页
基于ARM的GPRS数据传输系统的研究_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于 arm 的 gprs 数据传输系统的研 究 基于 arm 的 gprs 数据传输系统的研究 刘伟伟 淮北师范大学信息学院 235000 摘要 随着单片机及 arm 技术的广泛应用 ,以及芯片技术的不断发展 , gprs 通 用分组无线业务在当前远程无线数据传输、遥测遥控中越来越受到人们的重视 , 所以 ,由此而开发设计的二次设备和产品得到极大的推广和应用。论述了基于 wav ecom q2406b 无线通讯模块、a rm7 lpc2138 微处理器的数据传输终端设计 方案 ,并提供了部分硬件电路图、软件流程图及程序代码。 针对分布比较分散,场所不固定,或是环境比较恶劣的监测现场,提出了

2、一 种通用的远程监测终端的设计方法。终端具有模块化的数据采集功能,并采用 arm9 处理器和 linux 操作系统,用 qt/embedded 编写终端应用程序,使其具有良 好的人机交互界面,并对数据进行分析处理,采用 gprs(通用无线分组业务)无 线通信技术将处理过的数据发往监测中心,存入数据库。实际实验证明,该终端 数据处理速度快,精度高,实时性好,可以满足一般监测现场的要求。 关键词 gprs 模块 ;rs232 ;lpc2138 ;at 命令;arm study on gprs transferring system based on arm liu weiwei huaibei b

3、ormal university college of information, 235000 abstract along with the wide application of single chip computer and arm technique as well as the development of integrated chip technique gprs general grouping wireless service is attached with more importance by people in the current data transmissio

4、n 、metering and remote control . therefore secondary product and quality goods developed and designed according to the techniques mentioned are obtaining enormous promotion and application. the data transmission terminal design based on wavecom q2406b module and arm7lpc2138 are elaborated and partia

5、l hardware electric diagram .software flowchart and program code is provided. for more decentralized distribution, place is not fixed, or the environment is bad monitoring site, puts forward a universal remote monitoring terminal of the design method. terminal with modularization data acquisition fu

6、nction, and uses the arm9 processor and linux operating system, with qt/embedded write terminal application, make its have good human-machine interface, and analyze the data treatment, and a gprs (general packet radio service) wireless communication technology will be processed data sent to monitori

7、ng center, and stored in the database. the actual experiment proves that the terminal data processing speed, high precision, good real- time, can satisfy the requirement of the general monitoring. keywords gprs module; rs232; lpc2138; at command; arm 目目 次次 1 绪 论.1 1.1 arm 处理器 .1 1.2 arm 处理器模式 .2 1.3

8、 gprs 概括及应用 .4 2基于 arm 和 gprs 的远程监测终端的研究.5 2.1 终端的整体结构研究.5 2.2 终端硬件研究.6 2.3 终端软件的研究.9 3基于 arm 的 gprs 的无线数据传输系统的研究 .14 3.1 gprs 数据传输的协议分析和实现 .14 3.2 数据传输终端的硬件研究.15 3.3 数据传输终端的软件研究.17 结 论 .21 参考文献.22 1 绪绪 论论 1.11.1 armarm 处理器处理器 arm(advancedriscmachines),既可以认为是一个公司的名字,也可 以认为是对微处理器的通称,还可以认为是一种技术的名字。arm

9、 处理器是一个 32 位元精简指令集(risc)处理器架构,其广泛地使用在许多嵌入式系统设计。 1.arm 处理器特点 体积小、低功耗、低成本、高性能;支持 thumb(16 位)/arm(32 位)双指 令集,能很好的兼容 8 位/16 位器件;大量使用寄存器,指令执行速度更快;大 多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固 定。 2.arm 处理器系列 arm7 系列arm9 系列arm9e 系列arm10e 系列 se cur core 系列 intel 的 x scaleintel 的 strong arm arm11 系列 其中, arm7、arm9、ar

10、m9e 和 arm10 为 4 个通用处理器系列,每一个系列提供一套相对 独特的性能来满足不同应用领域的需求。se cur core 系列专门为安全要求较高 的应用而设计。 3.arm 处理器结构 体系结构: cisc(complexinstructionsetcomputer,复杂指令集计算机):在 cisc 指令集的各种指令中,大约有 20%的指令会被反复使用,占整个程序代码的 80%。而余下的 80%的指令却不经常使用,在程序设计中只占 20%。 risc(reducedinstructionsetcomputer,精简指令集计算机):risc 结构优先选取使用频率最高的简单指令,避免复

11、杂指令;将指令长度固定,指令 格式和寻址地方式种类减少;以控制逻辑为主,不用或少用微码控制等 risc 体系结构应具有如下特点:采用固定长度的指令格式,指令归整、简单、 基本寻址方式有 23 种。使用单周期指令,便于流水线操作执行。大量使用寄 存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器, 以提高指令的执行效率。除此以外,arm 体系结构还采用了一些特别的技术,在 保证高性能的前提下尽量缩小芯片的面积,并降低功耗。所有的指令都可根据前 面的执行结果决定是否被执行,从而提高指令的执行效率。可用加载/存储指令 批量传输数据,以提高数据的传输效率。可在一条数据处理指令中同时

12、完成逻辑 处理和移位处理。在循环处理中使用地址的自动增减来提高运行效率。 寄存器结构: arm 处理器共有 37 个寄存器,被分为若干个组(bank),这些寄存器包括: 31 个通用寄存器,包括程序计数器(pc 指针),均为 32 位的寄存器。6 个状态 寄存器,用以标识 cpu 的工作状态及程序的运行状态,均为 32 位,目前只使用 了其中的一部分。 指令结构: arm 微处理器的在较新的体系结构中支持两种指令集:arm 指令集和 thumb 指令集。其中,arm 指令为 32 位的长度,thumb 指令为 16 位长度。thumb 指令集 为 arm 指令集的功能子集,但与等价的 arm

13、代码相比较,可节省 30%40%以上的 存储空间,同时具备 32 位代码的所有优点。 1.21.2 armarm 处理器模式处理器模式 arm 处理器状态: arm 微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为 arm 状态,此时处理器执行 32 位的字对齐的 arm 指令;第二种为 thumb 状态,此 时处理器执行 16 位的、半字对齐的 thumb 指令。在程序的执行过程中,微处理 器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处 理器的工作模式和相应寄存器中的内容。但 arm 微处理器在开始执行代码时,应 该处于 arm 状态。 进入 thumb

14、 状态:当操作数寄存器的状态位(位 0)为 1 时,可以采用执行 bx 指令的方法,使微处理器从 arm 状态切换到 thumb 状态。此外,当处理器处于 thumb 状态时发生异常(如 irq、fiq、abort、swi 等),则异常处理返回时,自 动切换到 thumb 状态。 进入 arm 状态:当操作数寄存器的状态位为 0 时,执行 bx 指令时可以使微 处理器从 thumb 状态切换到 arm 状态。此外,在处理器进行异常处理时,把 pc 指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处 理器切换到 arm 状态。 arm 处理器模式: arm 微处理器的运行模式

15、可以通过软件改变,也可以通过外部中断或异常处 理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时, 某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有 6 种模式称之为非用户模式,或特权模式;其 中除去用户模式和系统模式以外的 5 种又称为异常模式,常用于处理中断或异常, 以及需要访问受保护的系统资源等情况。 arm 寄存器: arm 处理器共有 37 个寄存器。其中包括:31 个通用寄存器,包括程序计数 器(pc)在内。这些寄存器都是 32 位寄存器。以及 6 个 32 位状态寄存器。 异常处理: 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个

16、外部 的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完 成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固 定的优先级进行处理。当一个异常出现以后,arm 微处理器会执行以下几步操作: 进入异常处理的基本步骤: 将下一条指令的地址存入相应连接寄存器 lr,以便程序在处理异常返回时能 从正确的位置重新开始执行。将 cpsr 复制到相应的 spsr 中。根据异常类型,强 制设置 cpsr 的运行模式位。 强制 pc 从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常 处理程序处。如果异常发生时,处理器处于 thumb 状态,则当异常向量地址加载 入

17、 pc 时,处理器自动切换到 arm 状态。 arm 微处理器对异常的响应过程用伪码可以描述为: r14_ = return link spsr_= cpsr cpsr 4:0 = exception mode number cpsr5 = 0 ;当运行于 arm 工作状态时 if = reset or fiq then;当响应 fiq 异常时,禁止新的 fiq 异常 cpsr 6 = 1 psr 7 = 1 pc = exception vector address 异常处理完毕之后,arm 微处理器会执行以下几步操作从异常返回: 将连接寄存器 lr 的值减去相应的偏移量后送到 pc 中。

18、将 spsr 复制回 cpsr 中。 若在进入异常处理时设置了中断禁止位,要在此清除。 1.31.3 gprsgprs 概括及应用概括及应用 通用分组无线服务技术(general packet radio service)的简称,它是 gsm 移动电话用户可用的一种移动数据业务。gprs 可说是 gsm 的延续。gprs 和以往 连续在频道传输的方式不同,是以封包(packet)式来传输,因此使用者所负担 的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。gprs 的传输速率可提升至 56 甚至 114kbps。 general packet radio service,通用无

19、线分组业务,是一种基于 gsm 系统 的无线分组交换技术,提供端到端的、广域的无线 ip 连接。通俗地讲,gprs 是 一项高速数据处理的技术,方法是以分组的形式传送资料到用户手上。虽然 gprs 是作为现有 gsm 网络向第三代移动通信演变的过渡技术,但是它在许多方面 都具有显著的优势。目前,香港作为第一个进行 gprs 实地测试的地区,已经取 得了良好的收效。 由于使用了分组的技术,用户上网可以免受断线的痛苦(情形大概就跟使 用了下载软件 net ants 差不多)。此外,使用 gprs 上网的方法与 wap 并不同, 用 wap 上网就如在家中上网,先拨号连接,而上网后便不能同时使用该电

20、话线, 但 gprs 就较为优越,下载资料和通话是可以同时进行的。从技术上来说,声音 的传送(即通话)继续使用 gsm,而数据的传送便可使用 gprs,这样的话,就把移 动电话的应用提升到一个更高的层次。而且发展 gprs 技术也十分经济,因为 只须沿用现有的 gsm 网络来发展即可。gprs 的用途十分广泛,包括通过手机发送 及接收电子邮件,在互联网上浏览等。 现在手机上网的口号就是always online、ip in hand,使用了 gprs 后, 数据实现分组发送和接收,这同时意味着用户总是在线且按流量计费,迅速降低 了服务成本。对于继续处在难产状态的中国移动联通 wap 资费政策,

21、如果将 csd(电路交换数据,即通常说的拨号数据,欧亚 wap 业务所采用的承载方式)承 载改为在 gprs 上实现,则意味着由数十人共同来承担原来一人的成本。 而 gprs 的最大优势在于:它的数据传输速度不是 wap 所能比拟的。目前的 gsm 移动通信网的传输速度为每秒 9.6k 字节,gprs 手机在今年年初推出时已达 到 56kbps 的传输速度,到现在更是达到了 115kbps(此速度是常用 56kmodem 理想 速率的两倍)。 gprs 的应用,迟些还会配合 bluetooth(蓝牙技术)的发展。到时,数码相机 加了 blue tooth,就可以马上通过手机,把像片传送到遥远的

22、地方,也不过一刻 钟的时间,这个日子将距离我们不远了。 2 2 基于基于 armarm 和和 gprsgprs 的远程监测终端的研究的远程监测终端的研究 随着现代生产科技水平的发展,对监测技术的要求越来越高,形式趋于多样 化。在无人值守的变电站、水文站、气象站等野外监测或是在交通运输等行业中, 因分布比较分散、环境恶劣,地点不固定,不便于用传统方法实现集中控制和实 时监测并且有线网络的架设受到种种限制。在这些场合采用基于 gprs 的无线网 络通信技术,具有无可比拟的优势。将嵌入式应用系统与无线通信技术结合在一 起是未来嵌入式应用的必然趋势。gprs(general packet radio

23、service),即 通用无线分组业务。gprs 技术应用于远程数据传输系统,具有以下几个特点: 1)永远在线,接入速度快。分组交换接入时间少于 1 秒,可使远程数据传输的 效率大大提高:2)采用数据流量的计费方式,大大降低了用户的使用费用;3) gprs 网络覆盖范围广,且支持 tcp/ip 协议,从而可实现与 internet 的无缝连接。 2.12.1 终端的整体结构研究终端的整体结构研究 终端要完成 3 个任务,数据采集、数据处理和数据的无线传输。数据采集部 分采用模块化设计思想将采集模块分为模拟量采集模块,数字量采集模块,开关 量采集模块等,每个模块独立的实现对特定采集信号的整流、调

24、理、隔离等处理 再转换为数字量,各模块采用统一的结构,选用相同的单片机处理器。各模块采 集的数据通过统一的 spi(serial peripheral interface)总线传输给 arm 处理 器。这样的结构使终端使用更灵活,应用范围更广泛。数据处理部分采用 arm 处 理器对所采集的数据的类型、长度、有效范围等进行处理,并通过液晶屏加触摸 屏完成人机交互功能。然后将处理好的数据通过 gprs 无线网络传输给上位机。 终端的整体结构图如图 1 所示。 图 1 终端的整体结构图 2.22.2 终端硬件研究终端硬件研究 终端硬件主要由 3 部分组成。一是作为主处理器的 arm9 处理器及其外围

25、电 路包括电源电路、复位电路、外扩存储器电路及用于人机互动的液晶屏、触摸屏 连接电路等。二是各个模块的数据采集电路的设计,这里主要设计的是模拟量采 集模块,以及各个数据采集模块与主处理器之间 spi 连接方式。三是 gprs 模块 外围电路以及与主处理器的连接。端硬件设计示意图如图 2 所示。 图 2 系统硬件结构示意图 1.终端主处理器 主处理器是系统的核心,要完成数据处理,存储,传输,人机界面显示等功 能。结合工业现场的需求终端处理器采用以 arm9 为内核的三星 s3c2440 处理器, 它是一款基于 arm920t 内核的 16/32 位 rsic 结构的嵌入式微处理器,主频 400

26、mhz,最高可达 533 mhz,具有 2 片外接 32 m 的板载 sdram,片内外资源丰富,扩展 性强。系统存储扩展了 2 mb 的 nor flash 用于存放 boot loader 系统引导程序, 和 64 mb 的 nand flash.系统的人机交互平台采用一个 7 寸液晶显示频和一个触 摸屏来完成。 2.数据采集部分硬件设计 数据采集模块可分为模拟量采集模块,数字量采集模块,开关量采集模块等, 主要完成对底层数据的采集,这些模块的单片机处理器统一采用 cygnal 公司的 c8051f021 单片机,它的 mcu 是高度集成的片上系统。在一个芯片内集成了两个 多通道 adc

27、子系统、电压基准、spi 总线接口、8 个 8 位的通用数字 i/o 端口和 64 k bflash 程序存储器及与 8051 兼容的高速微控制器内核等,这些很好的满足 了模块的设计要求。由于模块设计结构上的相似性,这里主要介绍模拟量采集模 块部分。工业现场采集的信号大部分是模拟量,如压力、温度、液位、流量等信 号。这些信号经过现场仪表测量后一般统一输出为 420 ma,05 v,010 v 范 围的电流电压信号。通过模拟量采集模块将这些模拟量转换为数字量。单片机的 a/d 准换的电压基准定为 2.5 v,要将 420 ma,05 v,010 v 范围的电流电压 信号统一为 02.5 v 以内

28、的电压信号,才能进入单片机完成模拟量到数字量的 转换。对于电流信号,在输入端接一个 250 的精密便转换为 15 v 的电压信 号了,对于电压信号通过运算放大器按比例缩放到 02.5 v 范围内即可。转换 电路如图 3 所示。 图 3 电压信号转换电路图 各个数据采集模块与主处理器通过 spi 总线进行通信。spi 总线是 motorola 公司提出的一种高速全双工串行通信总线,它容许 cpu 与各种外围接口器件以串 行方式进行通信。spi 接口只有 miso(主入从出)、mosi(主出从人)、 sclk(时钟)和 cs(片选)4 个信号组成,在芯片上只占用 4 条线,大大节省了 芯片资源。主

29、处理器与各采集模块的 spi 通信方式为一主多从的方式,即 arm 主 处理器的作为主设备,各数据采集模块作为从设备,主设备驱动串行时钟发起通 信。主设备使用片选信号 cs 指明与哪个模块采集模块传送数据。通信时,主设 备的 miso 为输入,mosi 为输出,从设备的 miso 为输出,mosi 为输入,在主设 备时钟的控制下,主设备与从设备的双向移位寄存器同时进行数据交换,完成一 次数据的传输。主处理器与各模块的通信结构图如图 4 所示。 图 4 spi 通信结构图 3.gprs 模块 gprs 模块选用华为 gtm 900c 模块,它是一款三频段 gsm/gprs 无线模块。模 块接口简

30、单、使用方便且功能强大。它支持标准的 at 命令及增强 at 命令。gtm 900c 的 gprs 数据业务的最高速率可达 85.6 kbit/gtm900c 提供 40 脚的 zif 接口, 主要有电源接口、uart 接口(最大串口速率可达 115200bit/s)、标准 sim 卡接 口和模拟语音接口。 本系统中,gtm900c 主要是实现 gprs 上网功能。该模块的主要特点如下: 1)单电源供电,供电范围为 3.34.8 v.典型供电电压为 4.2 v; 2)可工作于三频 egsm900 和/gsm1800/gt800 单频;最大发射功率 egsm900/gt800 class(2w)

31、和 gsm1800 class l(1w); 3)支持 gsm 标准 at 命令、v.25 at 命令和华为扩展 at 命令; 4)gprs 传输速率最高可达 85.6 kbps,支持 cs-1,cs-2,cs-3,cs-4 4 种编码方式。 内嵌了 tcp/ip 协议;支持多连接,提供 ack 应答,提供大容量缓存。gprs 模块 与主处理器的连接很简单,由于两者是通过串口接口进行通信的,所以将两者用 串口线连接即可。gprs 的网络功能都已集成在模块中,只需要在主处理器这一端 将串口参数设置好,然后发送相应的 at 指令对模块进行操作即可。 2.32.3 终端软件的研究终端软件的研究 终端

32、软件设计包括两个任务,一是搭建开发环境,如 linux 操作系统内核移 植,编写设备驱动等,二是在开发环境准备好的基础上进行应用程序的编写,包 括完成 spi 总线数据输入输出功能,gprs 无线数据传输功能,和界面显示功能。 1.软件开发平台搭建 软件平台采用嵌入式 linux 操作系统,嵌入式 linux 操作系统是一个源代码 公开的实时多任务操作系统,可应用于多种硬件平台,可根据需要定制内核,有 良好的网络支持,linux 系统内核精简、高效并且稳定,能够充分发挥硬件的功 能,它非常适合在嵌入式领域中应用。嵌入式 linux 操作系统搭建的步骤为:在 宿主机上建立交叉编译的环境;编译生成

33、 linux 的内核,用的内核是 linux- 2.6.29;编译生成根文件系统,用的根文件系统为 yaffs;向目标机下载 boot loader 的映像,用的 boot loader 为 super vivi;烧写 linux 内核和文件系统的 映像;复位启动。为了使终端可以使用触摸屏,液晶屏和 spi 总线,将编写的对 应的驱动编译、添加到 linux 内核中。系统使用的宿主机系统为在虚拟机下运行 的 redhat9.0 终端应用程序用 qt 来编写,qt 是一个跨平台的 c+图形用户界面 应用程序框架。它具有优良的跨平台特性、面向对象、丰富的 api 支持等优点。 qt-embedde

34、d 是 qt 的嵌入式版本,因此终端应用程序的开发使用 qt/e 作为开发 工具。qt 运行环境的搭建步骤为:首先在宿主机上分别建立 ot-x86 编译环境和 qt-arm 编译调试环境,采用 qt4.5.0 版本;其次,将宿主机生成的 lib 下的库文 件下载到目标板的某个目录下,并在目标板上设置好环境变量,这样在目标机上 的 qt 程序运行环境就建好了。在宿主机上交叉编译好的 o t/e 程序就可以下载 到目标机上运行了。 2.终端应用程序设计 监测终端需要采集监测仪表的现场测量数据,终端设计的数据采集模块分别 对不同的现场数据进行采集并做相应的处理,数据采集模块与 cpu 之间通过 sp

35、i 总线进行数据传输,对与采集数据需按上端通信协议、ppp、tcp/ip 协议进行二 次成帧;利用 gprs 网络接入 internet 网络,将处理后的数据信息通过 gprs 无 线网络上传至监控中心。gprs 模块附着 gprs 网络并与上位机建立 tcp 数传链路 是通过向模块发送一串 at 指令实现。拨号动作完成,并成功建立数传链路以后, gprs 模块在终端串行口和上位机之间变得透明。另外,终端的重要状态要能即时 显示在 lcd 上。 综上分析,监控终端应用程序要完成的任务有:串口参数设置,gprs 网络连 接,读取串口返回信息,spi 数据传输,gprs 数据传输,界面显示。由于任

36、务不 止一个,而且有的任务需要同时运行,所以采用多线程编程。 在 qt 编程中主界面 ui 一般为主线程,子线程通过继承 qt 中的 q thread 线 程类来完成。这些任务和功能可以通过 3 个线程来实现。3 个线程的作用分别为: 1)主线程:负责界面显示,串口参数设置,gprs 网络连接,gprs 数据传输; 2)spi 数据传输子线程:负责与数据采集模块通信,将采集数据存入缓冲区; 3)串口数据读取子线程:cpu 通过串口操作 gprs 模块,gprs 模块的返回信息可 以通过串口数据读取子线程随时读取。程序模块图如图 5 所示。 图 5 终端应用程序结构图 3.显示界面模块 界面显示

37、模块:界面显示由两部分组成。一是实时显示各模块的采集数据及 一定时间以内的历史数据;二是显示 gprs 模块设置界面,通过这个界面设置串 口参数、设置数据采集时间间隔、设置主机 ip 地址及端口号、发送 at 指令、回 显模块返回信息等。编写界面设计文件 main window .h 和 main window c pp 其 中串口参数设置、网络连接和 gprs 数据传输封装成相应的子函数,利用 qt 的信 号槽机制,当捕捉到相应的信号便执行对应的函数。通过继承 qt 中的 q thread 线程类来完成 gprs 数据读取模块和 spi 模块的功能。spi 模块接收底层数据采集 模块的各种数

38、据,显示到界面并编码通过 gprs 通道传输到上位机,gprs 返回的 一些重要信息业需显示到 lcd 界面上。 4.gprs 网络连接任务 gprs 网络连接任务主要完成通过 gprs 网络建立与上位机的数据传输链路的 过程。启动 gtm 900c 后,首先,需对 ppp 连接所使用的物理串口进行初始化, 包括确定用于 ppp 连接的串行端口号以及通信波特率。然后,直接使用 at 指令, 拨号到中国移动的 gprs 节点服务器(ggsn)。使用以下几条灯指令使 gtm 900c 进入数据通讯状态:at+cgaty? 用于查询 gtm 900c 是否已附着在中国移动的 gprs 网络,gtm

39、900c 将返回当前状态;at+cgatt=1用于设置 gtm900c 附着于 中国移动的 gprs 网络,操作成功 gtm 900c 将返回 ok;a1,+cgdcont=1,ipcmnet用于设置中国移动的 gprs 节点服务器的名称 和属性,操作成功则返回 ok;at%etcpip用于实现 pdp 激活和 tcp/ip 的初始化, 使模块进入 tcp/ip 功能,操作成功返回 ok;at%iomode=0.2,0设置数据传输模 式,操作成功返回 ok;at%ipopen=1,tcp,115.24.116.19,50001026打开一 条 tcp/ip 链接,选择 tcp 传输,115.2

40、4.116.19 为上位机 ip 地址,5000 为上位 机接受程序端口号,成功与上位机连接返回 connect.另外模块还具有数据透传功 能,数据透明传输功能将实现 tcp/ip 上直接数据传输,进入透传模式的 at 指令 是:at%tps=1,1,3000,1024,进入透传模式后模块将不会相应其它 at 指令,直 接通过串口写入数据便可实现与上位机之间的数据传输。以上使模块附着在 gprs 网络的过程封装在 gprs connect()函数中。ppp 配置、认证通过以后,即应用 程序就已经通过 gtm900c 成功进入了 internet 网络。最后,通过变量 gprsok=1 指示 g

41、prs 拨号成功并建立数传状态。在 run()程序中隔一段时间判断当前网络 连接状态,若网络断开则变量 gprsok=0,并调用 gprs connect()函数开始拨号 任务重新建立数传链路。 5.spi 数据通信模块 spi 通信程序包括两部分,一是用于数据采集的单片机这边需要通过 spi 发 送现场数据,接收控制指令,二是 arm 主控制器需要读取数据,发送控制指令。 数据采集模块使用是带有 spi 接口的 c8051f020 单片机,spi 的数据寄存器是 shodat.单片机和主控制器的 spi 通信参数设置要一致。 在主设备 arm 这边,spi 驱动已经配置好,直接使用 read

42、(),write() 等函数便可进行数据的读取与接收。在单片机这边采用中断的方式进行 spi 数据 的发送与接收。对于从设备 c8051f021 单片机来说,只有将片选线线接低电平才 会启动数据传输,可利用这一点进行多字节数据传输,拉低一次便传输一个字节, 这可用作与主设备之间的同步信号。主设备选一根 i/o 口线作为片选线,将其拉 低,执行一次 spi 读操作,再拉高,延时一定时间,这时从设备退出从模式,重 新往 spiodat 里写新数据及其他一些处理,主设备再将片选线拉低,执行一次 spi 读操作。这样便可进行多字节传输了。spi 主从设备通信流程图如图 6 所示。 图 6 spi 主从

43、设备通信流程图 6.终端性能测试 将编译好的界面应用程序下载到终端处理器中并运行,主线程为显示界面, 随时可与用户进行信息,两个子线程为读 spi 总线线程和串口读写线程,这 3 个 线程同时并行运行。其中 gprs 传输部分的界面如图 7 所示,通过这个显示界面 设置串口、上位机 ip 地址、tcp 端口和数据定时发送的时间间隔,发送文本框会 显示 spi 总线读取的数据值,接收文本框回显 gprs 模块返回的信息。上位机用 自己的 pc 机,通过软件 socket tool 监听终端发送给上位机数据,实验证明终 端界面应用程序工作良好,数据传输也很准确。 图 7 gprs 传输部分的界面

44、3 3 基于基于 armarm 的的 gprsgprs 的无线数据传输系统的研究的无线数据传输系统的研究 随着无线通讯技术的发展 ,依托移动运营商提供的 无线网络实现远程监控 和数据传输已被广泛应用于各个领域 .通用分组无线业务 ( general packet radio service , gprs) 是在现有 gsm 系统上发展出来的一种分组数据承载业 务 .因此 , gps 车载终端 , 自动抄表系 统等远程遥测遥控系统利用 gprs 实 现数据传输将成 为今后发展的趋势 .本章以 a rm7 l pc2138 与 wavecom q2406b 无线通信模块为例具体介绍,实现 gprs

45、 数据传输的方法以及关键技术 . 3.13.1 gprsgprs 数据传输的协议分析和实现数据传输的协议分析和实现 上位机的全双工数据通信.终端需附着 gprs 网络 ,登陆 internet 与连接其 上的任意一台普通 pc 机建立 数据链路并随时进行数据传输.完成这一过程必须 实现 gprs 的附着和 pdp ( packet data protocol ,分组数据协议)上下文的激 活 .通过 gprs 的附着登记用户信息 ,对用户进行移动性管理;激活过程用于激活 ip 协议 ,保证数据能以 ip 报的形式进行传送,使移动台与 ggsn( gateway gprs support node

46、,网关 gprs 节点)建立一条逻辑通路,进行数据传输.可见,激活过程 是系统实现的关键 , 它由中央控制 器软件来实现 .分组数据协议的激活涉及到 网络的多个协议,如 ppp 协议,cp ( link control protocol,链 l 路控制协议) , ncp( net work control protocol,网络控 制协议 ),p( password authentication protocol,密 pa 码认证协议)和 ipcp( internet protocol control protocol ,internet 协议控制协议)等.协议实现过程如下:系统设计的 主要思

47、路是微处理器通过发送 at 指令控制 gprs 模块建立无线信道,完成数据传 输.用 at 指令实现以上协议并完成数据传输的步骤如下: ( 1)设置接入网关 : a t # cgdcont = 1 ip , , cmn et ; ( 2) gprs 网络附着 : at + cgatt = 1 ;( 3) 激活 gprs 模式 :at + gprsmode = 1 ; ( 4 ) 设 置 网 络 接 入 点 名 称 : a t # a pn serv =cmn et ; ( 5 ) 请 求 网 络 连 接 : a t # conn ec tion2 s ta r t ; ( 6) 设置上位机的

48、ip 地址 :at # tcpserv = 3 ; ( 7) 设置上位机侦听的端口准备与客户端通信 : a t # tcpport =6800 ; ( 8) 打开与上位机的连接 :a t # otcp ; ( 9) 断开 gprs 网络连接 : at # connection2stop ; ( 10 ) 取消 gprs 附着 :at + cgatt = 0 .在完成 gprs 数据传输过程中 ,以上 a t 命令均必 须设置 ,但相邻 a t 命令间要有一定延 时,经验证 ,约 3 s 即可 . 3.23.2 数据传输终端的硬件研究数据传输终端的硬件研究 1.系统硬件框图 图8 系统硬件框图

49、2.系统硬件组成 微控制器: 系统中,微控制器选用philips公司的lpc2138 。lpc2138的典型特性如下( 仅 列举与本终端设计密切相关的部分 ,如图2所示) : 多个串行接口,包 括2个16c550工 业 标 准uart、2个高速ic 接口 (400 kb/ s) 、spi 和 ssp (具有缓冲功能 ,数据长度可变) 。支持 isp (通过uart0 实现) 和 iap ,扇区擦除或 整片擦除的时间为 400 ms ,1 ms 可编程 256 b 。2 个 32 位定时器/ 计数器 ,内置看门狗。cpu 操作电压范围:3 . 03 . 6 v (3.3 v 10 %) ,i/ o 口可承受 5 v 的最大电压。 图 9 l pc2138 的管脚分布及连接及电平转换电路 3.串口电平转换 lpc2138串口通过sp3232e完成ttl/cmos电平转换后与 gprs 模块相连接,实现模 块初始化和数据收发.同时可扩展串口与其他嵌入式系统或pc机进行数据交换 , 如图2所示 . gprs 模块选用法国wavecom 的q2406b ,该模块内置tcp/ ip 协议并提供了9 针的标准 rs 232 接口。模块大致原理图及其与 sim

温馨提示

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

评论

0/150

提交评论