虚拟数字示波器的设计和实现Word格式.docx

上传人:b****1 文档编号:5364907 上传时间:2023-05-05 格式:DOCX 页数:11 大小:1.04MB
下载 相关 举报
虚拟数字示波器的设计和实现Word格式.docx_第1页
第1页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第2页
第2页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第3页
第3页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第4页
第4页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第5页
第5页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第6页
第6页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第7页
第7页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第8页
第8页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第9页
第9页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第10页
第10页 / 共11页
虚拟数字示波器的设计和实现Word格式.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

虚拟数字示波器的设计和实现Word格式.docx

《虚拟数字示波器的设计和实现Word格式.docx》由会员分享,可在线阅读,更多相关《虚拟数字示波器的设计和实现Word格式.docx(11页珍藏版)》请在冰点文库上搜索。

虚拟数字示波器的设计和实现Word格式.docx

共八挡可调:

323.53kHz、100kHz、50kHz、20kHz、10kHz、5kHz、2kHz、1kHz。

本机测量的信号频率应在70kHz以下。

最高输入电压:

共两挡可选:

±

2.5V,±

12.5V,如果接入10:

1示波器探棒,最大输入电压可达±

125V。

输入阻抗:

1MΩ。

供电电压:

无需外部供电,直接从PC机的USB口取电。

接口:

USB接口。

二、硬件设计

具体电路原理图见附录一,从图中可以看出电路的输入信号调理部分和信号转换部分与常见的并口示波器相同,R10、R11、R12、R13、R14、C19、C20和C21构成输入交直流切换和衰减网络,提供交直流输入切换和1:

1、1:

5的输入信号切换功能;

TL074中的一个运放U1A和其周边元件构成一个跟随放大器,提供了输入保护和阻抗转换功能;

TL074中的另一个运放U1B

构成一个正相放大器,提供-2.5V~+2.5V向0~2.5V的转换功能,同时依据实际操作的经验,取消了不实用的外触发部分,简化了电路。

电路的主体部分以PIC18F2550为核心,PIC18F2550与周边电路共同构成了模数转换采样图119.2kHz方波波形图250Hz市电波形和USB接口部分,其中TL431和接在其阴极的200Q电阻构成了一个2.5V电压基准,供单片机作为模数转换和运放电平转换的电压基准。

由于USB仅能提供5V电源,不能满足前两级运放的工作条件,为此采用一片34063构成了-5V~5V的转换电路供运放使用。

实物图见附录三。

三、软件设计

4.1单片机程序设计

单片机的软件采用PICC编写,使用了MICR0CHIP的USB库,主要完成BNC过来数据的采集、A/D转换、为数字电路提供CP脉冲以及完成USB的通信等工作。

图2为单片机部分的程序流程图。

图2单片机软件设计流程图

微芯公司提供了一系列的USB寄存器,使用这些寄存器可以完成USB通信。

大多数的USB通信都是通过中断来完成的,在USB中断服务程序内,要实现输入/输出接口,允许大多数的USB程序在后台完成。

从应用的观点来看,枚举过程和数据通信的发生并没有联系。

对于单片机控制程序,目前没有任何厂商提供自动生成固件(firmware的工具,因此所有程序都要由自己手工编制。

由于USB协议的复杂性,并且考虑到广大客户的需求,因此,Microchip公司在推出PIC18F4550系列芯片时,提供了面向不同客户群的DEMO程序。

本系统的设计就是在Microchip公司提供的DEMO程序的基础上,进行必要的修改来完成的。

本设计的具体固件主要由以下8个文件组成。

①main.c:

系统的主程序,包括InitializeSystem(和USBTasks(void两个子程序,主要完成系统的初始化以及其他各种子程序的调用。

②usb9.c:

实现的是USB协议功能,包括枚举总线的接口和核心功能,以及USB的中断服务程序。

它处理由USB用户所产生的所有的中断。

在这个程序中,主要实现对描述符的枚举以及休眠、复位功能,主要包括USBCheckStdRequest(void、USBStdGetDscHandler(void和USBStdFeatureReqHandler(void等5个子程序。

③usbctrltrf.c:

主要实现USB控制传输所需的各种功能,主要由USBCtrlTrfSetupHandler(void、USBCtr-lEPServiceComplete(void和USBPrepareForNextSetup-Trf(void等8个子程序组成。

④usbdrv.c:

主要实现与USB驱动相关的功能,包括检查总线状态、USB模块使能、USB

模块挂起、远程唤醒等功能;

主要由USBSuspend(void、USBModuleEnable(void、USBSoftDetach(void和USBDriverService(void等12个子程序组成。

⑤usbdsc.c:

主要是对该系统的描述,包括厂商、产品号等的描述。

⑥usbgen.c:

对USB设备类的配置(在这里把它配置为通用USB类,主要包括USB通用类的初始化端点和读写,由USBGenInitEP(void、USBGenRead(byte*buffer,bytelen和USBGenWrite(byte*buffer,bytelen三个子程序组成。

⑦usbmmap.c:

主要用于检查USB在通信过程中,端点号与BDT(缓冲器描述符表之间的匹配。

⑧user.c:

直接面向用户的应用程序,可以帮助用户完成自己的初始化配置、处理数据的读/写、I/O口的处理,设备的请求等。

本设计中下位机的大部分功能都是由这个程序来实现的,比如A/D转换及其数据的读取、1MHz的PWM波形产生等。

它主要包括UserInit(void、BlinkUSBStatus(void、ServiceRequests(void、ProcessIO(void、ResetTempLog(void和ReadPOT(void六个子程序。

4.2PC机软件编程

要编写PC机上的软件,可以利用Microchip公司提供的开发工具包。

该工具包是一个安装程序,安装后可以在安装目录下找到USB通用的驱动程序、用BorlandC编写的应用程序、一些固件代码,以及编写应用程序所需的API函数等。

对于一般的应用,驱动程序可以直接使用,无需重编。

在编程中主要用到以下7个API函数:

MPUSBGetDLLVersion(,返回DLL的版本号;

MPUSB-GetDeviceCount(,返回连接没备的数目;

MPUSBOpen(,返回指定pVID_PID和pEP的USB设备端点的句柄,返回的是一个端点句柄;

MPUSBRead(,从IN端点读取数据并填入缓冲区;

MPUSBWrite(,对一个OUT端点写入数据并使用pData缓冲区;

MPUSBReadInt(,从Inter-ruptIN端点读取数据并填人缓冲区;

MPUSBClose(,关闭一个端点的句柄。

因为Microchip公司提供的MPUS-BAPI.DLL源程序是用BorlandC编写的,这一程序无法在VC环境下编译,所以也不能产生隐式调用所需的.LIB文件,因此本设计在使用DLL时用的是显式链接。

PC机的软件部分主要用于实现上位机同下位机之间的USB通信,输入信号的细分和显示等功能。

实现这一功能的方法有很多种,比如采用简单的VB、数据处理能力很强的Delphi,或国内外广泛采用的BorlandC和VC等。

为了下一步的软件开发以及与厂家的其他软件接口,本系统上位机的软件部分采用VC++6.0来实现。

图3是PC机软件部分的流程图。

图3PC机软件设计流程图

软件提供了波形显示、单次波形捕捉,打印、时基调整、波形保存、波形比较等功能,虽然这是一个单踪示波器,但通过波形的保存和再现提供了准双踪示波器的功能,你可以测量某一点的信号,保存起来,然后测量另一点的信号,再打开已保存的信号,同屏显示两组信号进行信号的比较。

四、PC软件的使用

启动本软件后,显示如图4的界面。

图4上位机软件界面

4.1校零

软件界面的正下方有校零的按钮,在接入信号前,首先将输入信号接地(红黑输入均接地,然后按“校零”即可完成校零。

完成后如图5。

图5校零后的波形

4.2触发方式

目前软件提供了无触发、内触发两种触发方式,同时对内触发提供了上升沿触发

和下降沿触发两种选择。

4.3采集信号

选择开始按钮开始信号采集,暂停按钮停止信号采集,录制按钮采集一个周期的信号后暂停。

4.4采集周期和波形展宽

采样周期可以有8种选择:

最快、10S、20S、50S、100S、200S、500S、1000S;

同时提供了5挡波形展宽选择:

×

1、×

2、×

5、×

10、×

20;

屏幕下方的开关的显示一定要与电路板上的开关位置相对应,以获得正确的标注。

默认情况下电压使用交流,1:

5挡输入信号。

本设备的最高输入电压峰一峰值不要超过±

12.5V。

任意时刻均可选择保存信号,保存当时的波形。

4.5波形数据读取与保存

在屏幕上按下鼠标左键,拖动鼠标即可看到相应范围内的电压差、频率和周期信息。

软件界面的右下部分给出了所测信号的频率、最大值和最小值等信息。

如图6a。

软件提供波形的保存和打印功能,如图6b。

图6波形数据的读取和保存

软件所有提示均为中文。

在相同的硬件平台上我们还可以实现记录仪功能,可以提供和现在生产控制中常见的记录仪功能,一次可以记录某一生产参数几天的变化量,实现无人值守。

PC机与单片机之间通信采用USB人体学输入设备接口,使用windows内置的驱动程序,因此不需要专门的USB驱动程序,如果遇到不能识别的情况可以通过更换其它品牌鼠标或使用ps2鼠标来解决,此外由于各种PC机给出的USB电源的纯静度不同,从电路图上可以看出虽然采用了各种滤波措施,在个别机器上短路输入端的情况下显示波形可能会有1%以下的细微毛刺。

支持的操作系统包括Windows2000、Windows2003、WmdowsXP和WindowsVista。

五、结束语

整个虚拟示波器系统己经通过调试,达到预期的性能指标。

己经属于一种可以应用于实践中的测试仪器。

但系统还有需要改进提高的地方。

①本系统的应用软件需要进一步开发,以进一步提高系统的可靠性。

②由于课题是考察市场而得出的,所以需要针对软硬件合理安排完善,以便进一步能够使之产品化。

⑧由于虚拟示波器的应用越来越广泛,相应的技术指标也有更高的要求,所以必须研制采样速率更高,系统更稳定的仪器,以满足实际的应用要求。

总之,大学生创新项目的完成并不意味着USB虚拟示波器开发的结束,我们还将继续努力。

6

附录一:

原理图

BNC

7

附录二:

PCB图

8

9

附录三:

实物图

10

附录四(调试图:

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

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2