<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計應(yīng)用 > 控制模型的構(gòu)建

          控制模型的構(gòu)建

          作者:馬詩,李奧 時間:2004-09-16 來源:電子產(chǎn)品世界 收藏

          2004年5月A版

            已在電子業(yè)使用了相當長的時間,問題在于框圖只在設(shè)計的初始階段起作用,之后就深藏不露了。然而,軟件工具卻利用框圖來完成差不多全部的算法建模,甚至系統(tǒng)的圖形建模,然后生成可自動實現(xiàn)該系統(tǒng)的代碼。

            航天和汽車等工業(yè)已在控制和信號處理系統(tǒng)中充分利用軟件工具,它們采用工具作系統(tǒng)建模和產(chǎn)生原型硬件的代碼,有些甚至使用工具來生成適合生產(chǎn)系統(tǒng)的軟件。最初,自動生成的代碼用于原型機平臺或者PC,近年來的代碼生成變成一種更實用的為嵌入式硬件生成產(chǎn)品質(zhì)量代碼的方法?,F(xiàn)在,幾十萬輛汽車的量產(chǎn)借助于這種方法生成的生產(chǎn)代碼。

            除了汽車業(yè),航天應(yīng)用亦獲得成功的佐證。在這些工業(yè)部門內(nèi),安全因素處于絕對優(yōu)先的地位。有了機器生成代碼的保證,才有可能在從每行C或Ada語言的翻譯過程中避免軟件編程人員的人為影響。

            目前使用的這類工具有Mathworks公司的Matlab和國家儀器(NI)公司的Matrixx等。它們?yōu)殚_發(fā)人員提供一種使用互連函數(shù)塊構(gòu)建系統(tǒng)圖形模型的方法。每個函數(shù)塊可代表一項數(shù)學運算,例如乘法或加法,或者更復雜的函數(shù)例如快速傅里葉變換,甚至一種由某些結(jié)構(gòu)組成的許多低級塊構(gòu)建的函數(shù)。這種環(huán)境支持各種類型的框圖,某些框圖在動態(tài)模擬物理系統(tǒng)和機械系統(tǒng)時處理連續(xù)時間的建模,而在數(shù)字控制設(shè)計中用分立時間建模。在這類工具中還有一種Stateflow工具,可讓用戶綜合各種狀態(tài)的機械框圖。

            面向控制的系統(tǒng)需要來自實際環(huán)境的數(shù)據(jù),它有助于在單一環(huán)境下處理算法推導和系統(tǒng)建模時的數(shù)據(jù),甚至這是一個可執(zhí)行的規(guī)范。Mathworks公司的發(fā)言人認為,這正是使用這些工具的最積極因素。

            使用帶有代碼生長的高級建模工具在設(shè)計控制系統(tǒng)時往往遵循一種常用方法。典型地,開發(fā)過程先從高級模型的脫機模擬開始,接著是在特殊原型化硬件上開發(fā)原型,并且由有關(guān)供應(yīng)商提供軟件,例如dSpace公司提供這種支持,而Mathworks公司允許在實際環(huán)境數(shù)據(jù)下對模型作微調(diào)。在某種情況下,還可在運行過程中對取樣率和控制參數(shù)等作調(diào)整。

            開發(fā)隊伍下一步要處理目標硬件的問題,往往它在存儲器和處理器功耗方面,具有比原型硬件更多的限制。在此階段應(yīng)該將高級模型交給工程師進行代碼手編,或者采用dSpace公司的TargetLink、Mathwork公司的或NI公司的代碼發(fā)生器等工具來自動生成生產(chǎn)質(zhì)量的代碼。

            dspace公司認為這種生產(chǎn)代碼的質(zhì)量與正規(guī)軟件工程師編寫的相同。

            由Visual Solutions公司提供的VisSim是另一種建模和模擬環(huán)境,它的概念與Simulink相類似,但著重不同的市場范圍,主要面向工業(yè)控制。該公司認為,自動生成的代碼容易安裝到工業(yè)控制用的DSP中容量有限的片上存儲器中。對于采用脈寬調(diào)制(PWM)技術(shù)的馬達用定點閉環(huán)控制器的實例,一個正交編碼的位置讀出系統(tǒng)代碼量,只占TI公司的TM320F2812工業(yè)控制DSP內(nèi)1.8KB指令存儲器空間和1.4KB數(shù)據(jù)空間。還有,控制器可在幾分鐘內(nèi)移植到F243或F2407芯片內(nèi),只有PWM的I/O塊,編碼器和數(shù)字I/O需要變動。

            總的來說,自動代碼生長只用到應(yīng)用層,對于操作系統(tǒng)和硬件抽象層要用手編代碼。此外,用戶界面和協(xié)議棧等單元往往留作手編代碼或使用其它工具。然而,生成的代碼與操作系統(tǒng)的交互是一種需要留意或要有經(jīng)驗的作業(yè)。dSpace公司的工作很有效,可將生成的代碼與遵從OSEK汽車標準的任何商業(yè)操作系統(tǒng)的集成量減至最小。工具供應(yīng)商Sheet Dynamics公司的DSP開發(fā)工具,提供自行設(shè)計的操作系統(tǒng)來運行RTW(Real Time Workshop)工具生成的代碼,RTW是Mathworks公司的代碼發(fā)生器,用于Simulink模型以及Analog Devices公司的Sharc系列DSP。

            生產(chǎn)代碼自動生成對一個項目的貢獻,同樣跟設(shè)計所需的安全性級別有關(guān)。NI公司的Greg Wempe稱“當您進入安全性很重要的部分時,您必須有更多的膠粘代碼來固定全部可能出現(xiàn)的問題”。

            NI公司的Matrixx工具庫與Matlab有許多相似的地方,它廣泛用于美國國防項目。洛克希德馬丁公司用它開發(fā)概念演示飛機X35的飛行控制算法和自動代碼生成,X35聯(lián)合攻擊殲擊機是美、英兩國空軍共同合作的幾十億美元殲擊機項目。NI作為數(shù)據(jù)采集的專業(yè)公司,打算將Matrixx擴展到數(shù)據(jù)采集和過程控制系統(tǒng)的客戶,該公司的虛擬儀器工具在這方面不能滿足客戶的要求。據(jù)稱LabVIEW目前可處理許多PID控制,但是當你要解決宇航控制器或過程控制的多路輸入和輸出系統(tǒng)時,就需要Matrixx。

            當降低性能和算法復雜性所要求的規(guī)模時,就有更多機會將高級模型與目標平臺特性配合,從而生成更有效的高性能代碼。例如,TargetLink工具庫與編譯器,擴充專用處理器語言、以及專為現(xiàn)今使用的多種處理器作優(yōu)化的匯編宏功能一起,即可使問題迎刃而解。有專家稱:跨平臺獨立性只要簡單選擇所需的目標優(yōu)化模塊和結(jié)合目標的處理器編譯器即可獲得。

            人們一直努力為各種DSP定義最佳的軟件庫,以便代碼的生成。結(jié)果是,這些工具通常產(chǎn)生可移植的C代碼,而不是通用的代碼,并稱它為人工優(yōu)化的特定平臺的匯編代碼函數(shù)工具庫,綽號叫做“本征代碼”。例如,幾家模型工具供應(yīng)商的代碼生成工具組成專為TI公司的C6X DSP開發(fā)的本征代碼工具庫。

            與DSP相似,使用FPGA作信號處理也越來越多,因為FPGA的速度要比DSP快得多,而且對于某種類型的算法FPGA更快且效率更高。由于信號處理的工程技術(shù)人員并不熟悉Verilog和VHDL等硬件描述語言,從高級模型自動生成這種代碼就十分重要了。

          跨平臺方案

            當試圖在同一系統(tǒng)內(nèi)的不同硬件平臺之間擴大算法模型的實現(xiàn)時,往往會出現(xiàn)問題。例如,軟件無線電系統(tǒng)經(jīng)常由多種FPGA、DSP和通用處理器構(gòu)成。設(shè)計流程需要先從統(tǒng)一的高級模型再進入完全分散的環(huán)境,它們每個都是特定的平臺。應(yīng)該注意,除非建立物理協(xié)議,完成系統(tǒng)測試是不可能的,而且費用昂貴。一種由Mathworks提供的解決方案是對不同硬件單元的定時和同步特性進行建模,包括嵌入式處理器和數(shù)字邏輯等單元的高級系統(tǒng)模型。此外,還要充分利用芯片或板卡供應(yīng)商提供的接口規(guī)范,它們是總線I/O定時和其它特性、并且可‘包裝’入系統(tǒng)模型的方塊內(nèi)用作模擬和生成代碼的自動調(diào)用。

            Sheet Dynamics公司認為,不同類型目標之間的分區(qū)需要工程判斷和反復嘗試,特別是系統(tǒng)芯片(SoC)目標。目前的辦法幾乎都是在對硬件和軟件采用獨立的設(shè)計流程前借助“紙上”分區(qū)。它對單一環(huán)境下的代碼生成、測試和驗證人工硬件和軟件分區(qū)的價值,大于對該過程自動化的價值。下一步是用能夠生成代碼和具有驗證接口的系統(tǒng)級模型代替紙上規(guī)范。Sheet Dynamics公司正著手解決此問題,有關(guān)分區(qū)的主要辦法將在DSP開發(fā)者的新版本提出,特點是讓開發(fā)人員對每個Simulink塊指定一個電子數(shù)據(jù)表,它將包含每個塊內(nèi)所需的資源模型,如存儲器需求、執(zhí)行速度等的詳細數(shù)據(jù),以便估計硬件的需求。

            一種還不夠完善的可能解決辦法是:在系統(tǒng)級模型的環(huán)境下允許構(gòu)建和維護有關(guān)驗證和評估的工具。結(jié)果是對于任何自動生成的代碼都具有相似的可信度。這種概念是“頂級”的參考設(shè)計,同樣含有“頂級”的測試基準。現(xiàn)今,不少供應(yīng)商提供可再用的模型級測試基準工具來解決該問題,工具可驗證在目標平臺上生成的代碼,甚至驗證其它方法開發(fā)的代碼。

            從事建模和代碼生成的公司正在審視汽車和航天以外的業(yè)界。還有不少面臨復雜競爭的部門,它們需要注意帶有代碼生成功能的系統(tǒng)級建模工具。取得的效果取決于代碼生成技術(shù)是否符合應(yīng)用所要求的性能。需要把它看成是連續(xù)的統(tǒng)一體,因為我們不斷改進使代碼達到“足夠”好。當程序達到幾十萬行C語言時,工程師不能繼續(xù)手寫代碼了,需要去接受C編譯器和硬件綜合。■(馬詩,李奧)



          關(guān)鍵詞: 高級圖形建模工具

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();