铁路交通信息系统PDA的低功耗设计
铁路交通信息系统PDA的低功耗设计(精选2篇)
铁路交通信息系统PDA的低功耗设计 第1篇
在分析本PDA系统的功能性和非功能需求,充分了解市场硬件行性的基础上,设计了本PDA系统,其硬件体系结构框图如图1所示。
嵌入式处理器EP7211(核心模块)进行数据处理,传呼译码芯片接收传呼信息并根据传呼协议自动译码;LCD提供数据显示输出,触摸屏提供用户输入接口;Flash用来存储可执行应用程序和数据;SRAM为程序运行提供内存空间;语音录放电路完成快速语音记忆功能;串口和红外口完成相关的数据通信工作;电源电路为嵌入式处理器和各外围设备提供所需要的工作电压。
嵌入式处理器EP7211是Cirrus Logic公司专门为低成本、超低功耗的嵌入式应用设计。它包含基于RISC体系结构的ARM7TDMI处理器内核和丰富的外围接口,如CODEC音频接口、SPI串行A/D接口、单色LCD接口、RAM接口、串行红外接口、PWM接口、实时时钟RTC以及电源检测接口等。这些丰富的外围接口,不仅降低了系统的设计难度,同时也提高了系统工作的可靠性。EP7211的内核电路工作在2.5V,而外围电路工作在3.3V。它可根据具体情况对内核的时钟进行动态编程控制,可工作在18MHz、36MHz、49MHz和74MHz。另外,EP7211还有三种基本的工作状态:正常操作(operating)、空闲(idle)和等待(standby)。在等待模式时,主时钟被关断,整个CPU及相关外围(除中断和RTC)关断,但可通过触摸屏中断、传呼中断或复位按钮来唤醒。
系统软件开发平台采用了我们自主开发研制的、专门面向嵌入式应用系统开发的XGW平台。XGW开发平台措鉴Windows消息驱动机制,是用C语言开发实现的;它功能强大,模块化设计,扩展性强,产品升级容易,而且开发人员较为熟悉,开发成本低,其总体框架如图2所示。
图2全面反应了XGW软件开发平台的体系结构,包括事件消息驱动机制(XGW软件开发平台中的消息分为鼠标消息、键盘消息和定时器消息等三类)、内存管理、字符和图形显示输出、图形组件库等。图形组件库中的编辑框、列表框、按钮、进度条等图形控件为用户应用程序开发提供了应用编程接口API。不过,XGW平台对于系统硬件的中断响应没有提供统一的入口和出口,需要开发人员单独处理。
2 硬件低功耗
硬件低功耗主要从芯片制造工艺流程和硬件体系架构的角度出发,基本原理是尽量选用能够满足功能要求的功耗低的芯片。不过,芯片自身的功耗参数由制造厂商来决定,此处主要阐述CMOS芯片动态功耗以及动态电源管理两个方面。
(1)CMOS芯片动态功耗
随着半导体制造技术的发展,数字电路从TTL工艺转向CMOS工艺。TTL工艺为电流注入型电路,静态和动态电流消耗接近。CMOS工艺是压控型的,理想情况下(“0”、“1”的恒定状态)静态电流为0,实际情况下也是很小的。动态(“0”、“1”间的跳变状态)电流消耗占绝对主导地位。CMOS动态功耗计算公式为
式中: Pd--CMOS芯片动态功耗;
Ce--CMOS芯片等效电容;
V--CMOS芯片工作电压;
f--CMOS芯片工作频率或工作状态的切换频率。
从式(1)及各参数含义看,CMOS芯片动态功耗的数值正比于工作电压的平方,同时正比于工作频率。在满足系统功能需求的条件下,降低芯片工作电压和工作频率,都可以极大减少芯片的动态功耗。以处理器工作频率为例,如果工作频率降低一半,则该芯片动态功耗几乎也随之减半。在本PDA系统中,尽管ARM7处理器提供了18MHz、;36MHz、49MHz和74MHz四种工作频率,但我们采用2.5V为低压供电,18MHz工作频率。这些参数在降低系统功耗的同时,也满足了系统性能的需求。
(2)动态电源管理
动态电源管理技术是指有选择地将闲置的系统模块置于低能状态。一个较为复杂的嵌入式系统,除了处理器外还有很多外设电路模块,它们协调工作,共同完成系统功能。 但在分析完成系统功能的过程中可以看出,并不是所有模块在任何时间都处在工作状态。除了嵌入式处理器外,绝大多数外设模块都是在执行某项具体功能的时候(它自己的有效操作期间)才需要供电。如音频模块,有语音输入或者输出时才需要工作;在进行串口通信时,串口芯片需要处在工作状态;而在更多的时间里,这些芯片都是不需要工作的。
为了系统功耗最小,动态电源管理的原则是系统完成某项功能,只有参与这项功能的模块才供电,其它模块设置在电源切断状态。在电路设计时,需要充分考虑到这个问题,尽可能为各外设模块提供切换供电机制的引脚控制信号,而且允许通过软件编程的措施来完成其电路开关的切换工作。
本PDA系统中,除了嵌入式处理器外,还有异步串口、语音编译码芯片、音频功放、传呼、LCD、收音机等外部设备。传呼的接收具有随机性,需要一直处在工作状态。串口、语音芯片、功放电路、LCD等可以通过一定口地址的设置来控制电源开关,使之在工作的时候提供电压,在不工作的时候切断电源。
各外设模块电源口地址配置如表1所列。
表1
口地址功 能工作条件PA4LCD背光控制低电平PA5~PA6红外口控制取值00PD1LCD电源电路高电平PD2LCD点显示电路高电平PE0控制语音播放高电平PE1控制音频功放低电平3 软件低功耗
嵌入式系统开发中除了硬件低功耗措施外,也可以从软件方面来设计。嵌入式系统软件低功耗措施一般涉及到处理器工作状态间的切换、应用模块软件算法的选择和系统整体的数据调度三个方面。
(1)处理器工作状态
便携式系统工作过程中,处理器并不是任何时候都一直忙于运行,尤其是PDA来产品。如今的嵌入式处理器(包括EP7211)一般都为应用开发提供了三种工作状态:运行、空闲和休眠。大量的实际使用表明,更多情况下,大部分时间里系统是处在休眠状态的,一旦获得工作信号,会迅速切换到工作状态。当系统在工作状态下一定时间内没有获得下一次需要处理的信号时,则应该自动切空闲或者休眠状态。因为在不同的工作状态,处理器内部工作电路有所变化,功耗大小差别较大。
本PDA系统采用的ARM处理器,在不同工作条件和状态下的.功耗哪表2所列。
表2
名 称频率/MHz消耗电流最大值/mA条 件休眠状态 300μA32kHz时钟晶振工作,I/O口处于禁止空闲状态186晶振都在工作,LCD刷新处于激活状态,CPU是静态的空闲状态3612同上运行状态1820整个系统处于激活状态,正在执行程序运行状态3640同上注:直流供电电压2.5V
从表2中明显看出,处理器不同条件和状态下的功耗参数大小的差别。在18MHz频率下,运行功耗(20mA)是空闲功耗(6mA)的近4倍,空闲功耗又是休眠功耗300μA的20倍。我们的目的是在不影响系统正常运行的过程中,尽最大可能使系统处在空闲休眠状态来降低系统功耗;因此,我们应该通过预测系统执行过程的措施来切换处理器的工作状态。分析式(1)可知,我们又不能频繁过快地进行处理器状态切换,中间要留有一定的稳定时间间隔。
XGW软件开发平台采用事件消息驱动机制。消息采用查询方式,能够实时响应外部中断。在消息循环过程中,系统需要查询消息队列:当有消息出队时,处理器在运行状态处理这个消息所对应的事件;如果一这时间间隔(如2s)消息队列一直是空,系统预测在最近相当长的时间内不会有事件产生,软件编程措施把处理器从运行状态切到空闲状态;如果系统在更长的时间内(如20s)没有事件产生,则系统预测用户需要自动软关机,此时处理器进入休眠状态。在休眠状态下,处理器能够响应实时时钟匹配中断、传呼接收中断以及复位按键;一旦系统捕获到这类信号,则迅速转入到正常工作状态。处理器在运行状态和空闲状态间的切换间隔是必需的,如果切换速度过快,并不能达到降低系统功耗的目的。
为了缩短处理器从空闲或者运行状态切换到休眠状态的时间,系统同时提供了用户手动软关机措施,即通过触笔直接点击屏幕某一指定区域来实现。
本PDA系统中,ARM7处理器三种工作状态的转换如图3所示。
图3中各数字含义如表3所列。
表3
序 号状态转换条件1、3系统20s内一直不能捕捉到消息或者人为点击屏幕某一指定区域2实时时钟匹配中断、传呼中断、按键唤醒4运行状态下系统2s内一直不能捕捉到消息5产生中断信号、捕捉到消息事件(2)软件算法的选择
在应用程序编程实现过程中,求解同一个问题,可以有许多不同的算法。评价一个算法好坏的常用参数是算法时间复杂度、算法空间复杂度和算法的易理解编码和调试性。算法时间复杂度定义为算法的时间耗费,即算法所求解问题规模(求解问题的输入量)n的函数。时间复杂度一般用O(n)来表示,当n达到一定规模时,时间复杂度越小,执行效率越高,招待时间越短,系统功耗越低。算法空间复杂度定义为该算法所耗费的存储空间,它也是问题规模n的函数。
我们总是希望选用一个所占存储空间小、运行时间短、其它性能也好的算法。然而实际上很难做到十全十美,原因是上述要求有时相互抵触,如节约算法执行时间需要以牺牲一定的存储空间为代价,反之亦然。因此,我们只能根据具体情况有所侧重。在本PDA系统中具体硬件配置时,CPU工作频率不高,存储空间运行不大;但应用程序数据量大,而且某些应用程序如辞典互译、时刻表检索时数据运算量也大。
如要在本PDA系统中实现英汉辞典互译,首先会想到采用顺序检索法。这种算法对用户输入词汇排列顺序没有要求,编程实现和理解起来都比较简单,其算法时间复杂度为O(n)=n。当n值较小时,这是可以允许的;但是当系统词汇量近10 000个时,算法检索效率不高,表现为当词语位置偏后时系统检索延迟过大。为了提高检索效率,满足一定的系统反应实时性要求,我们采用了有序表二分搜索算法,其算法时间复杂度O(n)=log2n。假设n=16 384=2 14已经超出系统的数据规模(10 000词左右)。二分检索所需要的最坏检索次数是14次;但是对于顺序检索而言,在最坏查找的情况下,检索次数是16 384次,故效率提高了16 284/14=1170倍。这个数目是相当可观的,而且,即使系统数据规模进一步扩大,二分检索表现出来的所增加的检索次数也是很小的。辞典互译实现二分检索所要做的附加工作,就是将原来无序的辞典数据文件转换成有序的辞典数据文件。不过,这个转换工作可以在PC机上完成从而减轻本嵌入式系统的负荷。辞典数据排序和检索过程中英汉辞典依据ASCII码进行,汉英辞典根据汉字的区位码进行。本PDA系统的民航时刻表、铁路时刻表等应用模块,也都涉及到了算法选择问题。
(3)数据调度
在许多应用程序中,存储器访问是功耗的主要部分。有资料表明,内存传输是迄今为止CPU完成的操作中代价最高的:一次内存传输消耗的能量是一次加法运算的33倍多。优化能量消耗的最大收益之一,来源于合理组织内存中的数据和指令:一般措施是尽量做到数据的寄存器访问和缓存访问。
随着存储技术理论的发展和工艺水平的提高,现在存储器体系结构一般都是三级,而且支持虚拟存储技术,如图4所示。
处理器进行数据访问时,离CPU越近的地方,数据存取速度越快,功耗越低。本PDA系统中,由于Flash存储器(作为数据存储器件)写操作的特殊性(以扇区大小为单位、执行时间长、执行功耗大),要求尽量少地进行。基于这种策略,本PDA系统在数据安排方面采取了以下一些优化措施:
①LCD帧缓存的安排。EP7211内置38 400字节大小的RAM空间,LCD分辨率是320×240,每像素4级灰度用2比特位表示,故显存大小为320×240×2/8=19 200字节,被安排在内置RAM空间的前19 200字节。这样安排,加快了显示速度,减少了处理器访问片外SRAM空间。
②个人传呼信息、公共传呼信息接收频度大,不需要永久存储;传呼接收过程需要开臂两块缓冲区,这些空间都被安排在内部RAM后19 200字节,其目的是减少了CPu对片外SRAM的访问。
③部分系统信息资源,如字库信息,在系统启动后直接从Flash存储区拷贝到固定位置的SRAM区,这样字符输出时直接从内存读取数据,而不需要访问Flash。
④为减少Flash写操作执行次数,在电话簿、记事本、日程以及系统设定等编辑修改后,首先改动的信息是在内存中直接保存,等到用户是退出当前整个应用模块时,才进行一个性Flash写操作。
⑤在进行复杂数据查找过程中,为减少数据访问量,可以通过建立若干级索引表方式加快数据检索速度。如在辞典文件的词汇排序过程中,同时建立了每个单词位置的数据索引,而且作为索引文件定改Flash。在查找过程中,索引项的存在能够减少检索次数,从而快速确定单词起始位置以及整个单词项目长度,供显示输出。不过在增加索引时,也会增加一定的空间复杂度。
另外,系统还可以通过代码压缩减少总线上的传输量;编译器优化,消除冗余代码;消除编程中的递归过程调用、减少函数调用的开销;有效使用寄存器等措施来降低系统功耗。有关这些措施请见参考文献[2]。
4 低功耗设计综合阐述
以上分别从硬件和软件两方面阐述了嵌入式系统开发中低功耗设计的一些原则及在本产品中的某些具体体现。经试验测得,本PDA系统功耗如表4所列。
表4
条件(18MHz、2.4V)消耗电流/mA注 释待机79系统全速执行条件下的功耗数据开机2527收传呼5558启动背光8385背光功耗53单功能模块功耗数据LCD功耗22扬声器10语音编译码芯片11红外口6本PDA产品除了提代外接电源供电电路,同时还提供内置可充镍氢双电池供电系统。设单节电池容量是500mA,则系统待机时间是1000小时/8=125小时,基本上可以满足实际应用的需要。随着对嵌入式系统低功耗设计的深刻理解和硬软件方面某些措施的改进,包括借鉴目前国内外一些厂家低功耗设计经验,则在改进的产品中,表4的某些数据还可能再降低一些,更好地满足产品的低功耗要求。
其实嵌入式系统开发中低功耗设计是个系统的概念,硬件上既要在单元级考虑,也要在单元逐步集成系统的阶段上全面评估。因此,即使系统中每个模块都是严格采用低功耗设计的,但在集成整个系统时也不一定能完全保证整个系统是低功耗的,低功耗设计阶段应该在进行系统规划的同时就充分考虑进去,而且需要建立模型进行低功耗评估,一旦不满足设计要求导致偏差较大时,应该及时修正模型。应用软件在数据结构的安排上,也要考虑到具体的硬件配置。因为有些效率的提高,比如考虑引表的建立,是以牺牲一定的存储空间为代价的。如果存储空间太小,就需要权衡两者的矛盾。
铁路交通信息系统PDA的低功耗设计 第2篇
1 负载均衡技术概述
通过提供服务的一组服务器组成一个应用服务器群集 (cluster) , 并对外提供一个虚拟的地址。当一个服务请求被发至该群集时, 根据服务器性能和网络健康情况, 选择性能最佳的服务器响应用户的请求。充分利用所有的服务器资源, 将所有流量均衡的分配到各个服务器。通过负载均衡技术制定合理的网络架构和合适的均衡策略, 实现多台服务器或多条链路共同承担高强度的计算或I/O任务, 提高网络访问的灵活性和可靠性。
2 负载均衡的结构设计
铁路信息系统采用的是本地负载均衡结构, 通过对本地服务器做负载均衡来解决业务访问量过大、服务器负荷过重的问题。负载均衡的拓扑架构主要有直连和旁挂两种方式。
2.1 直连方式 (如图1所示)
直连方式的负载均衡拓扑架构是通过对外部虚拟服务器IP地址与内部应用服务器IP地址设为不同网段的地址来实现负载均衡。因外部访问无法直接访问到应用服务器, 对内部应用服务器在一定程度上起到了保护作用, 减少了对外服务IP地址的使用量。
2.2 旁挂方式
旁挂方式分为单臂模式和双臂模式两种。因双臂模式在铁路信息系统中的应用较少, 本文主要就单臂模式作以研究。单臂模式如图2所示。
单臂旁挂方式是通过将对外部虚拟服务器IP地址与应用服务器IP地址为同一网段的地址来实现铁路信息系统的负载均衡。采用单臂旁挂方式解决了负载均衡端口数量不足的问题, 可远程登录应用服务器直接进行维护, 也可在负载均衡设备发生故障时, 准确定位故障并及时采取应急恢复措施。
2.3 拓扑结构的优点
1) 全冗余连接方法, 能够绝对保证网络没有单点故障的存在。
2) 所有网络设备都是可以直接相连, 减少网络层次和避免新的单点故障。
3) 比较少的网络层次, 避免运行维护时面对的大批网络设备。
4) 灵活的扩展空间, 用户可以根据实际的网络流量和压力增加链路带宽, 添加防火墙或增加服务器来提高整体的服务水平。
2.4 拓扑架构的结合设计 (如图3所示)
在设计负载均衡拓扑架构时, 结合两种拓扑架构进行选择和设计, 实现优势互补, 更好的实现铁路信息系统负载均衡。
如图3所示, 假定选择直连方式的负载均衡拓扑架构, 负载均衡设备对内指向两组应用服务器, 分别处理不同的业务访问请求。当一个外部访问请求通过三层交换机送达负载均衡设备后, 负载均衡设备选择一台应用服务器 (Server2) 来响应访问请求, 并将访问请求包的目的地址与端口转换成应用服务器Server2的网卡物理地址和设定的服务端口, 再将数据包发给应用服务器Server2, 应用服务器Server2对收到的访问请求暂时搁置, 向数据库服务器发起一个新的查询请求。因数据库服务器和应用服务器Server2的IP地址不在同一网段内, 故当数据库服务器执行完查询请求后只能将回应包发送到网关设备, 即三层交换机。再根据三层交换机上的路由信息将回应包通过负载均衡设备转发给应用服务器Server2, 应用服务器Server2结合数据库发来的信息, 及时对外部访问请求作出回应, 并返回给外部访问者。
3 实现铁路信息系统负载均衡的方案
3.1 负载均衡的实现过程
负载均衡的实现需要通过两类设备:服务器 (SERVER) 、分配器 (DISPATCHER) 。SERVER是给用户提供服务的计算机设备, DISPATCHER是根据客户和服务器的各种情况, 通过一定的算法进行服务器的调动和分配工作的设备。
负载均衡设备对内指向一个服务器群, 对外则构成一台虚拟服务器, 通过虚拟服务器对外提供服务。负载均衡设备需要当外部的一个访问虚拟服务器的请求被送达负载均衡设备后, 再根据预先定好的负载均衡算法, 从服务器群中挑选一台性能最佳的服务器来响应用户的访问请求。在服务器处理访问请求并作出回应前, 负载均衡设备要将访问请求包的目的与端口转换成服务器的网卡物理地址和设定的服务端口。当服务器处理回应访问请求后再通过负载均衡设备返回给外部访问者, 从而实现一次完整的访问过程。
3.2 负载均衡的实现方法
3.2.1 HTTP重定向
HTTP的协议服务器有重新定位的功能, 利用此功能, 在应答包的投中加入LOCATION命令, 将请求重新分配到其他服务器。或利用HTML文件中的链接, 将网页的不同部分放在不同的服务器上。例如:利用HTTP的重定向功能, 将一个站点的主体框架网页放在一台计算机上, 再将网页上所有的图片放在一台专用的服务器上, 音频文件放在另外一台服务器上, 网页上其它的组成部分由不同的服务器提供, 当用户连接主体网页的时候, 就能减轻主体服务器的负载, 达到负载均衡的目的。但是由于在HTTP重定向的实际使用中开销太大, 速度有限效率一般。
3.2.2 TCP层法
当连接请求到达时, 分配器监听TCP80端口会根据负载均衡算法转发到各个服务器, 再由服务器将应答分发给分配器, 分配器再发给用户。采用这种方法的弊端是容易造成分配器的瓶颈, 使所有的用户都要通过分配器来访问服务器, 降低了铁路信息系统的服务效率。
3.2.3 TP层法
TP层法主要是运用NAT技术, 由由分配器通过替换源IP地址和目的IP地址来实现中转。采用这种方法的弊端也是分配器瓶颈的问题。因为对于每一个这样的连接都需要在分配器中由相应的一个地址转换表进行操作, 需要进行查找, 替换, 所以对分配器的要求很高。
3.2.4 DNS法
DNS法主要是通过域名解析来实现。当域名解析时, 分配器根据负载均衡
算法, 确定给该用户提供服务的服务器, 返回该服务器地址。采用这种方法, 将用户与一个服务器相连接, 大大降低了分配器的工作量, 有效缓解了分配器瓶颈的问题, 简单易行。
4 结束语
铁路信息系统应用在不断的发展和变化, 为适应铁路应用结构变化的需求, 需要采用负载均衡技术来实现。利用负载均衡设备来实现网络链路、网闸和防火墙的流量及不同负载均衡设备组之间的相互映射等问题。在采用上述方法来实现铁路信息系统负载均衡的设计中, 应注意对服务器负载状况的探知和服务器负载状况的评价。使统计的数据即使在数据不稳定的情况下, 也能保持较高的数据可信度, 根据应用系统的访问流程和特点, 选择合适的参数, 设计出合理、科学的负载均衡构架, 达到铁路信息系统负载均衡的最佳使用效果。在今后的设计和使用中, 还应对负载均衡技术做出深入的挖掘和研究, 总结经验, 实现铁路信息系统的负载均衡, 更好的服务和促进铁路信息化的发展。
参考文献
[1]赵靖.信息系统负载均衡技术的三种实现方法[J].河北能源职业技术学院学报, 2009 (02) .
[2]张伟.负载均衡技术在信息系统中的应用[J].应用科技, 2010 (17) .
铁路交通信息系统PDA的低功耗设计
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。