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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于MATLAB7.0軟件的實時數(shù)據(jù)交換的實現(xiàn)

          基于MATLAB7.0軟件的實時數(shù)據(jù)交換的實現(xiàn)

          作者: 時間:2006-10-30 來源:網(wǎng)絡(luò) 收藏

          摘 要交換(RTDX)是TI公司推出的一種非常優(yōu)秀的傳輸技術(shù),為DSP系統(tǒng)的調(diào)試提供了一種全新的方法。它利用DSP的內(nèi)部仿真邏輯和JTAG接口實現(xiàn)主機與目標機之間的數(shù)據(jù)交換.不占用DSP的系統(tǒng)總線和串口等I/0資源.數(shù)據(jù)傳送完全可以在應(yīng)用程序的后臺運行。對應(yīng)用程序影響很小。文中介紹了一種基于MATLAB的RTDX實現(xiàn)方法,可為DSP編程人員發(fā)現(xiàn)程序錯誤和監(jiān)測系統(tǒng)運行狀況提供實時、直觀的表示形式,并在以C6201型DSP為主處理器的目標板上得到應(yīng)用。
          關(guān)鍵詞交換;MATLAB;數(shù)字信號處理器;CCS

          1 引言
          在DSP系統(tǒng)開發(fā)過程中.通常要驗證算法的正確性。傳統(tǒng)方法是主機調(diào)試器在目標應(yīng)用程序中插入斷點.中斷目標應(yīng)用程序運行.觀測目標機上各個寄存器或內(nèi)存變量的值。但是處理系統(tǒng)是實時運作的.這種方法不能實時跟蹤處理過程中數(shù)據(jù)的變化,大多數(shù)時間顯示的只是片面的滯后的數(shù)據(jù),數(shù)據(jù)顯示也不直觀.給調(diào)試過程帶來很多不便。TI公司的Real Time Data Exchange(RTDX)技術(shù)就是利用DSP的內(nèi)部仿真邏輯和JTAG接口實現(xiàn)主機與目標機之間的數(shù)據(jù)交換.它不占用DSP的系統(tǒng)總線和串口等L/0資源,數(shù)據(jù)傳送完全可以在應(yīng)用程序的后臺運行,對應(yīng)用程序影響很?。耆梢栽诓恢袛嗄繕藨?yīng)用程序的前提下向主機實時發(fā)送目標機上各個寄存器或內(nèi)存變量的值。而主機上的可視化應(yīng)用程序也可以通過嵌入COM的API函數(shù)獲得這些數(shù)據(jù).并以適當?shù)母袷桨褟哪繕双@得的數(shù)據(jù)顯示出來。這樣.編程人員可以實時觀測和分析應(yīng)用程序的運行情況.更方便地查找和修改應(yīng)用程序的錯誤,從而縮短了系統(tǒng)的設(shè)計開發(fā)周期。

          2 RTDX的原理
          RTDX是一種可以在不影響目標應(yīng)用程序運行的情況下讓主機和目標機進行實時數(shù)據(jù)傳輸?shù)募夹g(shù)。RTDX支持雙向數(shù)據(jù)流。即目標機到主機的數(shù)據(jù)流和主機到目標機的數(shù)據(jù)流。

          RTD)X的數(shù)據(jù)流示意圖如圖1所示。


          2.1 目標機到主機的數(shù)據(jù)傳送
          目標機為了向主機發(fā)送數(shù)據(jù)必須設(shè)定一個輸出通道RTDX―ochan。通過用戶接口可將數(shù)據(jù)送到輸出通道以使這些數(shù)據(jù)立即保存到RTDX目標機的緩存(由RTDX目標函數(shù)庫定義)中,然后再將這些數(shù)據(jù)通過,JTAG接口發(fā)送到主機。RTDX主機函數(shù)庫將接收到的數(shù)據(jù)保存在log文件或主機的緩存(具體由RTDX工作模式來設(shè)定)中。保存在log文件或主機緩存中的數(shù)據(jù)可以通過COM AutomationClient重新獲取,以便顯示或分析。

          下面是幾種典型的COM Automation Client:
          MATLAB applications;
          Microsoft Excel;
          Visual Basic applications;
          Visual C++applications:
          Lab View;

          2.2 主機到目標機的數(shù)據(jù)傳送

          目標機要從主機中獲得數(shù)據(jù).首先必須設(shè)定輸入通道RTDX―ichan接收主機發(fā)出的命令,從而實現(xiàn)數(shù)據(jù)傳輸?shù)耐?。運行主機寫操作時.應(yīng)由COMAutomation Client通過COM接口把要發(fā)送的數(shù)據(jù)先寫人RTDX主機函數(shù)庫中的緩存.等待目標機讀取數(shù)據(jù)。當RTDX主機函數(shù)庫收到從目標機發(fā)出的讀取數(shù)據(jù)請求時,保存在RTDX主機函數(shù)庫中的數(shù)據(jù)便可通過JTAG接口將數(shù)據(jù)發(fā)送到目標機.寫入目標機指定的存儲區(qū)域。操作完成后,主機會通知RTDX目標機函數(shù)庫。RTDX目標機函數(shù)庫的用戶接口和COM接口利用RTDX目標機函數(shù)庫的用戶接口可實現(xiàn)目標機。DSP應(yīng)用程序和主機之間安全可靠的數(shù)據(jù)交換。同時可利用它完成應(yīng)用程序向RTDX主機函數(shù)庫發(fā)送數(shù)據(jù)、應(yīng)用程序向RTDX主機函數(shù)庫發(fā)送數(shù)據(jù)請求及在目標機上提供數(shù)據(jù)緩存等功能。

          2.3 RTDX的運行模式

          RTDX主機庫提供二種運行模式:連續(xù)模式和非連續(xù)模式。在連續(xù)模式中數(shù)據(jù)只是簡單地被RTDX主機函數(shù)庫緩沖.此模式用于希望得到連續(xù)數(shù)據(jù)并顯示的場合。而在非連續(xù)模式中數(shù)據(jù)被寫到主機上的一個日志文件(10g file),所以此模式適用于希望采集有限的數(shù)據(jù)場合。

          3 MATLAB Link for CCS介紹
          MATLAB是一種科學計算.專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計算和可視化集成在一起.并提供了大量的內(nèi)置函數(shù).廣泛地應(yīng)用于科學計算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計。Link for Code Composer Studio用于在MATLAB、TI開發(fā)環(huán)境Code ComposerStudio(CCS)和TI DSP硬件之間建立雙向和實時數(shù)據(jù)鏈接。工程師可以利用MATLAB的可視化功能及數(shù)學函數(shù)可視化分析來自CCS及C2800/5000/6000等系列DSP的數(shù)據(jù)。利用該工具可以自動執(zhí)行CCS的命令來進行分析、交互或者批處理調(diào)試和顯示.在MATLAB和CCS之間傳輸數(shù)據(jù)驗證算法。通過RTDX通道可以在不停止DSP運行的情況下與XDS510/XDS560仿真器之間實現(xiàn)高速、實時數(shù)據(jù)交換.并提供分析和可視化仿真或?qū)崟r數(shù)據(jù)能力。

          3.1 MATLAll對CCS的控制功能

          用戶可以通過MATLAB Link for Code Compos-er Studio在MATLAB環(huán)境中對11 DSP嵌入式應(yīng)用程序進行算法級和系統(tǒng)級的觀察、分析、調(diào)試及驗證,包括分析、調(diào)試代碼實時分析:可以在MATLAB環(huán)境里對CCS的程序進行調(diào)試.可以將數(shù)據(jù)傳遞到CCS,在DSP上執(zhí)行算法,在MATLAB的命令窗口進行雙向、交互的數(shù)據(jù)分析;可以對DSP的寄存器和存儲區(qū)進行操作.獲取數(shù)據(jù)到MATLAB工作區(qū).實現(xiàn)繪圖計算和統(tǒng)計曲線擬合。MATLAB、Simulink和Link for Code Composer Studio為TI的DSP提供了驗證、調(diào)試、觀察和實現(xiàn)嵌入式軟件的集成平臺。

          3.2 分析處理并顯示數(shù)據(jù)

          實現(xiàn)信號處理運算實時分析測試(RTDX)。該工具借助RDTX提供了管理TI目標DSP的數(shù)據(jù)和算法的通道.能夠在目標DSP運行的情況下在MATLAB與DSP之間實時交換數(shù)據(jù).可以傳遞測試向量、監(jiān)控程序輸出、顯示和評估實時測試結(jié)果:讀取、寫入DSP存儲空間的數(shù)據(jù),在程序執(zhí)行期間改變執(zhí)行參數(shù),在不中斷程序執(zhí)行的情況下改變算法或者在代碼里加入斷點.可以對原始系統(tǒng)設(shè)計進行實時驗證和修正。


          4 基于MATLAB的RTDX實現(xiàn)
          本設(shè)計用MATLAB編程作為COM AutomationClient實現(xiàn)同C6201為主處理器的目標板與主機之間的通信并實時獲取目標板數(shù)據(jù)。

          4.1 目標DSP所需的準備工作
          4.1.1 通道定義

          在DSP的C程序中需在主函數(shù)前包含必要的頭文件和輸入輸出通道定義語句,即加入:




          其中通道名稱ichan和oehan可以任意取,但要與Marlab程序中所使用的通道名稱相對應(yīng)。

          4.1.2 主機與目標機間的同步


          4.1.3 目標機寫操作程序

          4.1.4設(shè)定RTDX_P0110的調(diào)用方式
          RTDX目標機函數(shù)庫通過調(diào)用函數(shù)RTDX Poll0實現(xiàn)主機與目標機間通信。RTDX_PollO的調(diào)用有二種方式:一種是在應(yīng)用程序中調(diào)用。另一種是利用中斷服務(wù)程序調(diào)用。程序如下:

          While (RTDX_writing!=NULL)
          {#if RTDX POLLING_IMPLEMENTATION
          RTDX_Poll();

          #end if }

          若將宏RTDX_POLLING_IMPLEMENTATION定義為1.則表示在應(yīng)用程序中調(diào)用RTDX_Poll0.而如果將其定義為0.則表示在中斷服務(wù)程序中調(diào)用RTDX_Pon0。其他參數(shù)設(shè)定可在CCS中進行,目錄如圖2所示。

          4.2 主機的部分MATLAB程序

          4.3 操作過程
          首先將改好的目標DSP程序編譯下載并運行,然后在CCS的Tools工具欄中打開RTDX,選Con-figuration Contral,并選中Enable_RTDX(見圖3)。

          然后運行MATLAB程序,此時在MATLAB的com-mand window就能看到目標DSP回傳給主機的數(shù)據(jù)。如果想直觀的觀察所得的數(shù)據(jù),還可以調(diào)用MATLAB的強大繪圖功能,以圖形形式顯示數(shù)據(jù)。



          評論


          相關(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); })();