圖形化系統(tǒng)設(shè)計(jì):縮短開發(fā)時間的嵌入式設(shè)計(jì)
概覽
將近50%的設(shè)計(jì)延遲或是無法面市;即便在推出之后,也仍有將近30%的設(shè)計(jì)宣告失敗 [1]。 導(dǎo)致類似許多問題的直接原因是:隨著平均代碼長度在過去5年增長了近10倍,嵌入式系統(tǒng)日趨復(fù)雜 [2]。 此外,隨著嵌入式系統(tǒng)日益普及,機(jī)器制造商、測試工程師、控制工程師等許多領(lǐng)域的專家都需要嵌入式技術(shù)來開發(fā)系統(tǒng),而他們目前又都不具備開發(fā)嵌入式系統(tǒng)的技能。隨著系統(tǒng)日趨復(fù)雜,隨著需要該技術(shù)的非嵌入式專家日益增多,人們迫切需要一種新的嵌入式設(shè)計(jì)方法。
圖形化系統(tǒng)設(shè)計(jì)革命性地解決了設(shè)計(jì)問題,它將直觀的圖形化編程和靈活的商用現(xiàn)成(COTS)硬件融為一體,幫助工程師和科學(xué)家更有效地設(shè)計(jì)、建模、部署嵌入式系統(tǒng)。用戶通過圖形化系統(tǒng)設(shè)計(jì),在設(shè)計(jì)的各個階段采用單一的環(huán)境,從而提高生產(chǎn)效率、節(jié)省成本。
嵌入式設(shè)計(jì)的圖形化編程
許多嵌入式系統(tǒng)可自主運(yùn)行,需要并行處理許多有特殊定時要求的任務(wù)。假設(shè)某個機(jī)器控制系統(tǒng)用以控制直線臺、旋轉(zhuǎn)多軸、控制照明并讀取視頻數(shù)據(jù);在這樣一個系統(tǒng)中,則必須以確定、實(shí)時、并行的方式開展多進(jìn)程。 若在此類應(yīng)用中采用C等傳統(tǒng)且基于文本的工具,會令復(fù)雜性立刻提高。
LabVIEW相反卻可借助自身功能,輕松開發(fā)復(fù)雜編程和定時模型。 早在20多年之前,NI便創(chuàng)造出具有LabVIEW圖形化開發(fā)環(huán)境形式的組件和技術(shù)。 LabVIEW通過編碼結(jié)構(gòu)實(shí)現(xiàn)定時,完美地將定時融入代碼;若想表示并行只需如圖 1所示,拖入另一個循環(huán)。
圖 1. LabVIEW的并行定時循環(huán)直觀地顯示出并行任務(wù)
文本代碼令各領(lǐng)域的眾多專家們難以實(shí)現(xiàn)該水平的定時與并行;而圖形化表示對于科學(xué)家和工程師而言,卻顯得更為清晰、更易訪問。如果LabVIEW范例被擴(kuò)展至包括FPGA和微處理器的芯片,您會發(fā)現(xiàn):LabVIEW還能以同樣的一致性和可升級性,輕松管理硅芯片的并行架構(gòu)。
嵌入式系統(tǒng)設(shè)計(jì)的另一項(xiàng)關(guān)鍵需求是:軟件平臺應(yīng)當(dāng)用于實(shí)時嵌入式設(shè)計(jì)常用的各類算法設(shè)計(jì)瀏覽。Edward Lee博士身為伯克利(Berkeley)地區(qū)加利福尼亞大學(xué)(University of California)在嵌入式軟件平臺方面的研究領(lǐng)袖,將設(shè)計(jì)瀏覽統(tǒng)統(tǒng)視作運(yùn)算模型 [3]。 這些運(yùn)算模型與系統(tǒng)設(shè)計(jì)師瀏覽系統(tǒng)的方式匹配,最大程度降低了將系統(tǒng)要求轉(zhuǎn)換為軟件設(shè)計(jì)的復(fù)雜性。
在過去的幾年里,LabVIEW已經(jīng)擴(kuò)展性地納入了多種運(yùn)算模型,從而更好滿足了嵌入式系統(tǒng)設(shè)計(jì)師及其各種技術(shù)裝置的需求。 LabVIEW現(xiàn)已包括基于文本的數(shù)學(xué)、連續(xù)時間仿真、狀態(tài)圖和圖形化數(shù)據(jù)流模式,用以代表各類算法。 LabVIEW還納入交互式工具,從而推進(jìn)數(shù)字濾波器、控制模型、數(shù)字信號處理算法的設(shè)計(jì)體驗(yàn),令此類垂直應(yīng)用的設(shè)計(jì)更為簡易。現(xiàn)在,我們將拭目以待,見證您如何在靈活的COTS硬件平臺上實(shí)施這些算法,并極大地降低第一次建模的時間。
商用現(xiàn)成建模平臺
如前所述,由于許多設(shè)計(jì)延遲或是根本無法面市,甚至更糟;由于設(shè)計(jì)會在推出之后宣告失敗,我們必須采取行動,確保以更短的時間獲得更優(yōu)質(zhì)的產(chǎn)品。一舉兩得的途徑之一便是:通過更快地在設(shè)計(jì)中集成實(shí)際信號和實(shí)際硬件,更好地建模系統(tǒng),從而實(shí)現(xiàn)優(yōu)質(zhì)設(shè)計(jì)的迭代并能更早發(fā)現(xiàn)(并解決)問題。
如 圖 2的設(shè)計(jì)過程所示,LabVIEW FPGA模塊能夠?qū)abVIEW設(shè)計(jì)下載到NI的FPGA硬件上;LabVIEW已能夠通過該模塊,將算法設(shè)計(jì)與邏輯設(shè)計(jì)相互結(jié)合。現(xiàn)在我們可以集中精力,探尋縮短硬件路徑的效率與手段。
圖 2. 反映軟件和硬件獨(dú)立設(shè)計(jì)過程的典型性嵌入式系統(tǒng)軟硬件設(shè)計(jì)過程
目前,若您在為最終的部署創(chuàng)建自定義硬件,則很難并行開發(fā)軟件和硬件。因?yàn)橹挥羞M(jìn)入系統(tǒng)集成階段,軟件方能在實(shí)際的硬件上接受測試。此外,您并不希望進(jìn)行純理論型的軟件開發(fā);在系統(tǒng)集成測試階段納入I/O并通過實(shí)際信號測試設(shè)計(jì),可能造成:發(fā)現(xiàn)問題時為時已晚,因而無法按時完成設(shè)計(jì)。
許多設(shè)計(jì)者目前采用測試板卡一類的方式,建模系統(tǒng)。 然而,此類板卡往往只包括少數(shù)的模擬和數(shù)字I/O通道,很少包括視覺、運(yùn)動或同步I/O的能力。此外,設(shè)計(jì)師往往只是為證明概念,便不得不將時間浪費(fèi)在開發(fā)傳感器或特定I/O的自定義板卡上。
如 圖 3 所示,通過靈活的COTS建模平臺,您卻能真正簡化該過程,并省去許多配合硬件驗(yàn)證和板卡設(shè)計(jì)的工作。 當(dāng)今,任何人都能步入電子商店,插接內(nèi)存、主板、外設(shè)等組件,創(chuàng)建PC;圖形化系統(tǒng)設(shè)計(jì)與PC非常類似,力爭實(shí)現(xiàn)同樣標(biāo)準(zhǔn)的建模平臺。
Figure 3. Stream-lined development flow with Graphical System Design
對于許多系統(tǒng)而言,建模平臺必須納入與最終發(fā)布完畢的系統(tǒng)相同的組件。 這些組件通常是:用于執(zhí)行確定算法的實(shí)時處理器、用于高速處理或?qū)?shí)時處理器連至其他組件的可編程數(shù)字邏輯,以及各類I/O與外設(shè) [圖 4]。最后,若暢銷I/O在與各個系統(tǒng)配合使用時,無法滿足您的全部需要,平臺也應(yīng)能在需要時得到擴(kuò)展并接受定制。
圖 4. 嵌入式系統(tǒng)的典型組件
National Instruments公司提供了數(shù)種類型的建模平臺,其中包括NI CompactRIO。該平臺含有嵌入式系統(tǒng)的所有基本模塊。 該控件包含一個運(yùn)行實(shí)時操作系統(tǒng)的32位處理器。 CompactRIO背板包含的FPGA可執(zhí)行高速處理,且為包含模擬輸入與輸出、數(shù)字輸入與輸出、計(jì)數(shù)器/定時器等功能的I/O模塊,配置并提供實(shí)際接口。 每個模塊都包括:與傳感器和激勵器的直接連接,以及內(nèi)置的信號調(diào)理與隔離。 同時包括的模塊開發(fā)包令開發(fā)者通過平臺擴(kuò)展,納入自定義模塊——全部插入該COTS架構(gòu)。
此外,CompactRIO采用工業(yè)化封裝(-40 ºC到70 ºC,50G防振動)、占地小(3.5英寸 x 3.5英寸 x 7.1英寸)、供電要求低(典型的7W到10W),這使它不僅非常適于建模,而且非常適于車載、機(jī)器控制和板載預(yù)測性維護(hù)應(yīng)用的部署。
自定義部署功能
如前所述,由于包裝、耐用性和成本方面的優(yōu)勢,CompactRIO常用作建模和部署。 然而,用戶有時會因?yàn)橐?guī)格或供電因素,選擇更小的自定義板卡設(shè)計(jì)。 為滿足該需求,設(shè)計(jì)師可通過LabVIEW嵌入式開發(fā)模塊,將代碼部署于任一32位處理器,從而節(jié)省軟件購買成本。
LabVIEW嵌入式開發(fā)模塊結(jié)合了圖形化開發(fā)的上述所有優(yōu)點(diǎn),以及現(xiàn)成的分析函數(shù)、集成式I/O和交互式圖形化調(diào)試。該模塊能夠?qū)⑷我?2位微處理器作為對象;由它提供的框架能夠開放地集成各類目前以C為基礎(chǔ)的第三方工具鏈(tool chain)和操作系統(tǒng),從而將自定義板卡設(shè)計(jì)作為對象。一經(jīng)集成,用戶便能實(shí)現(xiàn)100%的圖形化開發(fā),并交互式地調(diào)試其應(yīng)用。 通過將生成的代碼與目前市場上的所有目標(biāo)集成,用戶可以最為靈活地實(shí)現(xiàn)最多的目標(biāo)功能。
這種新技術(shù)使越來越多的科學(xué)家、工程師和各領(lǐng)域的專家,能夠更為便捷地設(shè)計(jì)算法、開發(fā)應(yīng)用、編程邏輯、建模系統(tǒng)并將系統(tǒng)部署于指定的對象。
結(jié)論
電子系統(tǒng)設(shè)計(jì)的新方法現(xiàn)已誕生。 圖形化系統(tǒng)設(shè)計(jì)帶來了結(jié)合硬件平臺的軟件平臺,這能夠極大縮減開發(fā)成本和面市時間。 集成多種運(yùn)算模型的軟件平臺,最大程度地縮短了將項(xiàng)目指標(biāo)實(shí)現(xiàn)為具體設(shè)計(jì)的時間。靈活的COTS硬件建模平臺可支持軟件平臺并提供自定義組件,通過縮減自定義硬件的設(shè)計(jì)時間和設(shè)計(jì)成本,最大程度地縮短第一次建模的時間。此外,通過實(shí)際I/O的建模保證了更優(yōu)質(zhì)的設(shè)計(jì)——減少了目前的設(shè)計(jì)失誤。最后,由于圖形化軟件從設(shè)計(jì)到平臺建模,到最終的目標(biāo)部署均保持一致,從而使代碼利用率達(dá)到最高,并且使得向最終部署的轉(zhuǎn)換簡單易行。 借助LabVIEW,您便能通過單一的圖形化平臺,對嵌入式系統(tǒng)進(jìn)行設(shè)計(jì)、建模和部署。
評論