新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > LXI总线数字化仪模块设计

LXI总线数字化仪模块设计

作者:杨江涛 黄珍元 中国电子科技集团公司第41研究所电子测试技术重点实验室时间:2011-04-27来源:电子产品世界收藏

  为满足模块能够完成对两种中频信号采集,ADC电路部分设计了可变采样时钟电路,模块会根据用户的测试需要自动选择不同的采样时钟,并且采样时钟始终锁定在模块内部或外部参考上。采样时钟发生电路由参考电路、集成锁相环路(内部自带VCO)及DDS电路三部分组成,如图3所示。基于的控制电路控制集成锁相环路内部自带的VCO锁定在一个固定输出频率上,采样时钟信号则由DDS对VCO输出的信号分频得到。

本文引用地址:http://www.eepw.com.cn/article/119034.htm

  基于的数字中频信号处理电路设计

  主要完成数字中频信号处理和硬件电路的控制。其中信号处理部分包括数字下变频、数字滤波等,总体结构上由DDS、下混频器、MAC滤波器、系数存储器等组成,DDS完成数控本振(NCO)的功能,用来产生下变频所需的本振信号;硬件电路控制部分包括中频信号处理通路控制、采样时钟控制、数据存储控制及触发控制等。

  FPGA处理后数据的最终处理与运算工作由完成,包括中频检波、对数处理、视频滤波、视频检波以及对运算结果进行误差修正等任务,处理完成的数据通过接口送到虚拟仪器软面板进行结果显示。由于要进行两种中频信号测量,数据处理复杂程度高,而和FPGA的存储空间有限,因此采用动态更新DSP程序和FPGA程序的方法。根据用户选择的功能,重新配置DSP和FPGA代码到芯片,此方法提高了软件的灵活性和可扩展性,同样缩小了硬件体积,减少了硬件成本。

  LXI触发电路设计

  LXI规范提供了3种触发方式:基于LAN的触发;基于精密时钟协议提供的时间基准进行定时触发;通过专用LXI触发总线的触发。

  本数字化仪模块采用基于精密时钟协议提供的时间基准进行定时触发,该触发需要通过网线来实现协议,使各设备的实时时钟保持同步,各设备根据同步的时间实现事件的同步。由带有以太网外设的CPU处理器和FPGA组成。 FPGA仍然实现IEEE 1588 时间戳和硬件触发的功能,这样可以大大提高同步精度,同时有利于LXI测试模块的升级和维护。

  模块软件设计

  驱动软件设计

  在以NT为核心的WIN2K、WINXP操作系统中,由于安全性、稳定性的考虑,操作系统不允许应用程序直接访问硬件资源,要实现对中频数字化仪硬件电路的控制就必须开发硬件设备驱动程序,作为下层硬件和上层应用程序的纽带,实现应用程序对底层硬件的访问。

  在中频数字化仪软件开发中,我们利用工具软件DriverStudio,按照Windows驱动程序模型(WDM)设计了本数字化仪模块驱动程序,在驱动程序中实现端口的读写、中断的响应及DMA传输等。

  在中频数字化仪模块中,主机与模块交互的数据量很大,通过CPU控制读写很耗费CPU资源,经常导致计算机响应迟缓,为此我们采用了DMA数据传输方式。DMA是利用PCI9054的DMA控制器,在本地设备与计算机内存之间进行数据传输。由于DMA控制器与CPU是并行操作,所以在数据传输的过程中,CPU可以空闲下来做数据处理等工作,这种传输方式特别适合大数据量、多线程的处理。在DriverStudio中,类KdmaAdapter封装了DMA适配器。

  模块测控软件设计

  考虑到调用设备驱动程序操作比较复杂,并且需要一定的硬件知识,不利于用户二次开发使用,在模块中我们对设备驱动程序进行了封装,将设备的功能模块封装为一个个直观易用的高层函数,屏蔽了模块的具体的控制方式,减少用户在开发应用程序时对模块的了解。

  为了实现模块驱动程序的兼容性和规范性,统一采用虚拟仪器接口,对虚拟仪器的接口函数进行了统一的命名约定,统一的函数输出格式,能够满足在Microsoft Visual C++、C++ Builder、Lab Windows/CVI、Lab View等多种语言环境的二次开发的需要,以动态库的形式提供用户。

  由于数字化仪模块本身不具有显示控制界面,因此开发了一个可视化的虚拟仪器软面板控制界面,方便用户对模块的控制与使用,虚拟仪器软面板控制软件将随模块一并提供给用户。

  模块自动识别

  LXI测试模块在连接到总线上时应能自动被发现并识别。该机制主要通过实现LXI测试模块内部的RPC服务器和VXI-11协议来实现。具体的工作原理是:客户端(主控计算机)首先向服务器发出RPC请求服务,当服务器接收到该请求后,必须将VXI11内核的网络端口号发送给客户端,客户端接收到该端口号后,与服务器建立TCP/IP通讯链路,并向LXI测试模块发送“*IDN?”查询信息,LXI数字化仪模块随后将仪器的信息,包括厂商、型号、版本号等信息回发给客户端,同时,客户端和服务器也通过该链路来实现SCPI命令的传输。



评论


相关推荐

技术专区

关闭