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

发布者:朱雀最新更新时间:2018-04-05 来源: eefocus关键字:嵌入式系统  USB接口  虚拟示波器 手机看文章 扫描二维码
随时随地手机看文章

虚拟示波器是将计算机强大的计算处理能力和一般硬件仪器的信号采集和控制能力结合在一起,从而实现一般示波器所不能实现的功能和友好的界面,弥补了传统示波器功能单一、体积庞大、携带不便、价格昂贵的不足。随着计算机技术的发展 ,对虚拟仪器的智能化和小型化的要求越来越高。嵌入式系统的发展使得基于嵌入式微处理器和实时操作系统的嵌入式虚拟仪器能够满足恶劣工作环境下的便携虚拟仪器的需要。同时,基于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接口的虚拟示波器的硬件和软件设计方案,实现了该虚拟示波器数据传输、算法控制、显示调试等基本功能。实践表明,该系统性能良好,功能强大,体积小巧,使用简便,价格低廉,适合多种场合应用,能为使用者建立了一个良好的使用平台。


关键字:嵌入式系统  USB接口  虚拟示波器 引用地址:基于嵌入式系统 USB接口的虚拟示波器的开发与实现

上一篇:提高电源质量,如何用示波器正确测量电源纹波
下一篇:经典:示波器不为人知的12项功能

推荐阅读最新更新时间:2024-03-30 23:37

实时嵌入式系统软件调试问题分析
本文将讨论常见的调试问题以及预防和检查这些故障问题的一些方法。 从历史角度上来看, 嵌入式 应用代码的调试流程可以分为两类。第一类调试流程是回答 我的代码现在执行到哪里? 的问题。当开发商依靠打印语句或者LED的闪烁来指示应用程序执行到某个节点的调试方法时,往往就属于这种情形。如果开发工具支持这种调试方法,可以沿着应用应当程序应当执行的路径插入断点。第二类调试流程是帮助回答 我看到的这一数值是从哪里来的? 这一问题。在这种情况下,人们往往依靠寄存器显示窗口观察变量信息、处理器内存的内容。人们还可以尝试单步执行,并且观察所有这些数据窗口以了解某个寄存器状态何时出现错误,内存位置何时得到错误的数据,抑或指针何时出现了误用。 当开发
[嵌入式]
一种通用的嵌入式系统ISP方法
摘要:针对没有集成ISP功能的MCU系统,提出了一种通用的嵌入式系统Flash在线编程(ISP)方案。该方案借用RAM作为ISP的程序存储器,可降低系统成本并具有较大的灵活性。以MC68332平台为例,详细介绍了这种ISP方案的具体实现过程。 关键词:嵌入式系统 Flash ISP MC68332 随着嵌入式系统技术的发展,电可擦除的Flash芯片以容量大、价格低、编程方便等优势得到了广泛的应用。由于同一片Flash作业程序存储器的系统无法直接实现在系统编程(ISP)。为了方便现场调试和程序升级,可以采用集成ISP功能较新的MCU(如AVR、部分ARM芯片等),或者采用双Flash设计等方法实现ISP功能。但有不少系统仍然使用
[单片机]
嵌入式系统的存储测试技术及无线传输应用
  引言   存储测试技术 方法是记录在特殊环境下运动物体参数的行之有效的方法。它是先将测试数据存入 存储器 ,待装置回收后通过特定接口与上位机进行通信,还原数据信息。在许多消费类电子产品中,对数据采集存储系统的实时性和功耗提出了更高的要求,不仅要同时满足低功耗和微型化设计,还要实时地反映现场采集数据的变化。这样,就必须对系统的采样速率、功耗等提出更高的要求。随着半导体技术的发展,各种技术的进步使得高速度、低功耗的数据采集系统能够实现。   本文主要使用Philips公司16/32位微控制器LPC2148 作为核心控制元件,通过与nRF24L01 结合使用,实现数据的采集、存储以及发送。   1 系统原理   整个测试系统由模拟适
[单片机]
<font color='red'>嵌入式系统</font>的存储测试技术及无线传输应用
基于ARM7和LM35的温度采集系统设计
0 引言 目前广泛应用的温度采集设备,其温控系统的内部芯片普遍采用单片机,其缺点是采集终端硬件功能简单、芯片性能低、软件设计复杂、任务调度麻烦、系统升级困难等。随着当今社会科技的发展,人们对温度采集系统也有了越来越高的要求,具体体现在系统的实时性、精度、软件设计、升级等方面。由于嵌入式操作系统的发展,本文设计了一种基于ARM7的温度采系统,其具有采集精度高,软件设计简单,软硬件功能修改方便、升级便利等优点,有效地解决了过去采用单片机作为内部芯片中的问题。该系统可用于温室、仓库等需要实时监控温度的场所,为人们的生活生产提供了便利的可靠的解决方案。 1 系统硬件结构 1.1 系统总体设计 该设计采用了Samsung公司所生产的S
[单片机]
用GNU工具开发基于ARM的嵌入式系统
摘要:介绍如何利用GNU的工具开发基于ARM的嵌入式系统,以及使用编译器、连接器和调试工具的具体方法,为广大嵌入式系统开发人员提供一种低成本的开发手段。 关键词:ARM GNU MC928MX1 gcc gdb gdbserver 当前,ARM公司的32位RISC处理器,以其内核耗电少、成本低、功能强、特有16/32位双指令集,已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准,市场占有率超过了75 %。多家公司都推出了自己的基于ARM内核的处理器产品,越来越多的开发人员开始了针对ARM平台的开发。通常开发人员需要购买芯片厂商或第三方提供的开发板,还需要购买开发软件,如C编译器或者集成了实时操作系统的开
[嵌入式]
ARM嵌入式系统应用中的问题总结分析
   引言   由于各种新型微处理器的出现和应用的不断深化,嵌入式系统在后PC时代得到了空前的发展。随着时间的推移和技术的进步,在工业控制和新兴的手持式应用等领域,用户体验成为产品成功的关键因素之一,越来越多的产品需要良好的用户界面、互联功能以及较强的数据处理能力,这对嵌入式处理器硬件、软件、教学等提出了新的要求。    1  嵌入式处理器与硬件   在处理器方面,目前大量的中、低端嵌入式应用,主要使用8/16位单片机。在国内,由于历史的原因,主要是以MCS51核为主的许多不同型号单片机,主要厂商有Atmel、Philips、Winbond、宏晶等。还有一些近几年发展较快的新型单片机,如PIC、AVR、MSP430系列
[嵌入式]
手机自动售货机的嵌入式系统设计
摘 要:阐述以移动增值服务为基础的手机自动售货机的嵌入式系统设计。硬件设计给出自动售货机设计方案,并简要介绍所用到的器件,软件设计给出自动售货机的流程图和服务器的功能简介。 关键词:手机USSD 白动售货机GSM/GPRS 引 言 移动增值业务产品的核心特点是移动性、即时性和个人性。移动增值服务是在通信技术、计算机技术和互联网技术不断发展融合的基础上,在人们以信息为基础的各种应用需求快速增长的激励下,在社会信息化水平日益提高的前提下,迅速发展的一种全新的服务方式。由于移动通信自身所具有的可移动性、无时空限制性、专属性、安全性和时尚性的特点,加上基于这些特点之上的短信息、游戏、支付、定位、办公等丰富多彩的应用服务,使得我国的移
[应用]
借助创新电子设计平台实现FPGA嵌入式系统设计
FPGA问世已经超过20年,现在FPGA在复杂逻辑电路以及数字信号处理领域中扮演着越来越重要的角色,SoC以其低功耗、高性能、低成本、高可靠性等优点成为嵌入式系统的发展趋势。不过,对于很多设计者来讲这还是“新鲜事物”。学习并掌握一项新的技术或具备某种能力,比如学习FPGA开发技术并将其应用到实际系统中,这是一项艰巨任务。Altium Designer 提供了一种简单轻松的方法,可以帮助软/硬件工程师共同应对FPGA嵌入式系统开发的挑战。Altium designer拥有强大的嵌入式系统设计功能以及非常便捷的设计流程,它在FPGA 及嵌入式智能方面有如下优势: 1) 完整功能、统一的设计环境 a) 简单易用的FPG
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved