历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2020年03月08日 | 一种新颖的简易多通道虚拟示波器的技术研究

2020-03-08 来源:eefocus

简介:本文通过LabVIEW虚拟实验软件平台设计了一种利用ATmega16单片机进行数据采集,通过RS232串行通信将数据传送给PC的简易虚拟示波器。用户可以在开发平台上对数据采集参数进行设置和调整以及对波形数据存储。


本系统的创新点是摆脱了传统开发平台的限制,具有多通道、方便、灵活等特点,在数据采集、传感器监测等领域有重要应用。


0 引言


虚拟仪器是基于PC技术发展起来的,所以完全"继承"了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使在数据导入磁盘的同时就能实时地进行复杂的分析。为了实时、准确地测量输入波形的参数,本文采用自带8路10位ADC的单片机ATmega16,结合简单的外围电路,即可将输入波形实时传送给PC机进行处理。通过PC机上虚拟仪器平台LabVIEW开发的上位机软件对波形进行显示和处理,从而达到简易虚拟示波器的效果。


1 简易多通道虚拟示波器系统的设计


简易多通道虚拟示波器系统的原理方框图如图1所示,数据采集由主控芯片ATmega16进行,采集后的数据通过RS232串口通信芯片Max232将TTL电平转换为RS232电平,提供与PC机的接口,将数据量传送给PC机的LabVIEW开发平台,平台内上位机软件接收来自串口的数据,经校验等处理后通过波形显示控件将采集到的波形显示出来。同时单片机能接收上位机传送来的数据,从而控制数据采集的速度和精度以及采集的通道。



图1 虚拟示波器原理方框图。


1.1 数据采集电路


ATmega16单片机是美国Atmel公司生产的基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。ATmega16有如下特点:16k字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1k字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。



图2 采样电路原理图。


本设计正是利用ATmega16的8路10位可编程增益的逐次比较型ADC及可编程异步串行接口的内部资源,从而简化了电路设计的难度及编程难度。采样电路的电路图如图2所示,ATmega16只需结合简单的晶振电路和复位电路就可以完成本设计的需求。模拟信号通过8路模拟输入的任意端口输入即可,通过单片机内部程序控制,很容易就将输入模拟量转化为数字量。单片机再通过串行接口传输给PC机, 串行通信通过串行发送引脚TXD(PD1)和串行接收引脚RXD(PD0)连接串行通信接口电路实现数据的串行传送与接收。


1.2 串口通信接口电路


本系统设计中通过Max232连接单片机和PC机。


ATmega16 具有异步串行通讯接口(UART),UART是为能与计算机通讯的全双工异步系统。本系统采用RS232接口方式, 由于RS232信号电平与AVR单片机信号电平(TTL 电平)不一致,因此在采用RS232标准时必须进行信号电平转换。在串行通信的接口电路中选用MAX232芯片作为信号电平转换芯片,实现TTL电平和RS232接口电平之间的转换。从而把ATmega16内部需要传送的数字信号准确无误地传输给PC机,供上位机软件读取并进行信号处理。


串行接口电路原理图如图3所示,TTL电平引脚输入引脚9、10,连接ATmega16的串行发送接口TXD和串行接收接口RXD,通过电平转换为RS232电平,通过7脚和8脚连接串行接口的2脚和3脚,串行接口通过串行通信线连接采样模块的串行接口和PC机的串行接口。ATmega16通过内部编程很方便地把数据传送给PC机。



图3 串口通信接口电路图。


1.3 多通道采样原理


由于ATmega16内部ADC为8选1数据通道,在具体实现某路数据采集时就必须更改多工选择寄存器ADMUX的数值。为能随时更改通道,本设计采用主从方式,通过上位机发送给ATmega16的数值来改变通道。在ATmega16的串行中断的接收中断中, 通过判断接收的数值更改ADMUX的数值。同时,在串行接口接收中断中,通过接收的数值的编码也可用来改变ADC相邻两次转换之间的延时值,从而达到改变转换速率的效果。


当需要采集双通道数值时,单片机内部ADC可采用分时复用的原则,同时将获得的八位数据加一个最高标志位,扩展为九位数据位。上位机通过对数据的最高位的校验,可以很方便地区分数据,在显示界面上将双通道波形实时显示更新。


2 系统软件设计


2.1 下位机软件设计


下位机软件设计的关键是能使程序正确响应中断服务程序,从而准确地完成ADC的转换和数据的准确传送。


图4即为下位机程序的程序流程图。主函数运行随即进行串口和ADC寄存器的初始化,然后启动ADC的第一次转换,随即进入等待中断状态,若接收到停止信号,系统马上停止。在串口接收中断中,进入中断随即读取中断接收值,通过判断接收值的大小,改变系统采样通道值和ADC转换速率值。改变完成后中断返回。此时,系统根据新的参数值运行。ADC转换完成中断产生后,读取当前转换值,读取完成后进行数字均值滤波,降低输入信号的干扰。滤波完成后将结果通过串行通信传送给PC机。



然后进行延时后启动下一次的转换后中断返回。整个过程中,系统通过中断方式完成,具有响应及时、提高单片机处理内部和外部事件能力的特点。


2.2 上位机软件设计


LabVIEW是美国国家仪器(NI)公司研发的,类似于C和BASIC开发环境。它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。


LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能[5]。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。


本设计采用LabVIEW开发平台制作上位机软件,软件界面如图5所示。该上位机调用底层RS232通信模块[6],结合通用的波形显示、按钮开关等通用模块设计出如图5所示的具有串口参数选择、实时波形显示、采样通道选择、波形参数计算、存储波形数据和采样速率可调的虚拟示波器上位机软件。软件中首先通过串口参数调整复选框选择PC机串口数据,然后打开软件开关,当串口接收数据后将实时波形以及周期和幅值等显示在软件界面上。同时软件设有通道选择旋钮和采样速率选择滑动杆用于改变波形输入通道和采样速率。软件还设有波形数据存储按钮,当按钮打开时,软件会将接收到的数据按照波形数据文件以数组形式存储在PC的磁盘内。Matlab和Exel等数据处理软件可方便的调用该文件进行分析,方便对其进行更加复杂的数据处理和数据的再现。



图5 上位机软件界面图。


3 结论


本文设计的虚拟示波器系统由单片机ATmega16和Max232构成的下位机系统及由LabVIEW开发的上位机软件构成。系统充分利用ATmega16单片机软硬件资源,方便快捷地实现数据采集。并且通过RS232接口实现与上位PC机的连接,PC机通过LabVIEW开发平台方便地实现进行数据的分析、处理、存储和打印输出的简易虚拟示波器。本系统具有电路简单、使用灵活方便等特点。因此能广泛应用于工业、农业、水文系统、环境监测等领域,实现现场勘测和数据采集。

推荐阅读

史海拾趣

Box Enclosures公司的发展小趣事

Box Enclosures公司自创立之初,就明确了自己的定位——专注于为电子行业提供高品质的机箱和外壳产品。公司始终坚持严格的质量控制标准,从原材料采购到生产工艺,每一个环节都力求精益求精。这种对品质的执着追求,使得Box Enclosures的产品在市场上赢得了良好的口碑,逐渐在电子行业中占据了一席之地。

BOCA公司的发展小趣事

为了进一步提升竞争力,BOCA公司开始尝试产业链整合。公司不仅加强了对上游原材料供应商的控制,还通过并购和合作的方式,将下游的组装、销售等环节也纳入自己的体系。这一举措使得BOCA能够更好地控制产品质量和交货期,同时也降低了成本,提高了整体运营效率。

Gennum ( Semtech )公司的发展小趣事
用于调节电路中的电流、电压以及实现特定的时间延迟等功能。
DMS Electronic Components, Inc公司的发展小趣事

DMS在追求经济效益的同时,也积极履行社会责任。公司注重环境保护和资源节约,采用环保材料和工艺进行生产。同时,DMS还积极参与公益事业和社会活动,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了基础。

请注意,以上故事是基于对电子行业和DMS公司业务范围的推测和构想,并不代表DMS公司真实的发展历程。如需了解更多关于DMS公司的具体信息,建议查阅公司官方网站或相关新闻报道。

Geo Semiconductor Inc公司的发展小趣事
通过合理的布线、使用屏蔽线、加装滤波器等措施,减少外部电磁干扰对控制电路的影响。
American Electric公司的发展小趣事

随着全球化进程的加速,American Electric公司开始实施国际化战略。公司积极拓展海外市场,与多个国家的电力企业建立合作关系,共同开展电力项目。同时,公司还在海外设立了多个分支机构,以便更好地服务当地客户。这些举措不仅提高了公司的国际影响力,还为公司的长期发展奠定了坚实的基础。

问答坊 | AI 解惑

基于E5122的家庭网络控制系统

引 言 随着信息技术,计算机网络技术的迅猛发展和广泛普及,越来越多的家庭通过Internet或Intranet来获得信息和资讯.作为现代化的智能化住宅小区,向社区内的广大住户提供宽带多媒体综合信息资讯服务,是智能化住宅的重要体现,也是信息社会发展的客观需 ...…

查看全部问答>

FPGA行业演进呈现三大趋势

FPGA行业演进呈现三大趋势 FPGA(现场可编程逻辑器件)产品的应用领域已经从原来的通信扩展到消费电子、汽车电子、工业控制、测试测量等广泛的领域。而应用的变化也使FPGA产品近几年的演进趋势越来越明显:一方面,FPGA供应商致力于采用当前最先进 ...…

查看全部问答>

LM3S89962可以做触摸屏吗?

新手,不太懂硬件,向各位请教。 TI推出的DK-LM3S9B96套件外接了一个触摸屏,PD0~PD7作数据线、两路AD来获取坐标等;总共占用了10根左右的引脚; 想问问8962能接触摸屏吗?因为我看手册上8962的GPIO引脚只有45根(9B96的GPIO有65根),而且大多要 ...…

查看全部问答>

国内智能手机销量将达9800万部

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 新报告显示,中国市场将成为智能手机销售最抢眼的市场。从消费者对手机应用方面的需求不难看出,在国内智能手机市场,发展应用软件和优化服务是占领市场最重要的决胜因素。 据Coda研究咨询公 ...…

查看全部问答>

wince6下flash分区问题

我在wince6的bootloader里把flash分了三个区,一个是用来存放系统bin文件,剩余的flash里又划分出一个20M的空间,最后剩余的再划一个空间: BP_OpenPartition(NEXT_FREE_LOC, 0, PART_BINFS, TRUE, PART_OPEN_EXISTING); BP_OpenPartition(NEXT_F ...…

查看全部问答>

VS2003开发的智能设备程序能否在Win CE6.0上运行?

VS2003开发的智能设备程序能否在Win CE6.0上运行?…

查看全部问答>

请教FSMCIO设置问题

在F103ZE是这样设置的:  /* NOE and NWE configuration */ //读写线   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 |GPIO_Pin_5;  GPIO_Init(GPIOD, &G ...…

查看全部问答>

2812AD中断的问题

自己编了一个ad的程序,里面有这样一个步骤,可是不知下面系统是怎样执行的,在这里请教一下:         我在中断服务子程序里执行了AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;这样的话应该直接去执行一组转换,转换完成后再执行中断 ...…

查看全部问答>

有没有人参加或参加过电竞的筒子们

本帖最后由 paulhyde 于 2014-9-15 09:01 编辑 有没有参加过电竞的筒子们给点学习的方向和建议,破学校说有老师培训的,到现在也没看到个影子,只能靠自己,能学点算一点吧,给点建议  …

查看全部问答>