遼寧金融職業學院 梁立哲 劉 穎
遼寧公安司法管理干部學院 周祥國
基于多開發工具的嵌入式軟件開發方法
遼寧金融職業學院 梁立哲 劉 穎
遼寧公安司法管理干部學院 周祥國
自從數字信號處理器(Digital Signal Processor)問世以來,由于其具有先進的體系結構和強大的信號處理能力而得到蓬勃發展。DSP具有的優勢允許它可面向更加復雜的應用。對于這類系統,采用嵌入式實時操作系統極大地改善了系統的設計與運行,不僅提高了開發效率,而且提高了程序運行的穩定性和擴展性。如今,DSP的硬件處理能力已經非常強大,開發出高效的DSP程序便成了DSP應用的關鍵技術。目前主要采用匯編語言開發DSP程序,雖然此種方式代碼效率高、程序執行速度快,但是匯編語言復雜繁瑣,而且不同公司的芯片指令不同,所以采用匯編語言開發DSP程序的周期較長,軟件維護及升級困難,且可移植性差。
針對上述問題,本文,筆者采用在MATLAB/Simulink中搭建系統模型并分析其預期的結果,然后通過MATLAB提供的Real Time Workshop(RTW)自動生成面向TI編譯器(CCS IDE)的可執行代碼,最后在DMC Developer Pro平臺上對實際系統進行硬件在線調試。
DSP軟件開發平臺包括Mathworks公司的MATLAB7.0、TI公司的 Code Composer Studio(CCS)IDE、瑞士Technosoft公司的DMC Developer Pro、第3方模塊庫文件DMCode-MS(IM)Library和Embedded Target for TI C2000 DSP Library。
1. MATLAB。MATLAB是由Mathworks公司開發的功能強大的科學計算軟件。Simulink是MATLAB最重要的組件之一,它提供了一個動態系統建模、仿真和綜合分析的集成環境。在該環境中,無需大量書寫程序,只需要通過簡單直觀的鼠標操作,就可構造出復雜的系統。
2. Code Composer Studio(CCS)。Tl公司的 Code Composer Studio(CCS)IDE是一個集成的開發環境,為MATLAB的DSP代碼生成提供編譯器。MATLAB作為一種有效的信號處理工具,已經滲透到DSP的設計當中,通過CCS在目標DSP上運行,實現了MATLAB與DSP開發的統一集成。
3. DMCode-MS(IM)Library和 Embedded Target for TIC2000 DSP Library。DMCode-MS(IM)Library和 Embedded Target for TI C2000 DSP Library為DSP軟件建模提供了強大的支持。該庫提供了實際系統建模所需要的大多數模塊,包括各種DSP功能模塊及相關I/O驅動、坐標轉換模塊、PI和PID控制器模塊、A/D轉換模塊、功率模塊、電機模型模塊和傳感器模塊等模塊。
4. DMC Developer Pro。瑞士Technosoft公司DMC Developer Pro的DSP運行開發調試環境,支持調用CCS開發環境中的編譯器、匯編器及鏈接器。DMC Developer Pro特有的數據存儲和顯示模塊方便DSP軟件開發。結合TI公司的CCS開發工具,該軟件系統提供了一個理想的、高性能的調試環境。
這套DSP軟件開發平臺極大地方便了開發者。不僅大大縮短了開發時間,同時使開發者可以更多地關注系統的性能和應用價值,使其把工作重點從編程轉移到對系統的設計上來,縮短了從實驗室設計階段轉化為工業應用階段的時間。
1. 組建開發平臺。DSP軟件開發平臺有Mathworks公司MATLAB7.0、Tl公司的Code Composer Studio(CCS)IDE、DMCode-MS(IM)MATLAB Library V1.0和瑞士Technosoft公司的 DMC Developer Pro。其中,DMCode-MS(IM)MATLAB Library以庫文件的方式加入MATLAB的Simulink環境下,Tl公司的 Code Composer Studio(CCS)IDE 為DSP程序的編譯器,以MATLAB Link for CCS Development Tools(CCSLink)接口的方式與MATLAB連接,瑞士Technosoft公司的 DMC Developer Pro作為硬件在線調試平臺和仿真硬件環境,實現DSP應用。
2. Simulink模型。在Simulink環境下,利用DSP Blockset、Embedded Target for TI C2000 DSP、DMCode-MS(IM)MATLAB Library和Simulink等庫中的模塊構建算法模型, 上述模塊庫中提供的各種電機、傳感器、功率轉換器、數字控制器、A/D和D/A轉換器等模塊,可以方便地構建數字控制系統的仿真模型。在構建好仿真模型之后,我們可以按照預期的目標選擇控制的方式,調節控制器的參數,以獲得滿意的控制效果。
3. 自動代碼產生。在Simulink中設計調試好之后,系統即具有了我們所期望的控制效果。為了在DSP控制器上進行實際測試和應用,需要將控制系統的各模塊用C/C++代碼表示。為此,我們利用MATLAB系統中的實時工具箱RTW。在控制系統模型中選擇某一模塊,利用RTW中 Build Subsystem功能,即把該模塊生成為相應的C/C++代碼,以供運動控制系統調用。
4. 硬件在環調試。在MATLAB/Simulink中生成的C/C++代碼被保存在一個實時中斷應用程序中,可以直接在 TMS320F2812DSP控制器中調用。應用DMC Developer Pro IDE平臺,可以將控制代碼下載到實際的數字控制板中進行在線調試運行,可以方便地得到各種觀測變量的測量值曲線。
本文,筆者提供了一種DSP軟件的快速開發方法。首先利用MATLAB/Simulink中設計控制模塊并分析其預期的結果,然后通過MATLAB實時工具箱RTW自動生成目標控制系統可執行的代碼,最后在DMC Developer Pro平臺上對實際系統進行調試。該方法不僅極大地縮短了開發時間,同時使得開發者更多地關注系統的性能和應用價值,使其把工作重點從編程轉移到對系統的設計上來,從而縮短了實驗室設計階段轉化為工業應用階段的時間。