LabView開發嵌入式應用的技巧
無論使用什麼設計語言,不良的編程技術都會給一個應用的性能帶來負面影響,對一個嵌入式應用尤其如此。儘管對於絕大部分應用來説,高效率的編程技術是重要的,但對於嵌入式應用所工作的資源極度缺乏的環境,則要求對性能和存儲器管理給予特別的關注。
圍繞着新的LabView嵌入式開發模塊進行,這種新工具為嵌入式應用開發人員提供了圖形化系統設計手段。該工具允許用户直觀地設計算法 並進行交互式調試。下面是一些有助於編程師更有效使用LabView開發嵌入式應用的技巧。這些技巧中的許多也適用於其它高級工具。
循環中的大常數技術
如果在循環內部放置一個常數,會使循環的每次執行都拷貝這個數據,從而加大執行時間和存儲器使用率。工程師可以避免這個情況,做法是把該常數移出該循環,或者用本地變量把數據傳遞到循環中。
數據類型強制轉換技術
LabView開發環境只要有可能就自動地處理數據類型的衝突,其做法是把較小的數據類型轉換成較大的數據類型。例如,如果在一個整數和一個浮點數之 間發生一個類型衝突,那麼LabView就把該整數轉換成一個浮點數,隨後再執行運算操作。這個轉換的代價是昂貴的,而且在許多情況下是不必要的。在大多 數情況下,工程師可以通過為每個變量選取正確的數據類型來避免強制轉換。但是,如果該數據必須被強制轉換,則應在將其送去進行操作運算或函數計算前就完成 轉換,這樣效率將會更高些。
動態分配存儲器技術
動態存儲器分配是一項編程師應儘可能避免的複雜操作。例如,如果動態分配出現在將數據存儲到數組內的一個循環內,那麼它尤其有害。避免在一個循環內動態分配存儲器的常用方法是在該循環開始執行前,為每個數組預分配所需的存儲空間。
移位寄存器與隧道技術
LabView的移位寄存器與隧道使數據進/出循環。工程師還利用移位寄存器在一個循環的每次執行之間傳遞數據。當數據用一個輸入隧道傳進一個循環 時,LabView必須拷貝該數據並將該拷貝數據送出來進行下線修改。為了確保原始數據對該循環的下次迭代執行時保持不變,這樣做是必需的`。工程師也可以 通過用一個移位寄存器把數據傳進該循環的方法來避免拷貝。這樣就消除了不必要的拷貝,從而加快了運行速度。
簇技術的應用
當把異構數據捆綁到易管理的數據包中時,簇是有用的,比如説C語言結構(C Structs)。然而,此時除了要考慮的全部數據外,數據內容的相關信息也必須和這些數據一起傳遞。因此,有的時候,尤其是在把數據傳到subVI時, 相對於一個捆綁的簇而言,未捆綁的數據元素可以增加用户應用的運行速度。
儘管類似LabView這樣的高級編程語言有助於工程師更快地部署其應用,但注意可提高代碼性能的細節是很重要的。通過注意這些細節,有助於工程師快速開發一個高效率的應用。
-
EDA的設計技巧分析
(1)密碼鎖輸入電路KEYB中對各種分頻信號/信號序列的設計有獨到之處。該設計中,利用一個自由計數器來產生各種需要的頻率,也就是先建立一個N位計數器,N的大小根據電路的需求決定。N的值越大,電路可以除頻的次數就越多,這樣就可以獲得更大的頻率變化,以便提供多種不同...
-
EDA技術的工作原理
EDA技術是以大規模可編程邏輯器件為設計載體,以硬件語言為系統邏輯描述的主要方式,以計算機、大規模可編程邏輯器件的開發軟件及實驗開發系統為設計工具,通過有關的開發軟件,自動完成用軟件設計的電子系統到硬件系統的設計,最終形成集成電子系統或專用集成芯片的一...
-
EDA考試複習模擬題
EDA考試即將開啟序幕,不知道大家複習好了沒?在此小編收集了一些複習題,供大家參考練習之用,希望對大家有所幫助。1.一個項目的輸入輸出端口是定義在()A.實體中;B.結構體中;C.任何位置;D.進程中。2.MAXPLUS2中編譯VHDL源程序時要求()A.文件名和實體可以不同名;B.文...
-
PowerPCB使用技巧
PowerPCB目前已在我所推廣使用,它的基本使用技術已有培訓教材進行了詳細的講解,而對於我所廣大電子應用工程師來説,其問題在於已經熟練掌握了TANGO之類的佈線工具之後,如何轉到PowerPCB的應用上來。所以,本文就此類應用和培訓教材上沒有講到,而我們應用較多的一些技...