close
隨著32位多核處理器應用逐漸走熱,設計者正面臨著新的挑戰,業內專家指出面向角色(actor-oriented)的圖形化方法是更適合嵌入式軟體設計的工具。NI 的LabVIEW嵌入式開發模組是LabVIEW圖形化編程環境的一款全新附加模組,通過這個軟體和圖形化系統設計的理念,原先無法利用到嵌入式編程的工程師們都可以進入32位元微處理器的領域之中。通過LabVIEW中附加的狀態圖、控制圖表、信號處理庫函數等這一完整的工具來設計它們的應用,以解決各種問題。本文對該開發工具進行了介紹。
隨著嵌入式系統變得越來越複雜,設計者正面臨著新的挑戰:隨著基於32位微控制器(MCU)的嵌入式系統的成本向16位元系統逐步接近,在許多高級應用中8位和16位微控制器正逐步讓位給擴展性更佳,性能更好的32位元片上系統(SoC)。此外,由於單純通過CPU的性能提升來增加整個系統的性能已經不是一種持久的發展趨勢了,所以主要的處理器製造商已經轉向了多核心架構。從Dell在幾個月前推出的多處理器核心的臺式電腦,就可以看到這種趨勢。從消費者和用戶的觀點上來看,處理性能的提升是一樣的。但是,從一個嵌入式系統開發者的觀點來看,設計將變得更加複雜,因為您必須瞭解如何在多處理器環境下開發和分割您的應用。根據十年前的估計,嵌入式系統的平均代碼量為10萬行。到2001年,這個數字實際已經超過了100萬,而現在的數字估計為500萬。
現在我們將視線轉移到當前嵌入式系統的開發工具上來,隨著複雜度的逐漸上升,現在傳統工具很難降低編程工作的複雜度,嵌入式領域需要另一種方法來應對這些挑戰。挑戰不僅是工具方面的,還有解決問題的途徑:基於文本編程的嵌入式應用開發在將來不可能解決這些問題。這已經是許多業內專家的共識;Edward Lee博士是加州大學伯克利分校嵌入式研究方面的領先者,他指出現在嵌入式系統的開發手段如基於文本編程和面向物件的工具都難以用來構建嵌入式即時系統,因為面向物件很難直觀地表達時間和平行性(parallelism),而時間和平行性或並行(concurrency)在現在的嵌入式系統中是必不可少的。Lee博士提出面向角色(actor-oriented)的圖形化方法是更適合嵌入式軟體設計的工具。
雖然嵌入式系統的挑戰越來越嚴峻,但是現在已經有了許多解決的方向。許多供應商採取了將底層工具的設計抽象出來的辦法。這種方法每前進一步,都會吸引更多的用戶。另一個方向是可以更徹底地解決面臨的挑戰,也就是向基於平臺的工具轉移,它能夠更好地表達整個系統,而減少與特定硬體的相關性,這使得更多的軟體設計容易理解並被重複使用,而從基於文本的工具向圖形化工具的轉移則可以直觀地表達系統,並解決系統的挑戰。圖形化系統設計(Graphical System Design)的理念就是源於這些趨勢。通過簡化嵌入式編程的複雜性,它降低了對領域專家在嵌入式設計流程中各個步驟的要求;同時提供了從設計、原型到部署的一條捷徑,使得工程師和科學家們可以更快速地進行重複設計。
隨著嵌入式系統變得越來越複雜,設計者正面臨著新的挑戰:隨著基於32位微控制器(MCU)的嵌入式系統的成本向16位元系統逐步接近,在許多高級應用中8位和16位微控制器正逐步讓位給擴展性更佳,性能更好的32位元片上系統(SoC)。此外,由於單純通過CPU的性能提升來增加整個系統的性能已經不是一種持久的發展趨勢了,所以主要的處理器製造商已經轉向了多核心架構。從Dell在幾個月前推出的多處理器核心的臺式電腦,就可以看到這種趨勢。從消費者和用戶的觀點上來看,處理性能的提升是一樣的。但是,從一個嵌入式系統開發者的觀點來看,設計將變得更加複雜,因為您必須瞭解如何在多處理器環境下開發和分割您的應用。根據十年前的估計,嵌入式系統的平均代碼量為10萬行。到2001年,這個數字實際已經超過了100萬,而現在的數字估計為500萬。
現在我們將視線轉移到當前嵌入式系統的開發工具上來,隨著複雜度的逐漸上升,現在傳統工具很難降低編程工作的複雜度,嵌入式領域需要另一種方法來應對這些挑戰。挑戰不僅是工具方面的,還有解決問題的途徑:基於文本編程的嵌入式應用開發在將來不可能解決這些問題。這已經是許多業內專家的共識;Edward Lee博士是加州大學伯克利分校嵌入式研究方面的領先者,他指出現在嵌入式系統的開發手段如基於文本編程和面向物件的工具都難以用來構建嵌入式即時系統,因為面向物件很難直觀地表達時間和平行性(parallelism),而時間和平行性或並行(concurrency)在現在的嵌入式系統中是必不可少的。Lee博士提出面向角色(actor-oriented)的圖形化方法是更適合嵌入式軟體設計的工具。
雖然嵌入式系統的挑戰越來越嚴峻,但是現在已經有了許多解決的方向。許多供應商採取了將底層工具的設計抽象出來的辦法。這種方法每前進一步,都會吸引更多的用戶。另一個方向是可以更徹底地解決面臨的挑戰,也就是向基於平臺的工具轉移,它能夠更好地表達整個系統,而減少與特定硬體的相關性,這使得更多的軟體設計容易理解並被重複使用,而從基於文本的工具向圖形化工具的轉移則可以直觀地表達系統,並解決系統的挑戰。圖形化系統設計(Graphical System Design)的理念就是源於這些趨勢。通過簡化嵌入式編程的複雜性,它降低了對領域專家在嵌入式設計流程中各個步驟的要求;同時提供了從設計、原型到部署的一條捷徑,使得工程師和科學家們可以更快速地進行重複設計。
儘管市場上的工具都在向圖形化的方向轉變,但由於它們是針對特定領域特定應用的工具,所以仍舊受到自身的限制,而這是不足以解決行業將要面臨的挑戰的。事實上,現在的嵌入式系統市場與八十年代早期的臺式電腦市場有很多相似之處,其中的一個特點就是非常分散。現在市場所需的是一種完全的圖形化編程語言,提供足夠的靈活性和功能,以滿足更廣泛應用的需求。因此,圖形化系統設計的關鍵因素是圖形化編程。
將設計方法學直接應用於實現
自1986年誕生以來,LabVIEW圖形化編程語言已經開始簡化了系統的複雜性,並在同一個平臺上提供採集、分析和顯示等功能,在使用計算能力對處理過程自動化的同時,允許在研發原型,製造和測試過程中對軟硬體的重用,彌補了原先因為原型、製造和測試三個步驟間因工具不同而造成的這一鴻溝。在所有涉及到資料獲取和控制的領域裏,LabVIEW圖形化方式都已經成為標準的開發工具。從那時開始,我們就一直向這個編程環境添加功能上的改進,現在LabVIEW在已有的定時迴圈結構上新加了硬體定時功能,它是一種表示時間和並行的語義。現在,我們就可以通過點擊來設置作業系統優先順序,延時,迴圈速率等等;回想在文章前面所提到的向多處理器轉移的趨勢,現在我們可以憧憬使用可擴展的直觀圖形化編程,來開發應用,並將處理過程分配到不同的處理器上。
新的NI LabVIEW嵌入式開發模組(LabVIEW Embedded Development Module,)是LabVIEW圖形化編程環境的一款全新附加模組,通過這個軟體和圖形化系統設計的理念,原先無法利用到嵌入式編程的工程師們都可以進入32位元微處理器的領域之中。通過LabVIEW中附加的狀態圖、控制圖表、信號處理庫函數等這一完整的工具來設計它們的應用,以解決各種問題。
領域專家-在某個科學或工程領域的專家,但不一定是嵌入式的程式師-一般使用不同的模型或工具解決他們學術上或工程上的問題。例如,開發引擎控制單元(ECU)的工程師可能使用狀態圖來對引擎控制單元的功能進行圖形化的描述。這位工程師可能是一個控制理論方面的專家,但是卻可能沒有任何嵌入式或C編程方面的經驗。直到現在,嵌入式應用的實現仍然需要深入瞭解關於嵌入式編程工具,如C語言等方面的知識。因此,很多領域專家要實現他們的解決方案,甚至只是簡單的驗證一個概念仍然要依賴專門的嵌入式開發人員。這個存在于領域專家和嵌入式程式師之間的鴻溝,使得開發時間增加,而且容易在系統中引入錯誤。
LabVIEW嵌入式開發模組在設計和實現間的鴻溝之上架起了一座橋樑。領域的專家現在可以使用相同環境快速地設計演算法,對定制的設計進行原型設計,將他們的解決方案在所選的目標上實現,並進行調試——所有這些過程都是通過圖形化方式實現的。
開發與目標無關的代碼
嵌入式目標本身要求程式師在編寫代碼之前對目標有深入的瞭解。程式需要知道板卡上各種關於記憶體映射和寄存器的資訊,才能在板卡上執行他們的代碼。另外,大部分代碼是專為某一特定目標編寫的。這樣,在一塊板卡上使用不同的微處理器或是不同的週邊設備,可能就需要重新編寫大部分已有的代碼,或是完全從頭開始。這意味著最終產品的擴展性方面是有缺陷的。
圖1:LabVIEW 開發介面 |
但是,使用LabVIEW嵌入式開發模組,工程師和科學家們不需瞭解最終的目標,就可以進行代碼開發,因為軟體生成的是LabVIEW應用的ANSI C代碼,而不是針對某個特定目標的二進位碼。LabVIEW嵌入式方式是一個開放的框架,它可以整合任意的第三方工具鏈,將生成的C代碼、LabVIEW即時庫函數和板卡支援套裝程式(BSP)編譯成為針對某一目標並能在這個目標上運行的二進位碼。BSP是一種作為C代碼與板上週邊硬體介面的底層代碼。因此,如果板卡需要升級,工程師可以簡單地將不同的BSP鏈結到LabVIEW中,在現有的圖形化代碼上作一小部分改動就可以完成。
與目標無關的代碼開發意味著工程師和科學家不再需要等待硬體確定之後再開始設計演算法。這樣並行的工作和效率的提升,使開發週期和產品上市時間大大縮短。最後,所生成的LabVIEW代碼不是針對某個特定平臺的,所以您很容易升級到新的硬體。
使用LabVIEW嵌入式特性縮短開發時間
LabVIEW嵌入式開發模組構建在自LabVIEW誕生以來近20年的創新精神之上,幫助工程師和科學家們利用數百個內建的庫函數,涵蓋高等演算法、檔I/O、邏輯和信號處理各個方面。通過LabVIEW嵌入式方式,工程師和科學家可以使用一種叫做內聯C節點(Inline C Node)的新特性,整合現有的嵌入式代碼,來保持LabVIEW的開放架構。
除了用於快速調試的內建圖形化用戶介面顯示件、探針、中斷點和函數步進之外,LabVIEW嵌入式開發模組為代碼調試提供了另外兩種無縫的介面。在嵌入式目標平臺上,工程師可以使用“儀器調試”(instrumented debugging),以便於通過TCP/IP、RS232,或CAN進行調試。使用內建的片上調試介面,工程師可以通過工業標準協議,如JTAG、BDI和Nexus等,進行調試,同時不影響程式性能。
LabVIEW嵌入式開發模組使領域專家可以使用現有的技術進行更多的應用,使用同一環境進行演算法設計、原型,實現他們的解決方案,極大地縮短開發時間和產品上市時間。
NI提供了各種硬體平臺與LabVIEW集成,完成從設計、原型到部署的全過程。例如使用LabVIEW和NI 可重複配置I/O(RIO)設備或NI CompactRIO平臺,他們可以快速而便捷地創建嵌入式系統的原型。NI現有的一個成功案例就是幫助汽車控制和資料獲取解決方案的提供商--Drivven公司通過NI CompactRIO對基於FPGA的2004 Yamaha YZF-R6摩托車引擎控制系統設計原型,他們的目標是為基於FPGA傳動控制器提供一條無縫的從原型設計到生產的路徑。對於這個專案,Drivven在軟體上使用LabVIEW;在硬體上選擇了一個4插槽的NI CompactRIO嵌入式系統,因為它靈活性強、體積小巧而且波形因數穩定。利用這一系統,他們可以在輕鬆地添加感測器和激勵器的同時快速且便捷地觀察資料,除此之外,還可以在一個超級運動型摩托車上利用的極為有限的空間放置控制器。這個項目包含三個主要的階段: 1,通過自定義I/O模組的開發。共有三個自定義I/O模組監視著所有摩托車的感測器並控制它的激勵器,此外現在正在開發其他的CompactRIO的模組以用於傳動控制應用,包括用於驅動電子節流閥的模組和與通用的廢氣氧氣感測器連接的模組。2,映射工廠級ECU(Factory ECU)。把ECU資料記錄在1MB的檔上(在每分鐘一個檔的速率下高達20個檔)同時在許多種不同的節流閥位置和引擎速率(接近700個操作點)的組合下駕駛摩托車從而完整地映射了工廠級ECU(Factory ECU)的性能。駕駛員仔細地駕駛著摩托車,以盡可能的減少暫態操作。在一輛跟隨的汽車裏的工程師則週期地以無線的方式從CompactRIO接收資料檔案,傳輸至一台筆記本電腦並且立即分析這些資料以覆蓋所有操作點。一個基於筆記本電腦的NI LabVIEW應用程式迅速地將資料分類至速度/負載操作表,與此同時濾除暫態資料。對每一個操作點都從這些資料計算出平均和標準的偏差。在兩個小時裏,這個團隊採集了90%摩托車的操作點的資料,這對於全面理解工廠級ECU的映射是一個足夠充分的覆蓋。後來,在實驗室裏,工程師又使用LabVIEW對這些資料進行處理,在圖形化地修改原始資料以填充丟失的操作點的同時提供了3維和2維的視覺化資訊。3,引擎控制。在最後階段,Drivven使用CompactRIO對一個研究性質的ECU進行原型設計,它的性能可以與工廠級ECU相媲美,但是卻提供了可以實施未來控制演算法研究和開發的功能(這對使用生產目的的電子是不可能的)。利用CompactRIO,Drivven實現了許多引擎管理FPGA核,它們都具有可配置的LabVIEW FPGA圖表並放置在方框圖裏。使用LabVIEW即時模組,實現了速度-密度和alpha-N引擎控制策略(經常用於高性能的賽車場合)的結合。所以說,Compact RIO和LabVIEW提供了所需的可靠性和精確的定時資源,而且這個系統具有足夠穩定性來承受工作環境的高溫和高振動。如果讀者想要閱讀完整的解決方案,請訪問
ni.com/china,輸入資訊碼(info code)cn5k8t。
另外使用LabVIEW嵌入式開發模組,還可以製造嵌入式板卡並部署到任意的32位元微處理器。正如LabVIEW使工程師們可以開發定制的虛擬儀器,而不再依賴供應商定義的臺式儀器,從而在測試和測量領域掀起一場革命一樣,LabVIEW嵌入式開發模組使得業內專家可以使用他們的專業知識開發嵌入式應用,而不需要再依賴嵌入式方面的專家。ni.com/china,輸入資訊碼(info code)cn5k8t。

NI嵌入式開發模組示意圖 |
隨著嵌入式系統設計的複雜性日益增加,圖形化方式是一個必然的趨勢,它正在對嵌入式設計進行重新的定義,使更多的工程師可以以一種前所未有的方式使用嵌入式開發,從而使設計的速度和品質得到提高。將分散的市場整合、採用標準和現成可用的技術,並發佈集成的、易用的軟硬體平臺——這就是NI多年來所持之以恆的運營模式。圖形化系統設計,這是一個將嵌入式設計推向更廣大受眾的平臺,我們通過一個統一的圖形化工具提供這種功能,這種工具能將領域專家從越發複雜的嵌入式設計中解脫出來。從設計、原型到實現的整個過程中,使用統一的設計工具無疑將會大大提升整個設計過程的效率
全站熱搜