如何使用LabVIEW開發(fā)基于32位處理器的嵌入式系統(tǒng)?
圖1:LabVIEW 開發(fā)界面
但是,使用LabVIEW嵌入式開發(fā)模塊,工程師和科學(xué)家們不需了解最終的目標(biāo),就可以進(jìn)行代碼開發(fā),因為軟件生成的是LabVIEW應(yīng)用的ANSI C代碼,而不是針對某個特定目標(biāo)的二進(jìn)制代碼。LabVIEW嵌入式方式是一個開放的框架,它可以整合任意的第三方工具鏈,將生成的C代碼、LabVIEW實時庫函數(shù)和板卡支持程序包(BSP)編譯成為針對某一目標(biāo)并能在這個目標(biāo)上運行的二進(jìn)制代碼。BSP是一種作為C代碼與板上外圍硬件接口的底層代碼。因此,如果板卡需要升級,工程師可以簡單地將不同的BSP鏈接到LabVIEW中,在現(xiàn)有的圖形化代碼上作一小部分改動就可以完成。
與目標(biāo)無關(guān)的代碼開發(fā)意味著工程師和科學(xué)家不再需要等待硬件確定之后再開始設(shè)計算法。這樣并行的工作和效率的提升,使開發(fā)周期和產(chǎn)品上市時間大大縮短。最后,所生成的LabVIEW代碼不是針對某個特定平臺的,所以您很容易升級到新的硬件。
使用LabVIEW嵌入式特性縮短開發(fā)時間
LabVIEW嵌入式開發(fā)模塊構(gòu)建在自LabVIEW誕生以來近20年的創(chuàng)新精神之上,幫助工程師和科學(xué)家們利用數(shù)百個內(nèi)建的庫函數(shù),涵蓋高等算法、文件I/O、邏輯和信號處理各個方面。通過LabVIEW嵌入式方式 ,工程師和科學(xué)家可以使用一種叫做內(nèi)聯(lián)C節(jié)點(Inline C Node)的新特性,整合現(xiàn)有的嵌入式代碼,來保持LabVIEW的開放架構(gòu)。
除了用于快速調(diào)試的內(nèi)建圖形化用戶接口顯示件、探針、斷點和函數(shù)步進(jìn)之外,LabVIEW嵌入式開發(fā)模塊為代碼調(diào)試提供了另外兩種無縫的接口。在嵌入式目標(biāo)平臺上,工程師可以使用“儀器調(diào)試”(instrumented debugging),以便于通過TCP/IP、RS232,或CAN進(jìn)行調(diào)試。使用內(nèi)建的片上調(diào)試接口,工程師可以通過工業(yè)標(biāo)準(zhǔn)協(xié)議,如JTAG、BDI和Nexus等,進(jìn)行調(diào)試,同時不影響程序性能。
LabVIEW嵌入式開發(fā)模塊使領(lǐng)域?qū)<铱梢允褂矛F(xiàn)有的技術(shù)進(jìn)行更多的應(yīng)用,使用同一環(huán)境進(jìn)行算法設(shè)計、原型,實現(xiàn)他們的解決方案,極大地縮短開發(fā)時間和產(chǎn)品上市時間。
NI提供了各種硬件平臺與LabVIEW集成,完成從設(shè)計、原型到部署的全過程。例如使用LabVIEW和NI 可重復(fù)配置I/O(RIO)設(shè)備或NI CompactRIO平臺,他們可以快速而便捷地創(chuàng)建嵌入式系統(tǒng)的原型。NI現(xiàn)有的一個成功案例就是幫助汽車控制和數(shù)據(jù)采集解決方案的提供商--Drivven公司通過NI CompactRIO對基于FPGA的2004 Yamaha YZF-R6摩托車引擎控制系統(tǒng)設(shè)計原型,他們的目標(biāo)是為基于FPGA傳動控制器提供一條無縫的從原型設(shè)計到生產(chǎn)的路徑。對于這個項目,Drivven在軟件上使用LabVIEW;在硬件上選擇了一個4插槽的NI CompactRIO嵌入式系統(tǒng),因為它靈活性強、體積小巧而且波形因數(shù)穩(wěn)定。利用這一系統(tǒng),他們可以在輕松地添加傳感器和激勵器的同時快速且便捷地觀察數(shù)據(jù),除此之外,還可以在一個超級運動型摩托車上利用的極為有限的空間放置控制器。這個項目包含三個主要的階段: 1,通過自定義I/O模塊的開發(fā)。共有三個自定義I/O模塊監(jiān)視著所有摩托車的傳感器并控制它的激勵器,此外現(xiàn)在正在開發(fā)其他的CompactRIO的模塊以用于傳動控制應(yīng)用,包括用于驅(qū)動電子節(jié)流閥的模塊和與通用的廢氣氧氣傳感器連接的模塊。2,映射工廠級ECU(Factory ECU)。把ECU數(shù)據(jù)記錄在1MB的文件上(在每分鐘一個文件的速率下高達(dá)20個文件)同時在許多種不同的節(jié)流閥位置和引擎速率(接近700個操作點)的組合下駕駛摩托車從而完整地映射了工廠級ECU(Factory ECU)的性能。駕駛員仔細(xì)地駕駛著摩托車,以盡可能的減少瞬時操作。在一輛跟隨的汽車?yán)锏墓こ處焺t周期地以無線的方式從CompactRIO接收數(shù)據(jù)文件,傳輸至一臺筆記本電腦并且立即分析這些數(shù)據(jù)以覆蓋所有操作點。一個基于筆記本電腦的NI LabVIEW應(yīng)用程序迅速地將數(shù)據(jù)分類至速度/負(fù)載操作表,與此同時濾除瞬時數(shù)據(jù)。對每一個操作點都從這些數(shù)據(jù)計算出平均和標(biāo)準(zhǔn)的偏差。在兩個小時里,這個團(tuán)隊采集了90%摩托車的操作點的數(shù)據(jù),這對于全面理解工廠級ECU的映射是一個足夠充分的覆蓋。后來,在實驗室里,工程師又使用LabVIEW對這些數(shù)據(jù)進(jìn)行處理,在圖形化地修改原始數(shù)據(jù)以填充丟失的操作點的同時提供了3維和2維的可視化信息。3,引擎控制。在最后階段,Drivven使用CompactRIO對一個研究性質(zhì)的ECU進(jìn)行原型設(shè)計,它的性能可以與工廠級ECU相媲美,但是卻提供了可以實施未來控制算法研究和開發(fā)的功能(這對使用生產(chǎn)目的的電子是不可能的)。利用CompactRIO,Drivven實現(xiàn)了許多引擎管理FPGA核,它們都具有可配置的LabVIEW FPGA圖表并放置在方框圖里。使用LabVIEW實時模塊,實現(xiàn)了速度-密度和alpha-N引擎控制策略(經(jīng)常用于高性能的賽車場合)的結(jié)合。所以說,Compact RIO和LabVIEW提供了所需的可靠性和精確的定時資源,而且這個系統(tǒng)具有足夠穩(wěn)定性來承受工作環(huán)境的高溫和高振動。如果讀者想要閱讀完整的解決方案,請訪問ni.com/china,輸入信息碼(info code)cn5k8t。
另外使用LabVIEW嵌入式開發(fā)模塊,還可以制造嵌入式板卡并部署到任意的32位微處理器。正如LabVIEW使工程師們可以開發(fā)定制的虛擬儀器,而不再依賴供應(yīng)商定義的臺式儀器,從而在測試和測量領(lǐng)域掀起一場革命一樣,LabVIEW嵌入式開發(fā)模塊使得業(yè)內(nèi)專家可以使用他們的專業(yè)知識開發(fā)嵌入式應(yīng)用,而不需要再依賴嵌入式方面的專家。
NI嵌入式開發(fā)模塊示意圖
隨著嵌入式系統(tǒng)設(shè)計的復(fù)雜性日益增加,圖形化方式是一個必然的趨勢,它正在對嵌入式設(shè)計進(jìn)行重新的定義,使更多的工程師可以以一種前所未有的方式使用嵌入式開發(fā),從而使設(shè)計的速度和質(zhì)量得到提高。將分散的市場整合、采用標(biāo)準(zhǔn)和現(xiàn)成可用的技術(shù),并發(fā)布集成的、易用的軟硬件平臺——這就是NI多年來所持之以恒的運營模式。圖形化系統(tǒng)設(shè)計,這是一個將嵌入式設(shè)計推向更廣大受眾的平臺,我們通過一個統(tǒng)一的圖形化工具提供這種功能,這種工具能將領(lǐng)域?qū)<覐脑桨l(fā)復(fù)雜的嵌入式設(shè)計中解脫出來。從設(shè)計、原型到實現(xiàn)的整個過程中,使用統(tǒng)一的設(shè)計工具無疑將會大大提升整個設(shè)計過程的效率。
評論