历史上的今天
返回首页

历史上的今天

今天是:2025年04月05日(星期六)

2018年04月05日 | 基于嵌入式系统 USB接口的虚拟示波器的开发与实现

2018-04-05 来源:eefocus

虚拟示波器是将计算机强大的计算处理能力和一般硬件仪器的信号采集和控制能力结合在一起,从而实现一般示波器所不能实现的功能和友好的界面,弥补了传统示波器功能单一、体积庞大、携带不便、价格昂贵的不足。随着计算机技术的发展 ,对虚拟仪器的智能化和小型化的要求越来越高。嵌入式系统的发展使得基于嵌入式微处理器和实时操作系统的嵌入式虚拟仪器能够满足恶劣工作环境下的便携虚拟仪器的需要。同时,基于USB总线的仪器设备克服了现有PC总线虚拟仪器的不足,可满足自动化工业测量的要求,特别适合现场信号的测试。

 

常用的虚拟仪器多采用PCI或ISA插槽,然而采集卡的数量一般有限,因此在搭建系统的时候,只能指定特定的计算机或嵌入专门的采集卡,但有些设备根本就不支持PCI或ISA总线,这种内置形式很容易受到PC机箱内高频干扰的影响,降低系统的采样精度和稳定性。如果能够将整个系统做成外置式,不仅能够提高系统的采样精度和稳定性,还能增强系统的灵活性,同时还有利于系统的维护。

 

USB接口是实现虚拟仪器的一种更方便、更有效、更灵活的总线通讯式。USB总线是新一代总线技术,使PC机配置新的硬件设备不用在打开机盖,且支持热插拔技术,给使用者以极大的方便。USB总线具有传输速率高、支持异步和等时传输特点,并且可同时挂接127个独立的USB设备,适合于外登式中高速、高精度采样系统。USB技术是非赢利性的规范,已得到了广泛工业支持。

 

1 系统整体设计

 

嵌入式处理器是由C8051F020单片机和USB总线芯片CH375组成。C8051F020单片机作为系统的CPU担任着逻辑控制、数据采集和存储管理的工作,接收测试分析对象上传的数据源信号,通过信号调理模块和模数转换模块等控制功能实时采集数据,由USB总线芯片CH375作为与上位机通信的接口将数据传送给上位机监控模块。系统结构如图1所示。

 

基于嵌入式系统 USB接口的虚拟示波器的开发与实现

 

C8051F系列单片机是完全集成混合信号的系统级芯片,具有与8051兼容的控制器内核,并与MCS-51指令集兼容;片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。C8051F单片机采用流水线结构,机器周期由标准的12个系统时钟降为1个系统时钟,处理能力大大提高,峰值性能可 达25M IPS.C8051F单片机是能真正独立工作的片上系统(SoC)。每个MCU都能有效地管理模拟外设和数字外设,可以关闭单个或全部外设节省功耗。Flash存储器还具有片上重新编程能力,可用于非易失性数据存储。片内JTAG调试支持观察、修改储存器和寄存器,支持断点、单步、运行、停机命令。调试时所有的模拟和数字外设都能全功能运行。

 

C8051F最突出的改进是引入了数字交叉开关。这是一个大的数字开关网络,允许将内部数字系统资源分配给端口I/O 引脚。这种结构可支持所有的功能组合,可通过设置交叉开关控制寄存器,将片内的计数器 /定时器、串行总线、硬件中断、ADC转换启动输入及微控制器内部的其他数字信号配置在端口I/O引脚,这就允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。

 

USB模块CH375是一个USB总线的通用设备接口芯片,无需编写驱动程序,内置有USB通讯中的底层协议,完全满足USB1.1标准。该模块具有8位数据总线(D0~D7)、地址输入(A0)、读(RDJHJ)、写(WRJHJ)、片选控制线(CSJHJ),以及中断输出(INTJHJ)等功能,可以方便地挂接到单片机的数据总线上。当A0为低电平时选择数据端口,单片机通过8位并口对CH375进行读写数据;当AO为高电平时选择命令端口,可以向其写入命令。

 

在本地端,单片机对CH375的操作是采用命令加数据的I/O 操作方式,任何操作都是先发命令给CH375,然后执行数据输入输出。CH375接收到上位机发送的数据或者发送完给上位机的数据后,以中断方式通知单片机。各通道的USB模块CH375在计算机应用层与其本地端单片机之间提供了端对端的连接,统一采用数据加应答方式进行通信,所有的通信都由计算机应用层发起,然后以接收到单片机的应答结束。

 

2 嵌入式软件设计

 

嵌入式软件设计采用模块化的程序设计思想,主要由4个部分组成,即A/D转换子程序、数据采集及存储子程序、USB通信子程序,以及D/A转换子程序,并由嵌入式处理器进行统一调配。这里主要介绍数据采集和USB通信子程序。

 

该虚拟示波器中使用了2种传输方式:控制传输和数据报告。控制传输用来实现位于计算机上的USB总线驱动程序及编写的功能驱动程序对设备的各种控制操作,根据计算机端软件设定的增益、时基、触发等参数控制数据采集模块,需要计算机向单片机发送少量的控制信息。

 

数据报告用来完成将采集数据从设备传送到计算机的功能,这属于大批量数据的传输。如图2所示,当USB控制器从USB总线检测到计算机启动的某一传输请求时,USB控制器通过中断方式将此请求通知单片机。单片机通过访问USB控制器的状态寄存器和数据寄存器获得与此次传输有关的各种参数,并根据具体传输参数,对USB控制器的控制寄存器和数据寄存器进行相应的操作。如果是上传(上传缓冲区的数据被计算机成功读取),则释放当前USB缓冲区,然后退出中断程序;如果是下传(下传缓冲区成功接收到计算机发送的数据 ),则从数据下传缓冲区读取数据块。在分析接收到的数据块时,如果是数据请求的上传命令,则准备应答数据(采集数据 );单片机将采集数据写入数据上传缓冲区中,然后退出中断程序,完成计算机的传输请求。该通讯方式具有数据自动同步、程序设计简单、交互性和可控性较好等优点。

 

基于嵌入式系统 USB接口的虚拟示波器的开发与实现

 

3 上位机软件设计

 

上位机软件主要功能是模拟一个示波器的界面,实现数据的显示及满足不同需要的分析功能,同时完成对数据采集硬件的参数设定。在这个设计中已实现了基本的功能,如图3所示,包括波形显示、数据保存、量程的自动转换和数据的深度分析(波形测量和频谱分析),甚至能结合嵌入式系统硬件实现波形发生器等功能。

 

基于嵌入式系统 USB接口的虚拟示波器的开发与实现

 

上位PC机的人机界面是虚拟示波器与用户的接口,直接关系到系统的可用性和方便性。人机界面程序主要是使用户能够方便地控制整个虚拟示波器的工作,并通过数据分析,使用户能够方便地选择通道,采集频率、增益等。上位机的人机界面采用VC++语言开发,在软件中充分利用了类功能,将USB设备的启动函数、停止函数、数据读取函数等各个函数全部整合到动态链接库USB.DLL中。将CH375芯片的驱动程序、动态链接库拷贝到上位机中,利用CH375动态链接库DLL提供的API函数(设备管理API、数据传输API、中断查询API和直接控制API)对其进行操作,数据传输API是最重要最常用的一组函数,它提供了多种数据传输模式。
 

中断查询API一般用于USB设备使用到中断传输的场合。直接控制API是用于CH375直接输入输出信号,由设置、输入和输出3部分组成。这样不但使软件程序结构清晰,方便阅读,而且在需要时可以方便快捷地升级人机界面,无需大的改动。使用动态链接库后,当其他应用软件要使用该USB设备时,也可方便声明函数,从而有效地控制USB设备工作,因此,该USB设备可以方便地用于其他场合,实现其他的功能。软件充分利用了计算机强大的处理能力,可在控制USB设备的同时对16个信号进行采集和显示,并可根据用户的需要测出不同信号的频率、幅值、有效值等参数。软件波形观测界面如图4所示。

 

基于嵌入式系统 USB接口的虚拟示波器的开发与实现

 

4 结束语

 

根据嵌入式系统USB接口的虚拟示波器的硬件和软件设计方案,实现了该虚拟示波器数据传输、算法控制、显示调试等基本功能。实践表明,该系统性能良好,功能强大,体积小巧,使用简便,价格低廉,适合多种场合应用,能为使用者建立了一个良好的使用平台。


推荐阅读

史海拾趣

格莱尔(GLE)公司的发展小趣事

在稳步发展国内市场的同时,格莱尔也积极拓展海外市场。公司凭借优质的产品和服务,成功吸引了众多国际客户的关注与合作。格莱尔的产品广泛应用于液晶显示屏、笔记本计算机、手机、数码相机等多个领域,与众多知名企业建立了长期稳定的合作关系。此外,格莱尔还注重品牌建设,通过参加国际展会、发布新品等方式提升品牌知名度和影响力。

CSR plc(剑桥硅晶无线电)公司的发展小趣事

2009年,CSR plc以1.36亿美元成功收购了SiRF技术控股公司。这一收购为CSR plc带来了GPS和A-GPS的知识产权组合、航位推算和位置中心平台等重要技术资源,使其在世界无晶圆半导体厂商中的地位得到了进一步巩固。此次收购也让CSR plc的客户群体得到了极大的扩展,包括世界排名前七位的手机制造商中的六家,以及世界前五位的个人导航设备制造商等。

HAHN - Elektrobau GmbH & Co KG公司的发展小趣事

进入21世纪后,高通在推动5G技术发展方面发挥了关键作用。作为真正的5G领军企业,高通在基础研发方面持续投入,拥有引领和参与标准制定的长期历史。高通的5G技术涵盖了从系统构建到多样化应用的各个方面,包括毫米波频谱的利用、大规模MIMO技术的演进等。这些突破性发明为现代蜂窝通信提供了强有力的支撑,使得高通在5G标准制定和技术实施方面占据了核心地位。高通已签订超过150份5G许可协议,为全球超过180亿台终端提供了技术支持。

Anatech Electronics Inc公司的发展小趣事

高通公司在追求技术创新的同时,也积极履行企业社会责任。公司发布了《2023高通中国企业责任报告》,详细介绍了高通如何通过赋能数字化转型、负责任地经营以及可持续地运营等战略重点领域,推动社会公平发展。高通与中国乡村发展基金会、中国红十字基金会等多个机构合作,开展智慧农业、基层医务工作者培训等项目,助力乡村振兴和医疗卫生事业发展。此外,高通还致力于STEM教育,通过合作项目为下一代创新者提供技能和知识支持。这些举措不仅体现了高通的社会责任感,也为其在电子行业中的长远发展奠定了良好的社会基础。

DIOTECH公司的发展小趣事

为了进一步提升市场份额和品牌影响力,DIOTECH公司开始加大市场拓展力度。通过参加国际电子展会、举办新品发布会等活动,公司成功吸引了全球范围内的客户和合作伙伴的关注。同时,公司还加强了品牌建设,通过一系列营销活动提升了品牌知名度和美誉度。这些努力使得DIOTECH逐渐成为了电子行业内的知名品牌。

康奈特(CNNT)公司的发展小趣事

在光学镜片领域,产品质量是企业的生命线。康奈特深知这一点,因此从原材料采购到生产制造的每一个环节都建立了严格的品控体系。公司引进了先进的检测设备和技术手段,对每一片镜片都进行严格的检测和筛选。这种对质量的执着追求不仅赢得了消费者的信赖和认可,也为公司赢得了良好的口碑和市场份额。

问答坊 | AI 解惑

驱动 起 应用层EXE

各位高手,帮帮忙,急死了,本人刚接触驱动,调试了一星期,都无法成功,在硬编码的时候,可以成功启动,但是改成动态获取的时候,无论如何都启动不起来,有哪位大侠帮忙调试的加我QQ 454419771 在此感谢各位了,心急如焚啊!!!! __declspec(na ...…

查看全部问答>

lcd控制器+tv编码器如何调整分辨率和颜色深度

有一个开发板是s3c2440平台加上ch7026做TV编码器输出,800x600下输出稳定.现在我想降低分辨率却无法正常显示.请教: 1.我尝试修改了lcd控制器的寄存器值不成功,如有高手用过类似方案,给点提示 2.修改lcd分辨率是不是改那几个寄存器值就行了? 3.因 ...…

查看全部问答>

wince5.0 asp sqlce activeX 问题

想用wince做web服务器 在asp网页上需要动态显示数据,数据存储在SQLCE3.0数据库中 怎么样才能连接到数据库? 如果需要开发ActiveX,然后通过ActiveX连接数据库 那么用什么开发ActiveX呢?ActiveX中又是如何连接数据库呢? …

查看全部问答>

vxWorks组播信息接收不到

wince 组播信息接收不到…

查看全部问答>

☼☼合作招募中:有基于数据采集器和无线网络系统集成经验的朋友,请进!☼☼

有基于RFID、条码和无线网络集成应用的成熟产品,比如仓储无线作业系统、MES采集系统,生产追溯系统等等,希望将产品推向市场的,请联系我,我们一起合作,最好是在深圳或者广东地区的朋友。QQ:151600588,请注明\"系统合作\"!Email:skyone_yao@163. ...…

查看全部问答>

hp笔机本备份问题

hp笔机本,windowxp 操作系统中,怎么用超级急救盘不能进行系统备份? 安装了超级急救盘 ,进入了超级急救盘 ,可总是进不了备份的界面? 那怎么备份hp笔机本操作系统呢? …

查看全部问答>

关于Clock Gating 的典型问题

在我的设计里,内部主要工作时钟是在复位撤销之后才给出的。我原来的设计期望,在复位撤销的时候,所有的触发器都被异步复位到确定的状态。但是加入了ClockGating之后,出现了一个问题:因为ClockGating的加入,导致了复位撤销的时候,时钟是不定态 ...…

查看全部问答>

s7-200编程电缆问题

我的设备有很多用s7-200的西门子plc,可是没有编程电缆,现在有的机器需要编程,手头上有一个西威变频器的rs232-rs485转化器,不知道能不能用在与s7-200上面,不能用的话,能不能改一下编程电缆。怎么改,有哪位大侠知道。…

查看全部问答>

【问TI】TI有没有类似于AD620的芯片

本帖最后由 dontium 于 2015-1-23 13:26 编辑 看了AD620手册后,用三个op07可以实现和AD620相同功能。请问TI有没有类似于AD620的芯片。还有有没有类似于ADI实验室电路的书,可以详细的解释某类芯片的功能,方便查找。TI的那个选型有点不会 ...…

查看全部问答>

单片机控制的固定电话通信疑问

我们今年的校赛题“防盗报警”,其中要实现功能:通过固定电话线路报警。…

查看全部问答>