基于LINUX与GPRS网络的无线数据采集与传输
1 概述
本章主要介绍了论文研究的背景、嵌入式LINUX操作系统的研究热点、
GPRS网络的行业前景。
1.1 研究背景
1.1.1 嵌入式 LINUX 操作系统的广泛应用
今天的Linux操作系统已经在全球范围内掀起了一股愈演愈烈的Linux风暴,
并逐渐渗透到了几乎所有与IT产业相关的领域包括嵌入式系统领域。Linux在嵌
入式领域异军突起不过是近两年的事情,但是对有嵌入式系统需求的技术人员的
调查却显示:过去的一年中有13%的用户已经开始使用嵌入式Linux系统系统的
开发工作;有52%的用户决定在未来的24个月内开始使用Linux作为嵌入式系统
的开发原型。不难看出,Linux 作为开发嵌入式产品的操作系统具备巨大的潜力。
1.1.2 全新的移动数据业务:GPRS
GPRS是通用分组无线业务(General Packet Radio Service)的英文简称,是在
现有GSM系统上发展出来的一种新的承载业务,目的是为GSM用户提供分组形
式的数据业务。GPRS采用与GSM同样的无线调制标准、同样的频带、同样的突
发结构、同样的跳频规则以及同样的TDMA帧结构,这种新的分组数据信道与当
前的电路交换的话音业务信道极其相似。GPRS移动数据传输系统有很大的应用
范围,几乎所有中低速率的数据传输业务都可以应用,如城市配电网络自动化、
自来水、煤气管道自动化、商业POS机、INTERNET按入、个人信息、股票信息、
金融、交通、公安等。
第 1 页 共 40 页
1
1.1.3 无线数据传输业务的迅速增长
基于LINUX与GPRS网络的无线数据采集与传输
近年来,大量的无线数据业务孕育而生。像车辆定位监控系统、机房无线
远程监控系统、无线POS系统、照明设备远程监控系统等等。
现在市场上针对此类的应用已经碌碌续续的推出了一些产品,但这些产品往
往功能过于单一,比如:资料的透传,仅仅把终端作为一个无线通信设备来使用,
而不考虑其它数据处理功能,将所有资料运算功能全部放在上端的监控处理系统
里面进行。这样,造成数据通信量的大幅增加和上端软件的膨胀。针对这类低端
产品的不足,我们希望能够研究与实现一种功能更加丰富的产品,将数据采集、
数据处理、逻辑判断、结果传输等功能融合在一起。形成一个24小时无人职守的
数据处理平台,使终端系统具备了通用性、可扩展性。
1.2 嵌入式 LINUX 操作系统的研究热点
目前国内外上对嵌入式Linux的开发主要集中在两个方向:
1.嵌入化:嵌入式设备资源有限,对软件的体积有比较苛刻的要求。而现
在分发版本的Linux操作系统体积较大,不适合直接在嵌入式设备中应用。许多
厂商致力于开发符合原Linux接口标准的小体积的Linux内核,并加强其可裁减性
和可配黄性。
2.实时化:在数据采集、控制、音/视频等设备中,对操作系统的实时性
有比较高的要求。Linux并不是针对实时应用而产生的操作系统,因而必须提高
其实时性以满足这些设备的要求。
1.3 GPRS 网络的行业前景
GPRS(General Packet Radio Service)是通用分组光线业务的简称,它是一
种基于分组交换传输数据的高效率无线传输平台。GPRS的优点就是够提供比现有
GSM网9.6kbit/s更高的数据率,理论上最大可达170kbit/s。对于GSM网络现有
交换数据业务(CSD)和短消息业务(SMS)来说,GPRS是一种补充而不是替代。GPRS
可以根据用户需要灵活地动态分配无线资源,从而实现多用户共享信道,提高频
第 2 页 共 40 页
2
基于LINUX与GPRS网络的无线数据采集与传输
率利用率以及时时在线等,同时计费也将由传统的按时方式改为根据用户数据的
传输量来计费。因此,GPRS被认为是第二代移动通信系统向第三代移动通信系统
演进的重要一步。
2 对嵌入式 LINUX 系统的研究
本章主要研究嵌入式系统。包括嵌入式系统的硬件构成特性,嵌入式软件的
特性等。通过嵌入武器统的一些基本概述,介绍了嵌入式系统开发的一般方法,
以及作者在开发是所选择的方法——基于“目标基-宿主机”结构的开发模式。
作者同时分析了Linux作为嵌入式操作系统的优缺点以及Linux在嵌入式领域的
发展。
2.1 嵌入式 LINUX 系统
2.1.1 什么是嵌入式 LINUX 操作系统
嵌入式LINUX:它是个和Unix相似、以核心为基础的、完全内存保护、多
任务、多进程的操作系统。支持广范的计算机硬件,包括X86,Alpha,Sparc,
MIPS,PPC,ARM,NEC,MOTOROLA等现有的大部分蕊片。
对于嵌入式系统,从不同的角度可能有多种定义方法,在本文倾向于以下
定义方法。
嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软硬件可裁
剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机
系统。
2.1.2 嵌入式操作系统的硬件特征
作为一种非PC的计算机系统,嵌入式系统仍然包括CPU、存储设备(内存储器
第 3 页 共 40 页
3
基于LINUX与GPRS网络的无线数据采集与传输
和外存储器)、I/O口等等。但是嵌入式系统的硬件特点与一般的Pc系统还有很
大的区别。
一般来讲,嵌入式系统在功耗、体积、成本、可靠性、速度、处理能力、
电磁兼容性等方面均受到应用要求的制约。例如对于嵌入式微处理器就具备以
下4个特点:
● 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时
间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
● 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块
化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区
保护功能,同时也有利于软件诊断。
● 可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式
微处理器。
● 嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和
通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至uW级。
2.1.3 嵌入式操作系统的软件特征
嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器
系统软件和应用软件的要求也和通用计算机有所不同。
● 软件要求固态化存储。
● 软件代码高质量、高可靠性。
● 嵌入式操作系统的实时性是基本要求。
● 多任务操作系统是知识集成的平台和走向工业标准化道路的基础。
2.2 嵌入式系统的开发模式
嵌入式系统最大的特点是其目的性或针对性。由于嵌入式系统是为特定的目
的而设计,且常常受到空间、成本、存储、带宽等限制,因此嵌入式系统的构建
方法与一般计算机软件有所不同。下面从嵌入式系统硬件设计、软件开发与调试
等几个方面综述嵌入式系统开发模式,同时介绍作者在开发时硬件选用,以及基
第 4 页 共 40 页
4
基于LINUX与GPRS网络的无线数据采集与传输
于“目标机一宿主机”结构的软件开发模式。
2.2.1 嵌入式系统硬件设计
一般来讲,嵌入式系统的硬件需要根据应用需要自己定制。包括CPU的选取、
总线的设计、存储器的选取、I/O口的设计等等。这种硬件设计的特点是完全针
对自己的应用,够用就好,去除了其他所有不必要的硬件设备。最大限度的降低
了硬件的成本。但这种开发方法也有一个弊端就是设计针对性过强,一种设计往
往只针对一种应用,应用需求的改变往往会需要硬件设计的从头再来。
下面从几个方面来讨论嵌入式系统硬件设计需要考虑的内容:
2.2.1.1 微处理器的选择
微处理器是嵌入式系统的核心。
全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有308几
个系列。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自
己的处理器设计部门。嵌入式处理器的寻址空间一般从64kB到16MB,处理速度从
0.1 MIPS到2000 MIPS,常用封装从8个引脚到144个引脚。根据其现状,嵌入式
计算机可以分成下面几类。
● 嵌入式微处理器(Embedded Microprocessor Unit。EMPU)
● 嵌入式微控制器(Microcontroller Unit,MCU)
● 嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)
● 嵌入式片上系统(System On Chip)
在如此众多的种类里面选取CPU,其选择的标准是:合适的CPU必须适
合于应用场合及处理能力。
对于嵌入式系统来讲,不能一味追求CPU高的运算速度。不同的应用要求
的应用场合及处理能力不同。CPU不能达到应用的要求自然不能称之为合格的
选型,然而过于高的性能对于用于特定场合的嵌入式系统却是一种浪费。同时
CPU的选取与嵌入式操作系统的选择也有很大关系。
例如:如果系统应用于语音信号处理等需要高的数据处理的场合,那么嵌
第 5 页 共 40 页
5
基于LINUX与GPRS网络的无线数据采集与传输
入式DSP无疑是最好的选择。而如果嵌入式操作系统选择了Windows CE或者
Linux,那么CPU必须具有MMU功能。
图2.1 CPU的选择
因此,作者在设计和开发数字采集和监控系统中的嵌入式LINUX系统时,选
用的是EMPU类型的CPu——AMD ElanSC520 CPU—Pentium,兼容X86架构。
2.2.1.2 存储器的选取
存储器分为ROM和RAM两大类。
传统的RAM存储器有SRAM、DRAM,一般用作内存使用。
ROM存储器有掩膜ROM、PROM、EPROM。而新兴的混合型的存储器(如EEPROM、
FLASH、NVRAM等)则似乎显得更符合嵌入式系统的要求。其中采用代码驻留或就
地运行技术(XIP)用大块的FLASH来代替磁盘驱动器构成所谓“电子盘”或“固态
盘”,这类固态电子盘对于苛刻的商业或者工业应用是一个理想的解决方案。它
在某些应用中解决了操作系统、文件系统及大容量数据存取的问题,有很好的应
用前景。
用下图来描述存储器的分类。
第 6 页 共 40 页
6
基于LINUX与GPRS网络的无线数据采集与传输
图2.2 存储器分类
在本系统中,使用的是基于NOR(Random Access)FLASH技术和NAND(Block
Access)FLASH技术的存储芯片。具有100万次的读写使用次数和10年的数据保存
时间。
2.2.1.3 外围设备
嵌入式系统的外围设备是根据具体的设计要求而定的,一般有不同用途的串
行通信口、网络通信口、微型键盘、微型显示器。现在的嵌入式系统在构成、调
试、运行等诸多方面对灵活性要求较高,例如嵌入式软件不仅要求可以在本地加
载运行,也要求能够利用串口从网络下载运行,因此在不过多的增加设计负担的
同时,适当的留有硬件冗余或灵活性是较明智的选择。在本系统中,作者使用了
两个RS232标准的串口,一个网络接口,VGA视频接口,键盘接口等。
2.2.2 嵌入式系统软件设计
嵌入式操作系统,其应用程序的开发、调试环境一般都是基于“目标机一宿主机”
结构下进行。开发人员在宿主机上进行程序的开发,然后将程序通过串口或者以
太网下载到目标机中。同时应用程序的编译调试也是通过串口或者以太网来进行
第 7 页 共 40 页
7
基于LINUX与GPRS网络的无线数据采集与传输
交叉编译调试。选择不同的开发语言也存在着开发调试环境或者开发调试工具的
不同。还有需要考虑的是操作系统在不同的目标板上还存在着系统的移植工作。
一般情况下是开发人员首先选择一个开发板进行应用程序的开发,而不考虑硬件
兼容性,然后通过BSP、外设驱动的开发和操作系统的移植,将这个系统构建起
来,进行整个系统的联合调试工作。
图2.3 嵌入式系统软件开发调试示意图
本人在设计和调试嵌入时软件系统时,用的就是在基于“目标机一宿主机”
的结构模式下进行的。
下面,作者从操作系统的选取、软件开发调试等几个方面简要阐述嵌入式
系统软件开发的方法。
2.2.2.1 操作系统的选取
嵌入式操作系统从其特点来讲,分为实时和非实时的区别。针对不同的应用,
开发人员必须进行相应的选择。如果应用要求的实时性很强,就必须选择实时操
作系统(RTOS),例如:VxWorks、RT-Linux等;而如果应用不没有很强的实时性
要求,那么就可以选择所谓的软实时操作系统或非实时操作系统,如uC-Linux、
Windows CE等。
另外不同的操作系统是否能够适应相应的硬件平台也是一个需要考虑的问
题。不同的操作系统支持的CPU类型各不相同,如果我们选择了某一个型号的
CPU,我们必须考察选择的操作系统是否能够支持该CPU;同样我们如何选定了某
一个操作系统,那我们在选择CPU上也应该进行相应的调整。
第 8 页 共 40 页
8