没有合适的资源?快使用搜索试试~ 我知道了~
针对复杂液压系统数据采集的特点,采用数据流驱动多模块并行技术和USB2.0接口,设计了基于CPLD+FX2的高速便携式数据采集系统,同时给出了自主开发的USB设备在LABVIEW中的简便驱动方法。实践表明,该方案大大提高了系统的采集、传输速率,具有电路设计简单、可靠性高和易移植等特点
资源推荐
资源详情
资源评论
基于基于CPLD的高速数据采集系统的设计与实现的高速数据采集系统的设计与实现
针对复杂液压系统数据采集的特点,采用数据流驱动多模块并行技术和USB2.0接口,设计了基于CPLD+FX2
的高速便携式数据采集系统,同时给出了自主开发的USB设备在LABVIEW中的简便驱动方法。实践表明,该方
案大大提高了系统的采集、传输速率,具有电路设计简单、可靠性高和易移植等特点
摘 要:摘 要: 针对复杂液压系统
关键词:关键词: CPLD 数据流驱动 多模块并行 USB2.0 LABVIEW 数据采集
液压系统具有结构轻小、传动比大、运行平稳、易于实现无级调速和自动化等优点, 已被广泛应用于工业生产的各个领
域。但液压传动系统(特别是大型液压系统) 也存在一些缺点, 主要是结构复杂、其内部状态难以检测, 给液压系统的状态监测和
日常维护带来一定的困难。因此如何提取系统的特征信号,有效地对液压系统进行状态监测,及时发现故障和隐患, 有着十分重
要的工程意义。
目前国内专门针对液压系统的数据采集产品比较少,而且存在诸如采集参数选择不当或不够、采集速率偏低、未能准确反
映液压系统的工作状况、接口不利于安装或传输速度太慢等问题。本文设计了一种基于CPLD(复杂可编程逻辑器件)+FX2(单
片机CY7C68013)的便携式高速数据采集系统,采用了数据流驱动多模块并行技术和USB2.0接口。实践证明,该方案结构简
单,成本低廉,实时同步采集和传输速度相当于DSP系列的数据采集产品。
1 设计思路设计思路
数据采集包括采集量到电参量的转换、信号调理、模/数转换、数据缓冲、数据发送等几部分。一般采用主控芯片直接控
制模/数转换、数据缓冲、数据发送等模块顺序执行的方式,如图1(a)所示。要达到较高的采集速度,必须使用如DSP等高速
主控芯片,为此而增加了系统成本和软、硬件的调试难度。
本设计选用
上位机软件采用美国国家仪器公司的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。控制器设计采用数据流驱动多模块并行技术,以提高控制电路的执行效率。系统固件程序烧
录于E
2
PROM中,通电或复位时,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文件,通过
2
PROM中。当系统加电或复位时,会自动检查E
2
PROM的第1个字
节,如该字节为C2,则由E
2
PROM加载USB设备的相关信息和固件程序,进行重枚举。
资源评论
weixin_38582719
- 粉丝: 11
- 资源: 952
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功