通信基础概念

参考视频:https://www.bilibili.com/video/BV14o4y1Y7A1?p=1&vd_source=432ba293ecfc949a4174ab91ccc526d6

并行通信:

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

 

串行通信:

串行通信:计算机与I/O设备之间,同一时刻,只能传输一个bit位的信号。传输数据按顺序依次一bit位接一bit位进行传输,通常数据在一根数据线或一对差分线上传输。如下图:
0
  • 并行通讯的效率高,但是成本高、对信号线路要求高,一般应用于快速设备之间近距离传输,譬如CPU 与存储设备、存储器与存储器、主机与打印机等都采用并行通讯。
  • 串行通讯效率较低,但是对信号线路要求低,抗干扰能力强,同时成本也相对较低,一般用于计算机与计算机、计算机与外设之间远距离通讯
 

单工通信:

0

 

半双工和全双工:

0
 

同步通信和异步通信:

在设备之间传送数据,不管是同步通信还是异步通信,都是为了保证数据被正确的发送和接收,即发送方和接收方的“同步”。即接收方可以确定什么时候发送方开始或者结束发送数据以及每一个数据单位(例如bit,字符)的开始和结束的位置,这样接收方才能在正确的时间对发送方的数据进行采样,以接收正确的数据,否则接收到的数据就是错误的。
根据“同步方式”的不同,由此分出两种同步信号得方法:
(1)同步通信
(2)异步通信
 

同步通信:

同步通信要求发送和接收双方在进行数据传输时,保持完全的同步,因此,要求发收双方必须使用同频同相的同步时钟信号。只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后在同步时钟的控制下逐位发送/接收。这样,信息传输完全可以确定传输过程中每1位的位置。因此同步通信是一种比特同步通信技术。
如下图:
0
同步通信是一种连续传送数据的通信方式,一次通信传送一帧数据,每个信息帧用同步字符作为开始,字符间不加标识位。(这里的数据帧比异步通信中的字符帧要大得多,通常含有若干个数据字符)。当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。
同步通信以数据帧为单位,其格式包括:同步字符+数据+校验字符CRC
没有数据发送时,接收方要时刻做好接收数据的准备。在每组信息(通常称为帧)传输的开始,发送方先发送一个或两个特殊字符,该字符称为同步字符。当接收方收到同步字符,并和发送方达到同步后,就可以以固定的节奏一个字符接一个字符地发送一大块数据,而不再需要用起始位和停止位了,这样可以明显地提高数据的传输速率。同步通信更加适合对速度要求高的传输,对时序的要求很高,当然对硬件要求也更高。
在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,收发双方用一个时钟进行协调,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符,这样就可以确定传输中每一位的位置。接收数据时,接收方利用同步字符使内部时钟与发送方保持同步,然后将同步字符后面的数据逐位移入,并转换成并行格式,供CPU读取,直至收到结束符为止。
 

异步通信:

异步通信是按字符帧传输的,相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,接收方并不知道数据什么时候会到达,因此接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,时间间隔可以是任意的,在一字符帧中的所有比特是连续发送的。发送端不需要在发送字符之前和接收端进行协调(不需要先进行比特同步)。接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复。下一个字符起始位的到来又使同步重新校准(依靠检测起始位来实现发送与接收方的时钟自同步的字符间同步,字符内比特位异步),因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。通信双方需要对采用的信息格式(字符的位数、停止位的位数、有无校验位及校验方式等)和数据的传输速率作相同的约定。接收方是在数据的起始位和停止位的帮助下实现字符传送时的同步。这种传输通常是很小的分组,比如一个字符为一组,为这个组配备起始位和结束位。所以这种传输方式的效率是比较低的,毕竟额外加入了很多的辅助位作为负载,常用在低速的传输中,如uart串口通信。
 

同步通信和异步通信比较:

(1)同步通信要求接收端时钟频率和发送端时钟频率一致;异步通信时不要求接收端时钟和发送端时钟同步。
(2)同步通信数据传输是以字节块(多个字节)传输的;异步通信数据传输是以字符(一个字节)传输的。
(3)同步通信传输效率高,但复杂、要求高,双方时钟的允许误差较小;异步通信传输效率低,但简单、要求低,双方时钟可允许一定误差。
(4)同步通信的字节传输是没有间隔的发送端发送连续的比特流;异步通信字节传送的间隔是任意的,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
 

差分信号:

差分信号是一种信号传输技术。传统的传输方法使用一根信号线传输信号,一根地线接地。差分信号需要在两根线上都传输信号,且两个信号振幅相同,相位相反,这样的信号就是差分信号。
0
这就要求在电路板上,差分信号传输的走线必须是等长、等宽、紧密靠近、且位于同一层面的两根线,因此通常使用双绞线来进行传输。在通讯过程中噪声一般来自外界天气或其它元器件的电磁干扰,如果传输过程中两根线使用双绞线的方式缠绕在一起,那么通过电磁学原理两根线的振幅是相同的,两根线缠绕在一起磁场会集中,一旦产生噪声那么两根线的电流都会受到同样的影响,所以即便产生噪声最终被进行减法计算时结果不会变,两根线所受噪声干扰是同步的。
 

TTL、RS-232、RS-485:

TTL(Transistor-Transistor Logic)、RS-232(Recommended Standard 232)和RS-485(Recommended Standard 485)都是串行通信标准,它们在电气特性、工作距离、通信速率等方面有所不同,适用于不同的场景。以下是它们的区别和常见使用场景:
  1. TTL(Transistor-Transistor Logic)
  • 电气特性: TTL 是一种数字电路标准,使用低电平(0V)和高电平(3.3V或5V)表示逻辑 0 和逻辑 1。
  • 工作距离: TTL 适用于短距离通信,通常在同一板上或短距离连接器之间使用。
  • 通信速率: TTL 可以支持较高的通信速率,通常用于高速数据传输。
  • 使用场景: TTL 通常用于单片机、传感器、LCD 显示屏等设备之间的短距离通信,例如 Arduino 开发板与传感器之间的连接。
  1. RS-232(Recommended Standard 232)
  • 电气特性: RS-232 使用负电平和正电平表示逻辑 0 和逻辑 1,通常工作在 -15V 到 +15V 的电平范围内。
  • 工作距离: RS-232 适用于中等距离通信,最远可达数十米。
  • 通信速率: RS-232 通常支持较低的通信速率,一般在数十 kbps 到数百 kbps 范围内。
  • 使用场景: RS-232 通常用于计算机与外部设备(如调制解调器、打印机)之间的数据传输,也广泛应用于工业控制领域和通信设备中。
  1. RS-485(Recommended Standard 485)
  • 电气特性: RS-485 是一种差分信号标准,使用两条相互反向的信号线传输数据,具有抗干扰能力。
  • 工作距离: RS-485 适用于长距离通信,最远可达数千米,适合工业环境中的远程通信。
  • 通信速率: RS-485 支持较高的通信速率,通常在几 Mbps 的范围内。
  • 使用场景: RS-485 常用于工业控制系统、建筑自动化、仪表通信等需要长距离、高抗干扰能力的场景。
总体而言,TTL 适用于短距离、高速通信;RS-232 适用于中等距离、一般速率的通信;RS-485 适用于长距离、高速、高抗干扰要求的通信场景
posted @ 2024-03-17 13:52  lethe1203  阅读(13)  评论(0编辑  收藏  举报