首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Matlab和VC混合编程的DSP数据采集系统

Matlab和VC混合编程的DSP数据采集系统

关键字:Matlab   VC   DSP   数据采集  
  前言

  在开发DSP数据采集和处理系统的过程中.通常需要采用DSP汇编语言开发一些复杂的算法(如FFT分析、相关分析等),但是,实现这些算法的程序一般都很复杂,尤其需要图形显示时,程序的编写就更复杂了。此外,这些程序还将占用DSP的内存资源。Matlab提供了矩阵处理、数值计算、图形显示等强大功能,同时还带有功能丰富的软件工具箱.若能把Matlab的高效、便捷算法和图形显示工具应用于DSP数据采集和处理系统.即把采集到的数据上传到Matlab平台进行相应的处理和图形显示.这样.不仅减少了DSP的负荷和开销.而且还可以加快系统的研发进度。

  1 系统设计

  基于Matlab平台的DSP数据采集和处理系统的主要功能是:在Matlab平台上控制底层DSP目标板进行数据的采集和处理,并把采集到的数据上传到Matlab平台上进行相应的数值处理和图形显示然后再把处理后的数据回传给底层DSP目标板,完成后续任务。

  1.1硬件结构

  DSP数据采集系统主要由PC计算机、TMS320C6202 DSP目标板、AD16模块、MOT模块、数字I/O口和Timer模块组成,如图1所示。


图1系统硬件结构


  ①DSP目标板选用ll(Innovative Integration)公司M6x系列的TMS320C6202开发板。DSP目标板通过计算机主板上的PCI插槽装在计算机内部,DSP程序通过JTAG进行在线调试:DSP目标板提供了许多动态连接库函数.可直接完成对目标板的底层操作,如Target_Open()--打开目标板驱动、iicoffld()--下载程序列DSP中、Target_Close()--关闭目标板驱动等;

  ②AD16是Ⅱ公司的16通道16位的数据采集模块.双端差动输入,输入范围是-10V至+10V,可同时采集16路外部模拟信号,采样频率为5~195KHz;

  ③MOT是一个集成有4个16位DA转换器的信号产生模块,DA输出电压范围是-10V到+10V.可输出4路测试需要的模拟信号.DA转换频率最高可达200KHz:

  ④数字I/O模块是一个32位数字I/O连接端口。系统可以通过这个数字I/O接口与外界进行数字通信:

  ⑤Timer模块提供了三个外部定时器,其定时参考时钟可以是DSP目标板上的时钟,也可以是外部提供的时钟。其定时输出信号可满足系统测试的定时要求。

  1.2软件设计

  图2是DSP数据采集和处理系统的软件设计模块图。其中:Matlab平台主要完成对目标板的操作和控制,处理DSP目标板上传的数据.再回传给DSP目标板,并进行图形显示。


图2 系统的软件模块图


  visual C++平台作为Matlab与底层DSP目标板的连接中介,主要完成对DSP目标板的具体操作。由于DSP目标板自带了对板卡进行操作的动态连接库函数,因此在Vishal C++平台中就可利用这些函数,完成对目标板的一些控制和操作。例如:用户界面(图4)上的Open按钮就是在Visual C++中利用Target_Open()函数完成目标板驱动的打开。

  DSP数据采集和处理程序主要控制AD16采集外界模拟信号,并经过相应处理之后.上传到Matlab平台,然后再从Matlab平台接收处理后的数据.控制MOT模块输出系统所需的模拟信号。完成一个完整的数据采集—数据处理一系统控制的全过程。

  2 系统实现的关键技术

  Matlab作为高级应用程序语言.并不能直接控制和操作所有的底层板卡。Matlab仿真模块里面带有一些可以直接控制和操作的DSP板卡.但是这些板卡都是一些固定型号的DSP板卡,而对用户自行设计和其它一些型号的DSP板卡并没提供这种功能.因此要实现在Matlab平台上控制一般的DSP板卡进行数据的采集和处理还必须借助中介软件.这个中介软件就是Visual C++。这样便可实现Matlab与DSP底层板卡的无缝连接。具体技术包括:DSP目标板和主机的数据交换,Matlab与Visual C++的接口。

  2.1 DSP目标板和丰机的数据交换

  TI公司提供DSP与PC主机之间的实时数据传输技术RTDX(Real Time Data Exchange)协议.并在主机中提供了工业标准的目标连接与嵌入应用程序接口OLE API(Application Program Interface).因而能方便地与符合OLE API标准的第三方软件接口。实现与DSP的数据交换。完整的RTDX协议包含4个部分:主机应用程序、主机软件库、目标机软件库和目标机程序。图3是实现计算机和DSP之间数据传输的关系图。


图3 RTDX数据传输关系


  微软公司(Microsoft)提供的Visual C++软件开发环境封装了,TI公司的RTDX协议,配合DSP程序可方便、实时地与Pc主机进行数据通信。因此通过visual c++软件就有可能实现在MATLAB平台上完成对DSP数据采集和处理的控制。实现PC主机与DSP目标板的数据交换。



  PC主机和DSP目标板通过RTDX协议实现数据交换需要在PC主机程序和DSP程序中定义同名的一条RTDX通道,数据通过该通道在PC主机和DSP目标板之间传输。PC主机程序和目标板上的DSP程序需要严格的配合,PC主机的读操作和DSP目标板的写操作通过定义一个“写RTDX”通道实现:而PC主机的写操作与DSP目标板的读操作通过定义一个“读RTDX”通道实现.必须一一对应,这样才能实现主机与DSP目标板的数据交换。
返回列表