当前位置:文档之家› 基于labview的串口通讯设计

基于labview的串口通讯设计

基于labview的串口通讯设计
基于labview的串口通讯设计

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

摘要

虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。

本文介绍了利用LabVIEW语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。从实现PC机PC机之间的串口通信出发,先实现双PC机之间的数据发送、返还和接收,进而设计了以PC机作为上位机,以飞思卡尔8位单片机作为下位机的基于labview软件的串口通信系统。经过实验调试,系统达到了预期的通信目标。

应用先进的虚拟仪器软件LABVIEW,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。在实际应用中有巨大的使用价值。

关键词:虚拟仪器;Labview ;串口通信;单片机

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

Design of the serial communication system Based on LabVIEW

Abstract

Virtual instrument is the modern computer technology combined with the instrumentation of the new concept of deep-level instruments,in real terms is the use of analog computer monitors display control panel,traditional instruments,in various forms to express the output measurements,using computer software features to achieve a strong signal Operation data, analysis and processing,to complete a variety of testing capabilities of a computer instrument system

This article describes the use of LabVIEW to implement the language, the next method of communication between the crew and from the software and hardware are two aspects of the design. PC-PC, from the implementation of serial communication between the departure, the first to achieve double the data between the PC, send and return, receive, and then designed a PC, as the host computer to Freescale 8-bit microcontroller based on a lower machine LabVIEW software serial communication system. After experimental debugging, the system achieved the desired communication goals.

The application of advanced virtual instrument software LabVIEW, greatly reduces the complexity of serial communication, reduce the workload of the software design can greatly reduce the investment cost. In practice, there is tremendous value in use.

Keywords: virtual instrument; Labview; serial communication; microcontroller

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

目录

第1章绪论 (1)

1.1 课题的背景和意义 (1)

1.2 虚拟仪器的概念 (1)

1.2.1 虚拟仪器的特点 (1)

1.2.2 虚拟仪器和传统仪器的区别 (2)

1.3 虚拟仪器概述 (3)

1.3.1 虚拟仪器方案的组成 (4)

1.3.2 虚拟仪器方案的优势 (4)

1.4 虚拟仪器的发展与现状 (5)

1.5 虚拟仪器的应用 (6)

1.6 课题实现内容 (6)

第2章虚拟仪器与LabVIEW (7)

2.1 LabVIEW简介 (7)

2.2 LabVIEW的基本特点 (7)

2.3 LabVIEW创建虚拟仪器过程 (8)

2.4 本章小结 (9)

第3章串行通信 (10)

3.1 串行通信的概念和特点 (10)

3.2 串行通信的分类 (10)

3.2.1 同步通信 (11)

3.2.2 异步通信 (11)

3.2.3 异步通信和同步通信的比较 (11)

3.3 串行通信的工作模式 (12)

3.3.1 单工形式:早期的电流环 (12)

3.3.2 半双工形式:RS-485 (12)

3.3.3 全双工形式:RS-232 (13)

3.4 通信参数 (13)

3.4.1 波特率 (14)

3.4.2 数据位 (14)

3.4.3 停止位 (14)

3.4.4 奇偶校验位 (14)

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

3.5 本章小结 (15)

第4章PC与PC串口通信 (16)

4.1 设计目的和实现方案 (16)

4.1.1 设计目的 (16)

4.1.2 实现方案 (16)

4.2 系统硬件结构 (16)

4.2.1 RS-232的功能特性描述 (16)

4.2.2 硬件线路 (18)

4.3 软件设计 (19)

4.3.1 VISA简介 (19)

4.3.3 程序的实现 (22)

4.4 本章小结 (25)

第5章PC与单片机串口通信 (26)

5.1 设计目的和实现方案 (26)

5.1.1 设计目的 (26)

5.1.2 实现方案 (26)

5.2 系统硬件结构 (26)

5.2.1 硬件线路 (26)

5.2.2 MC9S08AW60 单片机介绍 (27)

5.3 软件实现 (29)

5.3.1 上位机PC机LabVIEW串口通讯的实现 (29)

5.3.2 下位机串行通信程序设计 (35)

5.4 本章小结 (37)

第6章结论和展望 (38)

致谢 (39)

参考文献 (40)

附录 (41)

附录1 图表目录 (41)

附录2 单片机程序 (42)

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

第1章绪论

1.1 课题的背景和意义

目前以计算机为上位机和以单片机为下位机的集散式控制系统被广泛的应用于

工业检测和控制系统中。由于PC机的分析处理能力强,处理速度快,而单片机价格低廉、体积小、使用灵活方便,所以主机一般采用PC机,而从机则采用单片机。串行通信是一种常用的数据传输方法,虽然它的传输速度慢,但它占用的通信线路少,成本低,在工程的通信方式上仍有重要地位。通过PC机的RS-232串行接口与单片机之间串行通信是主要的通信手段。本文从实现基于labview的PC机PC机之间的串口通信出发,先实现双PC机之间的数据发送和返还、接收,进而设计了以PC机作为上位机,以飞思卡尔8位单片机作为下位机的串口通信系统。

1.2 虚拟仪器的概念

1.2.1 虚拟仪器的特点

虚拟仪器与传统仪器技术不同,虚拟仪器在通用计算机平台上通过数据采集设备,然后根据用户的实际需求就可以构建起不同的系统。所以虚拟仪器实际上是一个按照用户的实际需求组成的数据采集系统[1]。虚拟仪器采用了通用的硬件,各种仪器的差异主要是软件,它主要使用计算机显示器的显示功能来显示模拟传统仪器的控制面板,这就可以用多种形式输出检测结果,即实用又美观。目前,计算机和仪器的密切结合并且结合的越来越紧密是仪器发展的一个重要方向[2]。虚拟仪器系统可以归纳为图1.1。

图1.1 虚拟仪器系统

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

具体来说,虚拟仪器有以下特点:

(1)虚拟仪器利用了计算机丰富的软件资源。这样就可以使部分仪器的硬件软件化,增加了系统灵活性,并且节省了资源。另外,计算机还能实时、直接地对测试数据进行各种分析与处理[1]。

(2) 因为虚拟仪器融合了计算机的硬件资源,计算机来直接处理这些应用,这样就大大的增强了传统仪器的功能,突破了传统仪器在数据处理、显示、传输、存储等方面的限制。

(3) 虚拟仪器基于计算机总线和模块化仪器的总线,这样就使仪器的硬件实现了模块化,就可以方便地构建模块化的虚拟仪器[3]。

(4) 当今世界的计算机技术和相关的技术发展十分迅速,虚拟仪器也是建立在此基础上的,因此虚拟仪器随着计算机更新的速度快,功能越来与强大[4]。

(5) 由于计算机的体系是开放式的,所以虚拟仪器的硬件和软件都具有开放性、可重复使用的特点。因此,用户可根据自己的需要,选用不同厂家的产品,而且硬件还可以互换,这样就使虚拟仪器系统更为灵活[4]。

1.2.2 虚拟仪器和传统仪器的区别

每一个虚拟仪器都是由软件和硬件两部分够成。但是由于虚拟仪器具很大的灵活性,功能可以通过不同的采集卡和程序改变。因此这种灵活的构建方式大大节约了成本[5]。

传统厂商的仪器都是功能由厂商定义,并且已经预封装好软件和硬件,所以功能比较单一,使用上也没有任何的灵活性。而虚拟仪器系统的功能则完全由用户自己定义,所需要的也仅仅是通用的计算机平台和数据采集卡[6]。所以,利用虚拟仪器可以创造出高效且功能强大的仪器。通过表1.1我们可以更直观的看出虚拟仪器与传统仪器的区别。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

表1.1虚拟仪器与传统仪器的区别

1.3 虚拟仪器概述

虚拟仪器(Virtual Insturment,简称VI),即是在以通用计算机(PC)为核心的硬件平台上,由用户设计定义、具有虚拟面板、测试功能由测试软件实现的一种计算机仪器系统。虚拟仪器技术就是利用性能高的模块化硬件,结合灵活高效的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能够开发出完全符合用户的自定义界面,模块化的硬件能方便灵活地提供全面的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。因为同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势就能充分发挥出来[7]。

虚拟仪器是基于计算机的仪器。计算机和仪器的密切结合并且结合的越来越紧密是目前仪器发展的一个重要方向[7]。粗略地讲计算机与仪器的结合有两种方式:一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器,像目前的单片机设计。但是仪器的功能较为单一,不具有通用性;另外一种方式就是是将仪器装入计算机,以通用的计算机(PC)硬件及操作系统为依托,实现各种仪器的功能[8]。虚拟仪器主要是指这种方式。常见的虚拟仪方案如图1.2所示。

图1.2 虚拟仪器方案

虚拟仪器传统仪器

用户自己定义仪器功能厂家定义各种功能

与各种仪器连接简单借口较少,只能与特定仪器连接

仪器研发需要时间较短仪器研发需要时间较长

仪器压法费用低仪器研发费用较大随着硬件、软件升级,简单容易升级困难

重复利用简单重复利用困难

存数空间几乎可以无限扩展存储空间有限

研发主要是软件设计研发主要是硬件设计

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊1.3.1 虚拟仪器方案的组成

一、高效的软件。

软件是虚拟仪器技术中最重要的部分。使用正确的软件工具并通过设计或调用特定的程序模块,工程师们可以高效地创建自己的应用以及友好的人机交互界面。NI 公司提供的行业标准图形化编程软件——LabVIEW,不仅能轻松方便地完成与各种软硬件的连接,更能提供强大的后续数据处理能力,设置数据处理、转换、存储的方式,并将结果显示给用户。此外,NI提供了更多交互式的测量工具和更高层的系统管理软件工具,满足客户对高性能应用的需求。

二、模块化的I/O硬件。

面对如今日益复杂的测试测量应用,NI提供了全方位的软硬件的解决方案。无论用户是使用PCI、PXI、PCMCIA、USB或者是1394总线,NI都能提供相应的模块化的硬件产品,产品种类从数据采集、信号处理、声音和振动测量、视觉、运动、仪器控制、分布式I/O到CAN接口等工业通信,应有尽有。NI高性能的硬件产品结合灵活的开发软件,可以为负责测试和设计工作的工程师们创建完全自定义的测量系统,满足各种独特的应用要求。目前,NI已经达到了每两个工作日推出一款硬件产品的速度,大大拓宽了用户的选择面。

三、用于集成的软硬件平台。

NI首先提出的专为测试任务设计的PXI硬件平台,已经成为当今测试、测量和自动化应用的标准平台,它的开放式构架、灵活性和PC技术的成本优势,为测量和自动化行业带来了一场翻天覆地的变革。由NI发起的PXI系统联盟现已吸引了68家厂商,联盟属下的产品数量也已激增至近千种。

1.3.2 虚拟仪器方案的优势

虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少以及出色的集成这四大优势。

1、性能高

虚拟仪器技术是在现代PC技术的基础上发展起来的,所以完全“继承”了现代PC技术的各种优点,包括高性能的微处理器和文件I/O,使得在数据导入硬盘的同时就能实时地对数据进行复杂的分析处理[9]。另外,目前最新的计算机技术(如多核、PCI Express等)也在不断的推动虚拟仪器技术的发展,使虚拟仪器的优势更大。2、扩展性强

虚拟仪器具有强大的灵活性,仅仅需更新计算机或者测量的硬件设备,就可以方

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊便的改进整个现有系统。

3、开发时间少

在驱动和应用两个层面上,虚拟仪器能把计算机、仪器仪表和通讯方面的最新技术结合在一起。这些新技术在方便用户操作的同时,也提供了高灵活性和强大的功能,轻松地配置、创建、发布、扩展、维护和修改高性能、低成本的测量和控制解决方案[10]。

4、出色的集成度

虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地趋于复杂,常常需要把多个测量设备集成到一起来满足完整的测试需求,但是连接和集成这些不同设备总是要耗费大量的时间[10]。NI公司的虚拟仪器软件提供了标准的接口,这样可以帮助用户轻松地将多个测量设备集成到一个系统之中,提高了效率,减少了任务的复杂性[11]。

1.4 虚拟仪器的发展与现状

在虚拟仪器出现之前,传统仪器设备就是普通的模拟测量设备。每一种仪器就是一种完全封闭的专用系统[12]。如果想存储或者进一步处理数据,就需要人工继续操作。虚拟仪器从最初的概念提出到现在日趋成熟的技术,这些都离不开计算机技术的飞速。简单来说,随着计算机技术的发展,虚拟仪器的发展大致经历了以下几个阶段。

第一阶段是使用计算机增强传统仪器的功能。由于计算机技术的长足发展和接口的统一,计算机和外界通信成为可能,只要把仪器和计算机通过特定的接口相连接,用户就可以通过计算机控制仪器的功能,这使得用计算机控制测控仪器成为一种趋势[13]。

第二阶段是开放式的通用接口和仪器硬件构成。随着时代的发展,仪器的硬件出现了技术进步:插入式的计算机数据采集卡和仪器总线标准的确立。这些新的技术使仪器的构成和接口得以统一和不断开放,这样就慢慢地消除了原来由用户定义和供应商定义的仪器功能的区别[14]。

第三阶段,虚拟仪器构架和结构得到了广泛认同和采用。在硬件和软件领域产生许多行业标准,有几个虚拟仪器平台已经得到广泛的应用并有趋势逐渐成为虚拟仪器行业标准。然后用户可以把许多仪器的功能通过软件编写的方式封装起来用虚拟仪器实现[14]。

第四阶段,虚拟仪器编程的行业标准产生了,接口、总线、传输等都有通过统一的标准,虚拟仪器的作者只要把大部分精力放在程序的开发和仪器功能的设计上就可以了,就不需要考虑这些问题[15]。

在以上阶段中,可以看出在虚拟仪器技术发展中有两个特别突出的标志:一个是

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊各种总线标准的建立和应用,它从硬件标准上为虚拟仪器铺平了道路;另一个是图形化编程语言的出现,用户不再面对枯燥的代码,这就使用户把更多的精力放在程序的流程和效率上面。

1.5 虚拟仪器的应用

1 监控方面

用虚拟仪器系统可以随时采集和记录从传感去传来的数据,并对之进行统计、数字滤波、频域分析等处理,从而实现监控功能。

2 检测方面

在实验室中,利用虚拟仪器开发工具开发专用虚拟仪器系统,可以把一台个人计算机编成一组检测仪器,用于数据/图像采集、控制与模拟。中国农业大学的研究人员利虚拟仪器开发平台开发了用于精密播种机性能检测的实验室自动化系统。

3 教育方面

现在,随着虚拟仪器系统的广泛应用,越来越多的教学部门也开始用它来建立教学系统,不仅大大节省了开支,而且由于虚拟仪器系统具有灵活、可重用性强等优点,是的教学方法也更加灵活。

4 电信方面

由于虚拟仪器具有灵活的图形用户接口和强大的检测功能,同时又能与GPIB和VXI一起兼容,因此很多工程师和研究人员都把它用于电信检测和场测试。

1.6 课题实现内容

本课题研究基于LabVIEW的串口通信系统。包括PC与PC之间串口通信和PC与单片机之间串口通信两个部分。下文从设计思想及软、硬件设计方面予以介绍。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

第2章虚拟仪器与LabVIEW

2.1 LabVIEW简介

LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,它是美国国家仪器公司(NATIONAI INSTRUMENTS,简称NI)的创新软件产品。

LabVIEW为用户构造自己的仪器系统提供了完美的解决途径。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机地融合为一个整体,这就把计算机中含有的强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积和开发时间。虚拟仪器随着与计算机的发展而发展,它还与网络及其他周边设备进行互联,我们只需改变软件程序就就可以不断扩展增强虚拟仪器的测量功能,并且这十分简单[16]。

LabVIEW也是一种通用的编程系统,它具有各种各样、功能强大、简单易用的函数库,这些函数库里包含着包括数据采集、网络传输、串行仪器控制、数据分析、数据显示及数据存储等功能。LabVIEW也有完善的仿真、调试工具,如设置断点、单步等,十分方便用户调试。此外LabVIEW有动态连续的跟踪方式,利用此功能可以动态、连续地观察程序中的数据及其变化情况,这比其它语言的开发环境更加方便、更加有效。

LabVIEW采用图形化编程语言——G语言,它所产生的程序是框图的形式,这种形式易学易用,因为G语言可在很短的时间内掌握并应用到实践中去。图形化的程序设计编程比传统的编程语言简单直观,并且开发效率高。随着虚拟仪器技术的不断发展,这种图形化的编程语言一定会通行的标准[17]。

2.2 LabVIEW的基本特点

1 具有良好的图形用户界面。用LabVIEW可以在计算机屏幕上产生出类似于传统仪器的面板,包括按钮、旋钮、开关、图形显示组件、控制组件等等。这些组件都具有高仿真度[18]。

2 比起其它的语言来说编程简单、由于采用图形化的语言——G语言,用图形化的方式编写程序。

3 具有良好的模块化和层次结构的特点。用LabVIEW编写的VI即可以作为顶层程序使用,还可以作为其它大型程序的子程序进行调用。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊4 LabVIEW软件中提供功能强大程序调试工具。程序调试工具可以在源代码中可以设置断点,可以单步执行,也可以启动。

2.3 LabVIEW创建虚拟仪器过程

LabVIEW里包含很多函数库和开发库,其中就有专门用于设计数据采集程序和仪器控制程序的。用LabVIEW进行的程序设计本质上就是设计一个又一个的小“虚拟仪器”,即“vis”。编程时在计算机显示屏幕上能看到各种控件的前面版(Front Panel),十分简洁和传统仪器没有什么区别;但是在后台就是程序框图,这些框图都是利用G 语言来编写出来的。由于程序的前面板具有与传统仪器的界面相类似,前面板可以接受鼠标和键盘命令。程序里每一个Vl都可以被其他VI调用,也可以单独使用,不受任何限制。在LabVIEW中创建虚拟仪器的过程主要分为四步:

1 建立新VI

启动LabVIEW程序,单机VI按钮,建立一个新VI程序。这是将同时打开LabVIEW 的前面板和后面板(框图程序面板)。在前面板中显示控件选板,在后面板中显示函数选板。在两个面板中都显示工具选板。

2 创建虚拟仪器的前面板。虚拟仪器的前面板类似于普通仪器的面板,它是图形化的用户界面,用于设置输入数值和观察输出量,是人、机交互的窗口。它有着各种控件:按钮、旋钮、开关、图形显示组件和其它显示显示组件等等。前面板对象按照功能可以分为控制、指示和修饰3种。控制是用户设置和修改VI程序中输入量的接口:指示则用于显示VI程序产生或输出的数据。如果将一个VI程序比作一台仪器的话,那么控制就是仪器的数据输入端口和控制开关,而指示则是仪器的显示窗口,用于显示测量结果。我们通过鼠标和键盘输入数据、点击按钮,就可以在计算机显示器上直接观看结果,十分方便快捷。若想要在数字控制中输入或修改数值,只需要用工具模板的操作工具点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。

3 创建框图程序。在软件前面板窗口的主菜单windows窗口中选择Show Diagram 就可以将前面板窗口切换到框图程序窗口,这时我们就会看到与前面板对应的端口和框图。框图程序由节点、端口和连线组成。节点是VI程序中的执行元素,类似于文本编程语言程序中的语句、函数或者子程序。端口是数据在框图程序部分和前面板之间传输的通道接口,以及数据在框图程序的节点之间传输的接口。端口类似于文本程序中的参数和常数。连线是端口间的数据通道,类似于文本程序中的复制语句。数据时单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型,每种数据类型还以不同的颜色予以强调。根据需要在功能模板中找到所需的节点,并将节点图标放置到框图程序窗口。用数据连线将这些端口和节点的图标连接起来,

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊就形成了一个完整的框图程序。

4 运行和调试程序。在LabVIEW中,我们可以通过运行和连续运行这两种方法来运行程序。如果运行时候一个VI程序存在语法错误,那么在面板工具条上的运行按钮将会变成一个折断的箭头,这就表示程序不能被执行需要修改。这时这个按钮就被称作错误列表。点击此按钮,在LabVIEW中就会弹出错误清单的窗口,里面罗列的就是程序中的错误,选用Find功能,那么出错的对象或端口就会变成高亮显示出来。在调试程序时可以利用单步执行、设置断点、设置探针等方法来显示数据流动方向。

2.4 本章小结

本章对LabVIEW软件进行了介绍,包括软件的发展历程,软件的特点。对LabVIEW 创建虚拟仪器过程做了大致的描述。

┊┊┊┊┊┊┊┊┊┊┊┊

┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

1

1

1

1

1

1

1

1

1

1

11001101

并/串转换串/并转换

第3章串行通信

3.1 串行通信的概念和特点

串行通信是指使用一条数据线(另外需要地线,可能还需要控制线),将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。如图3.1所示。

图3.1串行通信

串行通信的特点是:数据传送按位顺序进行,最少值只需要一根传输线即可完成,节省传输线。与并行通信相比还有较为显著的优点,传输距离长,可以几米到几千米。在长距离内串行数据传送速率比并行数据传送速率快,串行通信的通信时钟频率容易提高,串行通信的干扰能力十分强,其信号间的互相干扰完全可以忽略。但是串行通信传送速率比并行通信慢很多,并行通信时间为T,则串行时间为NT。

正是由于串行通信的接线少、成本低,因此它在数据采集和控制系统中得到了广泛的应用,产品也多种多样。RS-232的通信距离一般为15米,波仕电子的RS-232可以达到500米以上。

3.2 串行通信的分类

串行传输中,数据时一位一位按照到达的顺序依次传输的,每位数据的发送的接受都需要时钟来控制,发送端通过发送时钟确定数据位的开始和结束,接受端需要在

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊适当的时间间隔对数据流进行采样来正确的识别数据。接收端和发送端必须保持步调一致,否则数据传输就会出现差错。为了解决以上问题,串行通信可采用以下两种方法:同步通信和异步通信。

3.2.1 同步通信

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。

它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。

3.2.2 异步通信

串行异步通信即RS232通信,是主机与外部硬件设备的常用通讯方式。可以双向传输。如卫星信号接收版收到的数据传导到计算机处理,主要使用串行异步通信处理。

异步通信中,有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。

接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。

异步通信中典型的帧格式是:1位起始位,7位(或8位)数据位,1位奇偶校验位,2位停止位。

3.2.3 异步通信和同步通信的比较

(1)异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。

(2)异步通信只适用于点对点通信,同步通信可用于点对多通信。

(3)通信效率:异步通信低,同步通信高。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊

┊┊┊┊┊┊

地线

发送端

接收端

发送端

接收端

发送端接收端

地线

由于本实验只是完成点对点的通信,异步通信即可满足要求,而且传输的数据量很小,不需要很高的通信效率,异步通信亦可满足,考虑到异步通信的方式线路简单,容易实现,因此本次设计采用异步通信的工作方式。

3.3 串行通信的工作模式

通过单线传输信息是串行数据通信的基础。数据通常是在两个站(点对点)之间进行传送,按照数据流方向可分成三种传送模式:单工、半双工、全双工。

3.3.1 单工形式:早期的电流环

单工形式的数据传送是单向的。通信双方中,一方固定是发送端,另一方则固定是接收端,使用一根传输线,如图3.2所示。

图3.2单工形式

3.3.2 半双工形式:RS-485

半双工通信使用同一根传输线,即可发送数据又可接受数据,但不能同时发送和接受。在任何时刻只能由其中的一方发送数据,另一方接受数据。因此半双工形式既可以使用一条数据线,也可以使用两条数据线。如图3.3所示。

图3.3半双工形式

┊┊┊┊┊┊┊┊┊┊┊┊┊装

┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

地线

发送端

接收端

发送端

接收端

半双工通信中每个端口都需要有一个收/发切换电子开关,通过切换来决定数据向哪个方向传输。因为有切换,所以会产生时间延迟,信息传输效率较低。但是对于像打印机这样单方向传输的外围设备,用半双工方式就能满足要求了,不用采用全双工方式,可节省一根传输线。

波仕电子的RS-232/RS-485转换器使用了独特的零延时自动收发转换技术,直接从RS-485信号中用硬件提取收发转换控制信号,并具备零延时的性能。其中零延时指收发切换过程转变时间为0。在使用时与RS-232通信一样。

3.3.3 全双工形式:RS-232

全双工数据通信分别由两根可以在两个不同的端点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作。如图3.4所示。

图3.4全双工形式

在全双工形式中,每一端都有发送器和接收器,有两条传送线,可在交互式应用和远程监控系统中使用,信息传输效率较高。

鉴于全双工工作模式可以通信双方同时同时发送数据的优势,本次设计采用全双工的工作模式。

3.4 通信参数

串行端口的通信方式是将字节拆分成一个接着一个的位再传送出去。接到此信号的一方在将此一个一个的位组合成原来的字节,如此形成一个字节的完整传送。

在传输进行的过程中,双方明确传送的具体方式,否则双方就没有一套共同的译码方式,从而无法了解对方所传过来的信息的意义。因此双方为了进行通信,必须遵守一定的通信规则,这个共同的规则就是通信端口的初始化。

通信端口的初始化必须对以下参数进行设置。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊3.4.1 波特率

这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

3.4.2 数据位

这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

3.4.3 停止位

用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

3.4.4 奇偶校验位

在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

3.5 本章小结

本章介绍了串行通信传输距离长,接线少,成本低的特点。串行通信分为同步通信、异步通信两种方式。工作模式分为单工、半双工和全双工。考虑到本次设计的要求,这里选择全双工异步通信的工作方式来实现。最后,介绍了串口初始化需要设置的通信参数。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊

第4章PC与PC串口通信

4.1 设计目的和实现方案

4.1.1 设计目的

利用PC的串口进行数据通讯在当今的通信领域中占有着重要的地位,用RS-232串行口直接对接两台机器,以此来实现通信、数据和文件传输。采用串行端口连接双机进行数据传输,是通信和数据传输的一种简单易行的好方法。而采用图形化界面的Labview软件编写通信程序,可以大大的简化编程的复杂程度,在生产和生活中具有使用重大的应用价值。

4.1.2 实现方案

两台计算机进行通信,一台通过串口发送数据,另一台计算机接收发送来的数据,并返还数据。两台计算机之间利用一条串口数据线连接起来。当两台串口设备通信距离较近时,可以直接连接,最简单的情况,在通信中只需要三根线(发送线、接收线、信号地线)便可实现双全工异步串行通信。

4.2 系统硬件结构

4.2.1 RS-232的功能特性描述

通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。RS-232标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。

RS-232标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。

EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。

(1)在TxD和RxD上:

LabVIEW与单片机通讯

LabVIEW单片机通讯 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终止符”和“禁用终止符?”这二个输入端,这二个输入端是相互作用的,“终止符”默认值为10,它的十六进制是“0x0A”,这是一个ASCII码,是一个换行符,可以从LabVIEW中的字符串的不同显示形式看出来,如下图:

Labview串口通信开发实例(值得拥有)

串口通信的基本概念 串口通信的基本概念 1,什么是串口? 2,什么是RS-232? 3,什么是RS-422? 4,什么是RS-485? 5,什么是握手? 1,什么是串口? 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米; 而对于串口而言,长度可达1200米。

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参 数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB 设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信 的情况。

Labview串口

先是英文资料,后面有详细的中文资料。 https://www.doczj.com/doc/4911582522.html,/devzone/cda/tut/p/id/2897 Serial Instrument Control Tutorial 目录 1.Overview of Serial Bus 2.Connecting and Setting up a Serial Instrument Control System 3.How to Create a VISA Resource for the Instrument in MAX 4.Instrument Control Software Articles and Related Links Overview of Serial Bus Serial is a common device communication protocol for instrument control because most computers and many remote instruments include at least one serial port. Single applications can be used across a variety of instruments with few modifications, reducing programming and test time. For more information on the serial protocol, including information on transfer speeds and important parameters, please refer to Serial Communication Overview. Connecting and Setting up a Serial Instrument Control System

非常好--LabVIEW串口通信详解

LabVIEW串口通信详解 串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地方,谢谢。 论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。上一个贴子中提到过的内容这里不再进行补充。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 VISA的驱动可以在NI网站上下载到:https://www.doczj.com/doc/4911582522.html,/nidu/cds/view/p/id/1605/lang/zhs 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终

LabVIEW串口通信入门教程

串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友方便使用。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:

图1串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表

基于LABVIEW的串口通信实验

基于LABVIEW的串口通信实验 一、实验目的 1.了解LabVIEW串口通信基本方法 2.通过LabVIEW串口获取数字温度传感器的数据 二、实验器材 1.计算机一台 2.LabVIEW8.20软件一套 3.串口线一根 4.虚拟仪器实验平台一台 5.分布式温度采集模块一块 6.传感器控制模块一块 三、实验原理 串行通信是工业现场仪器或设备常用的通信方式,它是将一条信号的各位数据按顺序逐位传送。计算机串行通信(简称串口)采用RS232协议,允许一个发送设备连接到一个接收设备以传送数据,最大速率为115200bps。计算机串行口采用Intel8250异步串行通信组件构成,通常以COM1~COM4来表示。 https://www.doczj.com/doc/4911582522.html,bView串口节点 LabView中提供了已封装好的串口通信节点,它们位于函数->数据通信->协议->串口。

这里主要介绍程序中使用到的串口配置、串口读取、串口写入和串口关闭,其他串口相关的节点使用方法查询LabView帮助。 (1)串口配置 在进行串口通信时,首先要对串口进行初始化和配置。这可以由VISA配置串口节点来完成,串口配置节点如下图所示。 使用该节点可以设置串口的VISA资源名称、波特率、数据位、校验位、超时时间、终止符以及流控制等参数。 VISA资源名称控件用于规定对VISA会话句柄开放的资源,并维持会话句柄和类。VISA 会话句柄是VISA使用的唯一逻辑标识符,用于与资源进行通信。VISA会话句柄由VISA 资源名称输入控件保持,用户不可见。VISA资源名称输出是VISA函数中输出的VISA资源名称的副本。通过将资源名称输出或输入函数和VI,并链接函数和VI,从而简化数据流编程。这与文件I/O函数使用的文件引用句柄输出相似。 (2)串口写入 串口写入是将写入缓冲区的数据写入VISA资源名称指定的设备或接口,可以选择同步或异步。该操作仅当传输结束后才返回。VISA写入的节点图标及端口定义如下图所示。

LABVIEW串口设计

第一部分使用LabVIEW系统VI 1.1、串口VI介绍 LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括: VISA Configure Serial Port:初始化VISA resource name指定的串口通讯参数VI SA Write:将输出缓冲区中的数据发送到VISA resource name指定的串口 VISA Read:将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break:向VISA resource name指定的串口发送一个暂停信号 VISA Bytes at Serial Port:查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close:结束与VISA resource name指定的串口资源之间的会话 VISA Set I/O Buffer Size:设置VISA resource name指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer:清空VISA resource name指定的串口的输入输出缓冲区 1.2、使用说明 在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。 图1、串口操作数据流图

首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。 图2、初始化串口 如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VIS A Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Ser ial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。 图3、从串口发送数据 图4、从串口接收数据 在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA S et I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之

基于labview单片机串口通信课程设计

辽宁工业大学开放性实验课程设计 题目:基于LabVIEW的单片机之间串口通信设计 院(系):电气工程学院 专业班级:自动班 122 学号: 120302042 学生姓名:刘权 指导教师:(签字) 起止时间:2014.12.17-2015.01.06

摘要 虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。 本文介绍了利用 LabView语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。在简要介绍图形化虚拟仪器平台LabView 的基础上,分析STC12C5A60S2单片机与 LabView之间的串口通信模式,并结合该设计中设计的温度检测系统给出串口通信的软、硬件设计。 应用先进的虚拟仪器软件LabView,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。在实际应用中有巨大的使用价值。 关键词:MCS51单片机,LabView,串口通信

目录 前言 (5) 第一章绪论 (6) 1.1 研究的背景及意义 (6) 1.2 课题发展状况 (7) 1.3 设计任务 (7) 第二章系统总体设计 (8) 2.1 系统方案设计 (8) 2.2 系统硬件选择 (8) 第三章系统硬件设计 (9) 3.1 元器件的介绍 (9) 3.1.1 主控制器 (9) 3.1.2单片机 (10) 3.2 硬件电路图设计 (10) 3.2.1mcu及复位电路 (10) 3.2.2串口电路 (11) 3.2.3晶振电路 (12) 3.2.4led输出电路 (13) 3.2.5PCB版 (13) 第4章系统软件设计 (15) 4.1 单片机接口程序设计 (15) 4.2 单片机串口通讯协议 (17) 参考文献 (19) 附录 (20)

LabVIEW串口通信

LabVIEW串口通信 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终止符”和“禁用终止符?”这二个输入端,这二个输入端是相互作用的,“终止符”默认值为10,它的十六进制是“0x0A”,这是一个ASCII码,是一个换行符,可以从LabVIEW中的字符串的不同显示形式看出来,如下图:

labview与单片机串口通信

串口,VISA和MSComm控件,与单片机通信 visa编写串口程序时是不是必须要安装MSComm控件? 首先是labview有自带的串口资源,即visa控件,不需要安装MSComm控件。MSComm控件也可以被labview调用来实现对串口的编程。 但是,visa控件的图标在安装labview之后虽然在控件库里可以显示但是不能用,必须安装visa 驱动,这个驱动可以在官网下载。 win7 winvista的系统和低版本的labview最好安装最新的visa驱动,不然可能会出现错误。 其次我用labview做的上位机,但是用的笔记本没有串口,这时候,用一条 usb转串口线(安装合适的驱动)直接虚拟串口,visa可以对这个虚拟串口操作。 最后,labview和单片机通信,由于labview的visa控件只可对字符写出或者读上来的显示为ascii字符,而单片机的通信协议的命令帧和数据帧可能是由十六进制定义的, 最开始的想法是,将输入数值型数据(十进制的)转成为十六进制数,再将此十六进制转为相对应的ascii码(网上也有相应的labview函数),最后将ascii码下传给单片机; 一个简单的办法: ---------------------字符型的数据(输入字符串,输出字符串,常量字符等等)的属性里有一个选项,将显示样式由正常改为十六进制显示即可,这时就可以直接输入十六进制了。 以下使用NI-VISA与USB设备eZ430-RF2500进行通信,是在使用LabVIEW2010和NI-VISA503full的开发环境通过的。 1、USB与VISA背景 VISA是一个高级API用来与仪器控制总线进行通信。它是平台独立、总线独立、环境独立的。USB是一个基于消息的通信总线。这意味着PC和USB设备通过在总线上以文本或二进制数据格式发送指令和数据进行通信。每个USB设备都有自己的指令集。可以使用NI-VISA读函数与写函数,将这些指令发送到仪器上,并从这些仪器上读取响应。 从NI-VISA 3.0版本开始支持USB通信。能够支持两个等级的VISA资源:USB INSTR和USB RAW。 遵守USB测试与测量类别(USBTMC)协议的USB设备使用USB INSTR资源类别。USBTMC设备遵守VISA USB INSTR资源类别能够理解的协议。如果要与USBTMC设备进行通信,则没有必要进行设置。要

基于LabVIEW的单片机串口通信实现

第4期(总第149期) 2008年8月机械工程与自动化 M ECHAN I CAL EN G I N EER I N G & AU TOM A T I ON N o 14 A ug 1 文章编号:167226413(2008)0420157202 基于L abV IEW 的单片机串口通信实现 朱建平,吕春峰 (云南民族大学物理与电子电气信息工程学院,云南 昆明 650031) 摘要:介绍了在L abV IE W 环境下串口通信的建立方法,结合L abV IE W 的功能,将其应用于单片机串口通信中,从而实现数据交换等功能。关键词:L abV IE W ;单片机;串口通信中图分类号:T P 36811 文献标识码:A 收稿日期:2008201213;修回日期:2008202218作者简介:朱建平(19782),女,湖北黄冈人,讲师,硕士。 0 引言 在实际应用中,我们经常遇到上位机与单片机系统通信的问题。由于上位机和单片机都具有串口,因此经常使用串口完成二者之间的数据交换,这就需要在上位端设计相应的串口通信程序。为了使开发出来的界面更具人性化、功能更强,在此采用L abV IE W 开发单片机与上位机通信系统,利用虚拟仪器软件绘制图形面板,在上位机上模拟出与之功能相对应的控制面板,实现对仪器的控制、数据的分析处理等功能,从而构建出一个有效的单片机与上位机的串口通信系统。1 串口通信系统的建立 111 系统硬件构成及通信的建立 单片机侧采用51系列单片机,晶振为1110592H z ,采用串口通信方式,波特率为9600 b s ,8位数据位,1位停止位,无奇偶校验。单片机的显示部分用于显示接收到上位机发送来的数据,由HD 7279A 控制。HD 7279A 是一片具有串行接口的可同时驱动8位共阴式数码管(或64只独立L ED )的智能显示驱动芯片,这样我们就可以直观地看到上位机发送过来的数据。单片机运行后等待上位机传来启动命令和初始控制,根据上位机发送来的不同控制代码做出相应的数据答复,若接收错误则单片机不做响应,上位机重新发送;当接收到上位机发送的停止命令后,单片机做出响应。 112 通信程序设计 程序采用C 51语言编写,包括主程序、参数初始化子程序、数据管理子程序、中断调用程序(包括定时器、串口的中断服务程序)以及数据传输服务。数据传 输等功能均在中断程序中完成。 主程序中断发生后,进入中断服务,接收完数据帧后,调用数据管理子程序完成对数据的分析、处理,然后调用数据传输子程序将响应数据或短应答发送出去,这样就完成了一个数据传输循环周期的处理。主程序流程见图1。 图1 主程序流程图 单片机的数据存储区开辟了两个缓冲区,分别为数据接收区和数据发送区,一个用来存放上位机发送来的数据帧,另一个用来存放单片机要发送的响应数据。当进入中断后,单片机将上位机发送来的控制值装入数据接收区并直接在单片机的数码管上显示出来,这样就能方便地判断上位机发送的控制值是否正确,单片机根据其数据管理子程序判定控制值,然后

相关主题
文本预览
相关文档 最新文档