一种基于PCI总线和DSP技术的虚拟仪器设计

发布者:悠闲之旅最新更新时间:2012-07-09 来源: 21ic 关键字:PCI总线  DSP  虚拟仪器  CPLD  LTC1608 手机看文章 扫描二维码
随时随地手机看文章

  传统的虚拟仪器由一块基于PCI总线的直接利用A/D和D/A芯片构成的数据采集板卡和相应的软件组成,但随着计算机网络技术的迅速发展,越来越多的数据需要由计算机处理、存储和传输,由于通用计算机本身的特点,它们通常不适于进行实时性要求很高的数字信号处理,因此这种虚拟仪器不能满足现实应用对数据实时处理能力、数据传输能力以及数据管理能力所提出的越来越高的要求。

  与此同时,随着数字信号处理器DSP)性价比的不断提高,其应用领域飞速扩展,从而使基于PCI总线和DSP技术的新型虚拟仪器应运而生。

  系统的基本框架

  笔者设计的基于PCI总线和DSP技术的虚拟仪器的基本框架如图1所示。

虚拟仪器系统的基本框架

图1 虚拟仪器系统的基本框架

  整个系统是基于模块化的设计理念来实现的,该系统的开发主要有以下几步:1)设计一块基于PCI总线的母板,该板上有自己定义的总线接插件,以及整个系统的逻辑控制单元和数据缓冲存储芯片;2)设计数据采集模块和数据输出模块;3)开发PCI母板的Windows驱动程序,使PC能正常识别该板卡并分配所需系统资源;4)开发系统下位机DSP数据采集模块的程序,实现对模拟信号的采集以及数据的FFT算法处理;5)开发系统上位机PC的控制软件,实现数据波形显示、端口配置、内存读写以及对仪器的控制功能。

  系统的硬件设计

  由图1可见,本虚拟仪器系统首先要有一块基于PCI总线的母板,该板上有自定义的总线接插件,可以插接其他基于该总线的数据采集DSP子板,此外,该板上还有整个系统的逻辑控制单元以及数据缓冲存储芯片;其他各个功能模块都基于该扩展板来实现;各个模块之间数据的存储和传输可以通过双端口RAM来实现,我们选用Cypress公司8K×16b高速双口RAM芯片CY7C025V,因为它的时序与DSP时序相配,特别适用于DSP与PC之间大量数据的高速双向传送。

  1 PCI接口的实现

  在PCI总线适配卡的设计中,采用专用的PCI接口芯片来实现PCI接口,设计者不需要将精力投入到复杂的PCI接口功能设计和验证测试上。专用的接口芯片可以实现完整的PCI主控模块和目标接口功能,将复杂的PCI接口转换为简单的接口。在本设计中选用PLX公司通用接口芯片PCI9052,它包含读和写FIFO,以便将32bit、33MHz的PCI总线与总线宽度有可能比它窄或总线速度有可能比它慢的局部总线进行匹配。PCI9052有最大5个局部地址空间和4个片选支持,图2为PCI9052的信号接口模块图。

PCI9052信号接口

图2 PCI9052信号接口

  PCI分配资源的数据来源是通过外扩的EEPROM来实现的,根据PCI9052接口芯片的要求,选用Microchip公司支持三线串行接口的EEPROM。在电源上电期间,PCI的RST#信号复位PCI9052内部寄存器。而PCI9052也输出局部复位信号(LRESET#)并检查是否存在外部EEPROM,如果存在并且第一个16位字不是FFFFH,则PCI9052加载EEPROM中的数据到PCI9052的内部寄存器中;否则默认值被使用。PCI9052配置寄存器仅能由EEPROM或PCI主机处理器写。在EEPROM初始化期间,PCI9052用RETRY信号来响应PCI目标访问。图3给出了本设计中EEPROM(93CS46)和PCI9052的连接电路图。

EEPROM和PCI9052的连接电路图

图3 EEPROM和PCI9052的连接电路图

  EEPROM中配置的主要信息包括:设备识别号、供应商代号、四个局部总线空间的大小以及空间的基地址等。可以事先通过编程器将配置信息写入配置EEPROM中,也可在系统启动后用PLXMon对EEPROM进行操作。

  2 系统控制逻辑的实现

  由于CPLD器件掉电后可保存芯片内部程序,无须烦琐的重复烧写,因此本设计采用Altera公司的CPLD器件,作为PCI接口芯片及存储芯片的逻辑控制。考虑到需要使用局部地址/数据各16根线,控制信号线22根,还要为数据采集电路预留些I/O引脚,最后决定采用144脚TQFP封装的EPM3128。

  在本系统中,EPM3128的主要功能是实现PCI Local端的地址译码、DSP Local端对各个DRAM控制的地址译码、对板上功能选择开关的状态进行译码,从而实现对系统功能的配置以及对各芯片的控制信号进行逻辑译码。所有的译码工作都通过VHDL编程语言来实现。综合和编译工作是在Altera公司的QuartusII集成编译环境中完成的。

  3 数据采集电路的实现

  数据采集电路是本系统的关键,数据采集电路设计的好坏将直接影响到本系统的性能。为了实现系统功能的可配置和可扩展性,数据采集模块设计成可配置的模式插接在总线接口母板上,实现对外部信号的数据采集。数据采集模块由高速16位adc(LTC1608)和高性能DSP芯片(TMS320C6713)构成,LTC1608的并行数字接口可方便地与包括TMS320C6713在内的多种DSP通信,并可连接3V或5V逻辑。

  由于对采集精度的高要求,在信号进入ADC之前,需要对模拟信号进行一系列的处理以保证信号的可靠性:模拟信号首先经过电压跟随运算放大器增加输入阻抗,再经过电压比例放大和一阶RC低通滤波,最后输入到ADC。[page]

  具体的信号处理电路如图4和图5所示。

输入信号处理电路原理图

图4 输入信号处理电路原理图

LTC1608 A/D芯片引脚连接电路图

图5 LTC1608 A/D芯片引脚连接电路图

  系统软件设计

  正如图1所示,硬件设计完成后,要使整个系统工作还需要软件的支持,这些软件包括PCI设备驱动程序、数据处理算法程序和系统控制软件。

  1 设备驱动程序设计

  设备驱动程序不是单独存在的,而是相关操作系统内核的一部分,所以需要对操作系统有一定的了解。Windows 2000操作系统是32位的多任务非实时操作系统。对整个系统底层的操作和用户与硬件打交道的权力被屏蔽,必须通过操作系统统一管理设备驱动程序和其他内核访问来实现应用软件对硬件的访问。在设计和使用PCI设备时,经常要在软件中对系统资源进行访问,因此只有编制设备驱动程序才能实现对PCI总线设备的完全访问。

  应用程序对设备I/O进行Win32调用,这个调用由I/O系统服务接收。I/O管理器从这个请求构造一个合适的I/O请求包(IRP)。在最简单的情况下,I/O管理器只是把IRP传递给一个设备驱动程序,这个驱动程序与硬件打交道,并完成IRP的处理。I/O管理器把数据和结果返回给Win32和用户应用程序。而一个IRP由一个分层的设备驱动程序栈处理是很常见的。每个驱动程序把该请求划分成更简单的请求。最高层的驱动程序(如文件系统驱动程序)知道文件如何在磁盘上表示,但不知道如何得到数据的细节;中间层次的驱动程序进一步处理请求;最低层的驱动程序与硬件实际打交道。

  本设计选择的硬件驱动程序开发工具是Compuware公司提供的一个驱动程序集成开发包(DriverStudio)。利用其中的DriverWorks工具可以生成一个PCI总线驱动框架,然后在WDM中实现输入输出处理,可以用KIoRange类来实现。

  在驱动程序框架生成的过程中,我们可以通过向导声明驱动程序中将要使用的资源;通过调用KIoRange类的Initialize()函数,可以对资源进行初始化(映射PCI局部空间);应用层通过DeviceIoControl函数向驱动程序发命令来调用KIoRange的成员函数实现应用层对I/O空间的处理。开发PCI母板的windows驱动程序,就是使PC能正常识别该板卡并分配所需的系统资源。

  2 FFT算法的实现

  系统需要针对DSP数据采集模块,开发并实现对模拟信号的采集以及对数据进行FFT(快速傅立叶变换)算法处理的程序。

  作为一般的情况,设:x(n)和 X(k)都是复数,因为从实际计算过程看,实数和复数没有区别,唯一不同的是:实数的虚部为零,表达式简单些。而运算过程所有的计算都是对实数进行的,如果信号或频谱是复数,就把最后计算的结果再组合成为复数分量。FFT运算的基本单元是“蝶形单元”,其蝶形运算的基本形式如下式所示:

公式

  所有蝶形单元的运算可统一表示为

公式  (1)

  式(1)中,A和B是蝶形单元的输入,C和D是输出。同时将表示为

公式  (2)

  式(1)可以表示为虚部和实部形式,带下标R的字符表示实部,带下标I的为虚部,即

公式  (3)

  根据算法原理和上面的说明,用C语言编制出一个按时间抽取的FFT算法程序,结构上分为几个部分:首先是码位的倒置,然后根据计算的点数确定蝶形运算的级数,接着是逐级进行蝶形运算,完成FFT运算。

  3 应用控制软件的设计

  整个应用控制软件的功能模块框图如图6所示。

控制软件功能模块框图

图6 控制软件功能模块框图

  基于以上的控制功能模块图,选择使用VC++来实现本系统应用软件的人机界面以及对系统的控制功能。VC++的开发环境集编辑、编译、连接、调试、向导等多项功能于一体,并且提供了目前成为业界标准的MFC(Microsoft Application Foundation Classes)类库。

  我们开发的虚拟仪器系统PC端控制软件可实现数据波形显示、端口配置、内存读写以及对仪器的控制功能,其主界面如图7所示。

程序主界面

图7 程序主界面

  结语

  本设计实现了基于DSP技术与PCI总线的数据采集处理卡,开发了虚拟式实时多通道FFT频谱分析仪的应用程序以及主机监控界面。通过在数据采集卡上集成DSP,使得该卡不但能实时不掉点地采集外界信号,而且能在卡上实现数字滤波、FFT频谱分析。

  整个系统经过综合调试和严格测试后,达到设计需求,业已投入实际使用。

关键字:PCI总线  DSP  虚拟仪器  CPLD  LTC1608 引用地址:一种基于PCI总线和DSP技术的虚拟仪器设计

上一篇:基于LabVIEW的数字通信系统EVM和ACPR全自动化扫描测试
下一篇:基于LabVIEW的IIR数字滤波器的设计

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

CPLD应用于嵌入式系统与CAN总线网络通信
  1.引言   可编程逻辑器件PLD(Programmable logic Device)就是由用户进行编程实现所需逻辑功能的数字专用集成电路ASIC。可编程逻辑器件在现代电子工程设计中得到了广泛应用。它是在PAL,GAL等逻辑器件的基础上发展起来的,具有高密度,高速度,低功耗体系结构和逻辑单元,灵活以及运用范围宽等特点,同时还具有设计周期短,制造成本低,开发工具先进,标准产品无需测试,质量稳定及可实时布线检验等优点。   现场总线技术广泛应用于工业和军用测控局域网中,它可以实现较远距离、较快速度的信息传输,而且只需要双绞线作为传输媒介,简单可靠。但是,在该技术应用中总线控制器与微机之间的接口电路一般采用单片机来
[嵌入式]
<font color='red'>CPLD</font>应用于嵌入式系统与CAN总线网络通信
TMS320F2812型DSP在车辆四轮转向控制系统中的应用
1  引言     数字信号处理器(Digital Signal Processor,简称DSP), 是一种适合于数字信号处理运算的微处理器,能够实现实时快速的数字信号处理算法。通常,由一个以DSP为基础的内核,配以测量控制所需的外围功能电路,集成在单一芯片内,使芯片价格大大降低,体积缩小,结构紧凑,使用便捷,可靠性提高。因此,集成DSP芯片的多功能板是电机应用、励磁脉冲控制系统、电力保护系统的理想选择。本文采用了超拓工控的CS4U9813可编程智能多功能板作为伺服电机的控制器来实现汽车后轮转向功能,该板集成有TI公司的高性能 DSP芯片TMS320F2812。 2  TMS320F2812的结构特点     TMS
[嵌入式]
单片机和DSP等嵌入式系统中串口通信帧的同步方法
串口通信是日前单片机和DSP等嵌入式系统之间,以及嵌入式系统与PC机或无线模块之间的一种非常重要且普遍使用的通信方式在嵌入式系统的硬件结构中,通常只有一个8位或16位的CPU,不仅要完成主流程的工作,同时还要处理随时发生的各种中断,因而嵌入式系统中的串口通信程序设计与PC机有很大的不同若嵌入式系统中。中断服务子程序在系统运行过程中占用了较多的时间,就有可能在中断眼务子程序正运行时,又产生一个同类型或其他类型的中断,从而造成主程序得不到执行或后续中断数据丢失所以,嵌入式系统中的串口通信虽然看似简单,但其中仍有许多问题值得研究,例如串口通信过程中的帧同步问题本文针对该问题给出了逐次比较、基于FIFO队列和基于状态机的3种帧同步方法通过
[单片机]
单片机和<font color='red'>DSP</font>等嵌入式系统中串口通信帧的同步方法
基于W3150A的虚拟仪器通用以太网接口设计
   0 引言   虚拟仪器以其性价比高、开放性强等优势迅速占领了市场, 并成为测控仪器新的经济增长点。步入信息化时代最显着的标志就是信息网络在各行业中的渗透和普及, 其中以太网最为典型。以太网作为一种成本低廉、吞吐能力强、适应性好、网络管理能力日益提高的网络, 它可以方便地将数据采集系统纳入局域网甚至Internet。   而以太网总线则有可能代替现行的其他总线方式而成为虚拟仪器数据采集系统的首选接口。    1 以太网接口的总体设计   1.1 以太网接口设计方案选择   以太网接口的设计通常有三种方案: 其一是采用FPGA实现物理层、网络层、接入层和传输层等各层的描述, 该方案要自行实现复杂的TCP/IP
[嵌入式]
DSP与单片机通讯方式解析方案
1 引 言 随着计算机系统、通讯设备的迅猛发展,不间断电源UPS(uninterruptible power supply)的应用范围越来越广。银行、证券、通信基站等等对于UPS的需求量也是与日俱增。本文主要介绍200KVAUPS中的DSP 与单片机的两种串行通讯方式,实验证明:两种通讯方式均可以使DSP和单片机顺利通讯,并且使得算法控制和监控顺利实现,均是行之有效的DSP与单片机的通讯方式。 目前,高速数字信号处理器(DSP,digital signal processor) 已经广泛应用于工业控制,电机控制,航天宇航控制等诸多复杂控制系统中。在电力电子领域,由于各种开关功率器件开关频率越来越高,开关损耗越来越小,所
[嵌入式]
<font color='red'>DSP</font>与单片机通讯方式解析方案
专用DSP核心助阵 SoC支持AI算法非难事
虽然英特尔(Intel)、NVIDIA等芯片大厂近期在人工智能(AI)、神经网络(NN)、深度学习(Deep Learning)等领域动作频频,但半导体领域的其他业者也没闲着,而且其产品发展策略颇有以乡村包围城市的味道。 益华计算机(Cadence)旗下的CPU/DSP处理器核心授权公司Tensilica,近期便发表针对神经网络算法设计的C5 DSP核心授权方案。在16奈米制程条件下,该核心所占用的芯片面积约仅1平方公厘,却可提供达到1TMAC的运算效能,而且功耗远比CPU、GPU等处理器更低,适合各种嵌入式运算装置使用。 Cadence Tensilica营销资深事业群总监Steve Roddy表示,神经网络技术正以飞快的速度演
[半导体设计/制造]
虚拟仪器的结构和组成方式
虚拟仪器的结构和组成方式 虚拟仪器技术是目前测控领域中最为流行的技术之一,虚拟仪器就具有很好的扩展性,虚拟仪器通常是由以通用接口总线、串行总线和现场总线等标准总线仪器和应用软件三部分构成的。 虚拟仪器的组成方式为串行总线系统、VME标准总线在仪器领域的扩展以及接口硬件设备来组成,然而虚拟仪器的硬件系统又可以分为计算机系统、接口硬件设备和驱动层软件构成,可以根据在硬件模块基础之上编写程序。 虚拟仪器将硬件功能划分为输入只需要一个量化的数据模块即可完成被测信号的采集、传输、存储处理等标准总线仪器模拟相应的硬件电路,基与PXI总线方式的虚拟仪器可以满足新能力不断开发的需求。 虚拟仪器在民航业已经得到了广泛的应用,虚拟仪器的测
[测试测量]
基于DSP和FPGA的通用图像处理平台设计
  1 引言   随着数字化技术不断发展和完善,数字图像处理技术已广泛应用于工业、军事、生物医疗、电信等领域。实际应用中能够运行复杂灵活的图像处理算法和大数据量的数据传输处理能力成为图像处理平台稳定运行的前提,而系统实时性、体积、功耗等因素也至关重要。传统数字图像处理平台大多采用通用PC机、高速图像采集卡和基于VC++的软件平台来实现,但很难满足当前对系统体积、功耗和实时性要求。因此这里提出的基于DSP和FPGA的通用图像处理平台,充分发挥FPGA灵活性强和DSP运算速度快、寻址方式灵活的优点,更好地提高图像处理系统的集成度,降低系统功耗,并满足实时性要求。   2 高速图像处理平台的工作原理   为实现高速图像的实时
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved