串口通信知识总结

  之前断断续续的学习了解了串口通信的相关知识,但由于没有集中地学习,导致对串口通信的知识理解相当凌乱且零碎,今天就从头总结一下串口通信的相关知识吧~

一. 通信方式

计算机通信是将计算机技术和通信技术相结合,完成计算机与外部设备或计算机之间的信息交换。主要分为两大类:并行通信与串行通信。

1.1 并行通信

并行通信是将数据字节的各个位通过多条数据线同时进行发送,如图:
在这里插入图片描述
特点:并行通信控制简单,传输速率快;但由于传输线较多,长距离传送时成本高且接收方的各位接收存在困难。由于长距离,通信介质的传输速度不能保证完成相同,因此同时接收对介质硬件要求很高。

1.2 串行通信

串行通信是将数据字节分为一位一位的形式在一条传输线上逐个发送。

在这里插入图片描述

特点:传输线少,长距离传送时成本低。且可以利用电话网等现成设备,但数据传送控制比较麻烦。

二. 串行通信分类

在了解了什么是串行通信后,再来看串行又有哪些分类.

2.1 按照数据的传输方向

2.1.1 单工

数据传输只支持数据在一个方向上传递

在这里插入图片描述

2.1.2 半双工

允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口。

在这里插入图片描述

2.1.3 全双工

允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。
在这里插入图片描述

2.2 按照通信方式

2.2.1 同步通信

同步通信时,通信双方共用一个时钟,这是同步通信区分于异步通信的最显著的特点。在异步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,以致占用了时间。所以在数据块传送时,为提高通信速度,常去掉这些标志,而采用同步通信。同步通信中,数据开始传送前用同步字符来指示(常约定1~2个),并由时钟来实现发送端和接收端的同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到一块数据传送完毕。同步传送时,字符之间没有间隙,也不要起始位和停止位,仅在数据开始时用同步字符SYNC来指示

通信方式如图:
在这里插入图片描述
特点如下:

  • 以同步字符作为传送的开始,从而使收发双方取得同步。
  • 每位占用的时间相等。
  • 字符数据之间不允许有空位,当线路空闲或没字符可发时,发送同步字符。
    同步字符的插入可以是单同步字符或双同步字符,如图7-4 所示同步字符也可以由用户约定,当然也可以采用ASCII 码中规定的SYN 代码,即16H。
  • 在同步传送时,要求用时钟来实现发送端和接收端之间的同步。为了保证接收正确无误,发送方除了传送数据外,还要传送同步时钟。
  • 同步通信虽然可以提高传送速度,可达56Kb/s 或更高,但实现起来颇为复杂,因此实际较少使用。

2.2.2 异步通信

异步通信是我们最常采用的通信方式,异步通信采用固定的通信格式,数据以相同的帧格式传送。如图,每一帧由起始位、数据位、奇偶校验位和停止位组成,是一种不需要时钟的通信方式

在这里插入图片描述
特点:

  • 不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。

  • 在同步通讯中,收发设备上方会使用一根信号线传输信号,在时钟信号的驱动下双方进行协调,同步数据。例如,通讯中通常双方会统一规定在时钟信号的上升沿或者下降沿对数据线进行采样,而在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些用于同步的信号位,或者将主题数据进行打包,以数据帧的格式传输数据。通讯中还需要双方规约好数据的传输速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。

  • 在同步通讯中,数据信号所传输的内容绝大部分是有效数据,而异步通讯中会则会包含数据帧的各种标识符,所以同步通讯效率高,但是同步通讯双方的时钟允许误差小,稍稍时钟出错就可能导致数据错乱,异步通讯双方的时钟允许误差较大。

三. 串口通信的数据格式

3.1 一帧完整数据

在这里插入图片描述
一个字符一个字符的传输,每个字符一位一位的传输,并且传输一个字符时总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。
每个字符前面都有提个起始位(低电平),字符本身由7位数据位组成,接着字符后面是一个校验位(奇校验或偶校验,也可以是无校验),最后一位是停止位,停止位后面是不定长的空闲位,停止位和空闲位都规定为高电平。实际每一位的传输宽度与波特率有关,波特率越高,宽度越小,在进行传输前,通信双方要约定好相同的波特率,若波特率不同则数据的接收会出现问题。

3.2 奇校验与偶校验

奇偶校验是指在数据传送过程中用来检验是否出现错误的一种方法,在串口通信中,分为奇校验和偶校验,但不是必须的。

  • 奇校验
    将最高位作为数据的奇偶校验位,所谓奇校验,就是保证一个字节的数据中1的个数必须是奇数,若不为奇数,则在最高位添1.,保证1的总是为奇数
  • 偶校验
    若一个字节中的1不为偶数,则在最高位添1,保证1的总数为偶数

3.3 起始位与停止位

  • 起始位
    在空闲时,传输线保持高电平,当一方要发送数据时,将自己TXD接口与对方RXD接口的这条线跳变为低电平作为起始信号,在保持一个单位时间后便开始从小端开始发送数据。
  • 停止位
    停止位是按长度来算的。串行异步通信从计时开始,以单位时间为间隔(一个单位时间就是波特率的倒数),依次接受所规定的数据位和奇偶校验位,并拼装成一个字符的并行字节;此后应接收到规定长度的停止位“1”。所以说,停止位都是“1”,1.5是它的长度,即停止位的高电平保持1.5个单位时间长度。一般来讲,停止位有1,1.5,2个单位时间三种长度

3.4 波特率

波特率(BaudRate) 模拟线路信号的速率,也称调制速率,以波形每秒的振荡数来衡量。如果数据不压缩,波特率等于每秒钟传输的数据位数,如果数据进行了压缩,那么每秒钟传输的数据位数通常大于调制速率,使得交换使用波特和比特/秒偶尔会产生错误。 波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示,其单位是波特(Baud)。波特率与比特率的关系是比特率=波特率X单个调制状态对应的二进制位数。 在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。 每秒钟通过信道传输的信息量称为位传输速率,简称比特率。比特率表示有效数据的传输速率。
波特率就是一秒种传输0或1的个数,若波特率是9600那么它传输一位0或1的时间就是1/9600秒。

四. 串口通信协议

在串口通信中,常用的协议包括RS-232,RS-422和RS-485.
RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。

4.1 RS-232

除笔记本以外,电脑通常都会有一个9针的串行接口,这个串行接口叫做RS232接口,九针串口又分为公头和母头:
在这里插入图片描述
各针脚功能:

pin 1 :DCD(Data Carrier Detect) —— 数据载波检测
pin 2 :RXD(Receive Data) —— 串口数据输入
pin 3 :TXD(Transmit Data) —— 串口数据输出
pin 4 :DTR(Data Terminal Ready) —— 数据终端就绪
pin 5 :GND(Ground) —— 接地
pin 6 :DSR(Data Send Ready) —— 数据发送就绪
pin 7 :RTS(Request to Send) —— 数据发送请求
pin 8 :CTS(Clear to Send) —— 清除发送
pin 9 :RI(Ring) —— 铃声指示

缺点:

  1. 接口信号电平值较高,接口电路芯片容易损坏。
  2. 传输速率低,最高波特率19200bps。
  3. 抗干扰能力较差。
  4. 传输距离有限,一般在15m以内。
  5. 只能实现点对点的通讯方式。

RS232
对输出:输出“1”时的电平应在-5~-15 V之间,输出“0”时的电平应在+5~+15 V之间
对输入:输入电平在-3~-15 V之间被认为“1”,在+3~+15 V之间被认为“0”
当线路上不传送数据(空闲)时,发送器输出为“1”

4.2 TTL

TTL接口属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面板的输入接口。
供电范围在0~5V;如74系列都是5V供电
对输出:大于2.7V是高电平;小于0.5V是低电平
对输入:大于2V是高电平;小于0.8V是低电平
注意:TTL电平输入脚悬空时内部认为是高电平,且TTL电平输出不能驱动CMOS电平输入。

缺点:由于TTL接口信号电压高、连线多、传输电缆长,因此,电路的抗干扰能力比较差,而且容易产生电磁干扰(EMI)。

要完成通信,至少要保证三根线的连通,分别是:RXD,TXD和GND。

4.3 RS-422

RS-422(EIA RS-422-AStandard)是Apple的Macintosh计算机的串口连接标准。RS-422使用差分信号,RS-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传输距离是一个很大的优点。

4.4 RS-485(半双工)

RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。有了多个设备的能力,你可以使用一个单个RS-485口建立设备网络。出色抗噪和多设备能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。RS-485可以用超过4000英尺的线进行串行通行。
RS485串口特点:

  1. RS485采用平衡发送和差分接收,具有良好的抗干扰能力,信号能传输上千米。
  2. RS485有两线制和四线制两种接线。采用四线制时,只能实现点对多的通讯(即只能有一个主设备,其余为从设备)。四线制现在很少采用,现在多采用两线制接线方式。
  3. 两线制RS485只能以半双式方式工作,收发不能同时进行。
  4. RS485在同一总线上最多可以接32个结点,可实现真正的多点通讯,但一般采用的是主从通信方式,即一个主机带多个从机。
  5. 因RS485接口具有良好的抗干扰能力,长的传输距离和多站能力等优点使其成为首选的串行接口。
    在这里插入图片描述

参考资料:
https://blog.csdn.net/u012160319/article/details/43486995
https://www.cnblogs.com/cstdio1/p/11175762.html
https://blog.csdn.net/firstlai/article/details/50575952

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页