作者: 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提供了一個新的作業系統供嵌入式裝置設計人員選擇。目前設計人員可自由地為企業和所部署的應用程式進行真正的設計。