基于Labview的串口通信软件设计.doc

上传人:wj 文档编号:7394365 上传时间:2023-05-11 格式:DOC 页数:8 大小:508KB
下载 相关 举报
基于Labview的串口通信软件设计.doc_第1页
第1页 / 共8页
基于Labview的串口通信软件设计.doc_第2页
第2页 / 共8页
基于Labview的串口通信软件设计.doc_第3页
第3页 / 共8页
基于Labview的串口通信软件设计.doc_第4页
第4页 / 共8页
基于Labview的串口通信软件设计.doc_第5页
第5页 / 共8页
基于Labview的串口通信软件设计.doc_第6页
第6页 / 共8页
基于Labview的串口通信软件设计.doc_第7页
第7页 / 共8页
基于Labview的串口通信软件设计.doc_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于Labview的串口通信软件设计.doc

《基于Labview的串口通信软件设计.doc》由会员分享,可在线阅读,更多相关《基于Labview的串口通信软件设计.doc(8页珍藏版)》请在冰点文库上搜索。

基于Labview的串口通信软件设计.doc

编号:

《虚拟仪器》课程考核论文

基于labview的串口通信软件设计

论文作者姓名:

XXX

作者学号:

所在学院:

物理与电子学院

所学专业:

测控技术与仪器

导师姓名职称:

高伟

论文完成时间:

2014.12.30

基于labview的串口通信软件设计

金鹏举(河南大学2011级测控专业)

摘要:

串口通信因为其简单,灵活易用,在许多领域有着广阔的应用前景。

本文在深入介绍串口通信技术的基础上,结合自身的工程实践经验,阐述了labview串口编程的技术要点,设计一个适用范围较广、实用性较强的串口通信助手。

关键词:

串行通信,RS-232,labview,串口

Abstract:

aserialportcommunicationbecauseofitssimple,flexibleandeasytouse,hasabroadapplicationprospectinmanyfields.Inthispaper,basedonin-depthintroductionofserialportcommunicationtechnology,combinedwithitsownengineeringpracticeexperience,thispaperexpoundsthemaintechnicalpointsofthelabviewserialportprogramming,designawideapplicationscope,practicalserialportcommunicationassistant.

Keywords:

serialcommunications,RS-232,labview,serialport

1.课题研究背景

随着计算机系统的应用和微机网络的发展,通信功能越来越显得重要。

这里所说的通信是只计算机与外界的信息交换。

因此,通信既包括计算机与计算机之间,也包括计算机和外部设备之间、计算机与单片机之间的信息交换。

由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,尤其是在数据量比较大的场合下,利用一个主机向各个从机发送控制指令是一个很好的解决方案,在这个过程中,串口通信是实现计算机和外部设备之间、单片机与单片机、计算机与单片机之间通信的关键。

2.串口通信的原理

 串口通信的硬件投资少,软件编程简单,在低速少量数据传输方面的应用极其广泛的应用。

尤其使用较多的是RS-485通信协议,因为RS-485的差分电压传输方式能有效的抑制共模干扰,传输距离能达到几百米。

串口通信的本质就是两个CPU以规定的通信协议进行数据交换。

目前常用的串口协议有RS232通信协议和RS485通信协议。

RS232和RS485规定的通信协议是相同的,只是物理层规定的电平不一样。

而RS232属于全双工串行异步通信协议,RS485属于半双工串行异步通信协议。

在异步通行中有两个比较重要的指标:

数据帧格式和波特率。

所以串口通信最重要的参数是波特率、起始位、数据位、停止位和奇偶校验。

波特率:

是一个衡量通信速度的参数,表示每秒钟传送的bit的个数。

 

RS232规定的数据帧格式为:

1位起始位+5–8位的数据位+可选奇偶校验位+1–2位的停止位。

起始位:

当通信线上没有数据被传送时处于逻辑“1”状态,当发送设备要发送一个数据时,先发送一个逻辑“0”信号,这个低电平就是起始位,起始位通过通信线传向接收设备,接收端检测到这个低电平后,就确认开始接收数据了。

起始位的作用是使通信双方在传送数据前协调同步。

 

数据位:

是衡量通信中实际数据位的参数,当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7或8位,如何设置取决于要传送的信息。

每个包是指一个字节,包括开始/停止位、数据位和奇偶校验位,由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

 

停止位:

用于表示单个包的最后一位。

典型的值为1、1.5和2位,它是一个数据的结束标志,接收端接收到停止位后,通信线路上会回复逻辑“1”的状态,知道下一个起始位的到来。

 

奇偶校验位:

在串行通信中一种简单的检错方式,可以选择不采用。

常用的有两种校验方式:

奇校验和偶校验。

对于奇校验,串口会自动设置校验位的高低电平,从而使数据帧中逻辑1出现的个数为奇数。

相应的,对于偶校验,串口会自动设置校验位的高低电平,从而使数据帧中逻辑1出现的个数位偶数。

3.软件设计

3.1 软件平台labview

LabVIEW(LaboratoryVirtualInstrumentEngineering)是一种基于图形开发、调试和运行程序的集成化环境,实现了虚拟仪器的概念,LabVIEW程序称为虚拟仪器程序.采用图形化的程序语言(G语言)。

这种语言不必写程序代码,看到的是直观明了的流程图语言,所以编程非常方便。

该语言提供了大量的常用控件,如旋钮、开关、按钮、图形显示等,可直接使用,不像Delphi等高级语言实现一个旋钮需要几十行代码,因此,LabVIEW大大地缩短了软件的研发周期。

LabVIEW能与多种语言通用,如Matlab,C等,例如将Matlab脚本嵌入到LabVIEW程序,保证了一些LabVIEW所不具备的功能得以实现,如小波分析、神经网络等。

此外,通过加亮执行、单步、断点和探针帮助用户跟踪经过VI的数据流,使LabVIEW的调试直观方便.

3.2软件设计思路

在LabVIEW中实现串行通信的方式主要有利用VISA和使用ActiveX控件两种。

3.2.1利用VISA实现串口通信

虚拟仪器的软件系统框架包括三个部分:

VISA库、仪器驱动程序、应用软件。

VISA作为测试程序和数据传输总线的中间层,为应用程序和仪器总线的通信建立了通道[2]。

VISAI/O库为应用程序的建立提供了一致的接口,因而应用程序不需要关心实际的数据传输介质是GPIB电缆还是串口线,可以认为在VISA库中包含了与各种接口进行连接所需的程序。

VISA是应用于仪器编程的标准I/O应用程序接口(API),VISA本身并不具有仪器编程能力,VISA是调用低层驱动器的高层API[3]。

使用时需要安装VISA驱动程序。

3.2.2使用ActiveX控件实现串行通信

ActiveX通常翻译为“微软倡导的网络化多媒体对象技术”,实际上它是一整套跨越编程语言的软件开发方法与规范。

利用LabVIEW的ActiveX控件容器,可以调用第三方提供的ActiveX控件,从而使程序功能更加强大,节省程序开发时间[6]。

3.3软件设计过程

本次设计利用VISA实现串口通信。

首先需要调用VISAConfigureSerialPort完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等,

如果初始化没有问题,就可以使用这个串口进行数据收发。

发送数据使用VISAWrite,如图3所示。

接收数据使用VISARead,如图4所示。

在接收数据之前需要使用VISABytesatSerialPort查询当前串口接收缓冲区中的数据字节数,如果VISARead要读取的字节数大于缓冲区中的数据字节数,VISARead操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。

当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。

串行通信系统可分为以下3个模块:

(1)端口配置模块:

负责串口的开关、端口的选择、波特率、数据位、停止位、校验位的选择等。

(2)数据发送模块:

负责实现发送数据的处理与数据的多种发送方式,具有选择手动发送或自动发送、选择发送数据的类型、设置自动发送时间间隔、读取要发送的文本、清空发送区域等功能。

(3)接收显示模块:

负责实现接收数据的处理与数据的多种显示方式,具有自动接收和结束接收的功能,能够保存接收的数据和清空显示区域。

程序框图如下:

图1:

串口通信程序框图

程序前面板设计如下:

3.4程序调试

由于条件限制,手中没有单片机,所以软件调试使用虚拟串口软件和之前用MFC写的串口调试助手。

1.首先打开虚拟串口,添加虚拟的串口COM1和COM2(虚拟串口添加的端口是相连的)

2.打开串口调试助手和VI程序分别设置为COM1(9600-N-8-1),COM2(9600-N-8-1)

4.设计总结

本次串口通信软件设计首先按照规定的要求实现了如下功能:

1.能与单片机进行RS-232串口通信,能发送和接收。

2.显示通信过程中发送和接收的数据。

3.波特率、数据位、校验位和停止位可调。

4.串口号可选择。

利用LabVIEW进行产品开发可以极大地提高

开发效率,本文介绍的LabVIEW串口编程,就是一个很好的证明。

将LabVIEW软件开发与串口通信结合设计开发数据采集系统和控制硬件设备,不仅能节约大量开发时间和减少硬件成本,还可以为今后的系统升级留有很大空间,同时还使得系统具有很好的可移植性。

参考文献:

[1]李宇华.虚拟仪器开放平台LabVIEW介绍[J].计算机自动测量与控制,1996,(3):

32-45.

[2]KALKMANCJ.LabVIEW:

Asoftwaresystemfordatascquisition,dataanalysis,andinstrumentcontrol[J].JournalofClinicalMonitoringandComputing.2005,11

(1):

1387-1397.

[3]LEONW.IICounch.Digital&analogcommunicationsystems(7thEd.)[M].Macmillan:

NewYork,2007,327-333.

[4]杨乐平,李海涛,肖相少,等.LabVIEW程序设计与应用[M].北京:

电子工业出版社,2001.

[5]畅国忠.基于VISA的事件处理方法与实现[J].测控技术,2000,(9):

60-76.

[6]李刚,林凌.LabVIEW易学易用的计算机图形化编程语言[M].北京:

北京航空航天大学出版社,2001.

[7]周军伟.基于虚拟仪器的超声检测的研究[D].西安理工大学,2005

[8]李金霞,邱公伟.虚拟仪器及Labview概况[J].福建电脑,2002年第9期,14-15

[9]李扬,郑莹娜,朱铮涛.图形化编程语言Labview环境及其开放性[J].计算机工程,1999(25:

4),63-65

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2