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