当前位置: 首页 > ds >正文

串口通信入门基础

串口通信

在了解串口通信之前,需要先了解两个基本概念。

串行通信

串行通信:计算机与I/O设备之间,同一时刻,只能传输一个bit位的信号。传输数据按顺序依次一bit位接一bit位进行传输,通常数据在一根数据线或一对差分线上传输。

比如,当传输1字节信息时,并行通讯有8根信号线实现同时传输,假如耗时为1T,而串行是在一根信号线上,把数据排成一行、一位一位传输,需要传8次,因此耗时为8T。

在串行通信中,数据以帧为单位传输的,帧有大帧和小帧之分,小帧包含一个字符,大帧包含多个字符。

并行通信

并行通信是和串行通信相对的数据传输的方式。

并行通信:计算机与I/O设备之间,通过多条传输线,可以同时传输多个bit位的信号。

两者区别

并行通讯的效率高,但是成本高、对信号线路要求高,一般应用于快速设备之间近距离传输,譬如CPU 与存储设备、存储器与存储器、主机与打印机等都采用并行通讯。

串行通讯效率较低,但是对信号线路要求低,抗干扰能力强,同时成本也相对较低,一般用于计算机与计算机、计算机与外设之间远距离通讯。

串口通信和串行通信的区别

串口通信和串行通信的区别在于:串行通信是一种概念,串口通信是一种具体的通信手段。

串行通信是一种概念,是指一比特一比特的收发数据,相对于并行通信可同时传输多个bit位而言。包括一般的的串口通信、I2C、SPI等等。

串口通信是外设和计算机间的一种通信手段,是相对于以太网通信等通信手段而言的。

二者一个是一种概念,一个是一种实际的通信方式。

基本概念

串口通信(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种串行通讯方式。

串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。

串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。

基本结构

  • 发送端(Transmitter):将并行数据转换为串行数据,逐位发送。
  • 接收端(Receiver):将串行数据转换为并行数据,恢复原始数据。
  • 通信线路:通常包括发送线(TX)、接收线(RX)和地线(GND)。
  • 通信协议:定义数据传输的格式、波特率、数据位、停止位、校验位等参数。

工作原理

串口通信一般采用异步通信方式(UART),其工作原理如下:

1. 数据帧结构

串口通信的数据以帧(Frame)为单位传输,每一帧通常包括:

起始位(Start Bit) + 数据位(Data Bits) + 校验位(Parity Bit,可选) + 停止位(Stop Bit)
  • 起始位(Start Bit):表示数据传输的开始,通常为逻辑低电平(0)。

  • 数据位(Data Bits):实际传输的数据,通常为5、6、7或8位,最常用的是8位。

  • 校验位(Parity Bit):用于数据校验,可选奇校验、偶校验或无校验。

  • 停止位(Stop Bit):表示数据传输结束,通常为逻辑高电平(1),长度为1位或2位。

    停止位是按长度来算的。串行异步通信从计时开始,以单位时间为间隔(一个单位时间就是波特率的倒数),依次接受所规定的数据位和奇偶校验位,并拼装成一个字符的并行字节;此后应接收到规定长度的停止位“1”。所以说,停止位都是“1”,1.5是它的长度,即停止位的高电平保持1.5个单位时间长度。一般来讲,停止位有1,1.5,2个单位时间三种长度

2. 波特率(Baud Rate)

波特率表示每秒传输的比特数(bit/s),单位是每秒比特数(bps),通信双方必须使用相同的波特率才能正确通信。串口典型的传输波特率600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps。

PLC/PC与称重仪表通讯时,最常用的波特率是9600bps,19200bps。

PLC/PC或仪表与大屏幕通讯时,最常用的波特率是600bps。

3. 数据传输过程

  • 当线路空闲时,线路处于逻辑高电平(1)。
  • 发送端发送数据时,首先发送一个起始位(逻辑低电平),通知接收端数据传输开始。
  • 接收端检测到起始位后,按照约定的波特率,以固定的时间间隔依次采样数据位。
  • 数据位传输完成后,发送端发送校验位(如果有)和停止位。
  • 接收端收到停止位后,完成一次数据帧的接收,线路恢复空闲状态。

通讯方式

发送方和接收方按照同一个时钟节拍工作就叫同步。发送方和接收方没有统一的时钟节拍、而各自按照自己的节拍工作就叫异步。

同步通信

同步通信,是指通讯双方在一个时钟信号下进行数据信号同步。同步通信对于接收方相较简单,因为有时钟信号的存在,每一个高低电平变化,就可以去取数据。通信速率是由发送方或者主站设备进行控制。通信速率也比异步通信好快很多,且同步通信可以一主多从。

比特快以稳定的比特流的形式传输,数据被封装成更大的传输单位,称为帧。每个帧中含有多个字符代码,而且字符代码与字符代码之间没有间隙以及起始位和停止位。

同步传输采用大帧传输数据,同步通信的多种格式中,常用的HDLC帧格式,其每一帧有1个字节的起始标志位、2个字节的收发方地址位,2个字节的通信状态位、多个字符的数据位和2个字节的循环冗余校验位

在这里插入图片描述

异步通信

异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。但是接收端务必时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。

在串行通信中,数据以帧为单位传输,且帧分大小,而异步通信是采用小帧传输,一帧中有1012个二进制数据位,每一帧有1个起始位,78个数据位,1个奇偶校验位(可以没有)和停止位(1位或2位)组成,被传输的一组数据相邻两个字符停顿时间不一致。
在这里插入图片描述

同步通信和异步通信区别如下

在这里插入图片描述

通讯模式

单工、半双工和全双工

  • 单工:单方向收发数据,譬如,只能A发送数据,B接收数据。信息只能沿一个方向传输,使用一根传输线。任何时间段,只允许一个方向数据传输。
  • 半双工:双方分时收发数据,譬如,“A发送数据,B接收数据”或者“A接收数据,B发送数据”,两个方向不能同时进行。通信使用同一根传输线。同一时间段,只允许一个方向数据传输。
  • 全双工:双方同时收发数据,譬如,“A发送数据,B接收数据”同时“A接收数据,B发送数据”,两个方向同时进行。在全双工模式中,每一端都有发送器和接收器,有两条传输线,信息传输效率高。同一时间段,允许两个方向数据同时传输。

RS232、RS422、RS485各自特点

串口协议RS232RS422RS485
工作方式单端(非平衡)差分(平衡)差分(平衡)
双工模式全双工全双工半双工
传输距离15米1200米1200米
传输速率20Kb/s10Mb/s10Mb/s
物理接口不固定接口,一般是DB9九针插头(2,3,5), 2:RX 3:TX 5:GND不固定接口,四针插口不固定接口,两针插口
连接方式点对点点对多点(可串可并)点对多点(可串可并)
焊接引脚主(2,3,5)——>从(3,2,5)主(T+,T-,R+,R-)——>从(R+,R-T+,T-)主(+,-)——>从(+,-)
电气特征逻辑0:+3~15V 逻辑1:-3~-15V逻辑0:两线间电压差-2~-6V 逻辑1:两线间电压差+2~+6V逻辑0:两线间电压差-2~-6V 逻辑1:两线间电压差+2~+6V
j节点数1收、1发1发、10收1发、32收

RS232

它以全双工方式工作,需要地线、发送线和接收线三条线。RS232只能实现点对点的通信方式

RXD:接收数据,TXD:发送数据,GND/SG:信号地。

电脑DB9针接口是常见的RS232串口,其引脚定义如下:

2号脚:RXD(接收数据)

3号脚:TXD(发送数据)

5号脚:SG或GND(信号地)

其它脚:我们不用

电脑RS232串口与仪表串口连接图:

在这里插入图片描述

在9针串口接头中,公头和母头的管脚定义顺序是不一样。DB9和DB25的区别

在这里插入图片描述

在这里插入图片描述

RS422

RS422是全双工,4线 TXD+ , TXD- , RXD+ , RXD-;

RS422全双工(点对点)接线方式

在这里插入图片描述
在这里插入图片描述

RS485

● RS485采用平衡发送和差分接收,具有良好的抗干扰能力,信号能传输上千米。

● RS485有两线制和四线制两种接线。采用四线制时,只能实现点对多的通讯(即只能有一个主设备,其余为从设备)。四线制现在很少采用,现在多采用两线制接线方式。

● 两线制RS485只能以半双式方式工作,收发不能同时进行。

● RS485在同一总线上最多可以接32个结点,可实现真正的多点通讯,但一般采用的是主从通信方式,即一个主机带多个从机。

● 因RS485接口具有良好的抗干扰能力,长的传输距离和多站能力等优点使其成为首选的串行接口。

A或Data+(D+)或+:信号正;

B或Data-(D-)或-:信号负。

A︰接其他RS485模块的A
B:接其他RS485模块的B

接线原则:(A接A,B接B)

RS485半双工(点对多点)接线方式

接线方式

在这里插入图片描述

计算机自带的串口只有RS232,没有RS485,如果计算机要与RS485串口的仪表进行通讯,必须使用串口转换器或装上RS485串口转换卡后才能进行通讯。

串口通讯硬件常见的注意事项

● 通讯电缆端子一定接牢,不可有任何松动,否则,可能会烧坏仪表或上位机的通讯板。

● 不可带电拔插通讯端子,否则,可能会烧坏仪表或上位机的通讯板,一定要关闭仪表电源后才能去拔插通讯端子或接通讯线。

● 不可带电拔插通讯端子,否则,可能会烧坏仪表或上位机的通讯板,一定要关闭仪表电源后才能去拔插通讯端子或接通讯线。

● 通讯用的屏蔽电缆最好选用双层隔离型屏蔽电缆,其次选用单层屏蔽电缆,最好不要选用无屏蔽层的电缆,且电缆屏蔽层一定要能完全屏蔽,有些质量差的电缆,屏蔽层很松散,根本起不到屏蔽的作用。单层屏蔽的电缆屏蔽层应一端接地,双层屏蔽的电缆屏蔽层其外层(含铠装)应两端接地,内层屏蔽则应一端接地。

● 仪表使用RS232通讯时,通讯电缆长度不得超过15米。

● 一般RS485协议的接头没有固定的标准,可能根据厂家的不同引脚顺序和管脚功能可能不尽相同,用户可以查阅相关产品RS485的引脚图。

● RS485通讯电缆最好选用阻阬匹配、低衰减的RS485专用通讯电缆(双绞线),不要使用普通的双绞电缆或质量较差的通讯电缆。因为普通电缆或质量差的通讯电缆,可能阻抗不匹配、衰减大、绞合度不够、屏蔽层太松散,这样会导致干扰将非常大,会造成通讯不畅,甚至通讯不上。

● 仪表使用RS485通讯时,每台仪表必须手牵手地串下去,不可以有星型连接或者分叉,如果有星型连接或者分叉,干扰将非常大,会造成通讯不畅,甚至通讯不上。

● 485总线结构理论上传输距离达到1200米,一般是指通讯线材优质达标,波特率9600,只有一台485设备才能使得通讯距离达到1200米,而且能通讯并不代表每次通讯都正常,所以通常485总线实际的稳定通讯距离远远达不到1200米。负载485设备多,线材阻抗不同时,通讯距离更短。

● 仪表使用RS485通讯时,必要时,请接入终端电阻,以增强系统的抗干扰性,典型的终端电阻阻值是120欧。

http://www.xdnf.cn/news/13755.html

相关文章:

  • 【Linux】Makefile基础
  • Halcon深度图转换(real、uint2、byte)
  • 基本多线程编译make命令
  • 达梦数据库raw绑定磁盘-DSC集群部署
  • 再说一说LangChain Runnable接口
  • 禁止虚拟机里的Win10的Windows Defender
  • 【热更新知识】学习一 Lua语法学习
  • 【学习笔记】计算机操作系统(六)—— 输入输出系统
  • 基于 Spring AI 的 MCP 客户端/服务端实现
  • Java中的设计模式:23种经典模式在实际项目中的应用案例
  • 一款包含150个APP移动端网站UI的psd适用于服装鞋类社交电商项目
  • 论文略读:Mixture-of-Agents Enhances Large Language Model Capabilities
  • 力扣HOT100之贪心算法:55. 跳跃游戏
  • 如何在 Docusign 批量发送信封?
  • Cesium 常见方法汇总
  • Qwen家族系列模型概述
  • TripGenie:畅游济南旅行规划助手:个人工作纪实(二十四)
  • 用python判断一串字符是否属于中文的6种方法
  • 3 Studying《深入理解Android卷(邓凡平)》1
  • 【kafka】消息模型与工作原理详解
  • 如何抓取DP_AUX辅助通道数据
  • 在代码中使用uView里calendar中的Slot, tooltip 插槽
  • SQL 注入(SQL Injection)
  • UE5 学习系类(七)导入bridge资产包
  • CodeForces 228D. Zigzag
  • Master PDF Editor:全能PDF编辑工具
  • ElasticSearch聚合查询从15秒到1.2秒的深度优化实践
  • MySQL表的增删改查(基础)
  • 最新华为 HCIP-Datacom(H12-821)
  • ONLYOFFICE 协作空间 企业版使用秘籍-1.如何使用外部存储