Board logo

标题: 准时、随时:嵌入的实时性能 [打印本页]

作者: 我是MT    时间: 2015-9-24 18:50     标题: 准时、随时:嵌入的实时性能

随着新一代懂得计算机的用户和游戏玩家成为主要的嵌入设备客户,响应性能与实时性能成为了关键的评估因素。系统要管理优先级和各个任务,为用户、外部事件和网络提供近似即时的响应。为满足这些需求,商业供应商和开源社区提供了许多可以立即运行或定制的软件包,范围从最小的资源核心,到全功能的 RTOS(实时操作系统)。然而,在选定一种方案以前,重要的是分析一个候选包的内部工作状况,看它是否完全适合自己的应用。有一些实时功能和特性可以决定您设计的成败,如调度算法、任务同步、资源需求、内存分配、延迟、附加模块、认证、安全、多核选择,以及开发工具支持等。

  实时系统可响应外部事件或时序事件,自动地执行软件例程或任务。大多数嵌入式RTOS都设计有抢先多任务,一个任务可以挂起所有较低优先级的例程,并获得对处理器的控制权,直到较高优先级的任务完成,或有更高优先级的任务抢占前一个任务。所谓的软实时平台只是简单地列出起动例程的一个平均时长,而多数关键的嵌入操作系统都必须有确定性,以保证在某个外部事件后,任务能在一个精准时长内起动。一个用于嵌入设备的典型多任务RTOS基本架构包括:程序接口、核心、设备驱动,以及可选的服务模块。

  核心是实时软件的内核,包括一个中断处理器、一个调度程序、资源共享标志,以及内存管理。核心的主要功能之一是处理内、外部事件产生的中断。当中断发生时,处理器将控制权转给一个服务例程,用于记录事件,向调度程序发送一个消息,并返回激活码。调度程序根据优先级,为每个任务建立执行顺序,并保存每个中断的执行信息。除了优先权调度以外,一个实时核心还要为任务同步提供标志。例如,如果多个任务想要同时使用一个数据资源,则一个标志或信标会将该资源锁定到单一任务上,直到传输完成。

  对于延迟最小化,核心设计也很重要,延迟会降低一个实时系统的性能。中断延迟是外部事件(如一个开关闭合)之间的最差延迟,且是中断例程的第一条指令。如果使能了处理器中断,则硬件延迟时间只有纳秒级长度,但不同处理器之间可以有变化。处理器在跳至所要求的中断位置以前,只需要完成当前指令。如果处理器只有一个中断线,则轮询输入的时间就决定了要调用哪个中断例程,它是中断延迟的一部分。另一种核心造成的延迟是在任务间切换所花的时间。每个任务都有一个程序计数器、一个数据区指针、寄存器数据,以及其它状态信息,处理器必须为当前任务保存这些信息,而为抢先任务恢复信息。

  RTOS设计者一般都包含了很多核心以外的可选模块和驱动,以吸引更多用户,并确保组合的封装能满足宣称的性能规格。例如,几乎所有RTOS都有通信协议,如TCP/IP(传输控制协议/互联网协议),多数主要RTOS供应商还提供GUI(图形用户界面)例程。用户可以根据应用情况,增加或删除这些模块。Green Hills Software公司提供多种配置的综合RTOS,面向各种嵌入系统应用,包括航天、汽车、医疗、安全网络、无线和软件无线电。这些预配置的封包整合了最常用的模块和驱动,成为一个商用成品的系列平台。综合RTOS的单用户企业产品开发许可起价为15000美元,运行时的部署无需许可费。

  如果你的应用需要大量数据处理或分布式处理器,应考虑一种面向多处理器的RTOS。你可以将任务分配给多个处理器,获得显著的性能提升;不过,所有任务都必须有不间断的通信,以维持确定的性能。例如,高性能Enea Embedded Technology OSE(操作系统环境)面向高可用、高可靠性的分布式系统,如电信网络中的系统。最新更新的Linx功能增加了优先级消息发送,维护系统中由于故障情况而拥塞的进程间通信。Enea OSE的单开发座席价格从8000美元起,Linx现有起价为5000美元的多用户许可。




图1ExtremeEngineeringSolutions公司的Xpedite5370单板机为设计者提供了对主要实时操作系统的板载支持软件




  消除实时硬件集成意外的一种方式是用COTS(商用成品)模块建立你的嵌入设计,这些模块包含了预先配置的支持软件。例如,Extreme Engineering Solutions公司最近推出的XPedite5370单板计算机具有对Wind River VxWorks、QNX Neutrino和Green Hills Integrity公司RTOS的板级支持包(图1)。Extreme Engineering公司符合VITA(VMEbus国际贸易协会)46的3U模块采用飞思卡尔半导体公司的MPC8572E PowerQUICC(四重集成通信控制器)III双核处理器,器件支持PCIe(外设部件快速互连)上的高速结构化互连、Serial Rapid I/O和GbE(千兆以太网)。XPedite5370的起价不到8000美元,批量另有折扣。

  确保一个RTOS满足一些或全部性能需求的另一种方式是认证。例如,Wind River Systems称它的VxWorks操作系统第一个获得了POSIX(可移植操作系统接口) PSE52实时控制器1003.13-2003的产品标准符合性认证。POSIX包括一系列相应的IEEE标准,它定义了API(应用编程接口)和关键的性能领域。除了确保源码可移植性以外,PSE52认证还证明RTOS能提供时间关键应用所需要的可预计的响应时间。

  开发工具链是 RTOS选择中的另一个大问题。你的大部分软件开发与调试工作都花在与IDE(集成开发环境)的交互上,以便通过IDE快速访问编辑器、编译器、链接器、下载器和运行时工具。开源Eclipse IDE已成为一个普及而易用的标准界面,用于嵌入软件工具供应商。该平台使用户能方便地创建定制的Eclipse配置,因为除了一个小型运行时核心以外,其它全部是插件。例如,QNX Software Systems公司的Momentics工具组件提供了一组生产率与分析工具,用于Neutrino RTOS,这些工具全部集成在一个Eclipse IDE中(图2)。




图2QNX SoftwareSystems的Momentics开发组件在一个Eclipse IDE中为Neutrino RTOS提供一系列生产率与分析工具




  如果你决定采用一个商用软件包,还必须确定是否需要或希望购买用于该供应商RTOS的源码。有些供应商会在你采购他们软件的时候自动提供源码,而有些供应商则要收费。有了源码,就有了修改供应商软件的选择,比如去除所有未用的源码行,回收重要的内存空间。源码还可以帮助你理解应用代码中的那些难以捉摸的毛病。不过,只提供目标代码的供应商称,如果你修改了源码,就建立了一个独有而不受支持的RTOS。你永远可以买一份源码副本,对系统作存档或提供给客户。

  嵌入设备有各种尺寸和性能,但有一件事是确定的:随着软件复杂性的增长,对实时、确定性的需要变得必不可少(见附文《设计一款智能手机的更智能方法》)。事实上,实时系统在很多应用中都很关键,错过时间界线可以导致生命或财产的灾难性损失。作为一个嵌入系统设计者,可以预期自己的客户会随着技术泡沫的膨胀而要求更高的性能和复杂性。所幸,现在已有大量软件供应商和开源志愿者致力于下一代实时固件,以简化你的下一个嵌入软件应用。
  附文:设计一款智能手机的更智能方法

  今天,电子设备制造商正面临着以前从未遇到过的挑战。以手机为例,除了打电话的主要功能以外,它还必须无缝地管理文档,如e-mail、文件和视频;要有易于使用的GUI(图形用户界面),并能够通过无线或蜂窝网络访问和交换数据。所有这些不同但相互关联的技术都必须结合起来,以提供一种同质的用户体验。并且,为满足消费者越来越高的需求,最新型号手机必须在18个月的窗口内,以规模市场价格上市。设计者如何平衡这种特性、性能与成本的折中?

  让我们进入操作系统软件。无论在一款时髦手机还是在其它多媒体设备中,操作系统都必须保持一个嵌入系统操作的特性:效率、缩放性、确定性和速度。但与过去的RTOS(实时操作系统)不同,今天的嵌入操作系统平台必须在设备级为有性价比的创新提供完整的基础。打开任何一款手机外壳观看,就会发现它依赖于一系列基础技术,如连接、文件存储、图形,以及所有外设硬件的驱动。这些功能需要大量软件。从设备制造商的立场看,这种软件的开发与内部维护代价高昂,并且无法实现一种设备的市场差异化。

  一种较好的方案是从一个全功能的操作系统开始,它包含了最新的网络与连接、文件存储和USB(通用串行总线)能力。这种操作系统平台还必须包括图形/多媒体方面的最新技术,并支持行业API(应用编程接口),如Khronos Group的OpenMax规范。对于不符合OpenMax的设备,多媒体框架仍采用编解码支持,并为应用层提供一个公共接口。OpenMax还提供其它图形与多媒体的硬件集成功能,以及XML(可扩展标记语言)驱动的菜单。此外,一个有性价比的RTOS平台必须能够做应用软件开发,无论是通过公司内部团队还是独立的软件供应商。整合的平台是一个强健的开发平台,包括一个IDE(集成开发环境)、一个编译器、一个调试器,和一个评测与仿真环境。芯片组供应商或器件制造商可以将这个工具组件扩展和封装为一个某种器件专用的SDK(软件开发包)。下一代操作系统必须用于各种嵌入应用。就像为客户定做的服装一样,关于器件的每行代码都明白无误,便于器件的设计,,制造商可以方便地扩展和定制这些代码行,精确地配合RTOS环境。

  普通消费者可能相对来说不能察觉到自己手机中的操作系统。然而,虽然它不那么显眼,但正是这种下一代RTOS平台实现了手机和其它电子设备的更佳经济性,并使设备制造商能够快速为自己的客户提供最新的功能。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0