天天看点

原创翻译 使用Windows Embedded Standard开发电池供电设备(二)

作者: Lawrence Ricci, Eurotech

人机界面&联网

人机界面

移动WES设备的设计者应认真考虑人机界面。即使有Atom芯片组的图形处理能力,并得到了微软现成驱动程序的强大支持,移动WES设备仍可能限制显示器的尺寸,需要重新设计某些人机界面。当然,普通的“XP”桌面是可用的,并且可以被赋予不同的颜色主题,如果需要的话还可以对图形和功能作重大修改。

如果想要为其设备完整设计定制接口,则应认真研究Silverlight。Siverlight主要用于微软所谓的RIA(丰富交互式应用)。Silverlight是在.NET 3.5下的Visual studio中开发的,可以在单一IDE中提供与数据库和编程语言的直接接口。.NET 3.5是WES提供的一个新功能,并不是老版XP embedded的一部分。

但是Silverlight是一项基于浏览器的技术,因此可能不适用于移动手持设备。在本例中,首选接口可以是Windows Presentation Foundation(WPF)。WPF可以提供Silverlight的所有功能——视频插件、动画、可扩展矢量图形等——但所有这些功能的实现都不需要使用浏览器。

最后,另一个细节是:移动设备一般都使用电阻式触摸屏,而不是鼠标或轨迹球。这是一种不同的界面——例如,它没有“悬停”的功能。Windows Mobile和Windows CE都习惯于利用屏幕上的点选和持选、点击拖放和双击操作提供所需要的功能,但这些功能必须嵌入触摸屏驱动程序中,而每个触摸屏供应商的驱动程序都是不同的,并不是现成WES的一部分。用户需自行创建这种驱动程序,或从OEM供应商处获取。

警告:这种驱动程序如果做得不好的话,容易消耗大量资源和功率。最好使用低功耗、中断驱动设计技术来创建这些驱动程序。

联网

对于一个真正的移动设备来说,联网功能是有差异的。笔记本电脑虽然也是可移动的,但通常在一个固定地点工作,并保持一条到单个WiFi接入点的链接。然而,手持式WES设备可能需要在移动中使用(比如在仓库中携带RFID阅读器/平板电脑的工人),可能从一个接入点‘跳到’另一个接入点,同时还要保持会话的连接性和安全性。

Windows Communication Foundation (WCF)可实现这种灵活性。WCF是.NET框架的一部分,可用于搭建互相通信的应用程序。WCF是内置在Vista中的,开发WCF设备的OEM商可以进行下载和安装。

WCF是微软针对通信的全面解决方案,但该领域并非只有微软一家大公司。思科几乎垄断了接入点市场,他们的各种标准(著名的CCX)也是OEM设备开发环境中的一个要素。幸运的是,这些通信技术是基于与XP/Vista的兼容性,因此,即插即用驱动器内通常安装有WES系统。

OEM厂商应注意的是:对于移动设备而言,供应商的标准也许还不够。针对不同类型的医疗设备、DoD信息和各种安全(金融)交易都有严格的行业和政府标准。同样幸运的是,所有这些标准都是由Windows PC设备开发和验证的,因此OEM商很容易适应WES设备。

然而软件并不能解决所有的问题。特别是,移动设备设计者需要理解其设备适合的通信方案。譬如,笔记本电脑几乎都是USB主机。但是移动设备可能是USB从机,也可能同时具有主机和从机的功能。这类变化可能需要BIOS做出调整。

电源和ACPI

电源

电源的使用,更具体地说是每次单元操作的能耗,对电池供电设备而言非常重要。最终所需要的是以最低的电池成本和体积实现“使用天数(DOU)”。 Clockspeed或 MIPS的测量并不能很好地指示一个设备的‘DOU’。 MIPS/瓦在一定程度上是重要的,但是假设是持续不间断地使用——当然一台移动设备很少持续不间断地使用。但是真正重要的是每次操作的瓦秒(尔格)。

移动应用是中断和事件驱动型应用。例如,移动设备可能有一个内置的RFID阅读器。其电池寿命可能不是以小时计,而是以阅读次数计。如果设计合理的话,这种设备平时应该几乎不耗电,除非收到读标签的指令。然后,它触发工作、发出射频脉冲、读取返回的数据、排除错误读数、应用一些业务逻辑,再将数据传送给本地或远程数据库,中间可能需要启动网络连接。

每次操作的最优化尔格设计集合了硬件、操作系统和应用软件。进一步的每次操作的尔格取决于所执行的操作和使用的网络。例如,通过CDMA 或 GPRS发送的简短的SMS具有很高的能效(每字节纳尔格值)。当通过Wi-Fi传输时,电子邮件或图形等较大的文档具有最高的效率(每兆字节尔格值)。WES为应用程序设计人员提供了一个平台,在此平台上设计人员可以基于带宽要求、安全性和服务质量有选择地使用网络。

带ACPI的电源管理

现有的WES提供与XP Pro笔记本电脑相同的高级配置与电源接口(ACPI)。通过这种内置并且现成的ACPI,可以实现休眠等基本功能。而且可以从应用层实现额外的电源管理功能。ACPI级电源管理是基于对运行时间空闲的简单监视,如图4所示

术语 定义
唤醒程序 功能驱动器在驱动器中断设备电源之前使用的一项程序——准备设备自行唤醒。
Dx 处于低耗电状态(D1到D3)的所有设备的统称。D0是设备的正常运行状态。
Dx IRP 功能驱动器向设备支架发送的电源IRP,将设备转换到Dx。
空闲时间计时器 自一台设备最后使用时开始计时的计时器,当计时器达到设定的空闲时间超时值时,计时器中止计时并通知功能驱动器开启断电程序。
电源策略所有者 控制设备电源状态的驱动器,决定改变其状态的时间。每个设备支架都有一个单独的PPO,通常是支架的功能驱动器。
空闲运行时间检测 当系统保持其正常运行状态时,通过断开空闲装置的电源而节约能源。
Sx 处于低耗电状态(S1到S5)的所有系统的统称,包括备用、休眠等。S0是系统的正常运行状态。
Sx IRP 向设备支架发送电源IRP,表明系统准备从S0 转换到 Sx。
USB选择性中止 这种功能使一个功能驱动器命令母驱动器中止一个独立的USB设备或功能,同时与此母驱动器连接的其它设备或功能仍保持其正常的运行状态。
从S0状态唤醒 当系统处于S0时,一台设备可自行唤醒。这是运行空闲时间检测方案。
从Sx状态唤醒 当系统处于Sx时,一台设备可自行唤醒并唤醒系统。

图3:空闲运行时间检测

WES中包含的这种基本ACPI函数与笔记本电脑中使用的一样,只是移动设备电源管理的起点。控制ACPI的‘定时器’设置值通常远大于用于表征实时设备事件驱动操作的间隔时间。

脚注:

4. “通过支持空闲运行时间检测的驱动器提高系统功率”(MSDN,2008年4月23日)。

扩展的电源管理

WES 2009有一个新功能,即一次休眠,多次启动(HORM)。HORM能让系统迅速(标称值是1秒)启动至事先创建的休眠文件。例如,这一特性能让自动化系统在短暂的电源故障后迅速进入工作状态。

对于一些设备而言,OEM应准备好通过将基本的ACPI级电源管理功能集成到其应用程序中。OEM或其电路板供应商可扩展BIOS,以便API将CPU甚至相关的电子元件转换为低耗能状态。

有趣的是,在短暂的毫秒时间内(在我们看来是连续操作),仍有很大的节能空间。例如,MPEG回放的每帧要求多种耗用功率:一种是将数据送出磁盘,一种是解码,一种是填充帧缓存,然后是很低功耗(但屏幕背光灯一直是开着的)以等待下一帧。

MPEG帧与帧之间的这种可变功耗在高速电流测量示波器上是真实可见的。

图4:电力消耗(黄色)=功耗;紫红色=电流;稳定的黄色=电压;MPEG-1回放;顶部:Linux 操作系统;底部: WES ;平台:Catalyst EC。

电池充电

耗能只是问题的一方面,首先必须给电池充电。锂化学原料具有一定的危险性,通常使用智能电池。控制电池充电要求访问I2C或SPI总线接口,并且是从应用层一直到管理电池的充放电过程。电池管理对于硬件/软件设计而言是一个大的挑战,而与操作系统的集成是任何移动设备成功的基础。

企业应用、维护和管理

WES标志着移动计算资产融入企业的方式的真正典范转移。设备的部署与设备的设计同等重要。那些不得不安装软件更新、杀毒程序或推出新的价格表或更新地图数据库到5000台设备的人将理解可扩展性的重要性。拥有WES,可实现设备的高效部署。

轻量级WES设备有设备更新代理(DUA)。DUA是系统升级的一个轻量级(30K)部件,可更新现有的应用程序或应用程序数据库,安装新组件,安装新的设备驱动器,一般情况下可执行自动、远程或移动设备的管理。DUA是单独设置的,它可通过网络服务器、网络共享或者CD或USB的本机接口实现升级。

目前,多数企业移动设备围绕某些门户服务器呈 ‘星形’ 布置,通常使用第三方工具处理诸如软件升级、防火墙和安全等维护事项。由于WES与台式机的“XP”非常接近,因此可更直接地融入到企业中,设备设计人员需要考虑的是设备应用、部署和维护的方式。维护台式机的现成工具(微软或第三方)是一个选择。

因此,对于应用的程序开发而言,程序员可使API获得Active Directory和Calendars等资源(如果他/她想要这样做)。嵌入式设备无需维护单独的名称和地址数据库,‘断开的’设备配备文件同步工具。这意味着如果OEM厂商和终端用户愿意,WES设备可向Microsoft System Update拨号并扫描更新和补丁,这些功能目前的台式电脑或笔记本电脑均能实现。但是实际上,当部署移动终端、自动售货机、收银机或ATM时,OEM厂商和企业希望更好地控制互动。

而所有这些是标准的微软企业工具套装的一部分。

微软的标准维护平台,包括Windows Server Update Services (WSUS)或 Microsoft System Center Configuration Manager (SCCM)可管理WES设备,同时管理标准的台式电脑和服务器系统。独立的‘断开的’设备要求有专人通过便携式媒介(如CD或USB)应用更新。

另一个维护工具是Watson。Watson的特点是询问用户是否希望向微软报告应用程序破坏的细节。配备综合移动设备应用程序的OEM厂商或企业可以部署一个OEM版本的Watson,直接向其报告破坏数据。如果OEM厂商选择由微软进行修复,则企业或OEM厂商可直接与微软沟通详细信息。

最后,一项更新策略的一部分动机是防止发生破坏!许多设备(例如医疗设备)必须在一个‘经核准’的配置中运行。WES包括一些写过滤器,这些写过滤器可以防止更新存储器的某些部分,例如,使其不能安装新的应用程序,但仍然允许交换数据。

结语

Windows Embedded Standard提供了一个新的操作系统供嵌入式设备设计人员选择。目前设计人员可自由地为企业和所部署的应用程序进行真正的设计。