基于LabVIEW的单片机脉冲发生器
- 格式:doc
- 大小:298.50 KB
- 文档页数:4
基于LabVIEW的多路时序控制脉冲发生器设计0 引言在过程控制和自动测量中,经常需要一些时序控制脉冲来触发和关闭不同的控制单元和功能部件的工作。
时序脉冲信号的产生,传统上一般采用硬件方式实现,早期大多采用计数器和寄存器进行设计,近年普遍采用可编程逻辑器件(PFGA)或数字信号处理器(DSA)。
采用硬件方式实现的时序脉冲信号发生器存在仪器功能单一,信号输出通道路数较少,参数调节不方便,仪器的升级换代困难等缺点;而采用基于LabVIEW的“虚拟仪器”概念设计制作的时序脉冲发生器却具有界面直观、功能多样、参数调节方便、容易升级换代等特点。
1 LabVIEW简介实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench,LabVIEW)是美国国家仪器(National Instruments,NI)公司推出的一种基于“图形”方式的虚拟仪器开发软件。
它具备强大的信号采集、信号发生、数据分析与存储显示等功能,集开发、调试、运行于一体,广泛应用于测试测量和过程控制系统中。
基于LabVIEW软件和计算机的数据采集卡,通过简单编程,可以方便地实现信号的采集和产生、分析和处理等功能,即“计算机+软件”等于仪器,比如:可以实现虚拟的信号发生器、数据记录仪、示波器等功能,具有设计灵活,界面直观,通用性强.升级方便等特点。
LabVIEW程序称为“虚拟仪器”或简称为VI,一个LabVIEW程序由前面板和程序框图两部分组成。
前面板用图形方式模拟传统仪器的操作面板,包含各种控件和指示器,用来为程序提供输入值,并接受输出值;程序框图包含以图形方式表示的程序代码。
LabVlEW还为编程、查错、调试提供简单、方便、完整的环境和工具。
除了具备其他语言所提供的常规函数功能外,LabVIEW中还集成了大量生成图形界面的模板,丰富实用的数值分析和数字处理功能,以及多种硬件设备驱动功能。
摘要随着社会的发展和科学技术的进步,人们对信号发生器的需求越来越多,但是传统信号发生器价格昂贵、体积大、功能少、存储麻烦、处理数据速度慢等特点,已经满足不了科研人员的需求。
本次毕设研究的就是基于LabVIEW的信号发生器。
设计出计算机虚拟仪器。
本次程序能够实现双通道信号,并能产生实验室常用的正弦波、三角波、方波、锯齿波信号,白噪声和任意公式波。
设计的LabVIEW的信号发生器不但能够将两个信号进行波形显示,而且能够实现两个信号的运算。
关键词:计算机虚拟仪器,信号发生器,LabVIEWAbstractWith the development of the society and the progress of science and technology, more and more people demand for signal generator,but the traditional signal generator is expensive,large volume,function,storage,less trouble,slow speed of processing data,etc,already can't satisfy the needs of scientific research personnel. This makes the generation of computer virtual instrument.This project research is signal generator based on ing LabVIEW graphical programming language program,to design a computer virtual instrument. This project can realize the dual channel signal,and can produce laboratory commonly used sine wave,triangle wave,square wave,sawtooth wave signal,white noise and random wave formula.Designed by LabVIEW signal generator can not only will the two signal waveform display,but also can realize operation of two signals.Keywords:virtual instrument,signal generator,LabVIEW目录1绪论 (1)1.1引言 (1)1.2工具概述 (1)1.2.1LabVIEW(图形化编程语言) (1)1.2.2虚拟仪器 (3)1.2.3虚拟仪器的特点 (4)1.2.4图形化编程和labVIEW (6)2信号发生器介绍 (10)2.1概述 (10)2.2信号发生器的发展 (10)3程序实现 (14)3.1信号发生器 (14)3.1.1本程序所用到的控件 (14)3.1.2流程图 (20)3.2程序设计 (21)3.2.1前面板设计 (21)3.2.2程序框图 (21)3.2.3程序功能设计 (22)4界面美化 (29)5程序的发布 (29)6总结 (31)参考文献 (32)致谢 (33)1绪论1.1引言信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。
成绩评定表课程设计任务书目录目录 (III)1 引言 (1)2 虚拟仪器开发软 LabVIEW入门 (2)2.1 LabVIEW介绍 (3)2.2利用LabVIEW编程完成习题设计 (4)3 利用 LabVIEW实现常用信号发生器的设计 (4)3.1常用信号发生器的基本原理 (21)3.2常用信号发生器的编程设计及实现 (21)3.3运行结果及分析 (23)3.3.1运行结果 (23)3.3.2结果分析 (28)总结 (29)参考文献 (30)1 引言虚拟仪器系统是由计算机、应用软件和仪器硬件三大要素构成的。
虚拟仪器技术是仪器技术和计算机技术深层次相结合的产物,其中软件技术是虚拟仪器的核心技术。
从20世纪80年代起,虚拟仪器逐渐被工业界和学术界所认识。
经过十几年的发展,它已成为21 世纪测试技术和仪器技术发展的主要方向,它的出现,使测量仪器和计算机之间的界线消失,是仪器领域的一次革命。
常用的虚拟仪器用开发软件LabVIEW。
LabVIEW是一种G语言即图形化编程语言的虚拟仪器软件开发工具。
在LabVIEW中单击加亮执行(Highlight Execution)按钮,即可以动画方式演示框图的执行过程,可以观察到数据流流动的方式,数据以有色小圆点表示,在各种不同颜色(代表不同数据类型)的连线上流动。
用编程操作简单、易于理解、可解决诸多问题,因而十分流行受欢迎。
测量用信号源是指测量用信号发生器,它可以产生不同频率的正弦信号、方波、三角波、锯齿波、调频信号以及随机信号等,期输出信号的复制也可按需要进行调节,可以说,几乎所有的电参量的测量都需要哟用到信号源。
常用信号和任意波形信号、多谐波信号和噪声信号等都是科学实验中的必用的信号,常用信号包括抽样信号、正弦信号、符号函数、单位冲激信号、矩形脉冲、单位阶跃信号、延时的单位阶跃、三角形脉冲信号、截平的斜变信号、单位斜变信号、延迟的斜变信号、单边指数衰减信号、指数信号。
基于labview开发的可控脉冲信号发生器程序开题报告随着科技的发展,电子技术在各个领域中被广泛运用。
其中,信号发生器是电子技术中的重要组成部分,它能够产生不同频率、幅度、波形的信号,成为各种测量、测试、调试电子设备的必要工具。
本文将围绕“基于labview开发的可控脉冲信号发生器程序”进行阐述。
一、研究背景随着科技的飞速发展,电子设备日新月异,对信号发生器的要求也越来越高。
传统的信号发生器多采用硬件来生成信号,而随着计算机及软件的普及,软件仿真的信号发生器开始逐渐流行。
本项目采用LabVIEW进行软件开发,具有更高的灵活性和可控性。
二、项目目标及意义本项目旨在开发一种基于LabVIEW平台的可控脉冲信号发生器程序。
通过该程序,用户可以输入波形、频率等信号参数,并可以通过界面设置幅度、周期、占空比等参数进行控制,生成不同的脉冲信号。
该程序可广泛应用于电子设备的测试、测量、调试等领域。
三、研究方法本项目的研究方法主要是利用LabVIEW软件进行程序开发。
LabVIEW是美国NI公司推出的一种集数据采集、信号处理、仪器控制、以及各类算法与工具于一身的图形化编程环境,具有可视化编程、易于学习、易于扩展等特点。
四、预期成果基于LabVIEW开发的可控脉冲信号发生器程序,输入波形、频率等信号参数,通过控制幅度、周期、占空比等参数生成不同的脉冲信号。
并可提供用户自定义波形输入的接口,实现更加灵活多样的信号生成。
该程序还将提供信号输出的实时波形图形显示、数据存储等功能。
五、项目操作计划本项目操作计划如下:1.需求调研及分析:调查目前市场上常用的信号发生器的特点,确定开发该程序所需的基本功能。
2.软件开发:使用LabVIEW开发可控脉冲信号发生器程序。
3.程序测试与修正:针对程序的稳定性和功能实现进行测试,修正问题。
4.文档编写:编写程序相关文档,包括用户手册、安装说明等。
5.发布和维护:发布最终版本的程序,对用户提供技术支持和维护。
科技与创新┃Science and Technology&Innovation ·70·2021年第18期文章编号:2095-6835(2021)18-0070-02基于LabWindows/CVI和SoC单片机的脉冲采集分析系统设计钱正(国营芜湖机械厂,安徽芜湖241007)摘要:为满足某型转换组件脉冲参数测试的需求,实现对转换组件单个部件的性能测试,以SoC单片机为核心,结合自研的信号调理电路及RS232接口电路,基于LabWindows/CVI虚拟仪器技术,搭建了一套脉冲采集分析系统,实现了48路脉冲信号的脉宽、脉冲间隔以及脉冲幅值等参数的采集处理,系统具有精度高、操作灵活、可扩展性强、成本低的特点,能够满足一般系统数据采集分析的要求。
1基于2图1系统总体方案框图3硬件设计3.148路脉冲信号调理电路的设计由被测件输出的48路脉冲信号,通过测试电缆送入到信号调理电路。
信号调理电路由48路二极管以及共用的稳压二极管组成,通过限流电阻,送达单片机的端口,进行模数转换或信号采集,如图2所示。
D1~D8T1~T8D17~D24T17~T24D9~D16T9~T16D25~D32T25~T32D33~D40T1~T8D41~D48T9~T16D49R1R2R3AIN00P3.7图2信号调理电路示意图3.2电平转换电路的设计被测件输出的离散信号为27V电压,需要进行电平转·71·626-Jan -2021Sh eet o fD :\我的项目\论文\对外论文\脉冲采集电路论文-5\脉冲检测板1209.D D BD raw n B y :5Title N u mb er Size B D ate:28-Jan -2021File:D :\我的项目\论文\对外论文\脉冲采集电路论文监视器和温度传感器,丰富的内部结构可以实现多功能的电路设计,完全可以满足系统设计要求。
基于LabVIEW实现多功能信号发生器1.信号发生器的软件设计思路设计一个虚拟信号发生器首先要进行前面板的设计,前面板的设计主要需要考虑到所设计的信号发生器实现什么功能,再根据这些功能,在控件选板中选择相应的控件,放在前面板相应的位置上,摆放也有一定的讲究,使前面板看起来比较协调。
再者是后面板的设计。
后面板的设计要用到函数模板,根据本程序需要实现的功能,在函数选板中选择相应的函数,由于程序不是只执行一次,所以要涉及到循环结构,本文的程序用到的循环结构有while循环结构、条件结构。
程序调试成功后就产生一个虚拟信号发生器。
2.信号发生器的前面板设计首先应该添加三个波形显示窗口,前面两个窗口用于显示两路基本信号的显示,并为前两个窗口分别配置两个旋钮,用于控制信号的幅值和频率,再分别为这两个窗口配置一个下拉菜单选择控件,用于选择信号的类型,可供选择的信号类型有正弦波、三角波、方波和锯齿波。
第三个窗口用于显示信号的功率频谱,并且为第三个窗口添置两个下拉选择框,用于选择窗和滤波器,可以进行加窗和滤波。
最后,为了可以方便观察信号,必须设置一个停止按钮,可以方便地控制和观察静态的信号波形。
为了方便记录数据,可以在信号波形显示的上方添加一个空白的框,在框中记录实验的数据。
信号发生器的前面板设计如图1所示。
3.信号发生器的后面板设计由于本文设计的信号发生器可以显示信号的功率频谱,所以需在程序框图中添加一个快速傅里叶变换控件。
由于需要加窗和滤波器,因此必须在程序框图中添加两个循环结构,这两个循环结构分别用于加窗的控制和滤波器的选择控制。
由于有两路信号,所以在while循环中,添加两个窗和两个滤波器,可供选择的窗有uniform,Hanning窗,Hamming窗,Blackman-Harris,Exact-Blackman,Blackman,Flattop和4TermBlack-Harris。
可供选择的滤波器有Butterworth 和Chebyshev。
基于LABVIEW的信号发生系统1、LABVIEW概述1.1 Labview简介LabVIEW[2]〔Laboratory Virtual Instrument Engineering Workbench〕是一种用图标代替文本行创立应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW [2]那么采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
VI指虚拟仪器,是 LabVIEW [2]的程序模块。
LabVIEW [2]提供很多外观与传统仪器〔如示波器、万用表〕类似的控件,可用来方便地创立用户界面。
用户界面在 LabVIEW [2]中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进展控制。
这就是图形化源代码,又称G代码。
LabVIEW [2]的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
1.2 LABVIEW的应用LABVIEW有很多优点,尤其是在某些特殊领域其特点尤其突出。
测试测量:LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的应用领域。
经过多年的开展,LABVIEW在测试测量领域获得了广泛的成认。
至今,大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以非常便捷的控制这些硬件设备。
同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。
这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的根底上再开发程序就容易多了。
有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。
控制:控制与测试是两个相关度非常高的领域,从测试领域起家的LabVIEW自然而然地首先拓展至控制领域。
LabVIEW拥有专门用于控制领域的模块----LabVIEWDSC。
除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程序。
大学研究生课程论文题目基于LabVIEW的多功能信号发生器设计成绩专业控制工程(秋)课程名称 LabVIEW软件与虚拟仪器设计实践年级 2015级晓杰学号 2151160401 时间 2016 年4 月任课教师天利基于LabVIEW的多功能信号发生器设计晓杰2151160401大学机电与控制工程学院摘要:本文利用虚拟仪器技术采用 LabVIEW环境下开发的程序, 组建了多功能信号发生器。
该发生器不仅能产生信号的参数可调的正弦波、方波、三角波和锯齿波这4种基本波形, 还能将各种基础波形相互叠加,或者与噪声信号相互叠加后的波形信号, 从而产生其它任意波形,同时还可轻松、快捷地将这些信号波形显示出来。
解决了传统信号发生器只能产生基本波形的局限性, 为学习和实践测试提供了一条捷径。
关键词:虚拟仪器;多功能信号发生器;LabVIEW1 课题背景和意义虚拟仪器是在以通用计算机为核心的硬件平台上,由用户自己设计定义 , 具有虚拟面板, 测试功能由测试软件实现的一种计算机仪器系统。
信号发生器作为科学实验中比较重要的装置, 被广泛地应用到教学、科研等各个实验领域。
传统的模拟信号发生器一般只能产生几种常规的波形, 而在一些复杂和特殊的应用中, 要求输出任意波形且要易于程控。
目前 ,我国高档台式仪器, 如数字示波器、频谱分析仪等还主要依赖进口。
这些仪器加工工艺复杂,对制造水平要求高 , 生产突破有困难, 而采用虚拟技术后 ,就可通过只采购适合自己应用情况的通用仪器硬件,依靠虚拟仪器软件开发平台,设计出所需的高性能价格比的仪器系统。
物理仪器(计算机和采集卡)和虚拟仪器(LabVIEW软件中一些V1控件)相结合方法,设计出一种可以产生多种波形的物理信号发生器。
由于采用硬件少、成本低,该种信号发生器极易实现。
在计算机普及的今天,只要在PC安装LabVIEW 软件,并配置一块普通的USB采集卡,就可以产生一台性能可调的信号发生器。
基于LabVIEW与FPGA的信号发生器设计袁庆国;彭乐锋;刘继【摘要】The sine inspire signal with high -accuracy and wide -frequency is required by eddy detect instrument.Therefore,a signal generator based on DDS technology is designed.The design of the structure,the basic principle,the software and the hardware of the signal generator is analyzed in detail. The simulation result based on SignalTabII and the test of the hardware circuit is given to show performance of the signal generator.Aiming to a better operating experience,a upper computer software based on LabVIEW is designed to control the lower computer by SPI.Finally,the experimental result demonstrates that the method is effective and has practical values.%涡流检测仪器的探头需要高精度、频率可调的正弦激励信号。
因此以FPGA (现场可编程门阵列)为核心,基于DDS (Direct Digital Synthesizer)技术设计了一种信号发生器,详细分析了该信号发生器的整体结构、基本原理、软硬件设计,并给出基于SignalTabII的仿真结果以及实际电路的测试结果。
基于LabVIEW的单片机脉冲发生器
类别:单片机/DSP 阅读:1583
1 引言
由于各种人群的皮肤阻抗的动态范围不一样,甚至同个人在不同的时间、不同的环境下皮肤阻抗的动态范围也不一样。
因此,在皮肤阻抗检测系统中,刺激器需要根据不同的人群以及不同的环境,产生不同频率、不同脉宽的刺激信号,才能保证检测系统可以测量到人体皮肤的真实阻抗。
MCS-51单片机系统有3个定时器可以产生方波,而且方波的脉冲频率及宽度可以由软件设定,这种产生脉冲的方式具有很大的灵活性。
上位机软件LabVI EW同下位机通信时,将下位机所要产生的脉冲的参数通过串口传给下位机,以便实现利用LabVIEW控制单片机产生所需脉冲的目的。
2 下位机系统的设计
2.1 硬件部分
MCS-51单片机内部有一个功能很强的全双工串行口,该串行口有4种工作方式。
片内的定时器/计数器可以产生波特率,大小可用软件设置。
有2个物理上独立的接收、发送缓冲器SBUF,接收、发送均可触发中断系统,使用十分方便。
对外也有两条独立的收、发信号线RXD(P3.0)和TXD(P3.1)。
本文采用RS 232串行接口标准,在电气特性上,RS232采用负逻辑,要求高低两信号间有较大的幅度,标准为:逻辑“1”在-5~-15 V之间,逻辑“0”在+5~+15 V之间。
2.2 软件部分
MCS-51的定时器0进行两次计数。
设P1.0为脉冲发生端,当定时器0的第一次计数结束后,将P1.0取反,赋新的初值,再进行第二次计数。
当第二次计数结束后,再一次将P1.0取反,又赋原来的初值,进行新一轮的计数,如此反复即可产生方波。
这样通过两次计数值的不同就可以实现产生不同脉宽及频率的方波了。
图1,图2和图3给出了单片机程序的详细流程图。
其中定时器1工作在方式2,这是一种自动重装方式,禁止中断,用于产生波特率(该波特率设置为9 6 00)。
串口工作在方式1,发送或接受一帧信息为10位,1位起始位(0),8位数据位和1位停止位(1),无奇偶校验位。
程序还设定串口中断优先级高于定时器0的中断优先级。
在通信前,上下位机一般会约定一个协议,例如在发送的数据前加一个标识段,一般为一个字节。
当该字节传输正确后,下位机才可以认为上位机准备发送数据段。
这样可以避免串口偶尔产生的误发信号。
程序设定4个字节为一个数据段,是因为上位机一次性要发完包括高低电平在内的两次定时器的初始值,而每一个初始值都有两个字节。
因此下位机判断一
次完整的数据段是否发送完毕,就是判断其是否收到了4个字节的数据。
3 上位机系统的设计
LabVIEW语言是美国国家仪器(NI)公司开发的一种基于图形化语言(G语言)的编程语言,利用该语言编写的模块化程序,具有良好的界面,简单、直观,且易于理解、调试和维护。
做成的虚拟仪表可以当作许多仪器设备来使用,其功能完全由用户编程定义。
另外,LabVIEW内还包含丰富的数据采集、数据信号分析以及控制等子程序,特别适用于数据采集、通信处理系统。
LabVIEW提供了很多现成的可供调用的函数库,从底层的GPIB,VXI,PXI,串口数据采集板的控制子程序到大量的仪器驱动程序;从基本的功能函数到高级分析库,几乎涵盖了仪器设计中需要的所有函数。
同时,LabVIEW还支持用于网络通讯的TCP/IP协议、动态数据交换(DDE)和网络化多媒体对象技术(ActiveX)等应用软件标准。
3.1 VISA
LabVIEW提供了功能强大的VISA库。
VISA(Virtual Instrument Software Ar chitecture,虚拟仪器软件规范)是用于仪器编程的标准I/O函数库及其相关规范的总称。
VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API(Application Pro grammer Inter-face,应用程序接口)。
正因为如此,VISA可以连接不同标准的I /O设备。
VISA本身并不具备编程能力,惟他通过调用底层的驱动程序来实现对仪器的编程。
VISA的I/O软件库的源程序是惟一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。
3.2 LabVIEW中利用VISA实现串口通信
在LabVIEW中使用串口的基本流程为:先调用VISA Configure Serial Port 来完成串口参数的初始化设置,包括了串口的资源分配,波特率的设定,数据位、停止位、校验位和流控制等。
当某一个串口初始化成功后,就可以使用该串口进行数据的收发。
使用VIS A Write进行数据的发送,使用VISA Read进行数据的接收。
在接收数据前,有时需要VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至缓冲区中的数据字节数达到要求或是等待时间满足VISA Config ure Serial Port所设定的Timeout。
在对数据的连续性要求不高的时候,VISA Read也支持分批读取接收缓冲区里的数据字节或者只是读取其中的一部分字节。
在某些特殊的情况下,可以利用VISA SET I/O Buffer Size设置串口接受/发送缓冲区的大小,使用VISAFlash I/O Buffer清空接收与发送缓冲区。
在串口使用结束后,使用VISA Close结束与VISAresource name所指定串口间的会话。
该LabVIEW程序框图中调用了一个叫做change的子VI程序,该子VI程序的功能是将高低电平的脉冲宽度值,转换成定时器的初始值,并且拼凑成一个4个字节的16进制数,通过VISA Write模块送入下位机。
该子VI的程序框图如图5所示。
在接收到数据后,单片机有一条反馈的指令,他将其缓冲区内的值再次送回上位机,LabVIEW对该值进行显示,并可以和原来实际输出的16进制数进行比较。
用户可以很方便地知道,是否在上下位机通信中出现误码。
图6左侧的倒三角表示从图4(a)的VISA Read中接收到的值,他与LabVIE W上一次显示的值拼装成一个完整的字符串,成为新的显示值,在字符串显示区显示出来。
4 程序运行结果与验证
程序的前面板界面如图7所示。
图8是另一个程序的前面板,该程序可以将采样率设定为50 kHz的采集卡采集到的数据显示在屏幕上。
该屏幕显示的是,上位机程序发送欲产生高低电平均为0.6 ms脉冲波的定时器初始值给下位机后,下位机产生的脉冲序列。
上位机发送的16进制数为FDA8FDA8,下位机准确接收后,反馈的值也为FDA8FDA8。
根据采样率为50 kHz,即0.02 ms采样一次,则在显示波形图中任选一次完整脉冲(如图8所示)进行计算,可以得到该次的低电平的持续时间为0.66 ms,高电平的持续时间为0.68 ms。
这两个数据的误差可能是采集卡的采样率误差引起的,或是单片机的定时器中断服务程序的执行周期产生的延时所造成的。
另外,在上下位机的通信中,也可能会产生误码,导致产生的波形不符合要求。
如果要一次性完成数据传输的任务,则应该在上下位机间增加可纠错的编码和译码电路,否则,可以选择再次发送数据,当返回值与发送值一致时,才可认为发送成功,产生的波形基本可以符合要求。
5 结语
本文用RS 232串行通信接口将计算机与单片机相连,组成一个可控脉冲发生器用于皮肤阻抗检测。
上位机用LabVIEW编程,产生的界面友好,操作方便。
这种可控脉冲发生器编程灵活,不仅可以产生方波,还可以产生三角波,正弦波等,基本可以满足实验的要求。