首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式GIS系统软件的低功耗设计(1)

嵌入式GIS系统软件的低功耗设计(1)

要:低功耗已成为衡量电子系统的重要指标。针对嵌入式GIS系统的特性,采用全动态切换处理嚣工作模式;通过数据调度、坐标数据处理、绘制地图符号和优化关键算法等具体措施,降低处理器运行时间,实现嵌入式GIS系统软件低功耗设计。 关键词:嵌入式GIS低功耗设计 处理器工作模式 关键算法   引 言 嵌入式计算机技术的快速发展和社会需求的推动使得G1S技术逐渐应用于嵌入式系统中,构成嵌入式GIS。嵌入式GIS成了当前GIS发展的一个热门和重要研究方向。它具有数据采集、地图浏览、信息检索、路径分析和地形分析等功能,目前已经在城市智能交通系统(ITS)、物流配送系统、车辆导航及监控系统和数字化武器装备等系统中得到广泛应用。嵌入式GIS系统设计除要求体积小、质量轻和性能好外,低功耗也成为重要指标,尤其是采用电池供电系统的便携式产品,低功耗设计还起到节能环保作用。低功耗设计一般包括硬件低功耗设计和软件低功耗设计两大方面。硬件低功耗设计一般选用满足性能指标要求的低功耗芯片及其电路模块,并支持单源、低电压和分区电源供电方案。除硬件低功耗设计外,软件运行控制在一定程度上对系统功耗起着至关重要的作用。下面基于嵌入式GIS 系统自身特性,采用全动态切换处理工作模式、数据调度、处理坐标数据、绘制地图符号和优化关键算法等软件方法,描述如何降低嵌入式GIS系统运行功耗,以指导类似系统的低功耗设计。   1 软件低功耗措施 1.1 全动态切换处理器的工作模式 嵌入式处理器是硬件系统的核心,运行功耗占系统功耗的大部分。目前,嵌入式处理器一般采用RISC体系结构,通过简化指令设计、引人流水线技术、指令预取、大量寄存器操作和高速缓存等技术提高运行效率,并采用低电压工作模式以降低运行功耗。嵌入式处理器一般为应用开发提供了三种工作模式:运行模式 (Run)、空闲模式(Idle)和休眠模式(Standby)。运行模式即正常工作模式,CPU全速运行;空闲模式时CPU是静态的,但LCD刷新电路和晶振都工作;休眠模式时CPU的I/O端口禁止,但外部晶振工作。在不同运行模式下,处理器工作时功耗数值差别较大。以CiⅡus I。0gic公司EP721l(ARM7核)嵌人式处理器为例,开发手册中写到,在18 MHz工作频率下,运行时消耗电流是20 mA,空闲时消耗电流是6 mA,而休眠时消耗电流3OOμA。 全动态切换处理器工作模式的目的是在不影响系统正常工作时,通过软件控制策略尽最大可能使嵌入式处理器工作在空闲或者休眠模式来降低系统功耗。用户使用产品过程中,人机交互时间较短,cPu需要全速运行时间较少,大部分时间是不需要工作的。基于产品使用模式,人机交互或者有外部中断事件需要处理时,控制嵌入式处理器处于运行模式;在其他状况下,控制嵌入式处理器处于空闲模式或者休眠模式。 嵌入式GIs系统采用消息驱动机制:系统有消息分发表明有任务需要处理器完成,嵌入式处理器工作于运行模式;一旦在一定时间间隔(如2 s)系统未能获得任何新消息,且其他任务已经完成,则通过软件编程控制处理器从运行模式切换到空闲模式;如果时问更长(如5 s),还可以进一步切换到休眠模式;在空闲或休眠模式,一旦系统通过外部事件被唤醒,则转入运行模式。如此反复,构成如图1所示的处理器工作模式切换图。
1.2 合理调度数据 嵌入式GIS系统中程序代码和数据存放在存储器中,存储器访问也是嵌入式系统功耗的一大部分。有资料统计表明,内存传输是迄今为止CPU完成的操作中代价最高的——一次内存传输消耗的能量是一次加法运算的33倍,因此降低系统能量消耗的最主要工作在于,合理组织存储器中的数据和指令代码,尽量做到寄存器访问和缓存访问,减少CPU访问外部存储器。随着存储技术理论的发展和工艺水平的提高,现在存储器体系结构一般都是三级,而且支持虚拟存储技术,如图2所示。
从图2可以看出,当处理器访问数据时,离CPU越近的地方,数据存取速度越快,功耗越低。基于这种特性,应该启用高速缓存,并将嵌入式GIS系统频繁访问的代码和数据在系统启动后读入内存并常驻,具体安排如下: ①嵌入式处理器支持MMU(Memory ManagementUnit)功能,设置启动代码时将相应的寄存器开关C打开,使系统高速缓存Cache处于有效状态; ②系统初始化后,将系统运行频繁访问的关键数据一次性地从外存读人内存并驻留内存,如中断服务程序、地图符号库资源、点阵字体资源等,以后相关的操作直接从内存取用; ③当读写Flash存储介质时,需要照顾到Flash写操作时间长和功耗高的特点,尽量降低直接写Flash的次数。如果需要保存运行轨迹,可事先在内存中开辟1片缓存区,周期性地(如每隔30 s)写FIash,而不是每次新增位置数据都执行1次写F1ash操作。 1.3 坐标数据处理 空间坐标数据是GIS数据的基本组成部分,数据量大且计算负荷重。有效减少坐标记录个数是提高系统运行效率的有效措施,因此嵌入式GIS系统中需要对采集到的曲线和面边界坐标集合进行压缩处理,即在一定精度范围内通过坐标压缩算法减少坐标存储个数。目前,道格拉斯一普克算法和“滤点压缩”法是减小曲线坐标数据的有效方法,应用范围较广。坐标数据压缩可以在生成嵌入式GIS系统数据时在台式PC机上调用实现。 计算机系统中浮点数采用阶数加尾数的表示方法,计算过程需要对阶和规格化处理,浮点型计算时间远大于整型;同时一般嵌入式处理器不带有浮点协处理器,浮点计算能力差,耗时长,因此嵌入式GIS系统应尽量避免浮点计算。然而直接采集的空间坐标数据是经纬度格式浮点数据类型,不适宜直接用于嵌入式平台。空间坐标可以采用定点代替浮点来运算。基本方式是基于图幅顶点经纬度坐标,将图幅内地理坐标从浮点坐标(fx,fy)转换成整型坐标(ix,iy)处理。 嵌入式GIS空间坐标数据通过坐标压缩和采用定点运算规则,提高系统运行效率,降低运行功耗。 1.4 快速地图符号绘制算法 地图符号是地图的语言,是表达地图内容的基本手段,根据几何特征可以分为点状符号、线状符号和面状符号,如图3所示。根据直观分析和实验数据统计,绘制地图符号是地图显示过程中最耗时的一项工作,运行功耗较高。目前,多数嵌入式GIS系统直接使用WinCE和Vx—works等嵌入式操作系统提供的绘图程序,其优点是通用性好和编程方便,但系统调用层次多,资源耗费量大。下面针对嵌入式系统硬件资源有限的特点和地图符号特性,提出使用资源模板法快速绘制地图符号的方法。
返回列表