欢迎光临散文网 会员登陆 & 注册

串行通信协议的类型_组成_原理

2023-05-25 13:59 作者:心飞若  | 我要投稿

在开始串行通信协议之前,让我们将术语分为三个部分。通信是众所周知的术语,涉及两种或多种媒介之间的信息交换。在嵌入式系统中,通信意味着两个微控制器之间以位的形式交换数据。微控制器中的这种数据位交换是通过一组称为通信协议的定义规则来完成的。现在,如果数据按顺序发送,即一个接一个地发送,则通信协议称为串行通信协议。更具体地,数据位在数据总线或串行通信中的通信信道上以顺序方式一次一个地传输。

通信协议的类型

数字电子设备中有不同类型的数据传输可用,例如串行通信和并行通信。同样,协议分为两种类型,例如串行通信协议和并行通信协议。并行通信协议的例子有 ISA、ATA、SCSI、PCI 和 IEEE-488。同样,还有几个串行通信协议示例,例如 CAN、ETHERNET、I2C、SPI、RS232、USB、1-Wire 和 SATA 等。



在本文中,将讨论不同类型的串行通信协议。串行通信是在数据处理外设之间传输信息的最广泛使用的方法。每个电子设备,无论是个人计算机 (PC) 还是移动设备,都在串行通信上运行。该协议是一种安全可靠的通信形式,具有一组由源主机(发送方)和目标主机(接收方)处理的规则,类似于并行通信。

串行通信中的传输模式

如上所述,在串行通信中,数据以位的形式发送,即二进制脉冲,众所周知,二进制一代表逻辑高电平,零代表逻辑低电平。根据传输模式和数据传输的类型,有几种类型的串行通信。传输模式分为单工、半双工和全双工。

单纯形法:

在单纯形方法中,媒体即发送方或接收方中的任何一个都可以同时处于活动状态。因此,如果发送方正在传输数据,则接收方只能接受,反之亦然。所以单纯形法是一种单向通信技术。单纯形法的著名例子是电视和广播。

半双工方法:

在半双工方法中,发送方和接收方都可以处于活动状态,但不能同时处于活动状态。因此,如果发送方正在传输,则接收方可以接受但不能发送,反之亦然。半双工的著名示例是互联网,用户在其中发送数据请求并从服务器获取数据。

全双工方法:

在全双工方法中,接收器和发送器可以同时向对方发送数据。众所周知的例子是手机。

除此之外,对于适当的数据传输,时钟起着重要作用,它是主要来源之一。时钟故障会导致意外的数据传输,甚至有时会导致数据丢失。因此,在使用串行通信时,时钟同步变得非常重要。

时钟同步

串行设备的时钟不同,它分为两种类型即。同步串行接口和异步串行接口。

同步串行接口:

它是从主机到从机的点对点连接。在这种类型的接口中,所有设备都使用单 CPU 总线来共享数据和时钟。使用相同的总线共享时钟和数据,数据传输变得更快。此接口中的波特率也没有不匹配。在发射器端,数据转移到串行线上,提供时钟作为单独的信号,因为没有开始、停止和奇偶校验位被添加到数据中。在接收器端,使用发送器提供的时钟提取数据并将串行数据转换回并行形式。众所周知的例子是 I2C 和 SPI。


异步串行接口:

在异步串行接口中,没有外部时钟信号。异步串行接口主要出现在长距离应用中,非常适合稳定的通信。在异步串行接口中,由于没有外部时钟源,它依赖于几个参数,例如数据流控制、错误控制、波特率控制、传输控制和接收控制。在发送端,使用自己的时钟将并行数据转移到串行线上。它还添加了开始、停止和奇偶校验位。在接收器端,接收器使用自己的时钟提取数据,并在剥离起始位、停止位和奇偶校验位后将串行数据转换回并行形式。众所周知的例子是RS-232, RS-422 和RS-485。


与串行通信相关的其他术语

除了时钟同步之外,串行传输数据时还需要记住某些事项,例如波特率、数据位选择(成帧)、同步和错误检查。让我们简要讨论一下这些术语。

波特率:波特率是数据在发送器和接收器之间以每秒位数 (bps) 的形式传输的速率。最常用的波特率是9600。但也有其他的波特率选择,如1200、2400、4800、57600、115200。波特率越大,一次传输的数据就越多。同样对于数据通信,发送器和接收器的波特率必须相同。

成帧:成帧是指从发送器发送到接收器的数据位数。数据位数因应用而异。大多数应用程序使用 8 位作为标准数据位,但也可以选择 5、6 或 7 位。

同步:同步位对于选择数据块很重要。它告诉数据位的开始和结束。发送端会为数据帧设置起始位和停止位,接收端会据此识别并做进一步的处理。

差错控制:差错控制在串行通信中起着重要的作用,因为在串行通信中影响和增加噪声的因素很多。为了消除此错误,使用奇偶校验位来检查奇偶校验和偶校验。因此,如果数据帧包含偶数个 1,则称为偶校验,寄存器中的奇偶校验位设置为 1。类似地,如果数据帧包含奇数个 1,则称为奇校验并清除寄存器中的奇校验位。

协议就像系统用来理解数据的通用语言。如上所述,串行通信协议分为同步和异步两种类型。现在将详细讨论两者。

同步串行协议

SPI、I2C、CAN、LIN等同步类型的串行协议在不同的项目中都有使用,因为它是最好的板载外设资源之一。这些也是主要应用程序中广泛使用的协议。

SPI协议

串行外设接口 (SPI) 是一种同步接口,允许将多个 SPI 微控制器互连。在 SPI 中,数据线和时钟线需要单独的线。此外,时钟不包含在数据流中,必须作为单独的信号提供。SPI 可以配置为主机或从机。四个基本的SPI信号(MISO、MOSI、SCK和SS)、Vcc和Ground是数据通信的部分。所以它需要 6 根线来发送和接收来自从机或主机的数据。理论上,SPI 可以有无限数量的从机。数据通信在 SPI 寄存器中配置。SPI 可以提供高达 10Mbps 的速度,是高速数据通信的理想选择。


I2C 串行通信


Inter integrated circuit (I2C) 不同IC或模块之间的两线通信,其中两线是SDA(Serial Data Line)和SCL(Serial Clock Line)。两条线都必须使用上拉电阻连接到正电源。I2C 可以提供高达 400Kbps 的速度,它使用 10 位或 7 位寻址系统来定位 i2c 总线上的特定设备,因此它可以连接多达 1024 个设备。它的通信长度有限,非常适合车载通信。I2C 网络易于设置,因为它仅使用两条线,新设备可以简单地连接到两条公共 I2C 总线线路。与 SPI 一样,微控制器通常有 I2C 引脚来连接任何 I2C 设备。

USB

USB(通用串行总线)是具有不同版本和速度的广泛协议。最多 127 个外围设备可以连接到单个 USB 主机控制器。USB 充当“即插即用”设备。USB 几乎用于键盘、打印机、媒体设备、相机、扫描仪和鼠标等设备。它专为易于安装、更快的数据额定值、更少的布线和热插拔而设计。它取代了体积更大、速度更慢的串口和并口。USB 使用差分信号来减少干扰并允许远距离高速传输。

差分总线由两根线构成,一根代表传输的数据,另一根代表其补充。这个想法是电线上的“平均”电压不携带任何信息,从而减少干扰。在 USB 中,允许设备在不询问主机的情况下消耗一定量的电量。USB 仅使用两条线进行数据传输,并且比串行和并行接口更快。USB 版本支持不同的速度,例如 1.5Mbps (USB v1.0)、480 Mbps (USB2.0)、5Gbps (USB v3.0)。没有集线器时,单个 USB 电缆的长度可达 5 米,有集线器时可达 40 米。

CAN

控制器局域网 (CAN) 用于汽车等领域,以实现 ECU(发动机控制单元)和传感器之间的通信。CAN 协议功能强大、成本低廉且基于消息,涵盖许多应用,例如汽车、卡车、拖拉机、工业机器人。CAN 总线系统允许跨所有 ECU 进行中央错误诊断和配置。CAN 消息通过 ID 确定优先级,以便最高优先级的 ID 不会被中断。每个 ECU 都包含一个芯片,用于接收所有传输的消息、决定相关性并相应地采取行动 - 这允许轻松修改和包含额外的节点(例如 CAN 总线数据记录器)。这些应用包括车辆的启动/停止、防撞系统。CAN 总线系统可以提供高达 1Mbps 的速度。

MICROWIRE

MICROWIRE 是一个 3Mbps [全双工] 串行 3 线接口,本质上是 SPI 接口的一个子集。Microwire 是微控制器上的串行 I/O 端口,因此在 EEPROM 和其他外围芯片上也会找到 Microwire 总线。这 3 条线是 SI(串行输入)、SO(串行输出)和 SK(串行时钟)。微控制器的串行输入 (SI) 线,SO 是串行输出线,SK 是串行时钟线。数据在 SK 的下降沿移出,并在上升沿赋值。SI 在 SK 的上升沿移入。MICROWIRE 的附加总线增强称为 MICROWIRE/Plus。两条总线之间的主要区别似乎是微控制器内的 MICROWIRE/Plus 架构更为复杂。它支持高达 3Mbps 的速度。

异步串行协议

当涉及到更远距离的可靠数据传输时,异步类型的串行协议非常重要。异步通信不需要两个设备共用的定时时钟。每个设备都以商定的速率独立侦听和发送代表数据位的数字脉冲。异步串行通信有时称为晶体管-晶体管逻辑 (TTL) 串行,其中高电压电平为逻辑 1,低电压等于逻辑 0。当今市场上几乎每个微控制器都至少有一个通用异步接收器-用于串行通信的发送器 (UART)。例如 RS232、RS422、RS485 等。

RS232

RS232(推荐标准 232)是一种非常常用的协议,用于连接不同的外围设备,例如监视器、CNC 等。RS232 有公头和母头连接器。RS232 是点对点拓扑结构,最多连接一个设备,覆盖距离可达 15 米,速率为 9600 bps。RS-232 接口上的信息通过逻辑 0 和 1 进行数字传输。逻辑“1”(MARK) 对应于 -3 至 -15 V 范围内的电压。逻辑“0”(SPACE) 对应于电压范围为 +3 至 +15 V。它采用 DB9 连接器,该连接器具有 9 个引脚,例如 TxD、RxD、RTS、CTS、DTR、DSR、DCD、GND。

RS422

RS422 类似于 RS232,它允许在不同的线路上同时发送和接收消息,但为此使用差分信号。在RS-422网络中,只能有一台发送设备,最多有10台接收设备。RS-422 中的数据传输速度取决于距离,从 10 kbps(1200 米)到 10 Mbps(10 米)不等。RS-422线为4根数据传输线(2根双绞线传输,2根双绞线接收)和一根公共GND地线。数据线上的电压可以在-6 V 到+6 V 的范围内。A 和B 之间的逻辑差值大于+0.2 V。逻辑1 对应于A 和B 之间的差值小于-0.2 V。 RS-422标准没有定义具体类型的连接器,通常可以是接线端子或DB9连接器。

RS485

由于RS485采用多点拓扑结构,因此在行业中使用最多,是行业首选协议。RS422 可以在差分配置中连接 32 个线路驱动器和 32 个接收器,但在额外的中继器和信号放大器的帮助下最多可连接 256 个设备。RS-485 没有定义具体类型的连接器,但通常是接线端子或 DB9 连接器。运行速度还取决于线路的长度,在 10 米处可达 10 Mbit/s。线路上的电压范围为 -7 V 至 +12 V。RS-485 有两种类型,例如带 2 个触点的半双工模式 RS-485 和带 4 个触点的全双工模式 RS-485。

结论

串行通信是电子和嵌入式系统中广泛使用的通信接口系统之一。不同应用的数据速率可能不同。在处理这类应用时,串行通信协议可以起到决定性的作用。所以选择正确的串口协议就变得非常重要。

以上文章由IC先生网www.mrchip.cn编辑整理发布,请勿转载。


串行通信协议的类型_组成_原理的评论 (共 条)

分享到微博请遵守国家法律