微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于CPLD的高速数据采集系统的实现

基于CPLD的高速数据采集系统的实现

时间:04-25 来源:互联网 点击:

分为两部分:USB外设端的固件程序和主机操作系统上的主机应用软件。主机应用软件采用LabVIEW编写,本文主要介绍基于LabVIEW的自主开发的USB设备简便驱动方法。

  3.2.1 固件程序

  固件程序功能比较复杂,采用Keil uVsion2集成环境进行单片机C语言开发,完成源代码的编写、仿真和调试。固件程序包括主程序Main()、设备描述符表DSCR.A51、固件程序源码FW.C、用户程序Ad_control.c等部分。固件程序流程如图4所示。

  

  固件程序调试编译成功后,将其转换成C2文件,通过Cypress公司提供的控制面板下载至E2pROM中。当系统加电或复位时,会自动检查E2ROM的第1个字节,如该字节为C2,则由EWROM加载USB设备的相关信息和固件程序,进行重枚举。

  3.2.2 基于LabVlEW的USB设备驱动程序

  客户应用软件在操作系统中处于用户态,不能直接对USB设备进行操作。通常是采用DDK直接编写

  驱动程序,也可用DriverStudio或windriver产生驱动程序框架,再添加自己的代码,编译出驱动程序。虽然LabVIEW与NI公司的硬件接口编程非常方便,但对于自主开发的USB设备,并不具有通用性。用户不仅要设计驱动程序,还要在此基础上编写USB.DLL,用于LabVIEW与USB接口。VISA通用的仪器驱动软件结构是VPP(VXIPlag&Play)联盟制定的新一代仪器I/O标准,具有与仪器接口和具体计算机无关的特性,特别是VISA3.0的推出,提供了自主开发或第三方USB设备在LabVIEW中的简便驱动方法。

  本文利用NI-VISA3.3,直接调用驱动开发向导(Driver Development Wizard),根据设备的PID、VID以及生成厂家、产品名称等重要参数生成inf文件。安装此文件后调用MAX(Measurement&Automation Explore)即可以看到设备安装成功。

  在实际操作过程中,需特别注意在安装VISA生成的驱动程序时,不能安排设备的Windows驱动程序,否则LABVIEW无法正常调用VISA开发的驱动程序.发现不了USB设备。

  4 实验与分析

  采用本文所述的采集系统对某一高频液压冲击器工作时的工作压力(1)、回油压力(2)和冲击活塞运动速度(3)进行了现场实时数据采集,如图6所示,其最高采集频率为28.6kHz。采集数据准确反映了研究对象的状态,完全满足设计目标需要。

  基于项目的需要,选用的A/D芯片(AD574)其采集频率为28kHz,如欲进行更高速率的数据采集,只需更改A/D转换芯片部分的硬件电路和CPLD与A/D转换相关的程序。由于系统采用了数据流驱动多模块并行技术,在成本增加不多的情况下达到了非常高的采集和传输速率。从理论上分析,如果A/D转换芯片选择适当,系统采集频率可以达到1OMHz。

  本文提出的液压系统数据采集方案,利用廉价的单片机FX2+CPLD,采用数据流驱动多模块并行体系结构和USB接口,以取代DSP为主控芯片进行高速、实时同步液压数据采集,可以方便地移植于其他高速数据采集系统中,且成本低,可靠性高。同时,提出了自主开发的USB设备在LabVIEW中的简便驱动方法。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top