基于LabVIEW中DSP目标文件加载的实现

发布者:温馨时光最新更新时间:2011-05-26 关键字:LabVIEW  目标文件加载 手机看文章 扫描二维码
随时随地手机看文章

 引言
  数据采集卡(DAQ)的存储空间是系统设计的一个重要的硬件资源,对采样速率、实时处理性与系统功能都有很大的影响。在虚拟频谱仪设计中,信号采样数据的存储、DSP分析、处理信号程序,都需要有足够内存空间。由于该仪器信号采集数据量大,DSP所实现的功能多,导致出现存储空间不足。针对上述问题,本文谈谈怎样基于LabVIEW通过CLFN调用DLL加载DSP 目标文件(*.out),从而在一定的程序存储空间情况下来完成基于DSP数据采集卡的虚拟仪器的研制。

LabVIEW中的CLFN
  LabVIEW程序由三部分组成:前面板、框图程序和图标/连接器。程序前面板用于设置输入量和观测量,模拟真实仪器的前面板;每一个程序前面板都有相应的框图程序与之对应,框图程序用图形编程语言编写。图标/连接端口可以让用户把VI程序定义为一个子程序,从而实现模块化编程。
   调用库函数节点(Call Library Function Node,CLFN)是一个图形化节点,是LabVIEW调用C语言编写的可执行程序代码的一个通用的方法,常用于调用动态连接库(DLL),这种方式特别适合于用户创建实现自己特定功能的DLL。但是对C语言的编译必须通过外部的开发平台环境,在Win9x/NT下可以使用Microsoft Visual C++软件平台。
用CLFN调用DLL来实现DSP 目标文件加载,简要步骤如下:
(1)在LabVIEW程序框图中放置一CLFN节点。对CLFN设置,建立函数原型:unsigned char dspload(CStr coffname)。其中coffname 是被加载的DSP 目标文件名(*.out),unsigned char 是函数dspload返回值error的类型,返回值为0,表明DSP目标文件加载成功,其它值表明加载失败。
(2)在Microsoft Visual C++环境下建立DLL工程,从而生成dspload.dll文件。
在源程序中必须包含头文件:extcode.h和evm6xdll.h。前者是LabVIEW调用外部代码管理函数集的头文件,后者是DSP数据采集卡的DLL的头文件。
(3)设置前面板参数并完成框图程序,将DSP目标文件加载的前面板与相应的框图程序,保存为dspload.vi。执行程序dspload.vi前,输入目标文件名(*.out)。

DSP数据采集卡
  所用的数据采集卡是美国TI公司的TMS320C6701 DSP数据采集卡,方框图如图1所示。
DSP数据采集卡的特点有:
  PCI总线接口,支持即插即用;通过HPI(Host Port Interface)访问DSP内存;16-bit音频编解码器,支持5.5kHz~48kHz采样率;三种DSP boot 模式:无自举模式,HPI 自举模式,ROM 自举 模式;256kB同步突发静态RAM (SBSRAM);8MB同步动态RAM (SDRAM)。
  TMS320C6701是浮点型DSP,片内有8个并行的处理单元,分为相同的两组。8个独立的功能单元采用加载/存储(load/store)体系结构,数据在多处理单元之间的传输依靠32个32bit通用寄存器。
   DSP的体系结构采用甚长指令字(VLIW)结构,8个指令组成一个指令包,总字长为256 bit。芯片内部设置了专门的指令分配模块,可以将每个256bit的指令包同时分配到8个处理单元,并由8个单元同时运行。芯片最大处理能力可以达到2400MIPs。
   C6701的存储器寻址空间为32bit,片内RAM被分为内部程序/Cache存储器和内部数据/Cache存储器。当片内的RAM容量不满足系统的程序/数据空间要求时,可利用外存储器接口(External Memory Interface,EMIF)在片外进行存储器扩展。EMIF整个外部空间最大容量为64MB,分为4个空间CE0~CE3。
   HPI(Host-Port Interface)是一个16bit 的并行接口,外部主机可以通过HPI直接访问CPU的存储空间。外部的主机是该接口的主控者。
HPI存取的接口由一套寄存器来实现。HPI控制寄存器HPIC(HPI Control Register)完成对接口的设置,主机和CPU都可以访问HPIC;外部主机进一步通过主机地址寄存器HPIA(Host Address Register)和主机数据寄存器HPID(Host Data Register)来完成对CPU存储空间的访问。主机对这些寄存器的访问是通过外部的控制信号实现的。
    HPI到CPU的存储空间的连接由DMA控制器完成。在C6701中有专门的DMA辅助通道完成数据传输任务。

软件设计
   在DSP数据采集卡与LabVIEW 的接口应用中主要利用CLFN来实现此功能:PC机通过HPI接口把文件名为*.out可执行文件装载到DSP程序存储空间,之后DSP执行该文件。
    DSP boot模式设置为HPI 自举。HPI自举工作原理如下:在自举时,核心CPU停留在复位状态,硬件其余部分均保持正常状态。在这期间,外部主机通过HPI初始化CPU的存储空间。主机完成所有的初始化工作后,将HPI控制存储器中的DSPINT设置为1,结束自举过程。此时CPU退出复位状态,开始执行地址0处的指令。HPI自举过程中,主机可以对DSPs所有的存储空间进行读和写。
     在软件设计中,打开数据采集卡,以获取采集卡的句柄;复位DAQ卡之后,设置HPI自举模式,使DSP处于复位状态;这时如果DSP与HPI建立了连接,并且DMA辅助通道的优先级比DSP高,通过调用函数evm6x_coff_load把coffname所指定的目标文件加载到DSP内存中。一旦DSP不处于复位状态时,DSP就开始执行被加载的文件。

结语
    通过CLFN调用DLL加载DSP目标文件从而节省数据采集卡的内存空间的方法已经应用到吉林大学-TI DSPs实验室的虚拟频谱分析仪中。由于DSP加载程序是C语言程序,因此可移植性好。另外,可看出通过调用库函数节点CLFN,将C语言同LabVIEW中编程直观方便的图形化G语言结合起来,以加快程序运行速度,提高软件性能,并方便程序模块共享,节省编程时间。■

 

关键字:LabVIEW  目标文件加载 引用地址:基于LabVIEW中DSP目标文件加载的实现

上一篇:线性光耦器件IL300-F-X009原理及其应用
下一篇:一种大型弹箭动平衡测量系统及设计 2011-05-25

推荐阅读最新更新时间:2024-03-30 22:14

基于ATmega16的飞机防滑刹车测试系统设计与实现
0 引言 飞机防滑刹车系统是飞机重要的机载设备,它是飞机上具有相对独立功能的子系统,对飞机的起飞和安全着陆起着重要的作用。由于飞机着陆过程持续的时间比较短,正常刹车时在1.5 s内防滑刹车系统必须做出反应,以确保飞机安全、可靠刹车。防滑刹车系统的响应速度、轮间保护、刹车率等性能的好坏直接影响到飞机及机载人员的安全。为避免防滑刹车系统某些装置发生故障而引起整个系统的瘫痪,就必须对飞机防滑刹车系统的性能进行检测。 飞机防滑刹车控制器测试系统是指在飞机起飞和检修时对防滑刹车控制器进行性能自动检测的地勤设备。通过检测可对防滑刹车控制器的性能、状态做出评估。本文设计一种基于ATmega16芯片的用于测试飞机防滑刹车控制器的自动测试系统
[单片机]
基于ATmega16的飞机防滑刹车测试系统设计与实现
基于LabVIEW的环境试验设备温湿度检定系统
引 言   温度、湿度环境试验是产品性能检验不可缺少的一个组成部分,温湿环境试验设备的温、湿度控制水平在环境试验中起着非常重要的作用。因此,必须引进先进的测试技术,对设备的温湿度偏差、均匀度、波动度等进行测试,保证设备的正常运行。由NI公司推出的LabVIEW是虚拟仪器领域中领先的测试测量和控制系统开发工具,是目前最流行、应用最广、发展最快和功能最强的图形化软件。   以Pt100铂电阻为传感器,通过数据采集器Aligent34970A(配34901A模块),利用串口通信进行的温湿度检定系统是在WindowsXP系统下,LabVIEW7.1图形化编程语言环境中进行的。 1 温湿检定系统硬件部分   温湿检定系统整体结构如图1所
[测试测量]
基于<font color='red'>LabVIEW</font>的环境试验设备温湿度检定系统
LabVIEW透明效果-很好用
在Labview的编辑工具里,有一个工具,之前没有发现,现在来看真是好玩啊。 就是透明画笔,能把很多东西​变成透明。在这里: ​选中之后点击需要透明化的部分或者需要透明的背景。 就会处理成这样: ​比较有用。
[测试测量]
使用NI LabVIEW 的自动高电压电击测试
Author(s): David Hakey - Medtronic, Inc. Patrick J. Ryan - Medtronic, Inc. Johnny Maynes - Medtronic, Inc. Industry: Electronics, Biotechnology Products: NI-VISA, LabVIEW, FPGA Module, PXI-7811R The Challenge: 构成自动化的高电压 (HV) 电击器测试系统,以个别测试 12 组 HV 电击器模块,并可测试不同的产品类型,缩短整体测试时间。 The Solution: 使用 NI LabVIEW FPGA 软件与 N
[测试测量]
使用NI <font color='red'>LabVIEW</font> 的自动高电压电击测试
LabVIEW与MATLAB在数字天线阵列测试中的应用
引言 数字天线阵列是天线和数字信号处理技术结合的产物,它具有工作方式灵活、抗干扰性能卓越和超角分辨等众多优点,因此在军事和民用领域都得到了广泛的应用。阵列系统的多天线单元和多收发通道必然带来阵列系统的误差,这些误差会引起系统性能的下降,甚至会使各种先进的信号处理算法完全失效。因此,必须对数字天线阵列系统进行校正。一般阵列天线校正和波瓣测量需要采集大量的数据,进行多次循环计算,工作效率低且动用的仪器设备众多。而LabVIEW作为软件化仪表在数据采集及控制、数据分析和显示等方面具有强大的功能,其支持的信号接口卡丰富,用户能够快捷方便地对各个输入数据参数进行即时设置和调试,程序运行结果也十分直观。因此在阵列天线测试中,LabVIEW的优
[测试测量]
<font color='red'>LabVIEW</font>与MATLAB在数字天线阵列测试中的应用
汽车发动机管理模块测试系统的设计
发动机管理模块作为汽车传动力控制的核心部件,其生产质量检测是保证整个产品生产过程完整的重要步骤。为了模拟发动机特定的实际工作状况,需要在同一系统实现多输入输出信号的集成控制和采集。由于输入输出信号繁多,使用传统的仪器很难实现很好的系统集成和通信。随着测试过程的日趋复杂化和生产过程越来越高的自动化要求,设计开发一个界面友好简单、性能稳定、高度集成化和自动化的测试系统的需求也日渐迫切。 本文介绍了基于PXI总线及其部件的硬件平台,配以用LabVIEW开发的软件控制系统,设计的一套高度集成、稳定可靠的自动化测试系统。该测试系统由PXI测试仪、配线板、信号调理及通信板、电源、负载箱和测试夹具组成。测试时操作人员将模块放入夹
[测试测量]
汽车发动机管理模块测试系统的设计
基于LabVIEW的便携式手持数字波形表设计
将LabVIEW设计的虚拟仪器程序移植到运行 WindowsCE的便携式手持设备上。可以极大地提高嵌入式系统软件开发效率。具体提出一种有效解决数据波形交替显示的界面设计,阐述了如何使用 LabVIEW的触摸屏toueh panel模块开发的数字波形表用于Windows CE 5.0设备的测试项目的案例。 1 开发平台简介 1.1 基础平台 本文设计的数字波形表采用高性能、低功耗、高集成度的S3C2440A微处理器。触摸屏配合采用S3C2440A的高速处理器驱动,具有更好的视频显示效果。 1.2 软件平台 LabVIEW是美国国家仪器公司推出的一种虚拟仪器开发平台。LabVIEW包含有很多的模块,touch panel模块是
[测试测量]
基于<font color='red'>LabVIEW</font>的便携式手持数字波形表设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved