本帖最后由 沈士杰 于 2015-11-23 00:07 编辑
1.基于DSP/BIOS的RTDX概述 DSP/BIOS是ti公司特别为其TMS320C6000,TMS320C5000和TMS320C28系列DSP所设计的一个可扩充的实时嵌入式操作系统,该系统提供了可超前的多线程、硬件抽象化控制和实时分析工具,可应用于多线程安排及同步、主机与目标机的通信和实时检测的应用程序。 DSP/BIOS实质上是一组系统模块API函数的集合,能够方便用户操作硬件时直接调用,避免直接控制硬件资源,简化了应用程序的开发过程。RTDX在matlab和DSP器件之间搭起一座数据交换的桥梁,可以把数据传送到DSP中去,也可以从DSP中读取数据。MATLAB、CCSLink和RTDX的关系如图4.9所示。 图1 MATLAB、CCSLink和RTDX的关系图 RTDX的独特之处在于,它不占用DSP的系统总线和串口等I/O资源,数据可以在后台传输,因而实现了MATLAB与DSP之间的无缝连接,从而保证了实时调试和分析。 RTDX的工作原理如图2所示。 图2 RTDX的工作原理 当目标DSP准备向主机端传输数据时,首先经由用户接口将数据写入缓冲区,再经由增强型JTAG(Joint TestAction Group)将数据传输到主机的缓存或Log文件,然后主机客户端经由OLEAPI(对象连接与嵌入式应用程序接口)从缓存中读取数据;当主机准备向目标DSP传输数据时,经由OLEAPI将数据写入调试器(Debugger),并将数据存入RTDX主机库中的缓冲区,只有当RTDX收到读数据请求后,缓冲区内的数据才传入目标DSP的缓存中,最后经过用户接口写入目标DSP应用程序指定的存储区域。 常见的OLE自动化客户端有Visual C++、Microsoft Excel、Lab VIEW和MATLAB 等,均能与CCS连接实现大规模数据实时交换,由于MATLAB 的CCSLink工具箱已经提供了功能完善的库函数方便开发者对RTDX连接对象进行操作,本文运用MATLAB 来实现与DSP的数据交换,结果显示。 2 RTDX实时数据传输 DSP完成初始化操作后向MATLAB发送读采样时刻数据的请求,并进入空转环节等待,MATLAB收到请求后将数据经由JTAG送入DSP程序指定的存储空间,然后DSP完成该部分数据的预处理,并记录采样时刻,由此循环直至采样数据达到1Ping,DSP采用WMT法检测得到水深数据,并写入主机的缓存等待MATLAB读取,最后MATLAB完成数据到图像的转换。具体的RTDX操作流程如图3所示。 图3 RTDX操作流程 在完成RTDX库函数调用,接收到测深结果数据后,MATLAB调用函数绘制测深结果曲线,如图4所示: 图4测深结果 系统工作时的照片如图5: 图5 系统工作示意图
|