LabVIEW实时数据采集系统的USB210接口实现3
- 格式:pdf
- 大小:133.05 KB
- 文档页数:3
Lab V I E W实时数据采集系统的US B210接口实现3曾水生,谢 云,易 波,张忠波(广东工业大学自动化学院,广州510090)摘要:介绍了一种基于US B210实现的Lab V I E W高速数据采集系统,讨论了US B控制器EZ-US B FX2CY7C68013的性能及传输方式,给出了该系统的硬件和基于GP I F主控方式实现数据传输的软件设计方法。
关键词:US B;Lab V I E W;数据采集;GP I F中图分类号:TP39 文献标识码:A 文章编号:1001-3881(2005)5-089-3I m plem en t a ti on of USB210I n terface of LabV I E W Rea l-ti m e Da t a Collecti on SystemZENG Shui2sheng,X I E Yun,YIBo,ZHANG Zhong2bo(School of Aut omatizati on,Guangdong University of Science and Technol ogy,Guangzhou510090,China) Abstract:A Lab V I E W real-ti m e high s peed data collecti on syste m based on US B210interface was intr oduced,and the per2 for mance and the transfer functi on of US B contr oller EZ-US B FX2CY7C68013were discussed1The s oft w are design method which re2 alizes data collecti on based on GP I F and the hard ware design method were p resented1Keywords:US B;Lab V I E W;Data collecti on;GP I F0 引言LabV IE W是美国国家仪器(N I)公司开发的一种基于图形程序的虚拟仪表编程语言,在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。
LabV IE W程序称为虚拟仪器程序(简称V I),Lab V I E W的强大功能在于层次化结构,用户可以把创建的V I程序当作子程序调用,以创建更复杂的程序,而且,调用阶数可以是任意的。
LabV IE W这种创建和调用子程序的方法使创建的程序模块化,易于调试、理解和维护[1]。
LabV IE W虽有接口卡的驱动和管理程序,但主要是针对N I公司自己生产的卡。
对于普通的I/O卡,可以用PORTI N和P ORT OUT功能,但此法应用简单,无法实现较复杂的接口功能;也可以采用动态链接库,根据具体需要编写适当的程序,灵活利用Lab2 V I E W的各项功能。
用户可以自己编写DLLS实现LabV I E W与硬件的链接[2]。
用VC++610编制动态链接库,首先生成DLL框架,Appwizard将自动生成项目文件,但不产生任何代码,所有代码均需用户自己键入。
通用串行总线(Universal Serial Bus,简称US B)是1995年康柏、微软、I B M、DEC等公司,为了解决传统总线的不足而推出的一种新型串行通信标准。
该总线接口具有方便安装、高带宽、易扩展等优点。
US B的另一大优点是可以总线供电,在数据采集设备中耗电量通常不大,因此可以设计成总线供电。
US B 的规范能针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件及相应不同的功能,从而给使用带来极大方便。
本文介绍LabV I E W高速数据采集系统的US B210接口实现方法。
1 系统结构设计本数据采集系统的硬件结构如图1所示。
其中,数据采集卡是硬件部分的核心,它包括多路模拟开关、信号调理、A/D转换器、微控制器、数据存储器、US B通信接口等。
LabV I E W在PC机上,为用户提供一个虚拟操作平台。
该平台有友好的界面、强大的数据分析和处理能力以及提供给用户进行再开发的接口。
图1 系统结构框图在微控制器和US B接口的选择上有两种方式:一种是采用普通单片机加上专用的US B通信芯片;另一种是采用具备US B通信功能的单片机。
本文采用后者,用US B210集成微控制器EZ-US B FX2[3]实现本系统的接口通信功能。
2 接口电路的硬件设计由于数据采集接口卡是硬件部分的核心,因此应选择能适用US B协议的合适芯片。
EZ-US B FX2 CY7C68013是一种US B210集成微控制器。
它的内部集成了US B210收发器、串行接口引擎(SI E)、增强3基金项目:广东茂名市科技基金资助项目(MM200206)的8051微控制器和一个可编程的串行接口。
其主要特性如下:(1)加强的8051内核性能,可达标准8051的5~10倍,且与标准8051的指令完全兼容;(2)集成度高,芯片内部集成有微处理器、RAM 、SI E (串行接口引擎)等多个功能模块;(3)采用软配置,在外设未通过US B 接口接到PC 机之前,外设上的固件存储在PC 上;而一旦外设连接到PC 机上,PC 则先询问外设是“谁”(即读设备描述符),然后将该外设的固件下载到芯片的RAM 中,这个过程叫做再枚举。
这样,在开发过程中,当固件需要修改时,可以先在PC 机上修改好,然后再下载到芯片中;(4)具有易用的软件开发工具,其驱动程序和固件的开发和调试相互独立。
FX2有三种可用的接口模式:端口、GP I F 主控和从F IFO 。
在“端口”模式下,所有I/O 引脚都可作为8051的通用I/O 口。
在“从F I FO ”模式下,外部逻辑或外部处理器直接与FX2端点F I FO 相连。
在这种模式下,GP IF 不被激活,因为外部逻辑可直接控制F IF O 。
这种模式下,外部主控端既可以是异步方式,也可以是同步方式,并可以为FX2接口提供自己的独立时钟。
“GP IF 主控”接口模式使用PORT B 和PORT D 构成通向四个FX2端点F I FO (EP2、EP4、EP6和EP8)的16位数据接口。
GP I F 作为内部的主控制器与F IFO 直接相连,并产生用户可编程的控制信号与图2 US B 接口示意图外部接口进行通信。
同时,GP I F 还可以通过RDY 引脚采样外部信号并等待外部事件。
由于GP I F 的运行速度比F IFO 快得多,因此其时序信号具有很高的编程分辨率。
另外,GP I F 既可以使用内部时钟,也可以使用外部时钟。
故此,笔者选择了GP I F 模式。
本系统采用CPLD 产生同步时钟信号提供给ADC 和FX2,CP LD 同时还产生不同的控制信号,对采样进行实时控制。
图2所示是其整个US B 接口卡的硬件电路图。
3 系统软件设计一个US B 设备的软件一般包括主机的驱动程序、应用程序和写进ROM 里面的设备固件(Fir mware )。
本文主要介绍US B 设备固件、设备驱动程序的设计。
311 设备固件(Fir mware )设计设备固件是设备运行的核心,可采用汇编语言或C 语言设计。
其主要功能是控制CY7C68013接收并处理US B 驱动程序的请求(如请求设备描述符、请求或设置设备状态、请求或设置设备接口等US B210标准请求)、控制芯片CY7C68013接收应用程序的控制指令、控制A /D 模块的数据采集、通过CY7C68013缓存数据并实时上传至PC 等。
固件架构流程如图3所示。
图3 固件架构流程图312 US B 设备驱动程序设计US B 系统驱动程序采用分层结构模型[4],其分别为较高级的函数驱动程序和较低级的总线驱动程序。
总线驱动程序包括:根集线器驱动程序(Root -hub D river );总线类别驱动程序(Bus -class D river );主机控制器驱动程序(Host -contr oller D river )。
在上述US B 分层模块中,US B 函数层(US BD 及HCD )由W indows 提供,负责管理US B 设备驱动程序和US B 控制器之间的通信;加载及卸载US B 驱动程序;与US B 设备通用端点(Endpoint )建立通信并执行设备配置、数据与US B 协议框架和打包格式的双向转换任务。
目前W indows 提供有多种US B 设备驱动程序,但并不针对实时数据采集设备,因此需采用DDK 开发工具来设计专用的US B 设备驱动程序。
该设备驱动程序应由初始化模块、即插即用管理模块、电源管理模块以及I/O 功能等四个模块来实现。
初始化模块可提供一个D riverEntry 入口点以执行大量的初始化函数。
即插即用管理模块用来实现US B 设备的热插拔及动态配置。
当硬件检测到US B 设备接入时,W in 2dows 查找相应的驱动程序,并调用它的D riverEntry 例程,同时告诉它添加一个设备;然后驱动程序为US B 设备建立一个FDO (功能设备对象)。
在此处理过程中,驱动程序收到一个I RP MN ST ART DEV I CE 的I RP,在它之中包括有设备的资源信息。
至此,设备被正确配置,驱动程序开始与硬件进行对话。
当然,在设备运行过程中,如果设备状态发生变化(如拔除、暂停等),PnP 管理器也同样发出相应的I RP,以便由驱动程序进行相应的处理。
电源管理模块负责设备的挂起与唤醒。
I/O 功能实现模块可完成I/O 请求的大部分工作。
当应用程序提出I/O 请求时,它将调用W in32AP I 函数Device I oContr ol 向设备发出命令,然后由I/O 管理器构造一个I RP 并设置其MajorFunction 1域为I RP MJ DEV I CE CONTROL 。
在US B 设备驱动程序收到该I RP 后,它将取出其中的控制码,并利用一个开关语句查找对应的程序入口。
4 结束语本系统硬件、软件均以调试通过,并且已经应用在工业虚拟测控系统中,运行良好。
实验证明,该系统是可靠的,可广泛应用在数据采集、自动控制、通讯等各个领域。
参考文献【1】扬乐平,李海涛等1Lab V I E W 程序设计与运用1电子工业出版社,2001:15~191【2】扬乐平,李海涛等1Lab V I E W 高级程序设计1清华大学出版社,2003:145~1531【3】许永和1US B 外围设备设计与应用1北京航空航天大学出版社,2002:109~1661【4】萧世文1US B210硬件设计1清华大学出版社,2002:159~1851收稿时间:2004-03-05。