一般而言,資訊家電(IA)市場主要由兩類產品構成:Internet終端和以電視接收機為架構的資訊家電用品。Internet終端類產品包括無線Web手寫輸入板和有線終端;電視接收機架構下的資訊家電則由Set-top-Box產品構成,例如Microsoft WebTV和AOLTV。儘管AOLTV盒給這類產品帶來了活力,但在2001年Internet終端的銷售量,預計將超過以電視機架構的資訊家電。整個IA的銷售額將從2000年的2.19億美元成長到2005年的13億美元,此成長大部份將出現在以PC為中心的北美和西歐市場。
半導體製造商已發現今後數年的資訊家電市場有利可圖。IA微處理器的銷售量將從2000年的1,800萬美元成長到2005年的9,100萬美元。快閃記憶體(Flash Memory)和DRAM的銷售也將分別有5%和27%的成長。在過去的兩年間,快閃記憶體的供應嚴重不足,價格很高。但在2000到2005年之間,快閃記憶體的價格將每年下降超過40%。下一代IA的記憶體容量將比現有的設備大一倍。
網際網路(Internet)服務
採用專門針對處理器性能和記憶體空間都受到限制的即時系統而設計的標準化即時作業系統(Real Time Operation System;RTOS),是設計低成本的資訊家電一種理想解決方案。隨著低成本32位元處理器應用越來越廣泛,過去只有在PC上才能實現的功能,如上網,現在已可以整合到多種嵌入式系統和電器裏,這樣的設備包括與電視機配套的數位視訊轉換盒(STB)、辦公或家用智慧電話以及工業專用的區域網路設備,如電子收款機等。
目前供應商已經為資訊家電製造廠設計出多種參考設計方案,包括在低成本嵌入式處理器上運行的作業系統內核,以及運行於改良的PC工作站上的桌面作業系統等,同時這些設計都具有用於即時視頻播放的MPEG硬體。雖然這些參考平台是針對資訊家電的最終用途而設計的,但大多數情況下用戶在連上Internet時,由於基礎設施和網路頻寬的原因,使得在獲取類似視頻點播(Video On Demand;VOD)之類的服務時會受到很多限制。盡管如此,資訊家電還是已經能夠得到包括Web服務在內的多種資訊服務。
Internet服務和技術目前正以驚人的速度在發展,那些不能跟隨新技術前進的產品很難在市場上獲得立足點。為了滿足消費者的需求,資訊家電的硬體和軟體必須能夠昇級,這樣有利於用戶自行更新。此外,其元件的價格不能太高,才能讓用戶可以定期地進行昇級。在當今這個多變的市場裏,開發人員不僅擔負著開發低成本多功能產品的任務,而且還面臨著巨大的導入市場之時間壓力。
比如,消費類電器製造商通常要投入大量人力研究產品的“可製造性”或者”替代方案”以降低生產成本,但由於Internet應用設備自身的產品生命周期都很短,因此降低成本(Cost-down)的工作要盡早進行。所幸的是製造商們不需要樣樣都從頭做起,以滿足客戶快速變化的功能需求,相反地,他們可以從現成的PC上獲取所需技術。
採用PC技術的優缺點
由於PC擁有巨大的市場和遍佈全球數以萬計的供應商,因此PC平台在眾多應用領域已經成為事實上的標準,並有一整套成熟現成的應用工具。實際上,資訊家電用到的很多技術都是在平台式電腦上開發,並且都用在PC上,所以利用PC技術來設計資訊家電可以減少工作量並降低開發風險。例如在前面談到的,用於視頻點播的電視視訊轉換盒產品中,MPEG視頻數據流的即時解壓縮性能是一個重要指標,通常建議採用高速RISC處理器作為解決方案。
但與此同時,隨著平台式電腦多媒體技術的發展,出現了具有MPEG功能的視頻晶片組和CPU擴展指令集(如MMX),對平台式多媒體的強勁需求又產生了專用的低成本矽晶片,這種矽片與低檔PC處理器一起使用也可以取得良好的效果。最後的結果是,源於PC技術的低成本矽晶片被用在動態視訊轉換盒中。
隨著多種平台式PC技術整合到資訊家電中,PC架構的其他優點也逐步顯現出來。例如,平台式電腦可以為嵌入式設備的開發提供豐富的作業系統、開發工具和外設等選擇;同時,由於從PC衍生出的設備結構與平台式PC相同,所以對於資訊家電開發者來說,平台式PC及其軟體工具自然就成為最佳的樣品開發工具。
追隨PC技術太過緊密的缺點
然而,追隨PC技術太過緊密也有危險。雖然利用x86處理器和PC主機板晶片組來設計一個與PC相容的嵌入式系統,一般來說比較簡單,但是技術昇級使得大多數晶片組很快就過時。實際上由於競爭激烈,主機板晶片組製造商每隔6個月就得推出新版本的產品。顯然,為了保持產品的可製造性,那些使用這類元件的產品需要經常重新設計。
資訊家電製造商們若不與元件製造商簽定長期的合作協議,就得加快重新設計的速度以趕上平台式電腦的硬體更新速度。這其實也是一個辦法可以解決,就是選擇將很多週邊電路都整合到了CPU內部的高整合度x86晶片;隨著嵌入式x86晶片製造業的迅速發展,市面上已經有了多種高整合度x86 CPU晶片,包括AMD lanSC400/520、Intel386 EX、National Semiconductor公司的Geode SC1400以及ST Microelectronics公司的STPC Consumer。
由於這些處理器是專門針對嵌入式產品市場,因此製造商們非常希望它們能維持較長的市場周期,至少應比平台式電腦主機板的晶片組的周期長很多。這些處理器將很多週邊電路都整合到了CPU內部,從而減少元件數量降低系統成本。
硬體及軟體的開發
為了使電器製造廠商有一個良好的開端,x86晶片製造商還提供了評估板和參考設計,部份設計還直接針對資訊家電的低成本需求。這些產品包括AMD lanSC400/520開發平台、Intel EXPLR2評估板、STPC Consumer快速樣品平台以及National Semiconductor的WebPAD(一種無線手持式Web瀏覽設備)等,電器製造商可以使用這些平台進行產品評估、快速製作樣品、系統開發,有時還允許小量生產。
很多PC週邊廠商也看到了商機,他們現在都漸轉型生產製造視訊轉換盒的機殼、電源、紅外無線鍵盤和滑鼠等,這些硬體產品使視訊轉換盒製造商可以像過去生產PC那樣,直接利用現成的週邊零件組成一個系統,而不是樣樣都從頭開始設計。雖然這種方式生產出來的產品其價格不一定符合真正的消費類產品要求,但它可以促使產品很快地導入市場。
資訊家電主要功能是由軟體實現
以上討論的是PC硬體的適用性,而資訊家電的主要功能則是藉由軟體實現的。這些軟體早已在平台式電腦裏得到應用,但是運行這些軟體的作業系統需要節約的記憶空間、磁碟空間和CPU時間。如果給資訊家電配備足夠的硬體資源,去運行桌面作業系統和圖形用戶界面程式(GUI),如Internet瀏覽器等,這種添加了各種補充硬體的資訊家電將變成一種平台式電腦,因而完全偏離了消費類電器應有的便宜價位水平。
既然資訊家電是一種專用設備,不是一個通用型電腦,因此它不需要支援一般桌面應用程式的龐大桌面作業系統,如耗費資源的視窗系統,也不必去和已有的應用程式完全相容。相反的,這類設備可使用專為可攜式應用而設計的更加小巧的專用作業系統或迷你作業系統。這樣可以提高效率並且減少對記憶體/磁碟的需求,因而降低硬體成本。
除了基本的多工處理能力外,資訊家電應提供Web瀏覽器、e-mail功能和頻道指南,以及消費者期望的其他功能。為了提供一個易用的介面以執行這些程式,它還需要有圖形用戶介面。考慮到一些應用程式處理視頻數據和音頻數據流對時間精度的要求,作業系統還要能提供即時服務。
與PC應用軟體相容
嵌入式設備使用的即時作業系統,要能夠很方便地發揮處理器的效率和有效利用儲存空間,為了減少工作量,電器製造商們紛紛借鑒PC硬體標準,同時也是為了減少工作量,製造商也採用PC的軟體API標準。如果所選的作業系統提供的API與電器設備上的應用程式API相容,那麼製造商只需要將這些程式從PC或其他環境移植過來即可,從而大大節省開發投入。
除此以外,標準API還能讓製造商緊緊跟隨著迅速發展的技術,不用怕會被淘汰。以Spyglass HTML3.2版Web瀏覽器移植到QNX即時作業系統為例,可以看到作業系統平台採用標準化帶來的好處,這只需要一天時間就可以完成X Window版本Spyglass技術移植的“概念驗証”。顯然,資訊家電因資源有限無法使用X Window,所以Spyglass為QNX的Photon microGUI視窗系統進行了修改,可以在400K ROM或Flash Memory以及1M RAM系統上運行。這是一個很好的例子,說明標準環境可以使流行的Internet技術非常容易地移植到資訊家電中。
由於現有的很多Internet軟體都創建於UNIX系統,因此在可攜式作業系統內建立一個UNIX(POSIX) API介面是一個好辦法。此外,分析Java引擎程式碼可以發現,它更支援一種具有非同步I/O、通用緒(Threads)支援、檔案系統、網路支援和視窗介面的POSIX相容作業系統。由於POSIX環境以耗費資源而著稱,因此POSIX標準的相關文件對介面進行了詳細的定義,但是不包含執行的定義。
所以,可以用一種微核(Micro-kernel)結構提供POSIX API,而不用像UNIX內核結構那樣複雜。例如,QNX的Neutrino即時微核可以提供多級記憶體保護功能。在無保護系統中,程式在一個位址空間裏以緒形式運行,而在多程式保護系統中,每個程式都在獨立的MMU保護位址空間裏運行(大多數嵌入式x86處理器都整合有MMU)。
對於藉由Web下載的Java物件,這種保護就沒有必要,因為Java本身提供了安全的運行環境。但是對於不在Java內執行的系統組件,記憶體保護可藉由在組件之間設立防火牆來保持系統的可靠性。因此,資訊家電可以同時支援Java物件和高性能的即時應用程式而不會降低其可靠性。由於能夠利用POSIX程式碼,資訊家電製造商就可以最小的成本跟隨著不斷發展的電腦或其他新技術。
解決視窗系統資源不足
為了能執行用戶希望的各種圖形應用程式,資訊家電需要有一個視窗系統。傳統的圖形庫(Graphic Library)雖然佔空間小,卻不能支援如Web瀏覽器之類的全螢幕應用程式,而另一方面,普通的桌面視窗系統(MS-Windows)雖可以提供所有的功能,卻要耗用過多的資源。
有一個方法可以打破這種尷尬局面。我們知道微核技術能在有限記憶體條件下,建立一個功能完整的作業系統環境,這項技術同樣可用於視窗環境。比如採用“圖形”微核技術的QNX Photon microGUI就是一個可擴展的視窗系統,只需用非常小的記憶體空間就能得到高解析度圖形用戶介面的性能。
為了實現資訊家電所需的功能,QNX/Photon還支援一個最小的TCP/IP,僅占用50K空間,同時支援儲存於Flash記憶體的檔案系統,這些都是由作業系統微核管理方式實現的。該環境包括有作業系統、視窗系統、網路功能、檔案系統、HTML3.2 Web瀏覽器、e-mail、Internet新聞瀏覽器和個人資訊管理器(日程安排、聯絡簿等),所需全部記憶量加起來不超過2M快閃記憶體和2M RAM。
這種“2+2”儲存結構顯然比同樣功能的平台式作業系統要小,同時,比Java作業系統環境所需的空間也要小很多。此外,Eonic公司的Virtuoso作業系統除支援單一處理器作業外,也支援多處理器多工即時作業,非常適合複雜的DSP嵌入式系統開發使用。
結語
在嵌入式系統開發過程中,最怕軟體團隊等待硬體的完成,或者硬體團隊等待測試軟體的完工,因為這些不確定因素最會削弱軟硬體團隊之間的默契,而且,又會增加開發的成本。由於資訊家電本質上也是一種PC相容平台,因此開發人員可以使用普通平台式電腦作為實驗產品的開發平台或樣品平台,所需的週邊硬體如:數據機等都可以黏著在PC裏面,在這軟硬體團隊都熟悉的PC環境中開發,可以將盲點減少到最低,這樣軟硬體團隊的開發進度就可以安然地同步進行了。