微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于单片机的短样测试数据采集系统的设计

基于单片机的短样测试数据采集系统的设计

时间:11-04 来源:互联网 点击:
3.上位机程序设计

上位机采用LabVIEW开发环境,LabVIEW是新一代G语言编程软件,适宜于仪器控制和数据采集,程序使用状态机结构,分为五个状态:设置,采集,保存,分析,显示。采用多线程技术,三个工作线程:数据采集显示线程,实时分析线程,数据保存线程。在三个线程之间采用Queen队列传递数据。Queue队列,先进先出结构,协调三个线程运行,在采集中起到约束和补偿的作用,避免了数据丢失和死锁现象。下面是上位机程序结构图。



Keithley公司提供了纳伏表Keithley-2182 LabVIEW库函数,Keithley 2182 Display.vi用于设置启用或关闭仪器面板显示,关闭仪器面板显示可以提高采集速度。Keithley 2182 Measurement Mode.vi用于设定采集类别,采集系统设置为电压采集(DCV)。Keithley 2182 DCV.vi用于设定电压范围、精度、滤波和采集速度,采集系统设置为精度 7位半、中速、无滤波、通道 1。GPIB Write.vi用于向 Keithley-2182纳伏表写入 GPIB命令,命令“:data:fresh?”:请求获取昀新采集数据。GPIB Read.vi用于接收昀新数据。可以循环发出 GPIB读写命令,进行数据采集。

LabVIEW串口通讯调用 VISA模块中的库函数。VISA Configure Serial Port:初始化指定串口通讯参数,设定波特率为 19200,8数据位,无奇偶校验,COM1; VISA Set I/O Buffer Size:设置指定的串口的输入输出缓冲区大小,设定为 2048字节;

在数据保存线程中,为了方便以后数据察看和分析,采用 excel文件存储。在 LabVIEW中,利用 ActiveX服务中的属性节点 Property Node,可以读取或设置 ActiveX控件的属性,调用节点 Invoke Node可以用来调用 ActiveX控件的方法,通过使用属性节点和调用节点来打开,读取和写入 excel文件。系统设定每隔 1秒线程从数据队列 1请求一组数据,这样使得采集显示线程可以获得更多时间片用于采集,提高速度。

在实时分析线程中,线程每隔 1秒从数据队列 2请求一组数据,插入绘图数组中,利用LabVIEW的绘图函数绘制趋势图。设置 x轴为通电电流,y轴为短样股线电压。下面是采集系统运行界面图。



4. 测试与总结

经过测试,采集系统速度可以稳定达到每秒每通道采样 17个,采集精度和速度符合要求,可以完整捕捉到失超临界点和失超曲线;采集系统硬件电路简单,成本低廉;软件界面直观,智能化程度高,程序可读性较 VC代码强,适合非计算机专业工程人员使用。采集系统扩展性很好,如果有需要可以采集更多路信号。 创新点:采用 AT89S52单片机和 MAX197 A/D转换芯片,替代 PCI采集卡,降低了成本,简化了系统设计,提高了可维护性,同时也达到了短样测试的数据要求;采用便携式 Keithley-2182纳伏表使实验室获得了高精度采集的能力;软件设计方面采用 LabVIEW和 Queen技术保证了易用性和稳定性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top