基于FPGA的USB虚拟示波器设计_第1页
基于FPGA的USB虚拟示波器设计_第2页
基于FPGA的USB虚拟示波器设计_第3页
基于FPGA的USB虚拟示波器设计_第4页
基于FPGA的USB虚拟示波器设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业论文(设计)学院: 电子信息工程学院 专业: 通信工程 年级:2006级 题目: 基于FPGA的USB虚拟示波器设计 学生姓名: 学号: 指导教师姓名: 职称: 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日目 录摘要1Abstract11引言21.1虚拟仪器的发展现状与前景21.2 USB总线技术发展现状与前景21.3 FPGA的发展现状与前景32系统总体设计52.1信号调理和A/D采样模块52.1.1阻抗

2、匹配和程控放大电路62.1.2 A/D转换器62.2FPGA控制模块72.2.1时基控制器82.2.2比例控制器92.2.3 USB控制器102.3 USB通信模块112.4上位机显示操作模块143 总结16致 谢17参考文献17基于FPGA的USB虚拟示波器设计摘要:传统的示波器虽然功能齐全,但是体积大、重量重、成本高等一系列问题使其应用受到了限制。有鉴于此,本文设计了基于FPGA的USB虚拟示波器。它以FPGA芯片为核心,辅以必要的外围电路(包括信号调理、A/D转换),利用Verilog HDL语言编程实现了对USB芯片CY7C68013A的控制,垂直灵敏度和水平灵敏度的挡位设置等操作。通

3、过USB将数据上传到VC6.0编写的上位机软件,实现了简单的示波器操作和显示功能。关键词:虚拟示波器;FPGA;USB2.0FPGA and the USB-based virtual oscilloscopeAbstract: The traditional oscilloscope is full-featured, and bulky, heavy, high cost make applications limited. In view of this, the paper designed FPGA-based USB virtual oscilloscope. FPGA chip

4、is the core in the system, which was supplemented with the necessary peripherals, such as signal conditioning, A / D converter. Verilog HDL language was used for USB control of the vertical sensitivity and horizontal sensitivity setting. The data was transferred to the PC over USB; the system softwa

5、re was developed on VC6.0 platform and realizes a simple operation and waveform display.Key words: Virtual Oscilloscope; FPGA; USB2.01引言1.1虚拟仪器的发展现状与前景虚拟仪器的概念是1986年由美国国家仪器公司(以下简NI公司)首先提出的。所谓虚拟仪器就是利用现有的计算机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的高档低价的新型仪器。它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;还可集

6、成于自动控制、工业控制系统,可自由构建成专有仪器系统。虚拟仪器系统可以广泛地应用在通讯、自动化、半导体、航空、电子、电力、生化制药、和工业生产等各种领域。无论哪种虚拟仪器系统,都是将仪器硬件搭载到笔记本电脑、台式PC或工作站等各种计算机平台(甚至,可一以是掌上电脑)加上应用软件而构成的。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。与传统仪器相比,虚拟仪器的特点在于:(1)打破了传统仪器的“万能”功能概念,将信号的分析、显示、存储、打印

7、和其它管理集中交由计算机来处理。由于充分利用计算机技术,完善了数据的传输、交换等性能,使得组建系统变得更加灵活、简单。(2)强调“软件就是仪器”的新概念,软件在仪器中充当了以往由硬件甚至整机实现的角色。由于减少了许多随时间可能漂移、需要定期校准的分立式模拟硬件,加上标准化总线的使用,使系统的测量精度、测量速度和可重复性都大大提高。(3)仪器由用户自己定义,系统的功能、规模等均可通过软件修改、增减,可方便地同外设、网络及其它应用设备连接。虚拟仪器通过提供给用户组建自己仪器的可重用源代码库,处理模块间通讯、定时、触发等功能,强调在通用计算机平台的基础上,通过软件和软面板,把由厂家定义的传统仪器转变

8、为由用户定义的,由计算机软件和几种模块组成的专用仪器。虚拟仪器的出现,彻底打破了传统仪器由厂家定义、用户无法改变的模式,给了用户一个充分发挥自己能力和想象力的空间。(4)鉴于虚拟仪器的开放性和功能软件的模块化,用户可以将仪器的设计、使用和管理统一到虚拟仪器标准,使资源的可重复利用率提高,系统组建时间缩短,功能易于扩展,管理规范,使用简便,软、硬件生产、维护和开发的费用降低。虚拟仪器既可以作为单台数字式测试仪器使用,又可以构成较为复杂的测试系统,甚至通过高速计算机网络构成分布式测试系统,进行远程监控及故障诊断。此外,用基于软件体系结构的虚拟仪器系统代替基于硬件体系结构的传统仪器,还可以大大节省仪

9、器购买、维护费用1。1.2 USB总线技术发展现状与前景当今的计算机外部设备,都在追求高速度和高通用性。为了满足用户的需求,以Intel为主,并由Compaq,Hewlett,Paekard,Intel,Lueent,Microsoft,NEC和philips这7家厂商共同制定了串行接口USB总线协议,于1994年11月制定了第一个草案,1996年2月公布USB规范版本1.0。2000年4月发布USB2.0标准规范。USB总线协议支持最多5个Hub级联,可把多达127个外设同时连接到你的系统上,所有的外设通过协议来共享USB总线的带宽。目前,USB端口己成为了微机主板的标准端口,使用中的USB

10、协议有1.0,1.1和2.0三个版本,通信速率分别为1.5Mbps,12Mbps,480Mbps,USB协议向下兼容。此外在USB2.0协议中提出了USB OTG (on the go)的概念,为USB的嵌入式控制提供了广阔的前景。USB OTG技术解决了以往USB设备不能脱离PC机而运行的矛盾,使得嵌入式设备能与USB设备直接进行点对点通讯。USB总线主要的优点是速度快、功耗低、支持即插即用(Plug&Plya)和使用维护方便。USB2.0将设备之间的数据传输速度增加到了480Mbps,是USB1.1标准的40倍。USB2.0可以使用原来USB定义中同样规格的线缆,接头的规格也完全相同。而且

11、新的符合USB2.0规格的设备不会和USB1.X设备在共同使用的时候发生任何冲突。新的VIA芯片组和则TEL,AMD,515,ALI都已经在新产品中加入了对USB2.0的支持。软件方面,Windows98全面提供了对USB1.x的支持,而WindowsXP全面提供了对USB2.0的支持。在LNIUX,MACOS,BEOS,WindowsCE等操作系统中,对USB2.0都有了相关的软件支持或者系统程序包。随着USB总线技术在计算机外设中的广泛应用,以USB OTG为背景的嵌入式USB应用也被提到议事日程上来了。USB OTG技术解决了USB总线技术在嵌入式环境中应用时点对点通讯的问题。现在Cyp

12、ress,Philips,NEC等公司都推出了很成熟的USB OTG芯片组,USB OTG技术将很快普遍应用起来2。1.3 FPGA的发展现状与前景PLD是可编程逻辑器件(Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。PLD是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的7

13、4系列门电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。 PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。开发PLD需要了解两个部分,PLD/FPGA开发软件和PLD/FPGA本身。PLD/FPGA开发软件已经发展的相当完善,用户甚至可

14、以不用详细了解PLD的内部结构,也可以用自己熟悉的方法:如原理图输入或HDL语言来完成相当优秀的PLD设计。PLD/FPGA的开发软件包括Altera公司的 QuartusII 、Xilinx 公司的ISE WebPack、Lattice 公司的isplever Base。对于PLD产品,一般分为:基于乘积项(Product-Term)技术,EEPROM(或Flash)工艺的中小规模PLD,以及基于查找表(Look-Up table)技术,SRAM工艺的大规模PLD/FPGA。EEPROM工艺的PLD密度小,多用于5,000门以下的小规模设计,适合做复杂的组合逻辑,如译码。SRAM工艺的PLD

15、(FPGA),密度高,触发器多,多用于10,000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。电子设计自动化(EDA)的实现是与CPLD/FPGA技术的迅速发展息息相关的。CPLD/FPGA是80年代中后期出现的,其特点是具有用户可编程的特性。利用PLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现系统的集成,从而大大缩短了产品开发、上市的时间,降低了开发成本。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可象软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。自198

16、5年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了十几年的发展历史。在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至当新世纪来临之即,国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。纵观现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根本在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少

17、、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入片上可编程系统(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。以FPGA为代表的数字系统现场集成技术发展的一些新动向,归纳起来有以下几点:一、深亚微米技术的发展正在推动了片上系统(SOPC)的发展。二、芯片朝着高密度、低压、低功

18、耗的方向挺进,力求在大规模应用中取代ASIC。三、IP库的发展及其作用。四、FPGA动态可重构技术意义深远,将带来系统设计方法的转变3。2系统总体设计本节将把“基于FPGA的USB虚拟示波器”分成四个功能模块:1、信号调理和A/D采样模块;2、FPGA控制模块;3、USB通信模块;4、上位机显示模块。“基于FPGA的USB虚拟示波器”系统框图如图1:图1 系统框图信号经过信号调理模块,放大或缩小到需要的电压范围,转换为需要的信号模式,在A/D采样模块转换为数字信号。FPGA控制模块按照接收到的命令给出比例控制信号和时基控制信号控制模拟前端,并且作为USB通信模块的主机,控制数据的上传。USB通

19、信模块一方面下传上位机的设置命令,一方面上传采集到的数据信号。上位机显示操作模块负责提供友好的界面,显示数据波形,修改控制参数。2.1信号调理和A/D采样模块信号调理和A/D采样模块框图如图2:图2 信号调理和A/D采样模块框图为了扩大输入信号的范围,使输入信号满足A/D转换器和显示的需求,信号调理模块采用先衰减10倍后程控放大的方法。程控放大的增益采用PWM信号经过低通滤波产生的有效电压控制。A/D转换速率由时基信号控制4。2.1.1阻抗匹配和程控放大电路阻抗匹配和程控放大电路的电路图如图3图3 阻抗匹配和程控放大电路本模块采用两级程控放大器AD603,实现了增益在指定范围类可调。此外,实现

20、上由于AD603的输入电阻的典型值只有100,所以特别加了一级电压跟随器作为阻抗匹配电路。在增益控制端口上加上范围在0V 2V的电压,就可以控制增益。此电压值由FPGA产生的PWM信号经过低通滤波器产生,具体的占空比由实验调试而来。2.1.2 A/D转换器本模块A/D的采用TI公司的ADS830。其最高采样率为60MHz,完全可以满足本次设计10MHz采样率的要求,并且为以后采样速率要求的扩展留下了空间。ADS830的时序图如图4:图4 ADS830时序图2.2FPGA控制模块FPGA控制模块结构框图如图5:图5 FPGA控制模块结构框图此模块总体上分为4个部分:1、时基控制器,根据USB通信

21、模块传来的命令产生特定频率的时钟信号,此信号一方面控制外部的A/D转换器,调节采样率,另一方面提供给地址发生器,控制AD数据的存储;2、比例控制器,根据USB通信模块传来的命令产生特定占空比的PWM信号,调节信号调理模块程控放大器的增益;3、存储器,由一个双口RAM构成,一方面存入AD数据,另一方面为USB通信模块提供上传的数据;4、USB写控制器,判断RAM和USB的FIFO中数据的空或满的情况,根据一定的时序将RAM中的数据写入USB的FIFO中,实现数据的上传。2.2.1时基控制器时基控制器的电路图如图6:图6时基控制器的电路图此模块由一个分频器和一个多路选择器组成。FPGA的外部时钟为

22、50MHz,按照需求将50MHz分频为16个不同的频率,每个频率对应一个特定的采样率。根据USB通信模块传来的命令,由多路选择器选择使用哪一个采样率,从而实现采样时基的选择(水平灵敏度的调节)5。其中奇数分频器的实现代码如下:module FiveFP (i_clk, o_clk);input i_clk;output o_clk;wire i_clk;wire o_clk;parameter N = 5; / 设置奇数(除1外)倍分频parameter M = (N-1)/2; / M=N/2 reg 2:0 cnt_p; / 上升沿计数单位reg 2:0 cnt_n; / 下降沿计数单位r

23、eg clk_p; / 上升沿时钟reg clk_n; / 下降沿时钟assign o_clk = clk_n & clk_p; / 按位与(作用:掩码)/ 上升沿计数器: 0(N-1)always (posedge i_clk)begin if (cnt_p = 4) cnt_p = 0; else cnt_p 1) - 1; (N/2)+1)(N-1) - 0always (posedge i_clk)begin if (cnt_p = 2) / 0 (N/2)clk_p = 1; else clk_p = 0;end/ 下降沿计数器: 0(N-1)always (negedge i_cl

24、k)begin if (cnt_n = 4) cnt_n = 0; else cnt_n 1) - 1; (N/2)+1)(N-1) - 0always (negedge i_clk)begin if (cnt_n = 2) / 0 (N/2) clk_n = 1; else clk_n = 0;endendmodule2.2.2比例控制器此模块也是由一个分频器和一个多路选择器组成,所不同的是产生一个周期固定,占空比不同PWM信号。此信号经过低通滤波器得到不同有效值的电压,来控制程模拟前端控放大器的增益,实现上位机的垂直灵敏度的调节。2.2.3 USB控制器此模块控制USB通信模块的数据上传的

25、操作。USB通信模块采用Cypress公司的CY7C68013A。CY7C68013A有三种可用的接口模式:端口、GPIF主控和从属FIFO,本次采用的是从属FIFO模式。在这里只应用FIFO的异步写操作,此模式下外部主机和USB通信模块的引脚连接如图7:图7 FIFO模式引脚连接图此处的外部主机为FPGA,数据线选用FD15:0的低8位FD7:0,USB控制器中的主要部分就是对USB通信模块的异步写操作。异步写操作的时序图如图8图8 FIFO模式异步写操作时序图为了把数据连续的写入USB通信模块的FIFO,要在FPGA里面实现一个状态机,此状态机的状态图如图9图9 FIFO模式异步写操作状态

26、机的状态图状态0:停止状态。当写事件发生,转到状态1;状态1:设置FIFOADR1:0为高电平(设置的时间保持到IFCLK的上升沿),选定要写入数据的目标FIFO,转到状态2;状态2:如果USB通信模块的FIFO的FULL标志无效 (当前FIFO没有写满),转到状态3,否则停留在状态2状态3:写数据到FD7:0,使SLWR有效(设置的时间保持到IFCLK的上升沿),使SLWR无效,转到状态4;状态4:如果还有数据要上传,转到状态2,否则转到状态06;2.3 USB通信模块此模块有两方面的作用。一方面上位机的命令码下传,采用USB协议中的控制传输,在固件程序中响应命令码,执行相应的操作,发命令给

27、FPGA控制模块;另一方面FPGA中的数据上传,采样USB协议中的块传输,在固件程序中将USB通信模块CY7C68013A配置为Slave FIFO模式,使数据传输脱离内部CPU的干涉,提高数据传输的速度。CY7C68013A配置成Slave FIFO模式的固件代码如下7:void TD_Init(void) / Called once at startupBREAKPT &= bmBPEN; / to see BKPT LED go out TGE Rwuen = TRUE; / Enable remote-wakeup / set the CPU clock to 48MHz CPUCS

28、= (CPUCS & bmCLKSPD0) | bmCLKSPD1) ; IFCONFIG = 0xCB; SYNCDELAY; REVCTL = 0x03; SYNCDELAY; EP2CFG = 0xE8;/端点2,IN 端点,块传输,1024字节,4重缓冲 SYNCDELAY; FIFORESET = 0x80;/不应答主机请求 SYNCDELAY; FIFORESET = 0x02;/复位端点 2 4 6 8 SYNCDELAY; FIFORESET = 0x04; SYNCDELAY; FIFORESET = 0x06; SYNCDELAY; FIFORESET = 0x08; SY

29、NCDELAY; FIFORESET = 0x00; SYNCDELAY; EP2FIFOCFG = 0x0C;/autoIN,8位,PKTEND时若空 ,则发空包 PINFLAGSAB = 0x00; SYNCDELAY; PINFLAGSCD = 0x00;SYNCDELAY;PORTACFG = 0x00;SYNCDELAY;FIFOPINPOLAR = 0x00; SYNCDELAY;EP2AUTOINLENH = 0x04;/自动IN的长度为1024 BytesSYNCDELAY;EP2AUTOINLENL = 0x00; / enable dual autopointer feat

30、ure AUTOPTRSETUP |= 0x01; USB通信模块采用Cypress公司的CY7C68013A,其结构图如图10:图10 CY7C68013A的内部结构图CY7C68013A-56内部集成了1个增强型的8051、1个智能USB串行接口引擎、1个USB数据收发器、3个8位I/O口、8 . 5 kB RAM和4 kB F IFO等。增强性 8051内核完全与标准 8051兼容,而性能可达到标准 8051的 4倍以上。CY7C68013A芯片在数据传输时主要利用了端点,CY7C68013A有7个端点: EP0 I N&OUT、EP1 I N、EP1OUT、EP2、EP4、EP6和EP

31、8。其中EP0、EP1 I N和EP1OUT是3个64 B的缓存,只能被固件访问,EP0是一个默认的数据输入输出端口缓存;EP1 I N和 EP1OUT是单独的64 B缓存 ,可以配置这些端点为块传输、中断传输或同步传输;端点2、4、6、8是大容量高带宽的数据传输端点,可以配置为各种带宽以满足实际需要。值得注意的是,端点 4、8能配置为每帧512 B,而端点 2、6却能配置为每帧512B或1024B,并可配置为 2、3、4级,这样EP2或EP6最大能配置为4 kB的缓存。FIFO缓存配置图如图11:图11 FIFO缓存配置图本设计中选用EP2,并且采用4级缓存,每级1024字节。CY7C680

32、13A所属的EZ-USB系列芯片提供了一种独持架构,使 USB接口和应用环境直接共享FIFO,而内嵌的增强型8051微控制器可不参与数据传输,但允许以FIFO或 RAM的方式访问这些共享FIFO,这种被称之为“量子FIFO”的处理架构,较好地解决了USB高速模式的带宽问题。其在内部的传输控制是通过full (满)和empty(空)两个控制信号来完成的,当full为真时不能再写数据,当empty为真时不能再对FIFO进行读,其内部数据传输示意图如图 12所示:图12内部数据传输示意图USB执行IN传输,将 EP2端点设成1024B的四重FIFO。在USB端和外部接口端都不知道有四重FIFO。FP

33、GA端只要有1个FIFO为“半满” 就可以继续写入数据。当操作的FIFO写“满”时,CY7C68013A将其转移到USB接口端,排队等候读取;并将USB接口队列中下一个为“空”的FIFO转移到FPGA接口上,供其继续写数据。USB接口端与此类似,只要有 1个FIFO为“半空”,就可以继续读取数据。当前操作的FIFO读“空”时,CY7C68013A自动将其转换到FPGA接口端,排队等候写入;并将FPGA接口队列中下一个为“满”的FIFO转移到USB接口上,供其继续读出。2.4上位机显示操作模块上位机显示界面如图13:图13上位机显示界面上位机程序采用MFC编写,加入了扩展库BCGControlB

34、ar。BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些类似于Microsoft Office 2000/XP/2003和Microsoft Visual Studio.NET的应用程序(用户工具栏、菜单、键盘等等)。BCGControlBar库包含了大约150多个经过精心设计,测试和具有完备文档的MFC扩展类。这些都可以很容易的应用于您的应用程序,节省大量的开发和调试时间。BCGControlBar专业版的扩展库,包含了大量高级界面,比如,可分离的表窗口,自动隐藏窗体,托拽的时候能够显示贴靠控件和工具栏的内容,新增帖靠算法(类似于在Microsoft Vi

35、sual Studio.NET环境和Microsoft Visio中引入的算法),具有可分离的快捷栏,制表工具栏,语法检验和IntelliSense-style支持的文本控件,完全的平面视觉等等。大部分新的系统特性都是由库的内核自动激活和管理的。本次设计的上位机软件主要分为3个模块:属性控制模块;图形界面模块;USB通信模块。右边的属性控模块的设计采用BCGControlBar中的属性列表类CBCGPPropList完成了通道使能,垂直灵敏度调整,水平灵敏度调整等人机接口。通过鼠标在下拉框中选中要设置的参数值,CBCGPPropList类的对象将完成两件事情:一方面调用USB通信部分,将改变了

36、的数据参数以命令的形式发送到下位机;另一方面发送一个自定义的消息给图形界面部分,在这个消息中将改变了的属性值作为参数传递,使图形界面部分的图形显示按照特定的要求改变。左边的的图形界面部分完成波形曲线、当前通道状态、当前水平灵敏度和当前垂直灵敏度的显示功能。为了使波形能够在物理显示器上得到较好的显示效果,视图中间的波形曲线显示区,水平方向显示500个像素,对应着500个数据点,而垂直方向显示256个像素,对应着8位A/D转换器下的256个数据分层8。USB通信部分,负责向下位机的发送命令和读取下位机上传的数据。此部分建立在Cypress公司为EZ-USB系列芯片提供的通用驱动程序之上,应用Cyp

37、ress公司提供的设备类和端点类的引用库可以方便的与下位机通信通信。CyAPI.lib是Cypress公司提供给C+语言使用的与驱动程序通信的函数库,它提供了一个简单而丰富和USB设备通信的C+编程接口。在使用时只需将头文件CyAPI.H和CyAPI.lib包含在工程中,便可引用其中的类与通用的USB驱动CyUsb.sys通信。这个库基于了一种“设备端点”模型,为了使用它,必须用new关键字创建一个CCyUSBDevice类的实例,通过这个CCyUSBDevice的对象,可以知道有多少USB设备连接在CyUsb.sys驱动上,并且使用CCyUSBDevice类的Open方法就可以与其中之一建立连接,获取USB设备的设备名、版本ID、设备ID等信息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论