用PSOC3实现虚拟示波器的系统解决方案,软硬件实现
扫描二维码
随时随地手机看文章
虚拟仪器在近几年发展较为迅速,虚拟仪器利用计算机强大的运算与数据处理能力,节省的硬件开销,又可以从充分利用计算机编程技术的优势实现较复杂的功能,基于此背景下项目使用Cypress Semiconductor 公司集成度高、开发周期短的PSoC3 芯片开发一款硬件开销小及功能强大的虚拟示波器。示波器基于CY8C3866AXI 芯片实现,被测量的模拟信号经过芯片内部ADC转换成数字信号,该信号由PSoC3主控芯片通过串口(UART)发送到PC机上,PC机使用Visual basic 6.0开发一款可视化软件,监控串口发送过来的信号,并且将数字信号还原成模拟信号的波形,该软件同时还提供控制面板可以控制示波器的显示及参数设定。
0引言
示波器是电子设计一项最基本的仪器,该仪器可以用于观察数字与模拟电路的波形,可以测量信号质量、电压、频率等系列参数。但是这个设备一般只有学校实验室、研发部门才会拥有。该设备价格相对较贵,个人用户一般不会拥有。网络上还流传一种利用系统API开发声卡型示波器,该示波器能实现基本功能,但是因为测量时候因使用不慎会烧坏电脑的声卡、甚至电脑主板,一台笔记本本可能就这样报废。并且声卡采用数据速率相当的有限,这套方案有先天的缺点,如果可以使用另一个解决方案,同时解决速率、成本、不烧坏电脑那么该产品一定可以在市场占有一席之地,经过学习PSOC3发现这是一套非常完美的方案,Cypress Semiconductor 的PSOC 3 芯片内包含USB 接口、MCU主控、高分辨率ADC。这样为实现较高性能的、低价格、体积小的虚拟示波器提供了设计方便。
本设计利用PSOC的集成的内部单元模组、通过编程的方式实现硬件电路功能。该PSCOC芯片通过某种通讯方式与PC机通讯,计算机通过解析PSOC发送来的数据将数字信号还原成模拟波形。并且提供波形、电压、周期等参数。
1总体设计方案
鉴于虚拟示波器产品体积、成本限制,本文构建系统对以上因素进行了综合考虑。虚拟示波器核心在于利用PSOC3集成度高的优势,实现了体积小,成本低多功能的虚拟示波器。
图1为PSOC构建的虚拟示波器总体框图,可分为三部分:(1)ADC采样:采用PSOC3自带8位ADC。(2)串口通讯:实现PSOC与上位机之间的通讯 (3)基于VB的示波器显示软件:利用计算机高分辨率波形显示以及参数设置、测量等。
本设计中使用CY8C3866AXI 可编程器件,对模拟信号进行采集转换为数字信号,数字信号通过USB传送到PC机中,PC机解析PSOC发送上来的数据流,还原成模拟波形信号。
图1
几种设计方案对比:
表:1
基于表 1的方案对比,我们方案3为优选设计方案。方案4为备选方案,方案一为实验方案。
较于方案1、2,方案3中PSOC3 ADC配置更为灵活,轻巧方便,硬件设计更简洁。集成度高大大降低了开发成本。PSOC3便于修改软件程序而进行功能扩展。用户不必不断购买新仪器,投入小而收效大。
方案3中使用USB2.0高速数据传输,与高度芯片集成。可以设计出一款性能优于体积较小的虚拟示波器产品。但不利于远距离工业检测。
到方案4。为了实现工业检测与控制领域的低频小信号测量,方案4比较实用,而且利用PSOC3的高度集成性,节省了很多模拟调理电路。同时也减小了设备体积和增强系统工作的可靠性。因此本项目采用方案4。
2示波器硬件方案设计
2.1 采样电路
采样原理图如图2所示(上)电路。根据采集高电压的需要,设计了低成本体积小的电路,实现峰峰值高电压采样。
采样电路使用2个电阻R1与R2分压, Vadc = Vsingal input * R2 / R2+R1 ,利用这个电路可以实现峰峰值较高的模拟信号的采样。
例如:一个信号为 50V 而PSOC内部参考电压为1.024V 则可以选择R2 =1K
R1 = 49K
PSOC配置了如图2所示(下)电路:当J1短路时,电路采集低电压。当需要高电压采集时,按照采样原理,配置R1、R2。
图2(上)
图2(下)
2.2 PSOC内部电路设计
PSoC3架构所具有的强大的精确模拟能力的实际应用例子。有了这个工具包,基于虚PSoC3拟示波器模拟集成的高水准,以及通过PSoC Creator ADC进行模拟设计通过配置而显得简洁方便。
PSOC内部多种基本单元电路模块可以实现电路,在本方案中使用到了ADC模块,UART、LED显示。并且软件上配置器件的配置信息。
电路如图3所示:
图3
2.3 串口电路实现
近几年生产的笔记本电脑一般不配备串口,为了操作携带方便,在设计的时候添加了USB转串口的电路,使用USB口既可以完成与计算机完成数据通讯。
图4软件设计
3.1 PSOC软件设计(下位机)
图5
PSOC软件启动先初始化所以设备,进入while循环。首先执行ADC 模拟信号处理,将数据送到LED灯中用于ADC采集信号显示。将ADC的值返回到串口中,由串口发送ADC到计算机。
3.2 Visual basic软件设计(上位机)
3.2.1上位机基本原理
在Visual Basic中一个Microsoft Communication Control(简称Mscomm) 串口通讯控件,本作品就是灵活的使用该控件实现单片机与PC机通讯的,该控件可以使用查询接受数据,也可以使用事件驱动,使用事件驱动具有节省PC资源响应速度快的优势所以本文使用事件驱动方式接收串口发送过来的数据流。
3.2.2 解析数据的方法
串口发送回来的数据为十六进制数据,该数据通过数据转换为0—1000的数据,转换完成的数据将存储的一个数据缓冲去中,该缓冲区存储了一段时间的波形,这样就可以实现按下暂停之后可以拖动滚动条查询历史的波形,波形的显示使用一个picture控件,并且设置容器的大小为1000像素×1000像素,绘制好示波器界面,然后显示出一定数量的缓冲去的数据,该数据分别在容器中通过绘线的方式将数据转换为波形。
3.2.3 软件基本界面设计
软件主要考虑到用户使用方便的问题,设计示波器界面充分考虑亲和性与易用性,所以界面也是仿照实际示波器的布局来设计,左边为CRT的显示器,左边为控制面板。这样可以做到会使用实际示波器,也会使用虚拟示波器。
示波器界面中菜单有系统、设置、帮助三个选项。可以设置波特率等。采集波形时可零点上下移、波形大小调节、波形保存、X\Y增益调节等多种功能。与实际示波器功能相似、布置相同,易于操作。波形通过赛普拉斯高精度的ADC采集经串口传输后,该界面可实现清晰准确的显示。采集三角波如图6所示。
图6
4结束语
基于PSOC虚拟仪器把计算机技术与传统测试技术紧密结合起来,它充分利用计算机的信息处理能力,实现对多路输入信号的实时采集和存储,并进行离线分析和处理。
与传统示波器制作步骤相比较,PSOC工具包省去了画电路图、布线、底层协议等的麻烦,直接配置硬件,注入思想流程,易于操作实现,节约经费。PSOC高精度可配置的ADC且内部含参考电压,这为制作虚拟示波器提供了可发展的空间。
本设计能获得小于1K赫兹的任意波形,输出幅度基本可以根据需要配置。1MHz/秒采样速率,采样数目以及采样频率通过软件可调。本虚拟仪器使用简单、方便、价格低廉,人机交互容易。结构简单使其体积小巧、便于携带,尤其适于配合便携机野外使用。