0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在Matlab環(huán)境下實現(xiàn)DSP的實時調試和代碼生成方法研究

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-01-08 09:24 ? 次閱讀

Matlab作為一種有效的信號處理工具,已經滲透到DSP的設計當中。開發(fā)者在將一個新的數(shù)字信號處理算法應用于實際前,一般是先用Matlab進行模擬驗證,當模擬結果滿意時再把算法修改成C或DSP匯編語言通過CCS在目標DSP上實現(xiàn),并比較實際應用與模擬的結果以發(fā)現(xiàn)誤差,如此反復進行。在較新版本的Matlab(6.0以上)中提供了Matlab與DSP的統(tǒng)一集成環(huán)境后,眾多學者對Matlab環(huán)境下的DSP調試進行了研究。從CCSLink的角度出發(fā),對Matlab環(huán)境下的DSP調試進行了原理及思路上的闡述,但均未涉及到直接代碼生成。本文在介紹CCSLink的連接對象、嵌入式對象和RTDX對象的基礎上,詳細闡述Simulink環(huán)境下的直接代碼生成。

1 CCSLink及ETTIC2000概述

Matlab具有強大的分析、計算和可視化功能,但處理速度慢;DSP具有快速的信號處理能力,但是其CCS的編譯環(huán)境中數(shù)據(jù)可編輯和分析能力不如Matlab;而MathWorks公司和TI公司聯(lián)合開發(fā)的Matlab Linkfor CCS Development Tools(CCSLink)和EmbeddedTarget for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的接口,能把Matlab和TI CCS及目標DSP連接起來。利用此工具可以像操作Matlab變量一樣來操作TI DSP的存儲器或寄存器。CCSLink支持CCS能夠識別的任何目標板(C200,C5000,C600),此工具用于DSP程序的調試過程。而CCSLink與ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP的可執(zhí)行代碼,能在集成、統(tǒng)一的Matlab環(huán)境下完成DSP的整個開發(fā)過程。

2 CCSLink環(huán)境下的DSP調試

CCSLink向用戶提供了3個組件內容,如圖1所示。

在Matlab環(huán)境下實現(xiàn)DSP的實時調試和代碼生成方法研究

2.1 CCSLink的接口對象

2.1.1 CCS IDE的連接對象

該對象支持TI的C2000/5000/6000系列DSP,利用此對象可創(chuàng)建CCS IDE和Matlab的連接。用戶可以編寫用于DSP程序的Matlab語言批處理腳本,從Matlab的命令窗中直接運行CCS IDE中的應用程序,向硬件DSP的存儲器或寄存器發(fā)送或取出數(shù)據(jù),檢查DSP的狀態(tài),停止或啟動程序在DSP中的運行。

2.1.2 與RTDX的連接對象

該對象提供Matlab和硬件DSP之間的實時通信通道。它允許用戶在主機和目標板之間進行實時的數(shù)據(jù)交換而不用考慮目標程序的運行。RTDX連接對象實際上是CCS連接對象的一個子類,在創(chuàng)建CCS連接對象的同時創(chuàng)建RTDX連接對象,它們不能分別創(chuàng)建。

2.1.3 嵌入式對象

在Matlab環(huán)境中創(chuàng)建一個可以代表嵌入在目標C程序中的變量的對象。利用嵌入式對象可直接訪問嵌入在目標DSP的存儲器和寄存器中的變量,即把目標C程序中的變量作為Matlab的一個變量來對待,并把編輯后的信息反返回到DSP程序中。所有這些操作均在Matlab環(huán)境下完成。

2.2 CCS IDE連接對象應用

CCS IDE連接對象提供Matlab與CCS IDE和目標DSP的連接,利用此連接可以在Matlab環(huán)境中控制和操作DSP中的應用程序;利用Matlab中強大的計算、分析和可視化工具來分析和對比目標程序運行過程中的結果;而嵌入式對象則提供Matlab對DSP內存中的變量進行實時訪問和控制,這樣大大縮短嵌入式應用程序的開發(fā)調試周期。本文以運行具體程序說明調試過程。源程序PWM.pjt保存在Matlab根目錄下的project文件下。

在Matlab環(huán)境下實現(xiàn)DSP的實時調試和代碼生成方法研究
在Matlab環(huán)境下實現(xiàn)DSP的實時調試和代碼生成方法研究

從上述程序可知,在Matlab環(huán)境下可以完成對CCS工程文件的調入、編譯,生成可執(zhí)行文件并將其加載到DSP目標板。并且可以通過相應的連接對象和嵌入式對象操作函數(shù),實現(xiàn)在DSP硬件不停止執(zhí)行程序的情況下對DSP的C語言程序中數(shù)據(jù)結構變量的讀寫修改。

3 ETTIC2000環(huán)境下的直接代碼生成

由第2節(jié)中可知,CCSLink為TI DSP實時應用開發(fā)的調試和測試階段提供了強大的支持,而ETTIC2000則為TI C2000 DSP實時應用開發(fā)的整個過程(概念設計、算法仿真、源代碼編寫、目標代碼生成、調試和測試)都提供了支持。利用ETTIC2000能夠從Sireulink模型自動生成TI(22000 DSP的可執(zhí)行代碼,并且為TI LF2407 EVM目標板上的I/O設備提供驅動代碼,使得MINULINK模型可以直接在LF2407EVM板上進行實時測試,從而在Simulink統(tǒng)一環(huán)境下就可以實現(xiàn)整個硬件在線仿真。

3.1 ETTIC2000應用開發(fā)過程

應用ETTIC2000開發(fā)實時DSP處理的過翟如下:

(1)概念構思和DSP處理算法設計;

(2)在Simulink環(huán)境下,利用DSP BLOCKSET,F(xiàn)IXED-POINT BLOCKSET,C2000 DSPLIB和Simulink等庫中的模塊構建算法模型,并在Simulink環(huán)境下進行仿真;

(3)如果Simulink仿真效果滿意,就可以在模型中加入需要的LF2407 EVM目標板上的I/O模塊;

(4)設置REAL-TIME WORKSHOP中的編譯鏈接(BUILD)選項;

(5)利用CCS中的調試工具、CCSLink或RTDX來調試目標DSP中的程序;

REAL-TIME WORKSHOP能夠從Simulink模型中自動產生C代碼并且插入ADCDAC模塊指定的I/O設備驅動程序。再通過REAL-TIME WORKSHOP面板上的BUILD按鈕,REAL-TIME WORKSHOP會自動產生實時可執(zhí)行代碼。

3.2 建立Simulink模型

由前述連接對象可知,系統(tǒng)已經正確安裝了TIC2000系列DSP目標板。在Matlab命令窗口輸入:C2000LIB,打開TIC2000的Simulink模塊庫,其模型庫組成如圖2所示。本系統(tǒng)采用2407目標板,因此只用到C2000 Target Preferences和C2400 DSP ChipSupport等模塊。本文以脈寬調制中A/D采樣控制為例,其建立的Simulink模型如圖3所示。

在Matlab環(huán)境下實現(xiàn)DSP的實時調試和代碼生成方法研究
在Matlab環(huán)境下實現(xiàn)DSP的實時調試和代碼生成方法研究

3.3 REAL-TIME WORKSHOP選項設置

建立好Simulink模型后,設置其屬性,生成CCS可執(zhí)行的工程文件。

在Simulink模型窗口選擇Simulation下拉菜單中選擇Configuration Parameters,彈出如圖4所示對話框。在屬性對話框中單擊Real-Time Workshop選項卡,在Category欄中選中Target configuration修改System target file和Template make file文件名。其他選擇默認值,單擊Generate Code,就可以將Simulink模型自動生成CCS IDE的工程文件,并自動調入CCSIDE中,則該工程文件就可以在CCS IDE中編譯下載運行。其生成的工程文件在CCS IDE環(huán)境下的載人情況如圖5所示。

在直接代碼生成時,Matlab命令窗口返回信息如下:

在Matlab環(huán)境下實現(xiàn)DSP的實時調試和代碼生成方法研究

至此,代碼生成并在CCS IDE中編譯完畢。

4 結 語

本文基于Matlab環(huán)境對DSP的實時調試及直接代碼生成過程做了詳細的闡述,并結合實例給予演示。實驗證明,應用Matlab對DSP進行實時調試和代碼生成,有效地改變了傳統(tǒng)的設計方法。Matlab的易于操作性有助于在設計早期發(fā)現(xiàn)錯誤并進行實時更改。而CCSLINK與ETTIC2000的結合,使得在集成、統(tǒng)一的Matlab環(huán)境下完成DSP開發(fā)的整個過程。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關注

    關注

    554

    文章

    8058

    瀏覽量

    349575
  • matlab
    +關注

    關注

    185

    文章

    2980

    瀏覽量

    230733
  • 調試
    +關注

    關注

    7

    文章

    586

    瀏覽量

    34004
  • 代碼
    +關注

    關注

    30

    文章

    4809

    瀏覽量

    68823
收藏 人收藏

    評論

    相關推薦

    Simulink與 MATLAB 的結合使用 Simulink中的信號處理方法

    工程和科學研究中,信號處理是一個重要的領域,涉及到信號的采集、分析、處理和生成。MATLAB 提供了豐富的信號處理工具箱,而 Simulink 提供了一個直觀的圖形界面,使得復雜的信
    的頭像 發(fā)表于 12-12 09:25 ?420次閱讀

    PWM信號生成方法 PWM調制原理講解

    信號生成方法 PWM信號的生成方法多種多樣,主要包括以下幾種: 波形發(fā)生器 : 波形發(fā)生器是產生PWM信號的一種簡單直接的方式。 通過波形發(fā)生器上設置相應的參數(shù)(如頻率、占空比等),即可生成
    的頭像 發(fā)表于 11-28 16:34 ?1758次閱讀

    Wilink WLAN IP實時調優(yōu)工具(RTTT)

    電子發(fā)燒友網(wǎng)站提供《Wilink WLAN IP實時調優(yōu)工具(RTTT).pdf》資料免費下載
    發(fā)表于 11-28 14:23 ?0次下載
    Wilink WLAN IP<b class='flag-5'>實時調</b>優(yōu)工具(RTTT)

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼方法。
    的頭像 發(fā)表于 11-05 11:45 ?387次閱讀
    如何自動<b class='flag-5'>生成</b>verilog<b class='flag-5'>代碼</b>

    altium designer原理圖生成方法

    以下是關于Altium Designer原理圖生成方法的步驟: 準備工作 開始繪制原理圖之前,需要進行一些準備工作,包括: 1.1 安裝Altium Designer軟件:首先,確保您的計算機
    的頭像 發(fā)表于 09-02 16:25 ?899次閱讀

    微液滴生成方法及發(fā)展趨勢

    微液滴 的生成方法 早期使用的生成液滴方法主要有高速攪拌法、逐層組裝技術、膜乳化法和界面聚合法等, 均可生成微納米尺寸的液滴。 高速攪拌法工序少、操作簡單、成本低; 逐層組裝技術通用性
    的頭像 發(fā)表于 07-26 13:27 ?385次閱讀

    如何使用MATLAB創(chuàng)建預測模型

    MATLAB 簡介 MATLAB 是由 MathWorks 公司開發(fā)的,它提供了一個集成的計算環(huán)境,包括一個命令行界面、一個圖形用戶界面、一個編程語言和一個調試器。
    的頭像 發(fā)表于 07-11 14:29 ?716次閱讀

    FPGA verilog HDL實現(xiàn)中值濾波

    ; 3、對各個模塊進行語法檢查、波形仿真、時序設計、調試驗證; 4、與matlab的中值濾波結果進行比較。 二、實現(xiàn)過程: 1、查看了中值濾波實現(xiàn)相關的網(wǎng)站和paper; 在網(wǎng)上看
    發(fā)表于 06-18 18:50

    任意波形發(fā)生器中波形生成方法

    中,任意波形發(fā)生器都發(fā)揮著不可或缺的作用。本文將詳細探討任意波形發(fā)生器中波形生成方法,以期為相關領域的研究和應用提供參考。
    的頭像 發(fā)表于 05-29 17:13 ?979次閱讀

    芯海通用 MCU 應用筆記: MDK 開發(fā)環(huán)境代碼重定向到 RAM 執(zhí)行的幾種方法

    空間并寫入新的代碼。此外還具備執(zhí)行效率高,壽命長優(yōu)點。 本文檔介紹和說明 MDK 開發(fā)環(huán)境代碼重定向到 RAM 中執(zhí)行的
    發(fā)表于 05-16 11:58

    ST motor workwench上的調試助手無法實現(xiàn)控制電機轉怎么辦?

    如上面兩圖所示 生成代碼直接下載使用后發(fā)現(xiàn)一直以最大額定轉速反轉 此時調節(jié)右側的期望轉速電機實時轉速都不發(fā)生任何變化
    發(fā)表于 05-13 06:44

    stm8stvd+cosmic環(huán)境怎么生成庫操作?

    請教一各位, stm8stvd+cosmic環(huán)境怎么生成庫操作?目的是將源代碼隱藏,提供庫
    發(fā)表于 05-10 08:15

    ELF 1開發(fā)環(huán)境中使用Qt Creator進行遠程調試

    QtCreator是一款跨平臺集成開發(fā)環(huán)境(IDE),主要適用于支持Qt框架的各類應用程序開發(fā)。其內置的遠程調試機制使得開發(fā)者能夠本地開發(fā)環(huán)境中對部署
    的頭像 發(fā)表于 04-20 11:03 ?979次閱讀
    <b class='flag-5'>在</b>ELF 1開發(fā)<b class='flag-5'>環(huán)境</b>中使用Qt Creator進行遠程<b class='flag-5'>調試</b>

    請問STM32CubeIDE能否生成MDK代碼

    雖然我知道CubeIDE是集成開發(fā)環(huán)境,代碼生成、編輯、編譯下載調試都OK,但是想問一,能否像STM32CubeMX那樣,
    發(fā)表于 03-13 08:02

    【鴻蒙】NAPI 框架生成工具實現(xiàn)流程

    NAPI 框架生成工具 可以根據(jù)用戶指定路徑的 ts(typescript)接口文件一鍵生成 NAPI 框架代碼、業(yè)務代碼框架、GN 文件
    的頭像 發(fā)表于 02-28 17:00 ?715次閱讀
    【鴻蒙】NAPI 框架<b class='flag-5'>生成</b>工具<b class='flag-5'>實現(xiàn)</b>流程