概覽
為您下一個(gè)嵌入式項(xiàng)目或想法創(chuàng)建功能原型系統(tǒng)是得到預(yù)算和從高層管理獲得批準(zhǔn)的重要步驟。在開始原型開發(fā)之前,考慮一下您所有需要的工具。另一個(gè)需要記住的重要原則是原型開發(fā)應(yīng)該足夠快速,不應(yīng)該在原型系統(tǒng)上花費(fèi)過多的時(shí)間,投入過多的資源。
使用NI提供的圖形化系統(tǒng)設(shè)計(jì)工具,用戶可以快速對嵌入式設(shè)計(jì)開展原型開發(fā)。NI LabVIEW圖形化開發(fā)環(huán)境提供了與商業(yè)硬件的兼容性,其中包括內(nèi)建處理器、現(xiàn)場可編程門陣列(FPGA)以及I/O,用戶可以更快地對嵌入式設(shè)計(jì)進(jìn)行原型開發(fā),無論應(yīng)用設(shè)計(jì)醫(yī)療、綠色、機(jī)器人或是其他快速發(fā)展的領(lǐng)域。在原型開發(fā)流程中有許多步驟,從構(gòu)建軟件體系結(jié)構(gòu)、到連接傳感器和致動(dòng)器、再到開發(fā)人機(jī)界面(HMI)原型。考慮以下八個(gè)概念,學(xué)習(xí)用戶如何在對設(shè)計(jì)進(jìn)行原型開發(fā)的每個(gè)流程中更快地使用圖形化系統(tǒng)設(shè)計(jì)工具。
目錄
1.從高級軟件環(huán)境著手
2.使用狀態(tài)圖從紙上的設(shè)計(jì)進(jìn)行過渡
3.快速連接到I/O以及嵌入式傳感器
4.使用開發(fā)式軟件實(shí)現(xiàn)您的IP
5.將機(jī)械仿真與軟件設(shè)計(jì)進(jìn)行整合
6.使用包含中間件的運(yùn)行準(zhǔn)備好硬件
7.不要忽視HMI
8.測量原型系統(tǒng)
9.快速從想法進(jìn)入現(xiàn)實(shí)
從高級軟件環(huán)境著手
在嵌入式市場里有著大量的低級硬件和軟件工具,同時(shí)隨著嵌入式設(shè)計(jì)和硬件技術(shù)(多核處理器、FPGA等等)不斷提高的復(fù)雜性,要使用現(xiàn)有工具進(jìn)行快速原型設(shè)計(jì)是困難的。
為了節(jié)省在軟件原型開發(fā)中花費(fèi)的時(shí)間和金錢,應(yīng)當(dāng)選擇能夠抽象大部分底層工作的工具。使用LabVIEW編程工具進(jìn)行圖形化系統(tǒng)設(shè)計(jì)為用戶提供了強(qiáng)大而直觀的開發(fā)環(huán)境,使用戶能夠直接開始進(jìn)行原型開發(fā)。LabVIEW具有圖形化特性,帶有數(shù)千個(gè)內(nèi)建函數(shù)塊,可以用于信號處理、高級控制、通信、數(shù)據(jù)采集、記錄等任務(wù)中。此外,LabVIEW能夠在大量復(fù)雜的硬件目標(biāo)上運(yùn)行,從多核與實(shí)時(shí)處理器直至FPGA。因?yàn)橛脩艨梢允褂肔abVIEW對FPGA進(jìn)行編程,可以方便地在原型系統(tǒng)中使用這個(gè)技術(shù),而無需浪費(fèi)大量的開發(fā)時(shí)間。
»學(xué)習(xí)用于原型開發(fā)的最新LabVIEW 2009 FPGA特性
使用狀態(tài)圖從紙上的設(shè)計(jì)進(jìn)行過渡
大多數(shù)設(shè)計(jì)或想法是從紙上開始的。無論是寫在餐巾紙上還是更正式的書面計(jì)劃,從紙面平穩(wěn)過渡到軟件幫助您更快開始您的設(shè)計(jì)。工程師在設(shè)計(jì)嵌入式系統(tǒng)軟件體系結(jié)構(gòu)中,已經(jīng)使用狀態(tài)圖多年了。在20世紀(jì)90年代,狀態(tài)圖被認(rèn)為是統(tǒng)一建模語言(UML)規(guī)范的行為框圖,廣泛用于對嵌入式系統(tǒng)進(jìn)行建模。
使用LabVIEW狀態(tài)圖模塊,用戶可以使用狀態(tài)圖框圖設(shè)計(jì)軟件組件,使用數(shù)據(jù)流圖形化編程定義狀態(tài)行為和過渡邏輯。圖1展示了用戶如何從紙上的狀態(tài)圖過渡到LabVIEW狀態(tài)圖。
圖1:從紙上的狀態(tài)圖過渡到LabVIEW狀態(tài)圖模塊
快速連接到I/O以及嵌入式傳感器
對于大多數(shù)實(shí)時(shí)嵌入式應(yīng)用而言,連接到實(shí)際的I/O是必須的。因此,在創(chuàng)建原型系統(tǒng)時(shí),使用工具快速地連接到傳感器和致動(dòng)器是十分重要的。NI提供了豐富的板卡級封裝硬件,其中包括用戶與任何傳感器進(jìn)行交互的模擬和數(shù)字I/O。舉例而言,NI C系列模塊的模塊化特性和靈活性使它們成為原型開發(fā)I/O的理想選擇。
圖2:用于將原型系統(tǒng)連接到傳感器的C系列I/O模塊
用戶可以在基于USB的系統(tǒng)中使用C系列模塊,用于連接NI CompactDAQ、無線設(shè)備,甚至例如NI CompactRIO和板卡級NI單板RIO等嵌入式系統(tǒng)。NI和第三方廠商提供了超過80個(gè)C系列模塊,用于將用戶的原型系統(tǒng)與模擬、數(shù)字、運(yùn)動(dòng)、通信以及嵌入式傳感器與原型系統(tǒng)進(jìn)行交互。此外,用戶可以使用LabVIEW工具對所有這些平臺(tái)進(jìn)行編程,它提供了與所有這些I/O模塊進(jìn)行交互的驅(qū)動(dòng)程序和庫。
使用開發(fā)式軟件實(shí)現(xiàn)您的IP
在大多數(shù)情況下,嵌入式設(shè)計(jì)最重要的部分是嵌入在設(shè)計(jì)中的控制算法或處理算法,也稱為知識(shí)產(chǎn)權(quán)。在大多數(shù)情況下,用戶可能已經(jīng)擁有以特定形式開發(fā)的IP(例如ANSI C、文本數(shù)學(xué)、VHDL或其他)。將IP轉(zhuǎn)換為功能原型系統(tǒng)將會(huì)是耗費(fèi)時(shí)間的過程。選擇一個(gè)開放環(huán)境,可以將用戶的IP與原型系統(tǒng)的其他部分整合在一起,這樣可以將工作變得十分簡單。LabVIEW提供了高級開放式環(huán)境,用戶可以用來集成任何現(xiàn)存的C、文本數(shù)學(xué)以及VHDL IP。
將機(jī)械仿真與軟件設(shè)計(jì)進(jìn)行整合
“數(shù)字原型設(shè)計(jì)”的概念是將機(jī)械設(shè)計(jì)與軟件設(shè)計(jì)進(jìn)行連接的流程的新術(shù)語。將控制設(shè)計(jì)軟件與機(jī)械仿真整合在一起幫助您快速開發(fā)原型系統(tǒng)仿真。使用數(shù)字原型設(shè)計(jì),用戶可以創(chuàng)建虛擬原型系統(tǒng),而無需構(gòu)建機(jī)械系統(tǒng)。
NI與SolidWorks進(jìn)行合作,為用戶提供了將機(jī)械仿真與控制設(shè)計(jì)軟件進(jìn)行整合的功能。這個(gè)新功能被加入LabVIEW 2009的NI SoftMotion模塊中,用戶可以在LabVIEW中構(gòu)建控制設(shè)計(jì)算法,將控制功能與SolidWorks機(jī)械模型整合在一起,使用真實(shí)的機(jī)械模型對控制算法進(jìn)行測試,而無需構(gòu)建機(jī)械系統(tǒng)。
使用包含中間件的運(yùn)行準(zhǔn)備好硬件
在嵌入式設(shè)計(jì)中的最大挑戰(zhàn)之一是創(chuàng)建、調(diào)試以及驗(yàn)證驅(qū)動(dòng)程序級軟件棧,將嵌入式系統(tǒng)的所有硬件組件整合在一起。過去,整合過程需要用戶完成,這將嵌入式原型設(shè)計(jì)流程變得復(fù)雜而且耗時(shí)。
NI中間件軟件驅(qū)動(dòng)程序超出了傳統(tǒng)單板計(jì)算機(jī)和其他嵌入式系統(tǒng)提供的用于提高生產(chǎn)力、性能以及上市時(shí)間的基本驅(qū)動(dòng)程序的范疇。驅(qū)動(dòng)程序軟件和其他配置服務(wù)軟件包含在每個(gè)支持可重復(fù)配置I/O(RIO)設(shè)備中。內(nèi)建的中間件軟件驅(qū)動(dòng)程序工具包含以下功能:
內(nèi)建函數(shù),用于與模擬、數(shù)字、運(yùn)動(dòng)、通信I/O以及FPGA進(jìn)行交互
傳送函數(shù),用于在FPGA與處理器之間進(jìn)行數(shù)據(jù)通信
用于將FPGA/處理器與內(nèi)存之間進(jìn)行交互的方法
用于將處理器與外部設(shè)備(RS232串行接口、以太網(wǎng))進(jìn)行交互的函數(shù)
高性能的多線程驅(qū)動(dòng)程序
不要忽視HMI
有時(shí)候,演示想法最簡單也是最好的方法是通過HMI,即用戶界面。如果用戶可以找到用于快速構(gòu)建用戶界面的軟件工具,用戶可以與潛在的客戶或投資者一起,在概念設(shè)計(jì)流程的早期對功能進(jìn)行測試。
圖3:LabVIEW圖形化編程包含內(nèi)建用戶界面
LabVIEW圖形化開發(fā)工具為快速建立用戶界面提供了多種選項(xiàng)。首先,每個(gè)LabVIEW程序(即VI)包含了應(yīng)用程序的圖形化代碼和程序的用戶界面。因此,與其他編程語言不同,用戶不需要編寫大量附加的程序構(gòu)建用戶界面,使用LabVIEW,用戶可以免費(fèi)得到用戶界面。在LabVIEW中,提供了數(shù)百個(gè)內(nèi)建用戶界面項(xiàng)目,從圖表到撥盤直至三維圖片控件,幫助用戶為原型系統(tǒng)快速構(gòu)建HMI。
測量原型系統(tǒng)
在設(shè)計(jì)流程的早期完成原型設(shè)計(jì)的另一個(gè)優(yōu)點(diǎn)是它為用戶提供了盡可能完善設(shè)計(jì)的機(jī)會(huì)。越早完成原型系統(tǒng)的開發(fā),也就可以越早地開始測試硬件與軟件設(shè)計(jì),從而可以建立更加可靠的系統(tǒng)。在許多情況下,用戶可能需要等到完成產(chǎn)品開發(fā)才會(huì)開始考慮測試。通過對原型系統(tǒng)進(jìn)行測試,用戶不僅能夠建立更可靠的產(chǎn)品,而且還可以更早地開始設(shè)計(jì)生產(chǎn)測試系統(tǒng)。
圖4:來自NI的測試產(chǎn)品用于測試原型系統(tǒng)
在構(gòu)建原型系統(tǒng)時(shí),考慮能夠使原型系統(tǒng)設(shè)計(jì)變得更加簡單的工具。用戶可以在原型系統(tǒng)的設(shè)計(jì)與測試中,使用圖形化系統(tǒng)設(shè)計(jì)工具。LabVIEW和模塊化測試硬件(基于PC或PXI/CompactPCI技術(shù))能夠用于原型系統(tǒng)中,幫助用戶更早地對設(shè)計(jì)進(jìn)行測試。
快速從想法進(jìn)入現(xiàn)實(shí)
原型開發(fā)是嵌入式設(shè)計(jì)流程的重要部分。向投資者、客戶或管理層展示想法功能的能力是為想法得到預(yù)算的最佳方法之一。NI圖形化系統(tǒng)設(shè)計(jì)工具可以在無需大量開發(fā)時(shí)間和大型設(shè)計(jì)團(tuán)隊(duì)的情況下,快速地完成具備功能的原型系統(tǒng)。在對下一個(gè)設(shè)計(jì)進(jìn)行原型開發(fā)時(shí),請考慮使用LabVIEW以及NI原型開發(fā)硬件,使原型開發(fā)變得更為快捷。