LabVIEW通讯-串口通信

常用串口规范

RS232C、RS422、RS485区别

标准RS232RS422RS485
工作方式单端差分差分
节点数1发1收1发10收1发32收
最大传输电缆长度15m1219m1219m
最大传输速率20Kb/s10Mb/s10Mb/s
传输线数量9(DB9/DB25)52/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后立即开始发送数据。

  • 7
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炳烛之明也

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值