LabVIEW通讯-串口通信

文章目录

  • 常用串口规范
  • 同步/异步通信
  • LabVIEW串口通信的实现

常用串口规范

RS232C、RS422、RS485区别

标准 RS232 RS422 RS485
工作方式 单端 差分 差分
节点数 1发1收 1发10收 1发32收
最大传输电缆长度 15m 1219m 1219m
最大传输速率 20Kb/s 10Mb/s 10Mb/s
传输线数量 9(DB9/DB25) 5 2/4

RS232C/RS422/RS485标准只是在连接件的接口电气特性方面有所差别,不涉及插件、电缆或协议,所以在用它们进行串行通信时,软件编程也非常相似。

RS232用的是单端接地信号,常用于连接鼠标、打印机、调制解调器、工业仪器仪表等,仅限于计算机串口与设备间的点对点连接。

RS422用的是差分电信号,使用两根线同时传输和接收信号。

RS485最多允许将32个设备连接到一个端口上,并定义了必要的电气特性,以确保在最大负载时的信号电压足够大。可应用于将许多分布式仪器与控制器联网,实现数据采集或其他工业程序。

同步/异步通信

串行通信有同步和异步两种常用的数据传输方式。
同步通信指在约定的通信速率下,发送端和接收端以同步的时钟频率和相位传输数据。
串行同步通信把多个数据字符组成信息帧,并在数据开始传送前,先用同步字符指示(约1-2个)时钟实现发送端和接收端同步。即,检测到规定的同步字符后,继续按顺序传送信息帧中的数据直到传送完毕。
一般情况下,同步通信会在信息帧后边加循环冗余校验(CRC)。
同步通信传送信息位数不受限制,效率高,但要求严格的时钟同步,多数情况下要求发送端和接收端使用同一时钟源。
同步通信一般用于对传输速率要求较高的场合。

异步通信以ASCII码字符为单位进行传输,字符间无固定时间间隔要求,每个字符中的各位以固定时间进行传送。
异步通信规定字符由起始位、数据位、奇偶校验位、停止位组成。收发双方由起始位和停止位同步。即,在一个有效字符正式发送前,先发送一个起始位,然后发送有效字符位,字符结束后再发一个停止位;从起始位到停止位构成一帧。停止位到下一个起始位之间为不定长空闲位,并规定起始位为低电平,停止位和空闲位都是高电平。
异步通信中每接收一个字符,收发双方都要重新同步一次,所以发送端和接受端可以由各自的时钟控制数据的发送和接收,无需严格同步,只要在一个字符的传输时间范围内可以同步就行。
异步通信一个字符大概增加20%的附加信息位,传输效率较低,但是简单可靠、容易实现。

LabVIEW串口通信的实现

Virtual Instrument Software Architecture,VISA是一个可调用的操作函数集,作为一个高层API,它本身不提供仪器编程能力,通过调用低层驱动程序实现对GPIB/RS232/USB/VXI等不同类型的仪器编程。
用VISA进行仪器控制的时候,一般是有进行设备配置-写信息-读信息-关闭设备这几个步骤。

先写再读一个端口
在这里插入图片描述
先写一个端口,再从另外一个端口读响应。
通过属性节点在每次发送完信息后自动添加结束字符。当然,也可以通过连接字符串的函数在发送信息后面增加终结字符串。设置ASRL End Out 为TermChar,TermChar En为True,并由TermChar指定终结字符。
如果只设置TermChar En位True,并由TermChar指定终结字符,则终结字符只对接收过程有效。

在这里插入图片描述
连续读写一个端口。这个是包含软件流控制的,用属性节点设置软件流控制机制中的XON/XOFF来控制字符的值。

在这里插入图片描述

常用的流控制方法含硬件流控制和软件流控制。

硬件流控制又有RTS/CTS(请求发送/清除发送)和DTR/DRS(数据终端就绪/数据设置就绪)。
硬件流控制需要将串口端子相应的电缆线连上。数据终端设备(计算机等)使用RTS启动调制解调器或其他通信设备的数据流,而数据通信设备(调制解调器等)需要用CTS启动和暂停来自计算机的数据流。
在程序中,可以根据接收端的缓冲区大小设置一个高位界限和一个低位界限,缓冲区内数据量到达高位界限时,在接收端将CTS置为低电平,在发送端检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位界限,再将CTS置为高电平。RTS则用来标明接收端设备有没有准备好接收数据。

软件流控制通过XON/XOFF(传送继续/传送停止)字符实现。当接收端的输入缓冲区内数据量高于高位界限时,就向数据发送端发出XOFF字符,发送端收到XOFF后立即停止发送数据,当接收端的输入缓冲字符串内数据量低于设定的低位时,向数据发送端发出XON字符,发送端收到XON后立即开始发送数据。文章来源地址https://uudwc.com/A/Dz1yB

原文地址:https://blog.csdn.net/weixin_43781045/article/details/127200360

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月19日 19:25
【FPGA】用Verilog语言实现呼吸灯实验
下一篇 2023年06月19日 19:26