



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、黄石理工学院学报基于VC6.0的USB型虚拟示波器设计与实现张坤 沈华东 尹念东(黄石理工学院机电工程学院,湖北 黄石 435003)摘 要:以8位A/D转换器TLC5510、逻辑控制芯片EPM7064、USB接口芯片AN2131QC为核心,以计算机系统为硬件平台,以Labwindows/CVI和VC为开发工具,设计并制作一种USB型虚拟示波器。系统由数据采集、数据分析处理、数据输出与显示三部分组成。关键词:虚拟示波器;Labwindows/CVI;USB;中图分类号:TM935.37 文献标识码:ADesign and Implementation of virtual oscillosco
2、pe with USB based on VC6.0Zhang Kun Yin Niandong Shen Huadong(School of Mechanical Engineering,Huangshi Institute of Technology,Huangshi Hubei 435003)Abstract:On the basis of 8-bit A / D converter TLC5510, logic control chip EPM7064, USB interface chip AN2131QC,a kind of virtual oscilloscope was des
3、igned and made. With the computer system hardware platform and Labwindows / CVI for instrument for the development, a USB-based virtual oscilloscope was designed and produced. The system consists of data acquisition, data processing, data output and display.Keywords:Virtual Oscilloscope;Labwindows;U
4、SB调理电路A/D转换FIFO缓冲USB接口PC处理与显示被测信号CPLD时序控制1引言虚拟仪器是利用现有的PC计算机、加上特殊设计的仪器硬件及专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。本文介绍一种基于USB总线接口技术,用Labwindows/CVI及Visual C+6.0编程的虚拟示波器试验系统。该系统集波形采集、数据分析、输出、显示为一体。2 系统总体框图1、 湖北省自然科学基金项目(编号2007ABA403)2、 湖北省重点学科“机械电子工程”资助项目3、 “虚拟试验技术”校级创新团队项目虚拟示波器系统主要由数据采集卡、计算机和专用软件组成,其中,
5、数据采集卡主要包括:信号调理电路、A/D转换模块、CPLD时序逻辑控制、FIFO缓冲、USB接口。系统的结构框图如图1。信号调理电路主要负责信号的滤波、放大和阻抗匹配;A/D模块主要对经过调理后的信号进行模/数转换实现信号数字化;CPLD时序控制主要为A/D转换和FIFO缓冲提供时序信号完成A/D转换和数据的存储;USB接口实现与PC间的通讯,把采集的数据送给PC处理和接收PC发来的控制信号进行相应的处理。图1 系统总体结构2.1系统硬件电路设计根据系统总体框图选择元器件。A/D转换选择美国德州仪器(TI)公司生产的位半闪速结构模数转换器TLC5510。CPLD选择ALTERA公司MAX700
6、0系列EPM7064 CPLD,具有高性能低功耗CMOS EEPROM技术、遵循PCI规范、内嵌JTAGBST电路、标准ISP特性、5ns pin to pin延时,最高频率175.4 MHz、I/O接口支持5V、3.3V和2.5V等多种电平的特点。USB接口选择Cypress公司的EZ-USB系列的AN2131QC,它支持12Mb/s的全速传输,可使用4种USB传输协议方式:控制传输、中断传输、块传输和同步传输,完全兼容USB1.1协议,AN2131QC主要包括USB收发器、Ancher Core、增强型8051、8KB RAM、2KB 的FIFO存储器、24个I/O口、8位数据总线、16位
7、总线和I2C接口。系统的电路如图2。该系统的主要技术指标:1A 、B 双通道工作模式 2+/- 10V 的双极性输入图2 系统硬件电路原理图3最高采样率为1MSPS450阻抗匹配3 USB驱动的设计3.1 WDM驱动程序的组成WDM(Windows Driver Mode,Windows驱动模型)基本组成包括以下5个例程。(1)驱动程序入口例程:处理驱动程序的初始化。(2)即插即用例程:处理PnP设备的添加、删除和停止。(3)分发例程:处理用户应用程序发出的各种I/O请求。(4)电源管理例程:处理电源管理请求。(5)卸载例程:处理驱动程序的卸载。 3.2 USB驱动的开发编写USB设备驱动程序
8、所需的开发环境,主要包括:DDK、BUILD工具和Visual C+开发环境设置。DDK是Microsoft公司提供的驱动程序开发包,它是开发驱动程序所必须的软件,在WindowsXP下使用的是WinXP DDK。在DDK安装完毕后,其文件下的bin目录下包含一些可执行文件,如Build.exe(用于创建驱动程)、Setenv.bat(用于设置驱动程序的构造环境)。Visual C+ 开发环境需要进行一些设置以使其能直接编译、连接设备驱动程序的源代码。主要是以下几个地方需要修改。(1)把DDK的bin目录添加到的可执行文件目录列表中。(2)创建一个Make file 项目,按表1 设置“Win
9、32 Release”选项,相应的设置“Win32 Debug”。表1 自由构造环境设置(Win32 Release)名称取值Build command lineDrvBuild%DDKPTH%d:d:usbdriver freeRebuild all options-nmake/aOutput file nameUsbdrive.sysBrowse info file nameObjchki386usbdriver.bsc(Win2000/XP)(3)选“BUILDCONFIGURATIONS”菜单,单击“ADD”按钮,在新窗口中的“CONFIGURATION”中设置输入配置名字: 分别为“
10、Free” 或“Checked”;其对应为“Copy setting from”分别为“xxx-Win32 Relesse”和“xxx-Win32 Debug”,然后把两个“xxx-Win32 Relesse”和“xxx-Win32 Debug”删除即可。USB设备驱动程序框架包含了驱动程序头文件、入口例程和卸载例程即插即用例程、电源管理例程、资源管理头文件、版本资源信息等。可以在此基础上添加自己所需的一些分发例程即可。也可采用Cypress公司提供的标准驱动程序来完成USB的驱动开发。在正确安装了USB驱动后可以在设备管理器中看到USB设备。上电复位初始化变量调用TD-Init()使用中断是
11、否接收到SETUP包延时1S,重举例调用TD-POLL()是否接收到SETUP包执行设备请求USB总线空闲标志是否有效挂起处理器调用TD-Resume ()调用TD-Suspend()YNYNNY4 系统软件设计 4.1 EZ-USB固件程序设计固件共包含8个程序文件:main.c、function.c、delayms.a51、decrptr.a51、jmptable.a51、testheader.h、testregs.h和testregsl.inc。其中,头文件testregs.h和testregs.inc对AN2131中的各种寄存器进行定义;testheader.h定义通用的EZ-USB常
12、量、数据类型和宏;dscrprt.a51定义系统所使用的各种USB描述符;delayms.a51中包含延时1ms子程序和芯片挂起处理子程序;jmptable.a51文件定义EZ-USB的INT2中断跳转表;main.c是固件运行的主程序文件,负责处理各种USB设备请求;function.c包含各种功能函数的定义,用于完成系统的主要功能,如处理USB同步传输等。main.c是固件运行的主程序文件,负责处理主机发出的各种USB设备请求。实现流程如下所示,该程序首先初始化所有的内部状态变量,然后调用TD_Init(以前缀”TD_”开头的函数均在function.c文件中定义)用户函数进行初始化,并打
13、开中断,最后固件程序开始列举USB设备,直至在端点上接收到SETUP令牌包时为止。一接收到SETUP令牌包,其将重复执行下面的任务分配过程。(1)调用函数TD_poll,以完成用户指定的任务。(2)判断是否有USB设备请求(SETUP令牌包)。如果有则调用parseControlTransfer函数进行相应的处理;如果没有,则继续向下执行。(3)检测USB总路线是否空闲。如果空闲,则调用程序TD_Suspend,以交由用户处理。在TD_Suspend返回真值后,它将调用EZUSB_Susp函数(在delayms.a51文件中定义),以使8051处于空闲状态。这时,只有USB总路线活动或芯片WA
14、KAEUP#管脚活动,才可能将8051重新激活。(4)8051被激活后,固件程序将首先调用EZUSB_Resume函数,以使用8051从空闲状态中恢复出来,然后再调用TD_Resume函数来处理用户指令。主程序流程图如图3。图3 主程序流程图4.2 Labwindows/CVI 人机界面设计人机界面主要功能是模拟传统示波器,实现波形显示,满足不同需要的分析功能以及对数据采集系统硬件的参数设定。采用 NI公司的虚拟仪器软件开发平台Labwindows/CVI可以充分发挥虚拟仪器的灵活性。LabWindows/CVI开发的应用程序如果要与 AN2131Q通过 USB接口通讯,必须另外开发连接 DL
15、L。应用程序调用连接DLL与AN2131Q通讯,取得AN2131Q上传的数据包后把数据包拆包,这样才能获得采样数据。因此,开发上层应用软件的首要工作是动态链接库的开发,动态链接库采用VC+6.0 进行开发。 PC端应用程序是虚拟示波器控制软件的最上层,虚拟示波器用户控制面板具有界面友好、操作直观等优点,通过面板上的各种控件便可实现数据的采集、存储、再现及分析等功能。人机界面如图4。图4 人机界面5 结束语随着 USB20标准的提出,USB的应用范围越来越广,已经涉及到几乎所有计算机外设。USB 的特点为解决当前虚拟仪器的一些问题提供了一个新思路。本文是将 USB接口引入虚拟仪器、仪表系统的一次探索性研究。参考文献1 李英伟.USB2.0原理与工程开发(第二版)M.北京:国防工业出版社,20072 王辉.MAX+pus和Quartus应用与开发技巧M.北京:机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医康复治疗技术试题库+参考答案
- 制作书本合同范本
- 中医诊所劳务合同范本
- 一本好书让我改变自己超越自己演讲稿
- 借款合同范本 质押
- 买卖制合同范本
- 一封家书范文30篇
- 《集结号》电影观后感范文
- 团队管理服务合同范本
- 公司承揽合同范本
- 2025年新闻部工作计划
- 合同 水电押金条款
- 开题报告:重大突发事件中大学生志愿服务行为的认知机制及引导策略研究
- 高效农业种植自动化解决方案
- 2023年工程质量监督人员考试真题模拟汇编(共957题)
- 2025中考英语作文19个热点话题及范文
- 基于人工智能的农产品追溯系统解决方案
- 铁路典型事故案例分析
- 米伊林《十万个为什么》导读课课件
- 五年(2020-2024)高考历史真题分类汇编(山东)专题12 世界殖民体系的形成、瓦解与亚非拉民族民主运动(原卷版)
- 《中外城市建设史》考试复习题库(附答案)
评论
0/150
提交评论