基于vc60的usb型虚拟示波器设计与实现Word格式.docx

上传人:b****1 文档编号:14985913 上传时间:2022-10-26 格式:DOCX 页数:6 大小:23.54KB
下载 相关 举报
基于vc60的usb型虚拟示波器设计与实现Word格式.docx_第1页
第1页 / 共6页
基于vc60的usb型虚拟示波器设计与实现Word格式.docx_第2页
第2页 / 共6页
基于vc60的usb型虚拟示波器设计与实现Word格式.docx_第3页
第3页 / 共6页
基于vc60的usb型虚拟示波器设计与实现Word格式.docx_第4页
第4页 / 共6页
基于vc60的usb型虚拟示波器设计与实现Word格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

基于vc60的usb型虚拟示波器设计与实现Word格式.docx

《基于vc60的usb型虚拟示波器设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《基于vc60的usb型虚拟示波器设计与实现Word格式.docx(6页珍藏版)》请在冰豆网上搜索。

基于vc60的usb型虚拟示波器设计与实现Word格式.docx

虚拟示波器;

Labwindows/CVI;

USB;

中图分类号:

TM935.37文献标识码:

ADesignandImplementationofvirtualoscilloscopewithUSBbasedonVC6.0ZhangKunYinNiandongShenHuadong(SchoolofMechanicalEngineering,HuangshiInstituteofTechnology,HuangshiHubei435003)Abstract:

Onthebasisof8-bitA/DconverterTLC5510,logiccontrolchipEPM7064,USBinterfacechipAN2131QC,akindofvirtualoscilloscopewasdesignedandmade.WiththecomputersystemhardwareplatformandLabwindows/CVIforinstrumentforthedevelopment,aUSB-basedvirtualoscilloscopewasdesignedandproduced.Thesystemconsistsofdataacquisition,dataprocessing,dataoutputanddisplay.Keywords:

VirtualOscilloscope;

Labwindows;

USB调理电路A/D转换FIFO缓冲USB接口PC处理与显示被测信号CPLD时序控制1引言虚拟仪器是利用现有的PC计算机、加上特殊设计的仪器硬件及专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的新型仪器。

本文介绍一种基于USB总线接口技术,用Labwindows/CVI及VisualC++6.0编程的虚拟示波器试验系统。

该系统集波形采集、数据分析、输出、显示为一体。

2系统总体框图1、湖北省自然科学基金项目(编号2007ABA403)2、湖北省重点学科“机械电子工程”资助项目3、“虚拟试验技术”校级创新团队项目虚拟示波器系统主要由数据采集卡、计算机和专用软件组成,其中,数据采集卡主要包括:

信号调理电路、A/D转换模块、CPLD时序逻辑控制、FIFO缓冲、USB接口。

系统的结构框图如图1。

信号调理电路主要负责信号的滤波、放大和阻抗匹配;

A/D模块主要对经过调理后的信号进行模/数转换实现信号数字化;

CPLD时序控制主要为A/D转换和FIFO缓冲提供时序信号完成A/D转换和数据的存储;

USB接口实现与PC间的通讯,把采集的数据送给PC处理和接收PC发来的控制信号进行相应的处理。

图1系统总体结构2.1系统硬件电路设计根据系统总体框图选择元器件。

A/D转换选择美国德州仪器(TI)公司生产的8位半闪速结构模数转换器TLC5510。

CPLD选择ALTERA公司MAX7000系列EPM7064CPLD,具有高性能低功耗CMOSEEPROM技术、遵循PCI规范、内嵌JTAGBST电路、标准ISP特性、5–nspintopin延时,最高频率175.4MHz、I/O接口支持5V、3.3V和2.5V等多种电平的特点。

USB接口选择Cypress公司的EZ-USB系列的AN2131QC,它支持12Mb/s的全速传输,可使用4种USB传输协议方式:

控制传输、中断传输、块传输和同步传输,完全兼容USB1.1协议,AN2131QC主要包括USB收发器、AncherCore、增强型8051、8KBRAM、2KB的FIFO存储器、24个I/O口、8位数据总线、16位总线和I2C接口。

系统的电路如图2。

该系统的主要技术指标:

1.A、B双通道工作模式2.+/-10V的双极性输入图2系统硬件电路原理图3.最高采样率为1MSPS4.50Ω阻抗匹配3USB驱动的设计3.1WDM驱动程序的组成WDM(WindowsDriverMode,Windows驱动模型)基本组成包括以下5个例程。

(1)驱动程序入口例程:

处理驱动程序的初始化。

(2)即插即用例程:

处理PnP设备的添加、删除和停止。

(3)分发例程:

处理用户应用程序发出的各种I/O请求。

(4)电源管理例程:

处理电源管理请求。

(5)卸载例程:

处理驱动程序的卸载。

3.2USB驱动的开发编写USB设备驱动程序所需的开发环境,主要包括:

DDK、BUILD工具和VisualC++开发环境设置。

DDK是Microsoft公司提供的驱动程序开发包,它是开发驱动程序所必须的软件,在WindowsXP下使用的是WinXPDDK。

在DDK安装完毕后,其文件下的bin目录下包含一些可执行文件,如Build.exe(用于创建驱动程)、Setenv.bat(用于设置驱动程序的构造环境)。

VisualC++开发环境需要进行一些设置以使其能直接编译、连接设备驱动程序的源代码。

主要是以下几个地方需要修改。

(1)把DDK的bin目录添加到的可执行文件目录列表中。

(2)创建一个Makefile项目,按表1设置“Win32Release”选项,相应的设置“Win32Debug”。

表1自由构造环境设置(Win32Release)名称取值BuildcommandlineDrvBuild%DDKPTH%d:

d:

\usbdriverfreeRebuildalloptions-nmake/aOutputfilenameUsbdrive.sysBrowseinfofilenameObjchk\i386\usbdriver.bsc(Win2000/XP)(3)选“BUILD\CONFIGURATIONS”菜单,单击“ADD”按钮,在新窗口中的“CONFIGURATION”中设置输入配置名字:

分别为“Free”或“Checked”;

其对应为“Copysettingfrom”分别为“xxx-Win32Relesse”和“xxx-Win32Debug”,然后把两个“xxx-Win32Relesse”和“xxx-Win32Debug”删除即可。

USB设备驱动程序框架包含了驱动程序头文件、入口例程和卸载例程即插即用例程、电源管理例程、资源管理头文件、版本资源信息等。

可以在此基础上添加自己所需的一些分发例程即可。

也可采用Cypress公司提供的标准驱动程序来完成USB的驱动开发。

在正确安装了USB驱动后可以在设备管理器中看到USB设备。

上电复位初始化变量调用TD-Init()使用中断是否接收到SETUP包延时1S,重举例调用TD-POLL()是否接收到SETUP包执行设备请求USB总线空闲标志是否有效挂起处理器调用TD-Resume()调用TD-Suspend()YNYNNY4系统软件设计4.1EZ-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常量、数据类型和宏;

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文件中定义)用户函数进行初始化,并打开中断,最后固件程序开始列举USB设备,直至在端点0上接收到SETUP令牌包时为止。

一接收到SETUP令牌包,其将重复执行下面的任务分配过程。

(1)调用函数TD_poll,以完成用户指定的任务。

(2)判断是否有USB设备请求(SETUP令牌包)。

如果有则调用parseControlTransfer函数进行相应的处理;

如果没有,则继续向下执行。

(3)检测USB总路线是否空闲。

如果空闲,则调用程序TD_Suspe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1