驚爆:十年後嵌入式設計技術將不再是獨立的技術門類

眼下的嵌入式技術在IT行業風生水起,大有執行業牛耳的架勢。它的一路飄紅,讓那些因當年沒學好硬件技術,眼下只好眼巴巴望“嵌”興嘆的“嵌粉”們一次次因後悔不迭而拍青了自己的大腿!     

  爲什麼嵌入式眼下能達到這樣大紅大紫的地步的呢?其“亮點”無非如下幾點:

  1 它面對的用戶幾乎涵蓋當今工業的所有行業及門類,市場潛力巨大;

  2 它擁有一個並不是誰都能夠輕易跨越得了的高技術門檻,從而便可保障行業內部不會出現過於激烈的相互競爭;

  3 眼下從事該技術的收入較高,工作環境好,讓從業者容易獲得成就感和滿足感。     

  的確,擁有了上述幾項難得的行業優勢,嵌入式技術眼下這樣吃香自然就在情理之中了。 

  但要判斷一個行業是否是朝陽產業,僅僅擁有上述幾點還是遠遠不夠的。按照通常意義上的“朝陽產業”的定義,一個行業還必須在以上幾點的基礎上,再同時擁有下面幾點,那它纔是真正“朝陽”的:    

   ——不隨着科技的進步和時間的推移降低自身的價值;

   ——不以大量消耗資源和污染環境作爲其發展的條件;

   ——不與社會公序良俗、倫理道德、法律法規相違背<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

  而筆者之所以在本文中能得出標題所述結論,恰恰就是因爲筆者覺得,上面三條中的首條,眼下的嵌入式技術與之相違。    

  那麼眼下嵌入式技術的癥結在哪裏?依筆者看,癥結在於它走上了發展的彎路。具體說來,就是眼下的嵌入式系統走進了徹底的“面向過程”這個泥潭。    

  是誰把嵌入式系統拉進了今天的泥沼?半導體廠商及片上系統設計應用商(SOC)的推波助瀾,以及EDA工具軟件和EOS開發軟件的無限制濫用,均難辭其咎。     

  那麼眼下嵌入式系統完全採用“面向過程”的落後理念的具體表現到底在哪裏呢?

它具體體現在“硬”、“軟”兩個方面。     

  在硬件上,這種“面向過程”的理念表現爲嵌入系統硬件上的“一元架構”系統設計理念;    

  在軟件上,則表現爲應用程序的“從底層到現場”的單級程序編制模式,或者說是應用程序編制人員直接實施底層數據操作這種危險的控制方式。     

  所以,要想把嵌入式技術完全引入正確的發展道路,徹底解決這“硬”、“軟”兩方面的問題,將眼下的嵌入式徹底拉出“面向過程”這個泥潭是根本之策。           

   大力推廣“兩元架構”系統構建方式,大力推廣系列化、標準化,實現硬件上的“面向對象”

  什麼是“一元架構”系統構建體系?     

  這就是眼下SOC大力鼓吹和提倡的,在技術人員中也極爲有市場的、徹底的“單板機”設計方法。

  這種設計方法指導下生產出的嵌入式產品,系統的CPU系統、存儲系統、I/O系統、總線、電源系統等,統統在一個完整的大電路內實現,各系統之間通過內部總線連接,相互間幾乎無真正的隔離。

  這種系統構建方法固然存在系統效率高、體積小、硬件上冗餘少、針對性強等優點,但它的缺點與之相比,卻日益顯得突出。

  1 面對一個具體的嵌入系統對象而言,這種系統構建方法的設計者根本無法判斷整個系統設計中,嵌入系統上述幾大部分,尤其是CPU系統和I/O系統之間權重的比例關係。一個嵌入式系統,可能它的I/O數量很大,但對CPU的運算能力和存儲能力的要求卻非常低(例如新式家用滾筒洗衣機等);但對於另一個系統而言,卻可能正相反(如MP4等)。

  正是由於在對一個新的系統進行嵌入式設計時的這種對CPUI/O、存儲能力上的不同要求,才導致了嵌入式系統目前的這種千變萬化,進而導致目前嵌入式系統根本無法實現系列化、標準化設計及製造;

  2 無論是從性質還是從計算機硬件設計沿革下來的習慣來說,計算機處理器、存儲器部分的設計與I/O系統的設計根本就是完全不同兩大部分。他們自身也因爲在面對每個具體對象的不同而導致其各自運行強度的不同的同時,形成對總線、供電、抗干擾、冷卻等支持系統有着完全不同的要求;

  3 不利於嵌入式系統的設計走向更加規範、更有利於降低設計難度的良性循環道路。由於正是這種將一個計算機系統所有部分完全設計在一個電路內的做法,實際上,這就意味着除了個別技術環節之外,眼下嵌入式系統的設計甚至要比臺式機的主板設計還要困難。因爲PC機主板的設計所及畢竟僅僅是計算機中的局部,而一個嵌入式系統所包含的卻是計算機的所有部分。所以眼下嵌入式設計這種實在是“高”的令人望而生畏的“門檻”,是不利於這個行業的持續、健康發展的;

  4 “一元架構”非常不利於對系統安全性的要求。現代系統設計理念中,其中最重要的一條原則就是“分級管理”。無論系統的構成多麼簡單,讓頂層的操作者,尤其是未來的用戶完全可以毫不受限制地直面底層數據,甚至可以直接對底層實施操作,這實在是一種十分危險的做法。

 

  怎麼解決上述問題?

 

  採用“二元架構”體系,是解決“一元架構”面臨問題的最佳良方。

  所謂的“二元架構”,就是在嵌入系統設計中,將處理器和存儲器設計成一個獨立的單元,將I/O系統設計成另一個獨立單元,兩者之間可通過兩板間的直接插拔、或通過小的網絡線纜進行連接的、獨立的總線進行數據交換。

  有了這種系統構建方法,整個嵌入式技術,就可以走上一條與目前的PLC技術幾乎完全相同的道路。SOC便可將其產品的範圍向下延伸,直接做成各種系列、各種規格的“CPU/存儲單元”、“I/O單元”(就像PLC系統對應的各種模塊一樣)。    

   這種情況下,對於應用層面的嵌入式系統的設計者來說,就真正地擺脫了必須成爲嵌入式系統所有方面都必許成爲真正的專家,這種技術上的巨大門檻。面對一個新的嵌入系統設計工程,他只要搞清楚具體的I/O數量有多少,對CPU運算的速度及存儲能力的要求是怎樣,在所選系列的產品的手冊中,分別選出兩個單元相應的型號,整個系統的硬件“設計”就OK

  相比較於“一元架構”冗長的硬件設計週期而言,這種效率的提高,豈止是用“倍”能形容得了的呢?依筆者看,用“數量級”來形容它可能纔是恰當的。

  怎麼樣,採用這種系統構建體系的好處令人垂涎麼?

  其實,嵌入系統採用“二元架構”的好處豈止這些?它的更大的好處還在於:

 

  在嵌入式系統設計中全面採用“兩元架構”,可實現軟件設計上 

  真正的“面向對象

  如果嵌入系統採用“二元架構”,並且各單元都能實現系列化、標準化,那麼底層數字變量化即可完全實現。即底層數字的類型預定義、緩存、抗干擾處理、自動地址映射等諸多非常複雜的技術手段,就可以成爲現實。而這些難得的數字預處理工作,如果讓眼下嵌入式系統的設計方式中仍處於個人“單打獨鬥”狀態的設計者自己設計電路予以實現的話,無疑將是十分困難的。但這對於大的SOC供應商提供的標準化、系列化的產品來說,卻實在是“小菜一碟”。

  有了這種標準化、系列化的I/O單元,當CPU/存儲單元通過總線與其相接後,通過USBRS232等外部接口送入I/O單元的底層數字量,立刻便可成爲CPU通過定義後可隨時進行操作、帶有具體地址的變量。

   有了這種從數字到變量的一大步飛躍,對操作系統來說,“可移植性”就不再會是一個令人頭疼的問題。如果嵌入式系統真的能夠實現在不同的硬件環境下的可移植,特別是操作系統如果能夠做到像今天的PC機這樣,設計者根本不用關注你是AMD的主板還是Intel的主板,你是Windows XP還是 Windows 98,你只要專心做你想做的事就行,這樣一種完美的境地,那不正是眼下搞嵌入式技術的人心中的理想王國麼?

  而我們要達到的,還遠不止是操作系統的可移植性的目的。我們要達到的更高的目標,是組態軟件的全面推廣。     

  在應用軟件的編制上,組態軟件的使用,是一場真正的革命。

  組態軟件,是一種充分體現了現代理念的、完全有別於以往控制程序設計手段的、里程碑式的產物。它通過將一個個抽象的變量變成一個個可動、可變、可顯、可調、可“拖”等鮮活的形象,在動畫一般的過程中,將過去看不見、摸不着、想不出的,複雜的控制過程,形象地呈現給系統的設計者,尤其是使用者。

  有了它,對系統的理解、設計,便一下子由過去的大學畢業可能都不夠用,變成了中專畢業生來從事都綽綽有餘。

   除此之外,組態軟件的應用,還很好地做到了底層分離,過程、數據分級控制及管理。所以系統的安全便得到了全面的保障。

 

  由此可見,當嵌入式系統及相關技術一旦真的達到筆者所設想的這種理想王國,即硬件上實現“二元架構”,軟件編制上實現組態軟件唱主角,嵌入系統硬件能夠做到像如今的PC機的各種板、卡、芯片那樣,只是專業的大公司來製造,那麼嵌入系統應用軟件的編制工作就可像如今的PLC系統的程序編制那樣,變成爲普通的電氣技術人員很容易就可掌握的、普通的一門“技能”,而非“專門技術”了。

   當然,即便是“二元架構”體系完全建立之日,嵌入式系統的“一元架構”體系也並不會完全消失。就像如今的DVD、電視機這樣普及,你仍然能找到錄像廳、看到電影放映隊一樣,到那時,“一元架構”體系也仍然會有其生存空間,儘管彼時之“空間”與今日之“空間”相比早已不可同日而語。

   例如,在軍事等關係國家安全的關鍵技術領域,甚至可能會“有意”去製造些破解困難、保密性強的,專用、特殊的一元架構的嵌入式系統。當然到那時,這種昂貴的、不計較成本的“嵌入式系統”是否還是真正意義上的“商品”,可就另當別論了。另外在電子鐘、八音盒等那些小得實在是不能再小的應用領域當然也還會有其一定的市場。

另一方面,當二元架構的嵌入式系統大行其道之日,在用戶的系統構建層面上,單片機可能就真的該“壽終正寢”了。就像在普通的程序編制工作中,完全可以用VB來編的普通程序,還有誰願意不厭其煩地用匯編來編制呢?當然,板級的製造領域,這因該是它的天下。尤其是二元架構體制下的I/O單元部分,其內部的大部分的工作,還應當是由各類的單片機來完成的。

第三個方面,當二元架構體制形成之後,PLC技術當中的梯形圖技術,很有可能引入到嵌入系統的程序編制工作中來。尤其是在類似簡單的機械控制等時序控制領域,如在筆者此前提到的洗衣機、各類小機牀等嵌入系統的控制程序編制工作中,這種技術絕對是任何其他技術都無法比擬的。

還有一個需要說明的問題是,所謂的“二元架構”體制,在實際應用中並不一定就真的必須是一塊CPU單元與另一塊I/O單元組成。外部總線(如MODBUS+、以太網等)技術最大的好處就是可以在有限的範圍內總線上各分站的隨意擴充及掛接。所以到那時,一個CPU單元配以兩個、多個I/O單元,甚至總線上掛接雙CPU單元以實現雙機熱備等更先進的系統設計方式,在嵌入式系統中實現都不再是神話!

 

已經進入嵌入式或正在準備進入嵌入式的年輕人們,你們可要準備好了。與其說十年之後再痛苦地“轉身”,就不如從現在開始未雨綢繆,偷偷地留上一手,或者幾年之後見好就收。總而言之別等到現在那些主打嵌入式的獨立設計公司很快沒飯吃的那天,你再像今天的“嵌粉”那樣,一次次拍青你的大腿!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章