基于FPGA芯片EP1c3T144和开发平台实现虚拟仪器接口设计

发布者:一条属马的龙最新更新时间:2023-10-12 来源: elecfans关键字:FPGA芯片  EP1c3T144  开发平台  虚拟仪器接口 手机看文章 扫描二维码
随时随地手机看文章

引 言

LabVIEW是一种基于图形程序的虚拟仪器编程语言,与传统仪器相比,虚拟仪器技术以计算机为平台,在程序界面中有用于模拟真实仪器面板的控件可供调用,可用于设置输入数值、观察输出值以及实现图表、文本等显示,因此具有友好的人机界面。LabVIEW具有强大的数据采集、分析、处理、显示和存储功能。在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用,显示出其强劲的生命力。LabVIEW平台下开发的虚拟仪器在相同硬件条件下,改变软件即可实现不同的仪器功能,真正实现了“软件即仪器”的设计理念。


实现LabVIEW对数据的采集和处理,传统的方法是采用数据采集卡,但是这些数据采集卡设备存在安装不便,价格昂贵,受计算机插槽数量、地址、中断资源的限制,可扩展性差等缺点。在LabVIEW平台下使用USB总线进行数据传输,由于USB接口总线具有即插即用,接口简单,传送速率高等特点,因此基于Lab-VIEW和USB接口的虚拟仪器具有灵活、可靠、经济等特点。


鉴于以上LabVIEW和USB接口仪器的优点,实现LabVIEW下USB接口的接口程序就显得尤为重要。在此,介绍了一种基于LabVIEW与USB的虚拟仪器接口设计的方法。


1 设计方案

由于各类基于USB总线的数据采集、控制的虚拟仪器都涉及到LabVIEW与USB接口程序的设计,为了不失一般性,这里以虚拟示波器为例,介绍该接口程序的设计方法。


1.1 硬件设计方案

该系统是虚拟示波器,主要工作是采集被测模拟信号,并将信号通过USB2.o接口传输到PC104计算机,运行计算机LabVIEW平台下的应用软件完成数据的处理与记录,并在显示器上绘制曲线。


该系统主要由模拟信号采集模块、FPGA控制模块、USB传输模块和计算机组成,其系统结构框图如图1所示。

基于FPGA芯片EP1c3T144和开发平台实现虚拟仪器接口设计

1.1.1 FPGA控制模块

该设计采用Alter公司的Cyclone系列现场可编程门阵列(Field Programmable Gate Array,FPGA),芯片EP1c3T144来实现高速数据控制及传输。


EP1C3T144采用TPFQ封装,拥有100个I/O口和2 910个逻辑单元,是一种高密度、高性能的FPGA。


FPGA的主要功能是高速数据采集、数据帧控制,以及与USB单片机进行通信。具体说明如下:

(1)高速数据采集及增益控制。高速数据采集功能是控制高速A/D的时序进行数据采集;增益控制功能是通过向程控增益放大电路发送控制命令,进而达到控制模拟电路放大倍数的目的。由于篇幅关系,有关这两个方面的内容不做详细介绍。

(2)数据帧控制。FPGA每秒向PC机发送100帧和每帧512 B的数据,将如此高速的数据进行准确无误的控制和传输是系统的技术难点之一。该方案中,每帧数据由3部分组成:如图2所示。

其中,每一帧数据的开始位和结束位是固定数据,计算机的测井应用软件判断接收到每一帧数据的帧头及帧尾是否错误。若出现错误,将该帧数据丢弃,同时准备接收下一帧数据。数据第二部分,模拟信号由FPGA控制A/D芯片采集得到。


1.1.2 USB传输模块

Cypress公司的。EZ-USB FX2芯片CY7C68013是一款性能较高的USB 2.0微控制器。在单片机上集成USB 2.O收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。EZ-USB FX2中的智能SIE可以处理大部分USB 2.0协议,使得微控制器可以专注于应用功能,从而减少了开发时间,确保了USB的兼容性。


CY7C68013有3种可用的接口模式:端口、GPIF主控和Slave FIFO方式。在该系统中,根据系统对数据传输速度和实时性的要求,配置CY7C68013工作的接口模式为Slave FIFO模式。在Slave FIFO模式下,外部逻辑或外部处理器直接与FX2端点FIFO相连。这种模式下,外部主控器FPGA通过异步方式与CY7C68013进行数据通信


FPGA与CY7C68013之间的硬件接口框图如图3所示。SL_WR/SL_RD是Slave FIFO的写使能/读允许信号。FPGA向CY7C68013提供Slave FIFO输出允许信号SL_OE,仅在数据输出时有效。FB[7:O]为8位双向数据总线。ADDR[1:0]为FIFO端点选择信号。在数据输入时固定为00,选择的是端点2;在数据输出时固定为10,选择的是端点6。

1.2 软件设计方案

为了能够在LabVIEW中充分利用其他编程语言的优势,LabVIEW提供了强大的外部程序接口能力。这些接口包括DLL,C语言接口(CIN),ActiveX,.NET,DDE,Matlab等。通过DLL,可以方便地调用c,VC,VB等编程语言编写的程序以及Windows自带的大量API函数。动态链接库(Dynamic LinkLibrary,DLL)是一个可以多方共享的程序模块,内部对共享的例程和资源进行了封装。动态链接库文件的扩展名一般是.dll,DLL和可执行文件(exe)非常相似,最大的区别在于DLL虽然包含了可执行代码却不能单独执行,必须由Windows应用程序直接或间接调用。


因此,开发上层应用软件的首要工作是DLL动态链接库的开发,在这里DLL动态链接库采用VC++6.0进行开发。LabVIEW调用DLL示意图如图4所示,由于DLL能够调用API函数与USB设备进行通信,而采用NI公司的虚拟仪器软件开发平台LabVIEW可以充分发挥虚拟仪器的灵活性。因此,将两者优势结合起来,该设计的虚拟示波器用户控制面板具有界面友好,操作直观等优点,通过面板上的各种控件便可实现数据的采集、存储、再现及分析等功能。

2 软件设计

软件设计是虚拟仪器开发的必备环节。基于LabVIEW与USB的虚拟仪器的软件设计分为4部分:主机操作系统上的客户驱动程序、主机应用程序、Ez-USB FX2的固件程序以及FPGA软件。


2.1 驱动程序

主机软件部分包括USB客户驱动程序和主机应用程序。USB客户驱程序是支持即插即用功能的标准WDM驱动程序,它为实现控制传输、中断传输和批传输提供了标准接口函数。一般情况下Cypress公司所提供的客户驱动程序已经能够满足需求,如果有特别的需求,可以在其基础上开发自己的驱动程序。


2.2 应用程序LabVIEW调用DLL

主机应用程序是系统与用户的接口,需要一个图形用户界面来控制所调用的函数,这里采用LabVIEW来编写应用程序。它通过调用DLL与驱动程序进行通信,以完成对外设的数据传输。在编写用户程序时,首先要建立与外设的连接,然后才能实施数据的传输。在DLL程序中主要用到2个API函数:一是利用Create-File得到USB句柄;二是利用DeviceIoControl来向设备驱动程序发送请求,完成在EZ-USB FX2中数据批传输的读取与写入。


采用LabVIEw来设计这里的应用程序,关键是通过Call Library Function节点来调用前面所编写DLL文件中的各个函数。该节点位于Functions Palette的Connectivity |Libraries Executables | Call LibraryFunction Node,如图5所示。


通过CLF节点来调用前面所编写的DLL步骤如下:

(1)单击该节点将其放置在程序框图中,此时该节点没有与任何DLL连接;

(2)右击该节点并选择Configure选项或者直接双击该节点可以打开库函数配置对话框;

(3)在该模块的属性设置中选择DLL文件中所包含的某个函数,然后再设置好函数的返回类型和参数类型。这样就可以使LabVIEW调用DLL文件中的一个函数(针对DLL中的每个函数都需要设置一个CallLibrary Function Node)。最后把该模块的另一端连接到显示模块,就可以显示从USB接口读进的数据。


2.3 EZ-USB FX2的固件程序

固件程序是指运行在设备CPU中的程序。只有在该程序运行时,外设才能称之为具有特定功能的外部设备。固件程序负责初始化各硬件单元,重新配置设备。固件代码的存储位置一般有2种:

第一种是存在主机中,设备加电后由驱动程序把固件下载到片内RAM后执行,即“重新枚举”;

第二种是把固件代码固化到1片E2RPOM中,外设加电后由FX2通过I2C总线下载到片内RAM后自动执行。笔者选用第一种方式,这种方式便于系统的调试和升级。

为了简化和加速用户使用EZ-USB FX2芯片进行USB外设的开发过程,Cypress公司提供了一个完整的固件程序架构,用户只需要提供一个USB描述符表,添加其他端点接收和发送数据的通信代码,以及控制外围电路的程序代码。具体操作可以参考文献[1]中的内容。


2.4 FPGA软件

该系统采用VHDL和BlockDiagram/Schematic相结合的方法来对各功能模块进行逻辑描述,然后通过EDA开发平台,对FPGA芯片进行编程,实现系统的设计要求。


数据采集系统的数据方向是双向的。从计算机端来看,“读数据”即FPGA通过CY7C68013向计算机发送测井数据;“写数据”即计算机通过CY7C68013向FPGA发送测井命令。


如图6所示,“读数据模式”的工作原理是计算机在数据采集模式下,CY7C68013的PD7被设置为低电平,FPGA判断该位电平为低,则工作在向USB发送数据模式。此时,FPGA判断USB单片机FULL管脚是否有效,若CY7C68013中FIFO6未满,则一直向FIFO6发送数据。计算机接收到被A/D数据后,完成计算、绘图、保存等功能。

“写数据模式”的工作原理:计算机在发送命令模式下,CY7C68013的PD7被设置为高电平,FPGA判断该位电平为高,则工作在接收USB发送命令模式。此时,FPGA判断USB单片机EMPTY管脚是否有效,若CY7C68013中FIFO2未空,则一直读取FIFO2中的命令数据,同时根据命令改变A/D采集的通道数和程控放大器的增益值。


3 结语

设计的基于LabVIEW与USB的虚拟仪器不但具有体积小,功耗低,成本低,使用灵活方便,硬件电路简单,可在线更新等特点;而且还充分利用了微机资源和LabVIEw的灵活性,因而易开发,且扩展性好。目前,基于LabVIEW与USB的虚拟仪器已经用于我校电子电工实验室建设之中,能达到高速数据传输、记录及显示的要求,具有较高的实用价值。


关键字:FPGA芯片  EP1c3T144  开发平台  虚拟仪器接口 引用地址:基于FPGA芯片EP1c3T144和开发平台实现虚拟仪器接口设计

上一篇:基于虚拟仪器开发软件平台如何实现普通数据采集卡的设计
下一篇:基于虚拟仪器技术实现发动机综合性能测试系统的设计

推荐阅读最新更新时间:2024-11-21 13:55

丰富多样的无人机开发平台
在过去十年中,很少有新兴技术像飞行器(UAV)或者更简单的那样强烈地吸引了公众的想象力。这些技术的开发和使用以前主要限于军事目的,但从21世纪后期开始,智能手机的巨大商业成功和广泛普及程度产生了一次“完美风暴”,技术的进步以及大批量普及驱动成本降低,在过去几年中见证了无人机的流行和快速增长。廉价、轻便的基于微控制器的飞行控制器、加速度计和等、全球定位系统和摄像头、以及先进和无线技术的规模化生产,导致小型消费产品级别的低价格四轴无人机迅猛发展。 无人机市场展望 由投资银行高盛集团(Goln Sachs)进行的研究估计,到2020年,无人机技术将在军事、消费和商业等领域达到1000亿美元的市场规模。Gartner的数据显示,
[机器人]
通过LabVIEW图形化开发平台有效优化多核处理器环境下信号处理性能
摩尔定律问世40余年来,人们业已看到半导体芯片制造工艺水平以一种令人目眩的速度在提高,Intel微处理器的最高主频甚至超过了4G。虽然主频的提升一定程度上提高了程序运行效率,但越来越多的问题也随之出现,耗电、散热都成为阻碍设计的瓶颈所在,芯片成本也相应提高。当单独依靠提高主频已不能实现性能的高效率时,双核乃至多核成为了提高性能的唯一出路。随着AMD率先打破摩尔定律、终结频率游戏后,Intel和AMD都开始逐步推出了基于双核、四核甚至八核的处理器,工程师们逐渐投入到基于多核处理器的新型应用开发中去时,大家开始发现,借助这些新的多核处理器,并在应用开发中利用并行编程技术,可以实现最佳的性能和最大的吞吐量,大大提高应用程序的运行效率。
[测试测量]
基于MB86R01的ARM嵌入式开发平台
随着汽车、通信、信息电器、医疗、军事等行业的巨大的智能化需要,嵌入式软件及系统发展迅速。微处理器从8位到16位、32位甚至64位,从支持单一品种的CPU芯片到支持多品种的,从单一内核到除了内核外还提供其它功能模块。而且随着硬件技术的不断革新,硬件平台的处理能力不断增强,成本不断下降,嵌入式软件已成为产品的数字化改造、智能化增值的关键性、带动性技术。因此,开发一个集成化嵌入式控制、高速数据采集和网络通信于一体,并提供友好的人机操作界面的硬件平台和多种总线接口,对于提高嵌入式系统可靠性、组网灵活性意义重大。 据此,本文介绍的MB86R01芯片,将ARM926EJ-S核、2D/3D显示、车载通信功能、各种应用接口集成到一个单芯片上
[单片机]
基于MB86R01的ARM嵌入式<font color='red'>开发</font><font color='red'>平台</font>
Altera Q4在台积电加工28纳米的FPGA芯片
  按台湾经济新闻报道,为了满足Altera的FPGA芯片,台积电计划年底推出28nm CMOS工艺量产。   台积电为了与竞争对手Global Foundries及UMC的竞争,计划在它新竹科学园区的Fab 12中进行小批量的28nm工艺生产。   今年2月及4月Altera己宣布若干创新计划,包括引入28nm工艺在它的Stratix V生产线中,及部分重新配置,与28Gbps接受器的硬IP模块。   十分可喜,同样可利用它的高功能的28 CMOS工艺在另一个客户Xilinx中,而Xilinx主要侧重在28nm低功耗,两者均为台积电的主要客户。
[嵌入式]
中国电信推移动业务开发平台 瞄准政企行业市场
对于广大的移动互联网开发者来说,进军封闭但又潜力巨大的政企市场或许不再是个梦想。 昨日,天翼空间应用工厂发布了移动业务开发平台,中国电信对其定位为业内首个行业应用开发运营平台,并希望和合作伙伴及开发者一起进军行业企业应用领域市场。 据了解,新平台将依托中国电信政企资源和逐步开放的技术资源,为移动互联网创业者提供面向全国乃至全球的成熟市场环境和相关服务。 天翼空间总经理赵锦鹏表示:“对于开发者来说,可以获得大量用户,快速盈利;对于行业企业,可以花更低的成本拥有更多选择,获得更专业的技术力量和更完善的售后支持;对于合作伙伴,天翼空间应用工厂提供电信能力开放和第三方能天翼空间业务、产品和解决方案的接入。” 对此,
[网络通信]
微软力拱Microsoft 365与Azure成为开发平台
在微软(Microsoft)近日所举行的Build 2018年开发者大会中,人工智能(AI)、物联网(IoT)与边缘运算(edge computing)蔚为焦点,微软为此发布了一系列重要的产品、服务及开发工具,期盼能以Microsoft 365及Azure为发展主轴,结合AI全力布局云端、资料中心及边缘运算。   根据富比士(Forbes)报导,微软过去曾为Windows及Office建立起大片江山,凭藉的就是让产品体验无所不在,使其成为业界标准的策略,如此之策略替微软带来了丰厚的营收,并缔造出今日科技巨擘的地位,如今微软又想再下一城,而这次的目标,便是要透过Microsoft 365及Azure平台协助开发者打造更多应用,以借此
[家用电子]
功率变换应用中实现可扩展实时控制资源和可持续平台开发
如何在功率变换应用中实现可扩展的实时控制资源和可持续的平台开发 在不断需要更高性能和效率的实时功率变换领域,投身研究可扩展且可持续的工业和汽车类功率变换解决方案对设计人员来说至关重要。反过来,这种需求又对伺服驱动、电力输送、电网基础设施和车载充电应用中的实时控制系统提出了更高的要求,包括每秒百万条指令(MIPS)、脉宽调制器(PWM)和模数转换器(ADC)。同时,这也要求开发人员以一种简单且低风险的方式构建并维护其产品线。性能可扩展性和产品系列兼容性为开发人员扩展实时控制资源并长期维护功率变换解决方案平台提供了一种经济高效的方式。 通过分布式架构扩展实时控制资源 可再生能源的兴起推动光伏逆变器等应用的功率水平向更
[嵌入式]
功率变换应用中实现可扩展实时控制资源和可持续<font color='red'>平台</font><font color='red'>开发</font>
以ARM和DSP嵌入式系统为核心的实时仿真平台开发
引 言 一个大型的船舶轮机模拟器蕴含着30多个全物理过程的数学模型,涉及千余个实时参变量,通常采用功能分散的DCS网络来实现。即便如此,个别仿真工作站由于模型复杂、任务繁重,难以满足实时仿真的要求。 例如,动力推进系统的仿真是一个半实物在环的仿真系统,其中既有虚拟的动力装置即仿真计算机上运行的数学模型,又有真实的控制盘台、物理显示设备,是一种集实时控制和高速运算功能于一体的典型系统。 早期开发成功的SMSC2000型轮机模拟器采用工控机作为仿真计算机,所有数据的处理和输入输出的控制都经过它的数据采集卡来完成。推进系统仿真的精确度与实时性无法两全。近期航运仿真中心在开展多模式机舱仿真实验的同时,针对I/O点最多(200多个)、
[单片机]
以ARM和DSP嵌入式系统为核心的实时仿真<font color='red'>平台</font>的<font color='red'>开发</font>

推荐帖子

驱动为何会装载后马上卸载?
写了个USB转COM口的驱动,但是为何系统启动过程中装载完驱动就迅速卸载?打印信息,USBToCOM::ProcessAttachUSBToCOM::ProcessDetachsources文件RELEASETYPE=PLATFORMTARGETNAME=ucomTARGETTYPE=DYNLINKDLLENTRY=DllEntryDEFFILE=ucom.defSOURCES=\\ucom.c\\ucom.def文件LIBRARYUCOMEXP
shesay 嵌入式系统
web浏览器控件 问题(谢谢 急!)
我想用如下代码动态加载一个Web浏览器,并进入百度页面,可是只出现一个带滚动条的窗口,并没进入网页,而且对话框绘图的其它操作也停止了,不知是什么问题请高手指教用的是WTL开发。IWebBrowser2*WebBrowser;staticCAxWindowWinContainer;//这个是atl提供的com容器。。。HRESULThr=S_OK;VARIANTvarMyURL;RECTrc;rc.top=140;
bupt042761 嵌入式系统
MSP430程序库数码管显示
数码管也是单片机系统最常用的输出设备之一(还有液晶、发光二极管等)。七段(这里用的是8段,有小数点)数码管可以完成显示0-9数字和一部分的英文字符如:A、b。本文实现的程序完成显示数字和可显示的英文字符;同时完成数码管显示的printf函数的移植,以支持printf的格式化字符等好用的特点(我用的数码管8个排为一排,方便数字等的显示)。硬件介绍:这里所用到的硬件资源包括8个数码管、和msp430单片机的两个8位IO口(这里用的是P3和P5口,如有改变,可以通过宏定义更改)。
灞波儿奔 微控制器 MCU
低电平测量对测试夹具有何要求?
对用于低电平测量的测试夹具有几个重要的要求:*绝缘电阻:所有连接器、内部连线、端子和插座等的绝缘电阻都应当尽可能地高。一般地说,在高质量的测试夹具中,所有的连接器和插座都使用聚四氟乙烯绝缘材料。*屏蔽和保护:测试夹具应当对敏感的电路进行适当的屏蔽。在高阻抗测量时,应当采取措施将保护在离DUT尽可能近的地方连到测试夹具。*光:在测量光敏元件时,需要使用闭光的测试夹具。
Jack_ma 测试/测量
跳级负反馈分析
这个图由两个运放组合组成,话说不是级联啊,不要弄混了。先用单一运放的分析方法,我们看第一个运放作用,经过查看第一个运放3端口通过电阻接地,那么端口2有虚短虚断的道理来看是电势为0,由于6没有反抗给2信号,则前半部分似乎属于开环,实际上不是开环,因为从下一个运放反馈回来了,这个叫跳级反馈。因为不可能从第一个运放的6端口输出无穷大的,再看第二个运放,发现第二个运放构成串联分压负反馈,可知第二个运放的2和3电势相等。也就是该处应该为第二个运放输出的一半,且相位一致。实际上第一个运放是有反
gaoyang9992006 模拟电子
小体积的线性恒流芯片
有没有代替hi124x的,电流更大的,只是用来车把指示用的恒流芯片,三颗2835灯珠串联,每个灯珠额定功率1W,不是功率LED,这个电流太小了,我要500mA,但是元件不能多!板子很小,只有小指那么大。不能外置MOS,不要带电感。只是一个恒流芯片,不是DCDC芯片!!!有合适的芯片推荐一下,谢谢小体积的线性恒流芯片有没有代替hi124x的,电流更大的,只是用来车把指示用的恒流芯片,三颗2835灯珠串联,每个灯珠额定功率1W,不是功率LED,这个电流太小了,我要500mA,但是元件不
QWE4562009 电路观察室
小广播
最新测试测量文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved