基于Labview控制的数据采集系统

传统数据采集卡多采用pci或isa总线接口,这种方式安装麻烦、价格昂贵,且受计算机插槽数量、地址、中断资源限制,有扩展性差等缺点。而usb通用串行总线则具有安装方便、高带宽、易扩展等优点,其中usb2.0标准具有480mbps的最高数据传输率,这使usb成为本系统所选接口的主要类型。控制方面,传统数据采集通常使用单片机或dsp作cpu来进行控制和数据处理。其中单片机的时钟频率低,无法适应高速数据采集;dsp虽能满足速度要求,但在速度提高的同时,也提高了成本。而用fpga实现的sopc则具有时钟频率高、内部延时小和配置灵活等优势。数据显示方面,采用虚拟仪器不但可按要求设计且变换灵活,还能执行传统仪器无法实现的许多功能。为此,本系统使用fpga实现sopc数据采集系统,并利用labview实现系统的显示与控制。
1数据采集系统总体设计
基于sopc的高速数据采集系统总体框图如图1所示。图中,adc(analog t0 digital converter)模数转换器采用的是8位高速模数转换器tlv5580。调理电路用于实现对输入信号的限幅、限压、滤波,并用增加输入阻抗的措施来获取预期有效信号,同时保护后端ad转换芯片。fpga采用altera公司的epic6q240芯片来实现adc控制及fifo数据缓存;基于fpga芯片的控制系统可直接用逻辑实现,也可在其基础上实现sopc对数据的采集、传输的控制。usb采用cypress公司可支持usb2.0协议的高速芯片cy7c68013。fpga可控制tlv5580的连续采样,并将数据送到fifo数据缓存。当采集到一定量的数据后,cy7c68013便采用slave fifo方式将数据送给pc端,并由pc端软件labview实现的虚拟仪器进行显示和控制等处理。
2数据采集系统硬件设计
2.1? 模数转换器tlv5580及其控制
tlv5580是一款高速8位模拟/数字转换器,它具有80 msps采样速率,是一款3.3 v工作电压的低功耗6级流水线结构高速a/d芯片。它的采样信号每1个时钟周期可通过一个stage,完成连续转换到数据输出共需6个时钟周期。此流水线结构由6个adc/dac级和一个终极快闪adc构成。采用a/d-d/a两次变化以及纠错逻辑的目的在于进行差错校正,以保证流水线上各个阶段在满操作温度范围下,adc的偏移量能够得到补偿且不丢失代码。tlv5580的时序图如图2所示。可以看出,该a/d转换器时序简单,容易控制。当输出使能(oe)为低电平时,一旦数据流水线满,其数据将在每一个时钟周期的上升沿输出。
2.2 usb芯片cy7c68013(fx2)
为了满足对usb传输速度较高的需要,本设计选择了cypress公司内置usb接口的微控制器芯片ezusbfx2。fx2系列芯片独特的结构使其数据传输速度最高可达56mbps,故可最大限度地满足usb2.0的带宽。此外,cy7c68013提供有一个串行接口引擎(sie),可负责大部分usb2.0协议的处理工作,从而大大减轻usb协议处理的工作量,并可提供4kb的fifo,以保证数据高速传输的需要。cy7c68013可配置成三种不同的接口模式:ports、gpif master和slave fifo。本项目采用slave fifo模式。在该模式下,外部逻辑或外部处理器直接连接到fx2的端点fifo,因为外部逻辑可以直接控制fifo,所以,fifo的基本控制信号(标志、片选、使能)均由fx2的引脚引出。其外部控制可以是同步,也可以是异步,可以使用内部时钟,也可以使用外部时钟。
2.3 fpga器件epic60240c6
fpga (field programmable gate array)即现场可编程门阵列。本设计选用的是altera公司的epic60240芯片,该芯片的工作电压为1.5 v,存储器密度可达5980个逻辑单元,它包含20个128x36位ram块,总的ram空间达92160位,此外还内嵌了2个锁相环电路和一个用于连接sdram的特定双数据率接口,故可支持多种不同的i/o标准。事实上,这里的fpga除了可以直接编程以进行逻辑控制外,也可在此基础上构建sopc系统,以便使用软、硬件协同方法,与sdram构成一个大容量的fifo来对sdram以及md转换器进行控制,同时完成与usb器件的协同工作。
2.4 sopc及其设计
sopc (system on a programmable chip)即可编程片上系统。它可以由单个芯片完成整个系统的主要逻辑功能;这种可编程系统具有灵活的设计方式,而且可裁减、可扩充、可升级。本设计采用altera公司率先推出的sopc解决方案,来将处理器、存储、i/o口等系统所需集成到一个fpga器件上,并对其进行软、硬件配置,从而实现对数据的采集、传输、显示控制。图3所示是其sopc系统框图。
3数据采集系统软件设计
本系统软件包括sopc系统程序、usb固件程序、驱动程序和应用程序等4个方面的设计。其中sopc系统程序和usb固件程序是整个程序设计的核心。
3.1 sopc系统程序设计
基于quartusii和nios的sopc设计流程如图4所示。
本系统中的sopc系统软件设计是指在fpga中配置altera公司niosii嵌入式处理器的硬件环境。其中niosii处理器的配置可基于quartusii,它是altera公司的大规模fpga/cpld开发工具。为了进行nios处理器的开发,通常要在quartus里装入niosii的软硬件开发工具,同时在提供的开发包中使用软件sopc builder开发工具加载niosii核和外围接口,并定义相应的指令,然后对系统进行综合后,再下载到fpga中,就可以完成特定功能的处理器设计。
3.2 usb固件程序设计
cy68013芯片的固件程序主要负责处理pc机发来的各种usb设备请求,并与外围电路进行数据传输。cypress公司提供的固件程序框架中的两个程序分别是fw.c和periph.c。其中fw.c是固件运行的主程序文件,负责处理各种usb设备请求,包含程序框架的main函数,它可管理整个51内核的运行。而对于periph.c,则必须将periph.c实例化,以实现所需的功能。固件程序中最重要的是td_init()和td_poll()两个函数。td_init函数负责对cy7c68013的初始化,它一般在固件运行开始时调用;td_poll函数是数据采集的执行子程序,它首先判断内部端点6的缓冲区和外部fifo缓冲器是否非空,如满足条件,则启动a/d转换,并根据usb设备工作在高速和全速的不同来设置不同的传输计数。本设计中将接收数据端点6设为slave fifo模式,并使用auto in模式来接收fpga发来的数据,数据流由外部fifo控制器控制,并直接传人端点6的fifo,以等待主机提取。这里,cy7c68013仅作为数据通道,cpu不参与此过程。因此,只需在固件的初始化程序中配置好端点6的slave fifo接口模式,剩下的传输控制和其它的工作则可由fpga来完成。以下是针对本设计的部分固件程序:
void td_poll(void)//在设备运行时反复被调用,主要完成外部fifo状态检测和数据传输
3.3 usb驱动程序设计
windows下的usb驱动程序通常由3部分组成:usb设备驱动程序、usb总线驱动程序和usb主控制器驱动程序。其中,windows操作系统已经提供了处于驱动程序栈底的usb总线驱动程序和usb主控制器驱动程序。而usb设备驱动程序则要由设备开发者编写。它应能通过向usb总线驱动程序发送包含urb(usb request block)的irp(i/o request packet)来实现usb外设之间的信息交换。本设计采用jungo公司的win driver进行驱动程序开发,并根据win driver提供的驱动向导和用户需要,来自动生成代码框架,从而简化驱动程序的开发。
3.4应用程序设计
本设计采用ni公司的虚拟仪器(vi)开发平台labview来进行应用程序的设计。vi包括三部分:前面板、框图程序和图标/连接器。其中前面板用于设置输入数值和观察输出量。每一个前面板都对应着一段框图程序。框图程序可用labview图形编程语言—g语言来编写。图标/连接器是子vi可被其它ⅵ调用的接口。图标是子vi在其它程序框图中被调用的节点表现形式;而连接器则是节点数据的输入/输出口。连接器端口与前面板的控制和显示一一对应。
4结束语
本文介绍了一种基于sopc和usb2.0接口的高速数据采集系统及其虚拟仪器的设计方法。实验表明,基于本设计的高速数据采集系统具有抗干扰、可靠性高、失码率低等优点.

ios10.3适用于新ipad吗?新ipad和小米平板3评测对比,一开始就输在起跑线上
谷歌高管:对于收购 GitHub很感兴趣,希望微软保持中立
ITECH助你轻松建立燃料电池系统模拟方案
怎么用iPhone拍出惊艳的人像照片
大数据与AI公司Databricks融资10亿美元
基于Labview控制的数据采集系统
Elspec电容滤波柜PK有源滤波器
SPI硬件基础知识科普
安捷伦化学分析集团总裁:安捷伦成功之“秘笈”
新型非溶剂化氟磺酰羧酸酯实现高压宽温锂金属电池
升腾910和麒麟980哪个好?
临界短脉冲
firefly40QN40K15050 QFN40 测试座简介
虚拟服务器的特点及应用场景
实现能效升级 | 基于ACM32 MCU的冰箱压缩机变频方案
Gradle自定义插件介绍1
展讯年内将推出40纳米LTE芯片
小米GaN充电器与普通充电器有什么区别
高通宣布将放弃收购恩智浦,未来将面临更多挑战
牛津仪器推出突破性超快ALD产品,用于量子技术和先进研发