基于rtdx的光电伺服控制软件调试工具开发

基于rtdx的光电伺服控制软件调试工具开发

ID:22011143

大小:55.00 KB

页数:6页

时间:2018-10-26

基于rtdx的光电伺服控制软件调试工具开发_第1页
基于rtdx的光电伺服控制软件调试工具开发_第2页
基于rtdx的光电伺服控制软件调试工具开发_第3页
基于rtdx的光电伺服控制软件调试工具开发_第4页
基于rtdx的光电伺服控制软件调试工具开发_第5页
资源描述:

《基于rtdx的光电伺服控制软件调试工具开发》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于RTDX的光电伺服控制软件调试工具开发在光电伺服控制软件调试过程中为了开发一种连续、实时、直观的调试工具,需要将DSP环境中的数据实时传输到PC环境,利用PC丰富的图形环境进行数据显示和图形绘制。如何实现DSP环境与PC环境之间的实时数据交换成为该调试工具开发中的一个关键问题。针对该问题,利用T1公司实时数据交换(RTDX)技术,实现了MATLAB和CCS集成开发环境之间的实时数据交换。0、引言目前,在光电伺服控制软件调试过程中,为了实现程序中各种寄存器、控制参数等变量的观察,需要在目标程序中设置断点,中断目标程序运行。然

2、而对实时性要求较高的光电伺服控制程序,这种插入断点的调试方法不能实时反映所关心数据的变化,同时还有可能造成数据错误,影响控制算法设计和错误分析,给程序调试带来不便。同样,在其调试阶段,需要在线修改程序中的控制参数,实现外部数据实时导人目标程序,而用传统调试手段难以实现。针对以上问题,需要设计一个连续、实时、直观的调试工具来进行光电伺服软件调试,用以提高调试效率和缩短开发周期。本文针对该调试工具设计过程中PC环境与DSP环境数据实时交换的关键问题,通过应用实例说明了采用RTDX技术实现MATLAB和CCS的编程环境之间数据交换的

3、方法。1、实时数据交换技术RTDXTI公司的RealTimeDataExchange(RTDX)技术利用DSP的内部仿真逻辑和JTAG接口实现主机与目标机之间的数据交换。它几乎不占用DSP的系统资源,数据传送可以在目标程序后台运行,对目标程序影响很小。它可以在不中断目标程序运行的前提下向主机实时发送目标DSP上各个寄存器或内存变量的值。而Pc主机也可通过TI公司提供的RTDX相关API函数获取这些数据,并可对这些数据进行实时分析和可视化显示。RTDX数据交换原理如图1所示。目标DSP为了向主机发送数据必须设定一个输出通道,通过

4、用户接口可将数据送到输出通道以使这些数据立即保存到RTDX目标机的缓存(由RTDX目标函数库定义)中,然后再将这些数据通过JTAG接口发送到主机。目标机要从主机中获得数据,首先必须设定输入通道接收主机发出的命令,从而实现数据传输的同步。同时可利用输出通道完成目标程序向RTDX主机函数库发送数据,向RTDX主机函数库发送数据请求及在目标机上提供数据缓存等功能。2、RTDX应用过程使用RTDX进行DSP环境和PC环境之间的数据交换时,需要在DSP目标程序和PC主机程序中分别实现。它们之间的数据传输格式和传输频率要结合应用需求来定义

5、。2.1DSP目标程序RTDX实现在DSP目标程序中使用RTDX进行数据传输,只需在原有的DSP目标程序中加入关于RTDX通道初始化、数据缓存区定义和数据收发的代码即可。以下是RTDX在DSP程序中的实现过程。(1)RTDX初始化首先使用以下宏完成RTDX输入、输出通道的创建:RTDX_CreatelnputChannel(d_jchan);RTDX_CreateOutputChannel(a_ochan)。其中:d_ichan为输入通道名:a_ochan为输出通道名。后面有关RTDX通道的操作函数都要使用它们来指定通道。完成

6、通道创建以后使用以下宏来使能输入、输出通道:RTDX_enableInput(d_ichan);RTDX_enableOutput(a_ochan)。(2)创建接收和发送数据缓存区进行数据发送之前需要定义好接收和发送缓冲区,缓冲区的大小可根据实际应用情况定义,但不可超过RTDX通道最大容量值。定义Readdata[counterl]为接收缓冲区,counterl为缓冲区容量大小,定义Seaddata[counter2]为发送缓冲区。(3)向RTDX通道读写数据函数RTDX_readNB(d_ichan,(void*)Readd

7、ata,sizeof(short))可实现RTDX输入通道数据非阻塞读取。使用RTDX_eUpdateChannelATl()在定时服务程序中主要完成实时接收RTDX通道中的数据,并把接收到的数据存人数据缓存区,然后根据数据传输协议解析数据并对数据进行处理或图形绘制。(3)发送定时器服务函数TimeUpdateChannelDTl()发送定时器服务函数主要实现数据的发送和协议的封包。当PC主机程序需要向DSP发送连续数据时,例如,正弦、方波和锯齿波等类型的激励信号时,需要将上述激励信号离散化处理后再进行发送,发送控制命令时,只

8、需发送按照传输协议封包好的数据即可。3、RTDX应用实例以某型光电稳定平台的光电伺服控制软件调试为背景,结合上文RTDX在DSP目标程序和MATLAB/GUI的实现过程,对光电伺服控制软件和MATLAB/GUI程序进行修改,对DSP目标程序增加RTDX初始化、配置、收发等相关

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。