999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RTDX的光電伺服控制軟件調試工具開發

2014-04-29 00:00:00朱文亮廖洪波杜卯春范大鵬
航空兵器 2014年2期

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

關鍵詞:光電伺服控制;調試工具;RTDX;MATLAB

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

0、引言

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

1、實時數據交換技術RTDX

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

目標DSP為了向主機發送數據必須設定一個輸出通道,通過用戶接口可將數據送到輸出通道以使這些數據立即保存到RTDX目標機的緩存(由RTDX目標函數庫定義)中,然后再將這些數據通過JTAG接口發送到主機。目標機要從主機中獲得數據,首先必須設定輸入通道接收主機發出的命令,從而實現數據傳輸的同步。同時可利用輸出通道完成目標程序向RTDX主機函數庫發送數據,向RTDX主機函數庫發送數據請求及在目標機上提供數據緩存等功能。

2、RTDX應用過程

使用RTDX進行DSP環境和PC環境之間的數據交換時,需要在DSP目標程序和PC主機程序中分別實現。它們之間的數據傳輸格式和傳輸頻率要結合應用需求來定義。

2.1 DSP目標程序RTDX實現

在DSP目標程序中使用RTDX進行數據傳輸,只需在原有的DSP目標程序中加入關于RTDX通道初始化、數據緩存區定義和數據收發的代碼即可。以下是RTDX在DSP程序中的實現過程。

(1)RTDX初始化

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

RTDX_CreatelnputChannel(d_jchan);

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

RTDX_enableInput(d_ichan);

RTDX_enableOutput(a_ochan)。

(2)創建接收和發送數據緩存區

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

(3)向RTDX通道讀寫數據

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

在實際應用過程中RTDX只提供了一個數據的傳輸通道,而如何有效地使用這個通道還需要DSP目標程序和PC主機程序定義好數據的傳輸協議來實現。

2.2 MATLAB主機程序實現

PC主機程序是在MATLAB/GUI編程環境實現的。主要實現定時獲取DSP目標程序通過RTDX通道發送上來的數據:實時顯示接收到的數據信息;通過人機交互界面向DSP目標程序發送數據。設計流程如圖2所示。

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

(1)RTDX初始化過程

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

enable(cc.rtdx,’d_ichan’);

enable(cc.rtdx,’a_ochan’)。

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

TimeUpdateChannelATl( )

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

(3)發送定時器服務函數

TimeUpdateChannelDTl( )

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

3、RTDX應用實例

以某型光電穩定平臺的光電伺服控制軟件調試為背景,結合上文RTDX在DSP目標程序和MATLAB/GUI的實現過程,對光電伺服控制軟件和MATLAB/GUI程序進行修改,對DSP目標程序增加RTDX初始化、配置、收發等相關代碼,對MATLAB/GUI修改有關數據處理和圖形顯示代碼,并根據實際應用需求,實現平臺中各種參數的顯示、狀態控制等功能。

某型光電穩定平臺調試系統構成如圖3所示。軟件構成:MATLAB2011b、CCS3.3;硬件構成:兩軸光電穩定平臺、驅動控制硬件電路、調試PC主機、仿真器和直流穩壓電源等。RTDX應用實現如下:

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

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

步驟三,利用MATLAB/GUI程序觀察光電穩定平臺各個傳感器的數據值,并可發送指令實現對光電穩定平臺各種功能的控制,實現對光電伺服控制軟件在線監控與調試,如圖4所示。

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

4、結論

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

主站蜘蛛池模板: 亚洲国产综合自在线另类| 亚洲激情99| 性欧美精品xxxx| 亚洲色成人www在线观看| 亚洲国产精品无码AV| 666精品国产精品亚洲| 99免费在线观看视频| 亚洲手机在线| 久久成人18免费| 国产毛片不卡| 亚洲男人天堂网址| 久久久久无码精品| 中文字幕有乳无码| 国产自产视频一区二区三区| 久久五月天国产自| 三上悠亚一区二区| 啪啪永久免费av| 在线观看av永久| 91成人精品视频| 欧美亚洲综合免费精品高清在线观看| 欧美人人干| 亚洲国产综合自在线另类| 香蕉精品在线| 丁香六月激情综合| 97视频精品全国在线观看| 美女被操黄色视频网站| 色婷婷视频在线| 国产h视频免费观看| 58av国产精品| 香蕉eeww99国产在线观看| 国产一区在线视频观看| 中文字幕乱码二三区免费| 91精品情国产情侣高潮对白蜜| 日韩经典精品无码一区二区| 国产精品无码久久久久久| 精品黑人一区二区三区| 浮力影院国产第一页| 国产综合另类小说色区色噜噜| 最新亚洲人成网站在线观看| 国产高清又黄又嫩的免费视频网站| 伊人蕉久影院| 在线五月婷婷| 国产午夜人做人免费视频中文| 国产精品青青| 色婷婷国产精品视频| 亚洲乱亚洲乱妇24p| 国产亚洲视频在线观看| 国产精品视频第一专区| 国产玖玖视频| 真实国产精品vr专区| 国产香蕉在线视频| 国产熟睡乱子伦视频网站| 国产99热| 91精品国产自产91精品资源| 日韩小视频网站hq| 色噜噜狠狠狠综合曰曰曰| 精品国产乱码久久久久久一区二区| 国产女人爽到高潮的免费视频| 午夜视频免费试看| 麻豆精品在线播放| 欧美精品啪啪| 全免费a级毛片免费看不卡| 全部毛片免费看| 欧美性猛交一区二区三区| 精品三级网站| 91久久偷偷做嫩草影院| 国产爽妇精品| 内射人妻无码色AV天堂| 中文字幕在线视频免费| 国产一级特黄aa级特黄裸毛片| 久久国产精品娇妻素人| 亚洲色图欧美一区| 亚洲Aⅴ无码专区在线观看q| 一本色道久久88| 亚洲无线一二三四区男男| 精品无码国产一区二区三区AV| 亚洲av成人无码网站在线观看| 国产成人三级在线观看视频| 亚洲熟女中文字幕男人总站| 精品久久综合1区2区3区激情| 午夜日本永久乱码免费播放片| 欧美一级高清片欧美国产欧美|