合作開展設(shè)計與測試
試飛階段的BA609傾轉(zhuǎn)旋翼機在意大利北部的阿爾卑斯山上空以飛機模式飛行。
強大的高級軟件工具使航天工程技術(shù)、醫(yī)療電子設(shè)備等多種領(lǐng)域的專家能越來越多地控制嵌入式系統(tǒng)的設(shè)計與驗證。而且,工具自身也在調(diào)整,用于測試的圖形設(shè)計環(huán)境目前在幫助完成設(shè)計流程,而設(shè)計、建模、模擬工具則在促成硬件在環(huán)(HIL)測試等方法。
在2008年嵌入式系統(tǒng)大會的一次小組討論期間,用行業(yè)專家代替電氣工程師的想法被廣泛傳播。倘若人們關(guān)注一下相關(guān)事件的當前狀況,就會發(fā)現(xiàn)行業(yè)專家和高級系統(tǒng)體系結(jié)構(gòu)設(shè)計者已經(jīng)獲得了相當強的能力,能夠參與整個嵌入式系統(tǒng)設(shè)計流程。但對C代碼編寫者和硬件工程師的需求并未消失。多數(shù)情況下,行業(yè)專家和電氣工程師是在攜手把日趨復(fù)雜的產(chǎn)品迅速推向市場。
在2009年5月接受一次采訪時,The MathWorks公司院士Jim Tung在談?wù)?008年的這次小組討論時說道:“促成討論的前提是那些必須實現(xiàn)嵌入式系統(tǒng)的人和那些知道需要實現(xiàn)哪些內(nèi)容的人,他們從不知道如何彼此交談。當然,世界已經(jīng)離開了那個起點。你現(xiàn)在看到的當然是協(xié)作。那些具備必要實現(xiàn)技能來交付具有特定功耗和性能曲線的人,可以更高效地與行業(yè)專家合作,后者知道功能必須是什么樣子。”他說,促使上述協(xié)作變?yōu)楝F(xiàn)實的,正是類似The MathWorks公司的Matlab和Simulink這樣的高級語言。
測試軟件用于設(shè)計工作
另一家在與行業(yè)專家合作方面看到機遇的公司是National Instruments公司(NI公司)。NI公司一直在宣傳它的LabView圖形設(shè)計軟件,它最初是提供測試與測量應(yīng)用,作為一種嵌入式系統(tǒng)設(shè)計工具。
Alliance Spacesystems公司為NASA制造機器人等機械電子系統(tǒng),它就是在嵌入式系統(tǒng)設(shè)計領(lǐng)域成功使用NI公司工具的客戶之一。Shelley Gretlein是NI公司的LabView實時嵌入式產(chǎn)品營銷經(jīng)理,她把這家客戶的機械電子部描繪成一個由航天、機械、電氣、控制工程師彼此合作而結(jié)成的多學科團隊。Gretlein說:“這里單純運用電氣工程技術(shù)或嵌入式經(jīng)驗的情形比別處少得多。更多時候,你會看到具有不同背景的人在構(gòu)建這些系統(tǒng)?!?/p>
NI公司生物醫(yī)藥細分市場負責人即嵌入式軟件經(jīng)理PJ Tanzillo以另一位客戶為例,后者在某個嵌入式系統(tǒng)設(shè)計項目中成功應(yīng)用了NI公司的工具。該客戶就是Sanarus公司,它在開發(fā)腫瘤治療用Visica 2冷凍消融系統(tǒng)時使用了這些工具。Tanzillo沒有把該項目的系統(tǒng)工程師Jeff Stevens說成是行業(yè)專家,而是一位電氣工程師,他的專業(yè)知識培訓不是在編碼和硬件優(yōu)化級別進行,而是在系統(tǒng)體系結(jié)構(gòu)級別進行的。這類系統(tǒng)體系結(jié)構(gòu)設(shè)計師也許能夠把他們的天分應(yīng)用于機器人、醫(yī)療電子設(shè)備等多個學科,不過Tanzillo表示:他們了解底層技術(shù),盡管未必深入到了為ADC開發(fā)驅(qū)動程序或為FPGA編寫HDL代碼的程度。
設(shè)計Visica 2
筆者曾與Stevens交談,以便了解他對領(lǐng)域?qū)I(yè)知識和嵌入式系統(tǒng)設(shè)計的看法。他說自己是一位系統(tǒng)工程師,擁有電氣工程學位,以前從未編寫過最終投入使用的代碼。他說:當他于2005年11月加入Sanarus公司并擔任首席系統(tǒng)工程師,并且面臨四個月期限來開發(fā)Visica 2的完全可用原型之后,事情發(fā)生了變化。
只有一個小團隊從事這個項目,這使該項任務(wù)變得更具挑戰(zhàn)性。這個四人團隊還包括項目經(jīng)理、機械工程師,以及一位“超級技術(shù)員”,他擁有心理學學位,但在原型制作方面很有創(chuàng)造性,并且能焊接電路板。Steven說:“總之,我認為8個月也許足以完成電路板、代碼編寫和集成工作,但4個月絕對不行?!?/p>
就在那時,他見到了NI公司的代表,并研究了該公司的CompactRIO平臺,把它作為嵌入式代碼的硬件目標,能運行他在LabView上開發(fā)的軟件。他從以前工作的那些公司的測試業(yè)務(wù)部聽說過這種工具,但從未用過。他把自己的案例向Sanarus公司管理層做了匯報,并獲準采用NI公司的方法。在NI公司支持人員以及Cal-Bay公司一位開發(fā)人員(他花了一周時間把LabView最佳實踐教給Steven)的幫助下,他說:“我在4個月預(yù)定期限內(nèi)很輕松地完成了工作原型。從需求文檔到第一筆收入,Visica 2只用了14個月時間?!?/p>
更高的抽象級
Visica 2項目是在沒有傳統(tǒng)嵌入式系統(tǒng)設(shè)計師干預(yù)的情況下完成的項目之一。但它也許是證明該規(guī)則的一個例外。The MathWorks公司的Tung說:“想想‘過去的好日子’,如果你想得到在你的臺式機上運行的高性能軟件,你就必須用匯編程序編寫代碼。編譯器的優(yōu)化使人們不再那么需要在這個級別工作,因此他們可以工作在更高的抽象級——比方說C代碼?!?/p>