亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RTDX的光電伺服控制軟件調(diào)試工具開發(fā)

        2015-03-13 02:37:08朱文亮廖洪波杜卯春范大鵬
        航空兵器 2014年2期

        朱文亮 廖洪波 杜卯春 范大鵬

        摘要:在光電伺服控制軟件調(diào)試過程中為了開發(fā)一種連續(xù)、實時、直觀的調(diào)試工具,需要將DSP環(huán)境中的數(shù)據(jù)實時傳輸?shù)絇C環(huán)境,利用PC豐富的圖形環(huán)境進行數(shù)據(jù)顯示和圖形繪制。如何實現(xiàn)DSP環(huán)境與PC環(huán)境之間的實時數(shù)據(jù)交換成為該調(diào)試工具開發(fā)中的一個關(guān)鍵問題。針對該問題,利用T1公司實時數(shù)據(jù)交換(RTDX)技術(shù),實現(xiàn)了MATLAB和CCS集成開發(fā)環(huán)境之間的實時數(shù)據(jù)交換。

        關(guān)鍵詞:光電伺服控制;調(diào)試工具;RTDX;MATLAB

        中圖分類號:TP273 文獻標(biāo)識碼:A 文章編號:1673-5048(2014)02-0012-04

        0、引言

        目前,在光電伺服控制軟件調(diào)試過程中,為了實現(xiàn)程序中各種寄存器、控制參數(shù)等變量的觀察,需要在目標(biāo)程序中設(shè)置斷點,中斷目標(biāo)程序運行。然而對實時性要求較高的光電伺服控制程序,這種插入斷點的調(diào)試方法不能實時反映所關(guān)心數(shù)據(jù)的變化,同時還有可能造成數(shù)據(jù)錯誤,影響控制算法設(shè)計和錯誤分析,給程序調(diào)試帶來不便。同樣,在其調(diào)試階段,需要在線修改程序中的控制參數(shù),實現(xiàn)外部數(shù)據(jù)實時導(dǎo)人目標(biāo)程序,而用傳統(tǒng)調(diào)試手段難以實現(xiàn)。針對以上問題,需要設(shè)計一個連續(xù)、實時、直觀的調(diào)試工具來進行光電伺服軟件調(diào)試,用以提高調(diào)試效率和縮短開發(fā)周期。本文針對該調(diào)試工具設(shè)計過程中PC環(huán)境與DSP環(huán)境數(shù)據(jù)實時交換的關(guān)鍵問題,通過應(yīng)用實例說明了采用RTDX技術(shù)實現(xiàn)MATLAB和CCS的編程環(huán)境之間數(shù)據(jù)交換的方法。

        1、實時數(shù)據(jù)交換技術(shù)RTDX

        TI公司的Real Time Data Exchange(RTDX)技術(shù)利用DSP的內(nèi)部仿真邏輯和JTAG接口實現(xiàn)主機與目標(biāo)機之間的數(shù)據(jù)交換。它幾乎不占用DSP的系統(tǒng)資源,數(shù)據(jù)傳送可以在目標(biāo)程序后臺運行,對目標(biāo)程序影響很小。它可以在不中斷目標(biāo)程序運行的前提下向主機實時發(fā)送目標(biāo)DSP上各個寄存器或內(nèi)存變量的值。而Pc主機也可通過TI公司提供的RTDX相關(guān)API函數(shù)獲取這些數(shù)據(jù),并可對這些數(shù)據(jù)進行實時分析和可視化顯示。RTDX數(shù)據(jù)交換原理如圖1所示。

        目標(biāo)DSP為了向主機發(fā)送數(shù)據(jù)必須設(shè)定一個輸出通道,通過用戶接口可將數(shù)據(jù)送到輸出通道以使這些數(shù)據(jù)立即保存到RTDX目標(biāo)機的緩存(由RTDX目標(biāo)函數(shù)庫定義)中,然后再將這些數(shù)據(jù)通過JTAG接口發(fā)送到主機。目標(biāo)機要從主機中獲得數(shù)據(jù),首先必須設(shè)定輸入通道接收主機發(fā)出的命令,從而實現(xiàn)數(shù)據(jù)傳輸?shù)耐健M瑫r可利用輸出通道完成目標(biāo)程序向RTDX主機函數(shù)庫發(fā)送數(shù)據(jù),向RTDX主機函數(shù)庫發(fā)送數(shù)據(jù)請求及在目標(biāo)機上提供數(shù)據(jù)緩存等功能。

        2、RTDX應(yīng)用過程

        使用RTDX進行DSP環(huán)境和PC環(huán)境之間的數(shù)據(jù)交換時,需要在DSP目標(biāo)程序和PC主機程序中分別實現(xiàn)。它們之間的數(shù)據(jù)傳輸格式和傳輸頻率要結(jié)合應(yīng)用需求來定義。

        2.1 DSP目標(biāo)程序RTDX實現(xiàn)

        在DSP目標(biāo)程序中使用RTDX進行數(shù)據(jù)傳輸,只需在原有的DSP目標(biāo)程序中加入關(guān)于RTDX通道初始化、數(shù)據(jù)緩存區(qū)定義和數(shù)據(jù)收發(fā)的代碼即可。以下是RTDX在DSP程序中的實現(xiàn)過程。

        (1)RTDX初始化

        首先使用以下宏完成RTDX輸入、輸出通道的創(chuàng)建:

        RTDX_CreatelnputChannel(d_jchan);

        RTDX_CreateOutputChannel(a_ochan)。其中:d_ichan為輸入通道名:a_ochan為輸出通道名。后面有關(guān)RTDX通道的操作函數(shù)都要使用它們來指定通道。完成通道創(chuàng)建以后使用以下宏來使能輸入、輸出通道:

        RTDX_enableInput(&d_ichan);

        RTDX_enableOutput(&a_ochan)。

        (2)創(chuàng)建接收和發(fā)送數(shù)據(jù)緩存區(qū)

        進行數(shù)據(jù)發(fā)送之前需要定義好接收和發(fā)送緩沖區(qū),緩沖區(qū)的大小可根據(jù)實際應(yīng)用情況定義,但不可超過RTDX通道最大容量值。定義Readdata[counterl]為接收緩沖區(qū),counterl為緩沖區(qū)容量大小,定義Seaddata[counter2]為發(fā)送緩沖區(qū)。

        (3)向RTDX通道讀寫數(shù)據(jù)

        函數(shù)RTDX_readNB(&d_ichan,(void*)&Readdata,sizeof(short))可實現(xiàn)RTDX輸入通道數(shù)據(jù)非阻塞讀取。使用RTDX_write(&a_ochan,&Seaddata,500*sizeof(short))可以向RTDX通道發(fā)送數(shù)據(jù),這里向通道中寫入了500個short類型數(shù)據(jù),發(fā)送數(shù)據(jù)個數(shù)不應(yīng)超過RTDX通道容量大小,否則會發(fā)送失敗。

        在實際應(yīng)用過程中RTDX只提供了一個數(shù)據(jù)的傳輸通道,而如何有效地使用這個通道還需要DSP目標(biāo)程序和PC主機程序定義好數(shù)據(jù)的傳輸協(xié)議來實現(xiàn)。

        2.2 MATLAB主機程序?qū)崿F(xiàn)

        PC主機程序是在MATLAB/GUI編程環(huán)境實現(xiàn)的。主要實現(xiàn)定時獲取DSP目標(biāo)程序通過RTDX通道發(fā)送上來的數(shù)據(jù):實時顯示接收到的數(shù)據(jù)信息;通過人機交互界面向DSP目標(biāo)程序發(fā)送數(shù)據(jù)。設(shè)計流程如圖2所示。

        主機程序首先通過MATLAB Link for CodeComposer Studio的相關(guān)API函數(shù)與CCS集成開發(fā)環(huán)境建立雙向和實時數(shù)據(jù)鏈接,成功建立鏈接后可以通過MATLAB/GUI程序控制執(zhí)行CCS的命令來進行批處理調(diào)試和顯示,然后再進行DSP類型及數(shù)量的探測。待探測到目標(biāo)DSP類型和數(shù)量后,程序?qū)⑦M行RTDX通道緩沖區(qū)配置、通道初始化等操作。完成這些操作后MATLAB/GUI程序控制CCS運行目標(biāo)程序,同時啟動數(shù)據(jù)接收和發(fā)送定時器,此時DSP和PC可進行數(shù)據(jù)的實時交換。以下為MATLAB環(huán)境下RTDX的實現(xiàn)過程。

        (1)RTDX初始化過程

        首先使用configure(cc.rtdx,8192,4)對通道進行配置,配置參數(shù)需要根據(jù)DSP目標(biāo)程序通道創(chuàng)建的個數(shù)來確定,這里配置緩沖區(qū)大小為8192字節(jié),同時配置了4個通道,其中cc.rtdx為MATLAB和CCS建立連接成功后返回的句柄,后面有關(guān)RT-DX通道的操作函數(shù)都需要把它作為參數(shù)來使用。完成配置后,可使用open(cc.rtdx,a_ochan,r)來打開RTDX讀通道,使用open(cc.rtdx,d_ichan,w)來打開寫通道,其中a_ochan,d_jchan為DSP目標(biāo)程序中創(chuàng)建通道時定義的通道名。最后使用以下函數(shù)完成RTDX輸入、輸出通道的使能:

        enable(cc.rtdx,d_ichan);

        enable(cc.rtdx,a_ochan)。

        (2)接收定時器服務(wù)函數(shù)

        TimeUpdateChannelATl( )

        在定時服務(wù)程序中主要完成實時接收RTDX通道中的數(shù)據(jù),并把接收到的數(shù)據(jù)存人數(shù)據(jù)緩存區(qū),然后根據(jù)數(shù)據(jù)傳輸協(xié)議解析數(shù)據(jù)并對數(shù)據(jù)進行處理或圖形繪制。

        (3)發(fā)送定時器服務(wù)函數(shù)

        TimeUpdateChannelDTl( )

        發(fā)送定時器服務(wù)函數(shù)主要實現(xiàn)數(shù)據(jù)的發(fā)送和協(xié)議的封包。當(dāng)PC主機程序需要向DSP發(fā)送連續(xù)數(shù)據(jù)時,例如,正弦、方波和鋸齒波等類型的激勵信號時,需要將上述激勵信號離散化處理后再進行發(fā)送,發(fā)送控制命令時,只需發(fā)送按照傳輸協(xié)議封包好的數(shù)據(jù)即可。

        3、RTDX應(yīng)用實例

        以某型光電穩(wěn)定平臺的光電伺服控制軟件調(diào)試為背景,結(jié)合上文RTDX在DSP目標(biāo)程序和MATLAB/GUI的實現(xiàn)過程,對光電伺服控制軟件和MATLAB/GUI程序進行修改,對DSP目標(biāo)程序增加RTDX初始化、配置、收發(fā)等相關(guān)代碼,對MATLAB/GUI修改有關(guān)數(shù)據(jù)處理和圖形顯示代碼,并根據(jù)實際應(yīng)用需求,實現(xiàn)平臺中各種參數(shù)的顯示、狀態(tài)控制等功能。

        某型光電穩(wěn)定平臺調(diào)試系統(tǒng)構(gòu)成如圖3所示。軟件構(gòu)成:MATLAB2011b、CCS3.3;硬件構(gòu)成:兩軸光電穩(wěn)定平臺、驅(qū)動控制硬件電路、調(diào)試PC主機、仿真器和直流穩(wěn)壓電源等。RTDX應(yīng)用實現(xiàn)如下:

        步驟一,在光電伺服控制軟件中加入RTDX初始化相關(guān)函數(shù)并定義接收、發(fā)送緩沖區(qū)數(shù)組,數(shù)組大小按照RTDX最大容量500定義,同時還需實現(xiàn)平臺數(shù)據(jù)的傳輸協(xié)議,其中上傳數(shù)據(jù)包括陀螺、編碼器、測速機、跟蹤器數(shù)據(jù)類型及格式的定義。在伺服控制周期里采集到500個數(shù)據(jù)后進行數(shù)據(jù)上傳,因此數(shù)據(jù)上傳周期為500 ms;Pc機下傳數(shù)據(jù)包括控制指令和正弦、方波、階躍信號的離散化數(shù)據(jù),數(shù)據(jù)下傳周期由MATLAB/GUI發(fā)送定時器設(shè)定,根據(jù)伺服控制的響應(yīng)特性,設(shè)定下傳周期為10 ms,每個周期發(fā)送500個數(shù)據(jù)。

        步驟二,在MATLAB/GUI程序中設(shè)計人機交互界面,如圖4所示。需對MATLAB/GUI程序中的接收定時服務(wù)函數(shù)和發(fā)送定時服務(wù)函數(shù)進行修改,設(shè)置接收定時器定時周期為5 ms,并且要小于光電伺服控制程序數(shù)據(jù)上傳周期,以防止數(shù)據(jù)丟失。按照傳輸協(xié)議,對接收定時服務(wù)函數(shù)增加數(shù)據(jù)傳輸協(xié)議解析函數(shù),波形繪制函數(shù)等。對發(fā)送定時服務(wù)函數(shù)需增加激勵信號波形離散化函數(shù)和傳輸協(xié)議封包函數(shù)。

        步驟三,利用MATLAB/GUI程序觀察光電穩(wěn)定平臺各個傳感器的數(shù)據(jù)值,并可發(fā)送指令實現(xiàn)對光電穩(wěn)定平臺各種功能的控制,實現(xiàn)對光電伺服控制軟件在線監(jiān)控與調(diào)試,如圖4所示。

        在MATLAB/GUI界面上單擊電機上電控制按鈕,運動軸選擇為俯仰軸,運動模式選擇穩(wěn)定模式,激勵信號選擇為正弦,幅值為60(°)/s,頻率為4 Hz,點擊陀螺數(shù)據(jù)顯示按鈕,此時可在主機程序界面上觀察激勵信號(虛線)和響應(yīng)信號(實線)的曲線??梢赃x擇不同類型的激勵信號和運動模式來實現(xiàn)對光電穩(wěn)定平臺位置、速度和跟蹤閉環(huán)狀態(tài)性能的測試。在電機不上電的情況下還可以單獨觀察某個傳感器的數(shù)據(jù),判斷它是否正常工作。

        4、結(jié)論

        本文以光電伺服控制軟件的調(diào)試為應(yīng)用背景,針對DSP環(huán)境與PC環(huán)境實時數(shù)據(jù)交換的技術(shù)問題展開研究。利用RTDX技術(shù)實現(xiàn)了CCS3.3與MAT,LAB2011b編程環(huán)境之間的實時數(shù)據(jù)交換,并在MATLAB/GUI環(huán)境下開發(fā)了基于RTDX的光電伺服控制軟件調(diào)試工具。該調(diào)試工具為開發(fā)人員提供了連續(xù)、實時、直觀的調(diào)試環(huán)境,提高了調(diào)試效率。

        强迫人妻hd中文字幕| 日日av拍夜夜添久久免费| 亚洲黄色电影| 噜噜噜色97| 男人和女人高潮免费网站| 波多野结衣一区二区三区视频| 久久精品av一区二区免费| 草逼视频免费观看网站| 亚洲精品国偷拍自产在线| 久久久久国产一区二区| 精品国产AⅤ一区二区三区4区| 少妇被粗大猛进进出出| 日本免费一区二区久久久 | 亚洲精品无码高潮喷水在线| 国产在线天堂av| 美女被强吻并脱下胸罩内裤视频| 亚洲女人毛茸茸粉红大阴户传播 | 国产免费人成视频在线观看| 久久精品国产一区二区电影| 中文字幕人妻少妇美臀| 日韩五码一区二区三区地址| 日产精品99久久久久久| 欧美粗大猛烈老熟妇| 久久精品视频91| 中文字幕你懂的一区二区| 就爱射视频在线视频在线| 亚洲av综合国产av日韩| 国产边摸边吃奶叫床视频| 九九久久精品无码专区| 天天狠天天透天干天天| 亚洲精品在线观看一区二区| 天堂av网手机线上天堂| 亚洲精品国产一二三区| 久久久受www免费人成| 精品国产高清一区二区广区| 有码中文字幕一区二区| 国产精品高潮呻吟av久久黄| 日本特黄特色特爽大片| 夜色阁亚洲一区二区三区| 男男互吃大丁视频网站| 大量漂亮人妻被中出中文字幕|