当前位置:首页 > 工业控制 > 电子设计自动化

  摘 要: 针对复杂液压系统数据采集的特点,采用数据流驱动多模块并行技术和USB2.0接口,设计了基于CPLD+FX2的高速便携式数据采集系统,同时给出了自主开发的USB设备在LABVIEW中的简便驱动方法。实践表明,该方案大大提高了系统的采集、传输速率,具有电路设计简单、可靠性高和易移植等特点。
  关键词: CPLD 数据流驱动 多模块并行 USB2.0 LABVIEW 数据采集


  液压系统具有结构轻小、传动比大、运行平稳、易于实现无级调速和自动化等优点, 已被广泛应用于工业生产的各个领域。但液压传动系统(特别是大型液压系统) 也存在一些缺点, 主要是结构复杂、其内部状态难以检测, 给液压系统的状态监测和日常维护带来一定的困难。因此如何提取系统的特征信号,有效地对液压系统进行状态监测,及时发现故障和隐患, 有着十分重要的工程意义。
  目前国内专门针对液压系统的数据采集产品比较少,而且存在诸如采集参数选择不当或不够、采集速率偏低、未能准确反映液压系统的工作状况、接口不利于安装或传输速度太慢等问题。本文设计了一种基于CPLD(复杂可编程逻辑器件)+FX2(单片机CY7C68013)的便携式高速数据采集系统,采用了数据流驱动多模块并行技术和USB2.0接口。实践证明,该方案结构简单,成本低廉,实时同步采集和传输速度相当于DSP系列的数据采集产品。
1 设计思路
  数据采集包括采集量到电参量的转换、信号调理、模/数转换、数据缓冲、数据发送等几部分。一般采用主控芯片直接控制模/数转换、数据缓冲、数据发送等模块顺序执行的方式,如图1(a)所示。要达到较高的采集速度,必须使用如DSP等高速主控芯片,为此而增加了系统成本和软、硬件的调试难度。


  本设计选用Cypress公司带智能USB接口引擎和4K FIFO的单片机CY7C68013(FX2),其USB数据发送部分可独立自动执行。选用Altera公司的CPLD器件EPM7128,采用VerilogHDL语言编程,设计模/数转换、数据缓存集成控制电路。并采用数据流驱动多模块并行技术,当模块执行所需的数据满足条件时立即执行,三种模块可并行执行,如图1(b)所示,从而可通过低主频CPU来控制高速数据采集。
  上位机软件采用美国国家仪器公司的LabVIEW语言编写。基于图形化编程的G语言使得上位机软件的开发效率大大提高。特别是其NI-VISA3.0(Virtual Instrumentation Software Architecture)控件的推出,可以通过调用其标准化面向具体功能的、通用仪器的API(Application Programmer Interface)驱动接口实现自主开发的USB设备的驱动。
2 硬件设计
  系统硬件配置如图2所示。液压系统中的压力、流量、温度以及振动频率等模拟量通过传感器变换为电信号后,经放大、缓冲、滤波等调理电路处理后,由模拟开关电路选择后送A/D芯片(AD574)转换成数字信号,并写入FX2内置的FIFO,由内部集成的USB控制器自动发往上位机,完成数据采集。CPLD控制器除控制模拟开关电路和ADC(模/数转换电路)外,还控制将采集得到的数据写入FX2的FIFO。控制器设计采用数据流驱动多模块并行技术,以提高控制电路的执行效率。系统固件程序烧录于E2PROM中,通电或复位时,FX2自动加载。系统配备了直流电源,以满足室外便携采集的需要。


3 软件设计
3.1 CPLD程序设计
  CPLD内含ADC采集控制和FIFO控制两个模块,A/D采集控制模块包括通道选择、转换时序发生和转换状态检测等部分,FIFO控制模块实现FIFO的写时序控制。FIFO写控制模块采用转换数据为触发条件,当A/D转换完成并把数据送到总线时,发出写FIFO触发脉冲,FIFO写控制模块将总线数据写入FIFO;A/D采集控制模块则以自身的采集数据状态和FIFO写完成作为执行条件。两个模块在单片机控制下并行执行,与此同时,当FIFO写满,智能USB控制器将FIFO内的数据发往上位机,实现了低主频CPU控制高速同步数据的采集和传输。由于USB控制器的传输率可高达480Mbps,采用两片FIFO缓冲,采集频率低于10MHz则可避免因USB传输丢失数据。
3.1.1 A/D采集控制模块
  AD574独立操作模式(stand alone)工作时,通过R/C脚进行转换和读取控制,同时需要监控STATUS脚,在A/D芯片转换完毕后将12位转换数据并行输出到总线,同时输出写FIFO触发脉冲。图3所示为ADC控制器流程图,据此可设计相应的VerilogHDL程序。


3.1.2 FIFO控制模块
  CY68013除自带USB2.0控制器外,还有一个4K×8b的FIFO,共分成4个端点,端点大小和缓冲层次可编程设置。本文设置成SLAVE FIFO工作模式,两个上传FIFO片(端点)。通过SLWR控制总线上的数据写入FIFO。当数据写满一片FIFO时,FIFO控制模块切换地址,以避免数据丢失,保证转换、发送的连续性。写满数据的端点由USB控制器自动发送。
  如果在采集过程中FIFO控制器接到停止采集命令后,FIFO控制模块产生PKTEND信号,指示USB控制器将采集停止后未满FIFO中的剩余数据发往上位机。
3.2 底层固件及设备驱动
  高速数据采集系统软件设计分为两部分:USB外设端的固件程序和主机操作系统上的主机应用软件。主机应用软件采用LabVIEW编写,本文主要介绍基于LabVIEW的自主开发的USB设备简便驱动方法。
3.2.1 固件程序
  固件程序功能比较复杂,采用Keil uVsion2集成环境进行单片机C语言开发,完成源代码的编写、仿真和调试。固件程序包括主程序Main()、设备描述符表DSCR.A51、固件程序源码FW.C、用户程序Ad_control.c等部分。固件程序流程如图4所示。


  固件程序调试编译成功后,将其转换成C2文件,通过Cypress公司提供的控制面板下载至E2PROM中。当系统加电或复位时,会自动检查E2PROM的第1个字节,如该字节为C2,则由E2PROM加载USB设备的相关信息和固件程序,进行重枚举。
3.2.2 基于LabVIEW的USB设备驱动程序
  客户应用软件在操作系统中处于用户态,不能直接对USB设备进行操作。通常是采用DDK直接编写驱动程序,也可用DriverStudio或windriver产生驱动程序框架,再添加自己的代码,编译出驱动程序。虽然LabVIEW与NI公司的硬件接口编程非常方便,但对于自主开发的USB设备,并不具有通用性。用户不仅要设计驱动程序,还要在此基础上编写USB.DLL,用于LabVIEW与USB接口。VISA通用的仪器驱动软件结构是VPP(VXI Plug&Play)联盟制定的新一代仪器I/O标准,具有与仪器接口和具体计算机无关的特性,特别是VISA3.0的推出,提供了自主开发或第三方USB设备在LabVIEW中的简便驱动方法。
  本文利用NI-VISA3.3,直接调用驱动开发向导(Driver Development Wizard),根据设备的PID、VID以及生成厂家、产品名称等重要参数生成inf文件。安装此文件后调用MAX(Measurement&Automation Explore)即可以看到设备安装成功,如图5所示。
  在实际操作过程中,需特别注意在安装VISA生成的驱动程序时,不能安排设备的Windows驱动程序,否则LABVIEW无法正常调用VISA开发的驱动程序,发现不了USB设备。


4 实验与分析
  采用本文所述的采集系统对某一高频液压冲击器工作时的工作压力(1)、回油压力(2)和冲击活塞运动速度(3)进行了现场实时数据采集,如图6所示,其最高采集频率为28.6kHz。采集数据准确反映了研究对象的状态,完全满足设计目标需要。
  基于项目的需要,选用的A/D芯片(AD574)其采集频率为28kHz,如欲进行更高速率的数据采集,只需更改A/D转换芯片部分的硬件电路和CPLD与A/D转换相关的程序。由于系统采用了数据流驱动多模块并行技术,在成本增加不多的情况下达到了非常高的采集和传输速率。从理论上分析,如果A/D转换芯片选择适当,系统采集频率可以达到10MHz。
  本文提出的液压系统数据采集方案,利用廉价的单片机FX2+CPLD,采用数据流驱动多模块并行体系结构和USB接口,以取代DSP为主控芯片进行高速、实时同步液压数据采集,可以方便地移植于其他高速数据采集系统中,且成本低,可靠性高。同时,提出了自主开发的USB设备在LabVIEW中的简便驱动方法。
参考文献
1肖金球. 高速多路实时数据采集处理系统设计[J].计算机工程, 2004;(24):180~182
2 蔡菲娜. 利用FPGA实现DMA方式的高速数据采集[J].微电子学与计算机,2005;(3):239~241
3 石 磊. 一种基于单片机的高速数据采集系统的设计与实现[J].电测与仪表,2005;(1):53~54
4 Cant C. WindowsWDM设备驱动程序开发指南[M].北京:机械工业出版社,2000
5 张 凯. LabVIEW 虚拟仪器工程设计与开发[M].北京:国防工业出版社,2004

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

全新的专有模型导入功能让客户更轻松地将其专属模型导入到Amazon Bedrock中,从而充分利用Amazon Bedrock的强大功能。全新的模型评估功能使客户能够广泛且便捷地选择完全托管模型,包括RAG优化的新版Am...

关键字: 生成式AI 基础模型 数据

2024年4月17日,中国 – 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)将在2024年4月25日欧洲证券交易所开盘前公布202...

关键字: 半导体 数据

数据占满我们的电子设备已成常态,为了满足广大用户的需求,NAS应运而生。然而,对于许多普通用户来说,NAS设备的设置和使用却常常令人望而却步。不过,铁威马TOS 6的出现,不仅功能强大,而且操作简便,即使是初次接触NAS...

关键字: 数据 电子设备 NAS

机器学习作为人工智能领域的重要组成部分,其过程涉及到多个核心环节。本文将详细阐述机器学习的四个主要步骤:数据准备、模型选择、模型训练与评估,以及模型部署与应用,以揭示机器学习从数据到应用的完整流程。

关键字: 数据 人工智能 机器学习

机器学习算法是人工智能领域中的核心技术之一,它通过对大量数据进行学习,自动发现数据中的规律和模式,从而实现对新数据的预测、分类、聚类等任务。本文将深入探讨机器学习算法的基本过程,包括数据准备、模型选择、训练与评估等关键步...

关键字: 数据 人工智能 机器学习

随着人工智能(AI)技术的迅速发展,人们对于通用人工智能(AGI,即Artificial General Intelligence)的期待也日益高涨。通用人工智能指的是具备像人类一样全面智能的计算机系统,能够执行各种复杂...

关键字: 人工智能 计算机 数据

在数字化时代,数据的数量和价值飞速增长,如何安全、有效地存储和管理这些数据成为了一个重要的问题。刻录机,作为一种同时具有数据存储和备份功能的设备,在这方面发挥着越来越重要的作用。本文将向大家介绍刻录机的定义、工作原理以及...

关键字: 刻录机 数据

在数字时代,数据已经成为企业的重要资产。随着云计算技术的快速发展,云服务器已成为企业和个人存储数据的重要平台。然而,数据的存储和处理也面临着多种安全威胁。本文将探讨如何使用云服务器确保存储数据的安全性。

关键字: 数据 云服务

摘要:针对窃电手法的隐蔽化和专业化,为减少公司范围内窃电行为,大力整治用电市场秩序,保持反窃电高压态势,结合当前新疆反窃查违工作中的实际,依托用电信息采集系统,融合多源系统数据,采用开盖记录+计量异常途径对用电行为进行分...

关键字: 计量异常 采集系统 用电行为分析

北京——2023年9月21日,近期,亚马逊云科技作为参展商参与了久负盛名的IBC 2023 (欧洲广播电视展)并宣布推出一系列聚焦营收增长的媒体与娱乐(Amazon Web Services for M&E)行业解决方案...

关键字: 亚马逊 数据
关闭
关闭