PDA、掌中型電腦、行動電話......等,這些時下流行的消費性電子產品,以及路由器、閘道器、防火牆、網路電話(VoIP)......等網路產品,還有資訊家電(IA)產品、儲存裝置等等都屬於嵌入式系統產品,開發和設計它們是有別於個人電腦的,其中最大的差別就是「差異化(differentiation)」。嵌入式系統產品不只是在軟硬體的技術標準或規格上可自成一個市場,更在設計方法上,除基本原則(baseline)和限制條件相同外,各說紛紜。只要在規格上或設計上做一點點小小的更改,就能獨樹一格,使市場不斷地被區隔開來,讓差異化行銷、甚至「小蝦米對抗大白鯊」的現象變成可能。
相信大家小時候都曾經玩過拼圖或積木的遊戲。拼圖是原先就設定好的一個圖案,嘗試各種可能,將此圖案重新組合起來。積木則是任憑我們的想像力,利用許多大小不同的積木,將我們內心所想的圖形堆砌出來。因此,使用同一組的積木可以堆砌出大象、猩猩、企鵝......等不同的動物。相反的,同一組拼圖卻只能拼出一個圖形來,這是拼圖與積木的最大不同。就思考方法而言,積木是比較抽象的、講理論的;而拼圖是比較具像的、講實務的。那我們在開發嵌入式系統產品時,到底應該採用拼圖或積木型的思考方法呢?
其答案,應該會依照業者的不同經營方式而不一樣。例如:OEM廠商應該會比較喜歡採用拼圖法,因為它很務實,目標產品明確;軟韌體、晶片設計業者可能就比較喜歡採用積木法,因為它很有想像空間、設計時很具彈性。不過,畢竟國內的嵌入式系統產品的開發業者,大多數是屬於OEM製造商,所以,就國內環境而言,與積木法相比,拼圖法應該是大多數人常用的方法。
國內業者使用拼圖法去開發嵌入式系統產品(亦即從事ODM)時,經常會遇到兩個重大的限制條件:客戶要求降低成本、設計人才難尋或難養成。因此,業者通常會:(1)使用便宜的材料、元件、組件;(2)要求供應商提供「全段加工(turnkey)」的解決方案。為了降低成本、提高效率,這本是無可厚非的,但是這裡隱藏著一個大問題,經常被國內業者所疏忽,那就是:不同材料、元件、組件的相容(compatible)、共存(coexistence)、相互作業(interoperable)的問題。大多數人認為這些問題好像只會在無線電網路產品中才會發生,其實它們也會在有線電網路或非網路類產品中產生的。
就硬體而言,這些問題包含:時序(timing)、供電、絕緣、訊號干擾、阻抗匹配......等;就韌體而言,則包含:處理器是否有支援所需的暫存器、記憶體的規劃是否合理、系統啟動程式(boot code)是否能和硬體配合、驅動程式是否能和硬體與作業系統(O.S.)緊密配合......等;就軟體而言,則包含:不同通訊協定層是否相容、作業系統是否有支援各種不同的通訊協定和應用軟體......等。總之,若事先未能對這些問題做謹慎的評估與準備,則在開發進行期間,勢必會非常艱困的,甚至會因為沒有經驗而「瞎子摸象」,不知所措的。
(作者為電子業資深系統設計工作者,聯絡方式:su2b08@saturn.seed.net.tw)