基于SOPC系统的虚拟示波器设计

发布者:脑电风暴最新更新时间:2015-07-02 来源: dzsc关键字:SOPC系统  虚拟示波器 手机看文章 扫描二维码
随时随地手机看文章
  引言

  模拟示波器由于无法高效地观察实验结果、数据处理功能弱等缺点,已逐渐被数字示波器所取代,但数字示波器价格昂贵。虚拟仪器是在通用计算机平台上,用户利用软件根据自已的需求定义设计仪器的测量功能,其可以大大拓展传统仪器的功能,降低仪器成本,并可通过软件实现数据的复杂分析、运算和海量存储等功能。LabWindows/CVI是1种常用的虚拟仪器设计软件,为用户提供了功能强大的虚拟仪器系统开发平台。为此,本文以LabWindows/CVI为开发平台,利用FPGA中嵌入的NiosⅡ软核构成的SOPC系统,设计一种双通道虚拟示波器,以达到一般传统示波器的性能指标。

  1 虚拟示波器硬件电路设计

  1.1 虚拟示波器数据采集通道电路设计

  为减少虚拟示波器对被测电路的影响,要求虚拟示波器数据采集通道的输入阻抗在1MΩ以上,因此必须设计合适的衰减器和可控增益的放大器。虚拟示波器数据采集通道的原理方框图如图1所示。图1中,虚拟示波器的2个通道完全对称,且相互独立。从探头进来的信号经过衰减网络,获得合适的信号强度,进行AD/DC切换开关后,送到可控增益放大器,将不同幅度的信号放大为幅度大致相同的信号,经高速A/D转换获得两路独立的数字信号,同时触发电路完成触发功能,使波形能够平稳地显示。

虚拟示波器数据采集通道组成

  1.1.1 衰减与AD/DC转换电路

  图2为虚拟示波器的衰减与AD/DC转换电路图。

衰减与AC/DC转换电路

  图2中,R1、R2、R3、C1 和R4、C2组成1:10的分压网络,通过CPU控制三极管Q1、Q2 和继电器K1、K2 分别控制进行1/10的衰减与AD/DC切换控制。

  1.1.2 可控增益放大器

  虚拟示波器需设计宽范围可调节的增益放大电路器,以实现10mV~±200V范围内的输入电压采样。本系统采用模拟多路器切换运放的反馈电阻,以达到改变增益的目的,其电路图如图3所示。

可控增益放大器

  图3中,U1内部包含两通道JFET高输入阻抗的运放,前级为跟随器,以满足示波器的高输入阻抗要求,第2级为可控增益放大器,由模拟多路器和运放共同构成。[page]

  1.1.3 A/D转换电路

  虚拟示波器的A/D 转换器采用Linear 公司的LTC2289,它的采样频率可达80MHz,有2个独立通道,可选内部参考或外部参考。本文选用内部参考。

  1.2 虚拟示波器信息处理部分硬件设计

  虚拟示波器信息处理部分主要包括FPGA 系统和USB通信部分,其组成方框图如图4所示。

数字部分

  图4中,虚拟示波器模拟输入通道的模拟信号经A/D转换后获得数字信号,经过1个数据缓冲器输入到FPGA,FPGA通过逻辑电路和NiosⅡ管理将数据进行存储、上传等。SRAM用于缓存采样数据;FLASH用于存储NiosⅡ应用程序,并实现系统上电时将程序加载至SDRAM中。

  系统选择的USB接口芯片CY7C68001为USB2.0标准控制器,其可工作在高速或全速状态,支持4个可配置共享4KB FIFO空间的端点,并具有一个标准8位或16位主机接口,非常适合做高速USB接口。

  2 虚拟示波器SOPC系统构建及NiosⅡ软件开发

  2.1 虚拟示波器SOPC系统构建

  本文采用ALTERA公司的NiosⅡ软核处理器,并利用FPGA设计虚拟示波器系统。ALTERA 公司的NiosⅡ软核处理器是一个32位RISC嵌入式处理器,具有5级流水线、采用数据和指令分离的Harvard结构、提供众多标准外设和软件集成开发环境。

  进行基于Nios Ⅱ 的SOPC 系统开发时,可利用ALTERA提供的SOPC插件,进行外设和CPU的配置,并提供自定义IP的构建方法。在虚拟示波器系统中,需要开发符合AVALON总线的示波器模块,并加入到自定义IP中。示波器模块实体程序如下:

  在SOPC插件中,将示波器模块等自定义模块集成为IP核,分别将NiosⅡJTAG_UART、FLASH以及SRAM等IP核加入虚拟示波器系统中,SOPC系统配置图如图5所示。

SOPC系统配置

  配置完成后,生成系统,并在QuartusⅡ中进行引脚配置,然后综合、布线,生成配置文件,通过JTAG 对FPGA进行配置,即可获得虚拟示波器系统的信息处理部分硬件电路。

  2.2 NiosⅡ软件开发

  实践证明,当系统的复杂程度达到一定时,采用嵌入式操作系统不仅会简化程序员工作、提高CPU利用率,而且会提高系统可靠性。因此本系统的下位机软件采用嵌入式操作系统。microc/os-Ⅱ是1个性能优良的嵌入式多任务实时操作系统,稳定度高、安全性好;同时NiosⅡ开发环境中集成了性能良好的、免费的microc/os-Ⅱ估算版,因此虚拟示波器系统采用该操作系统。

  NiosⅡ的软件开发一般采用分层的方式进行,它采用类似Linux的设备文件系统来管理设备,采用HAL(硬件抽象层)完成硬件相关设备的封装操作,因此每个CPU外设都需要有相应的驱动程序。虚拟示波器系统中,NiosⅡ的驱动分层结构如图6所示。

NiosⅡ软件分层结构

  虚拟示波器系统需要为定义的IP设计相应的驱动程序,对于最底层与硬件相关的操作,NiosⅡ提供了IOWR(base,offerset,data)和IORD(base,offerset)2个宏,分别用于对寄存器的读、写操作。这里,base为虚拟示波器驱动程序的基地址,其自动生成;offerset为指被操作的寄存器在该设备中的偏移地址。[page]

  2.3 嵌入式USB协议栈开发

  USB协议复杂,虚拟示波器系统开发的USB协议栈基于microc/os-Ⅱ,并采用了如图7的分层结构,以减少开发调试的难度。

嵌入式USB协议栈软件分层

  硬件抽象层和命令接口层都与硬件相关,硬件抽象层负责对SX2的寄存器进行读写操作,而命令接口则实现与SX2的工作方式有关的操作;协议层与平台无关,其主要完成USB的枚举及各端口数据处理;应用层完成对提供调用的函数进行封装,应用层提供了简单的API接口,其利用senddata函数发送数据到主机,同时利用recdata函数从主机接收数据以及厂商请求的函数,上层程序只要简单地调试这3个函数而无需关注USB协议,即可完成虚拟示波器的USB通信。

  3 虚拟示波器上位机软件设计

  3.1 虚拟示波器USB通信的封装

  虚拟示波器上位机程序采用LabWindows/CVI开发,其本身并不支持USB通信,因此采用了调用外部模块的方法。采用VC++编写程序,将USB通信底层函数进行封装,编译成DLL,再供LabWindows/CVI进行调用。为此,将动态链接库的头文件和DLL文件导入进工程,生成1个FP的驱动器,这时虚拟示波器系统就可以直接调用DLL里面提供的函数。

  3.3 虚拟示波器面板程序的开发

  图8中,用户对虚拟示波器面板上的垂直幅度调节、水平宽度调节等按钮操作时,系统会将相应的操作命令传送给下位机,并由下位机调节垂直幅度和水平时基等,从而实现用户对虚拟示波器系统的操作。

虚拟示波器面板

  4 测试结果

  采用FPGA处理器和ALTERA公司的NiosⅡ软核完成虚拟示波器系统设计后,进行了多次测试,其性能指标如表1所示。

虚拟示波器性能指标

  由表1可知,该虚拟示波器达到了一般模拟示波器的指标。然而由于本系统采用虚拟仪器技术,在功能上增加单次采样、波形保存等功能,因此与普通示波器相比,其成本低廉,操作界面更友好、简便。

  5 结论

  本文以LabWindows/CVI为开发平台,设计了1种双通道虚拟示波器,该示波器利用FPGA 中嵌入的NiosⅡ软核构成的SOPC系统,完成虚拟示波器各模块的管理;利用嵌入式USB协议,配合片外的模拟信号处理模块,通过USB总线,完成各种波形数据的采集,经上位机软件完成了波形显示和数据分析,并实现了仪器的各种操作功能。实际测试结果表明,该虚拟示波器达到了或优于一般模拟示波器的性能指标。


参考文献:

[1]. C1  datasheet http://www.dzsc.com/datasheet/C1+_2455447.html.
[2]. LTC2289 datasheet http://www.dzsc.com/datasheet/LTC2289_1104294.html.
[3]. CY7C68001 datasheet http://www.dzsc.com/datasheet/CY7C68001_1097509.html.
[4]. RISC datasheet http://www.dzsc.com/datasheet/RISC_1189725.html.

关键字:SOPC系统  虚拟示波器 引用地址:基于SOPC系统的虚拟示波器设计

上一篇:基于 LabWindows/CVI 的虚拟示波器研究与设计
下一篇:LabWindows/CVI 在虚拟信号发生器设计中的应用

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

Pico虚拟示波器如何缩短开发时间
研发工程师的时间是十分宝贵的,最大限度地缩短开发周期可以大大地节约成本。在复杂的测试系统中,硬件开发向来就是系统总成本的主要组成部分之一,在专用的机架式系统中更是如此。 基于PC的虚拟示波器操作十分简单,您仅仅需要几天的时间就可以完全熟悉操作各个按键实现示波器的功能。 您还需要了解的是: PicoScope 2200系列示波器不仅是一个功能强大的双通道示波器:用我们高端示波器配套的PicoScope软件,你还可以把你的PicoScope 2200系列示波器变成一个万用表,频谱分析仪,函数发生器和任意波形发生器(AWG)。这样不仅节省了成本,而且简化了操作过程和仪器连接过程。Pico 2205提供软
[测试测量]
一种新颖的简易多通道虚拟示波器的技术研究
简介:本文通过LabVIEW虚拟实验软件平台设计了一种利用ATmega16单片机进行数据采集,通过RS232串行通信将数据传送给PC的简易虚拟示波器。用户可以在开发平台上对数据采集参数进行设置和调整以及对波形数据存储。 本系统的创新点是摆脱了传统开发平台的限制,具有多通道、方便、灵活等特点,在数据采集、传感器监测等领域有重要应用。 0 引言 虚拟仪器是基于PC技术发展起来的,所以完全 继承 了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使在数据导入磁盘的同时就能实时地进行复杂的分析。为了实时、准确地测量输入波形的参数,本文采用自带8路10位ADC的单片机ATmega16,结合简单的
[单片机]
一种新颖的简易多通道<font color='red'>虚拟示波器</font>的技术研究
虚拟示波器
虚拟示波器是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。 虚拟仪器技术(VI)就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥 虚拟仪器 技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。 仪器技术 虚拟仪器技术(VI)就是利用高性能的模块化硬件,结合高
[测试测量]
基于SOPC技术的远程测控系统设计方案
   0 引言   在高温、高压、强放射性等恶劣环境下,由于测量者不能长期置身其中,使得测控非常困难。在Nios II软核CPU上移植μ c/OS-II实时操作系统和TCP/IP协议栈,容易实现网络通信,为远程测控提供了条件。以此为基础设计的嵌入式系统具有结构小巧、实时性强、稳定性高等特点,在工业测控领域中应用前景广泛。    1 远程测控系统的硬件架构   远程测控系统的硬件架构如图1所示。从图中可以看出,Nios II软核CPU及各种所需的外设IP均通过SOPCBui lder集成在一片FPGA中,构成本系统所需硬件的可重构部分,实现真正的可编程片上系统(SOPC)。   1.1 I P核设计   为了在低成本
[嵌入式]
基于<font color='red'>SOPC</font>技术的远程测控<font color='red'>系统</font>设计方案
如何使用Python和ADALM2000创建虚拟示波器
一个功能齐全的物理实验室造价不菲,其中的各式实验仪器常常价格昂贵,而且管理复杂。试想如果能够构建一个可放入口袋、随时便携的虚拟电子实验室,那么将为未来带来无限的可能。虚拟电子实验室,是通过一系列基于软件的应用来实现的仿真电子仪器所组成的模拟实验室环境,用户可以在该环境中开展大量电子实验。 本文旨在演示用户如何使用ADI ADALM2000和简单的开源编程语言Python开发所需的虚拟实验室仪器。通过Python与ADALM2000相结合,可以开发多种虚拟实验室仪器,如示波器、信号发生器、数字万用表等。其中,示波器作为物理电子实验室中常用的基本仪器之一,是个不错的入门选择,将在下文中重点讨论。 什么是示波器? 示波器可用于常见
[测试测量]
如何使用Python和ADALM2000创建<font color='red'>虚拟示波器</font>
基于单片机的简易多通道虚拟示波器的设计
  0 引言   虚拟仪器是基于PC技术发展起来的,所以完全 继承 了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使在数据导入磁盘的同时就能实时地进行复杂的分析。为了实时、准确地测量输入波形的参数,本文采用自带8路10位ADC的单片机ATmega16,结合简单的外围电路,即可将输入波形实时传送给PC机进行处理。通过PC机上虚拟仪器平台LabVIEW开发的上位机软件对波形进行显示和处理,从而达到简易虚拟示波器的效果。   1 简易多通道虚拟示波器系统的设计   简易多通道虚拟示波器系统的原理方框图如图1所示,数据采集由主控芯片ATmega16进行,采集后的数据通过RS232串口通信芯片Max2
[单片机]
基于单片机的简易多通道<font color='red'>虚拟示波器</font>的设计
基于SOPC的旋转LED屏控制系统设计方案
   一、引言   LED(1ight emitting diode)显示屏由发光二极管阵列构成。发光二极管(LED)是一种电流控制器件,具有亮度高、体积小、单色性好、响应速度快、驱动简单、寿命长等优点,能胜任各种场合实时性、多样性、动态性的信息发布任务,因此得到了广泛的应用。LED大屏幕是通过一定的控制方式,用于显示文字、图像行情等各种信息以及电视、录像信号,并由LED器件阵列组成的显示屏幕。LED大屏幕作为现代信息发布的重要媒体,正受到社会各界尤其是商业界、广告界的极大重视,被广泛应用于上业、交通、商业、广告、金融、体育比赛、电子景观等。   目前市场上的LED屏基本上均为平板LED屏,这种屏具有显示稳定,显示内容易
[电源管理]
基于<font color='red'>SOPC</font>的旋转LED屏控制<font color='red'>系统</font>设计方案
详解虚拟示波器
虚拟示波器的显示方式 为了满足自动控制不同实验的要求我们提供了示波器的四种显示方式。 (1)示波器的时域显示方式 (2)示波器的相平面显示(X-Y)方式 (3)示波器的频率特性显示方式有对数幅频特性显示、对数相频特性显示(伯德图),幅 相特性显示方式(奈奎斯特图),时域分析(弧度)显示方式。 (4) 示波器的计算机控制显示方式 虚拟示波器的使用 一.设置 用户可以根据不同的要求选择不同的示波器,具体设置方法如下: 示波器的一般用法: 运行LABACT 程序,选择 工具 栏中的 单迹示波器 项或 双迹示波 器 项,将可直接弹出该界面。 单迹示波器 项的频率响应要比 双迹示波器 项高,将可观察每 秒6500 个点; 双迹示波器 项只能观
[测试测量]
详解<font color='red'>虚拟示波器</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved