串行接口是 RS-232详细教程

时间:2023-02-03
    当今计算机制造商常用的串行接口是 RS-232。几乎每台 PC 和外部调制解调器(以及许多其他设备)上都有这种串行接口。RS-232 简单、通用、广为人知并随处支持。
    RS-232 标准初由 EIA(电子工业协会)于 1969 年发布,目的只有一个:将终端(数据终端设备,DTE)互连到数据通信设备(数据通信设备,DCE),如调制解调器。当 RS-232 用于将终端连接到调制解调器时,它只是连接两个设备(调制解调器和终端)中的相应引脚。原始标准规范 (RS-232C / CCITT V.24) 规定传输速度为 20 000 位/秒,电缆距离为 15 m / 50 英尺。
    然而。RS-232 通常用于将终端互连到计算机或计算机互连到外围设备。该标准从未指定此类选项,因此这种接口通常需要特别考虑(有时是特殊定制电缆,如“零调制解调器”或类似电缆)。一些应用程序还使用具有更高数据速率的接口(例如,PC 支持高达 115200 bps)和/或更长的电缆(长达 100 米可以在较慢的距离上使用良好的电缆很好地工作)。RS232 定义了电气和物理标准。RS232C 表示它使用 DB25 连接器(引脚分配图)而不是 DB9 (TIA 574) 或 RJ45(RS232D 标准中提到的 8 位模块化连接器)进行接线。
    RS-232 是一种可插拔信号接口,它使用 D 形 25 针连接器(某些实现也使用非标准连接器,如现代 PC 中的 9 针)。为了可靠运行,RS-232 接线不要超过 50 英尺。很多时候,较长的电缆将以有限的速度和有限的可靠性工作。初的 RS-232 标准只规定了 19200 bps 的数据速度,但许多现代 PC 中的 RS-232 端口可以更高(115200 bps 是 PC 的典型限制)。
    RS-232 的基本特征是信号作为单一电压传输,参考 25 针连接器上的针脚 7(9 针连接器上的针脚 5)上的公共接地。输出信号电平通常在+12v 和-12v 之间摆动(标准指定+6..+15V 和-6..15V)。在 RS-232 中,任何高于 +3V 的东西都被认为是逻辑 0,任何低于 -3V 的东西都被认为是逻辑 1。+3v 和 -3v 之间的“死区”旨在吸收线路噪声。在各种类似 RS-232 的定义中,这个死区可能会有所不同,但它们的设计始终使它们能够与符合标准的发射器很好地配合使用(与不完全符合标准定义的发射器一起工作可能会有所不同)。例如,V.10 的定义有一个从 +0.3v 到 -0.3v 的盲区。许多为 RS-232 设计的接收器对 1 伏或更小的电压差很敏感。实际上,通常设计 RS-232 端口,以便端口在逻辑 1 和 0 之间做出决定的电平设置在 0V 和 +3V 之间的某个位置。这样,没有电源的设备(0V 信号)不会导致不确定信号条件的问题。典型的 PC 串口就是这样构建的。
    关于一些非标准实现的注意事项:有一些“RS-232 兼容”设备在其输出端使用降低的 +/-5V 输出信号电平。那些不符合 RS-232 规范,但实际上可以使用短电缆运行。周围有一些 DIY 电子电路只为串行端口提供 +5V 和 0V,它们肯定不符合原始标准,但实际上可以使用带有短电缆的典型 PC 串行端口。在实践中,“RS-232 兼容”似乎意味着产品制造商没有任何办法使该设备无法与符合 RS-232 标准的其他设备一起使用。有时,当您将两个“兼容 RS-232”的设备连接在一起时,
    RS-232 接口中的数据分别在引脚 2 和引脚 3 上发送和接收。数据集就绪 (DSR) 是来自数据集(即调制解调器或 DSU/CSU)的指示。类似地,DTR 向数据集指示 DTE 处于打开状态。数据载波检测 (DCD) 指示传输数据的载波已开启。引脚 4 和 5 承载 RTS 和 CTS 信号。在大多数情况下,RTS 和 CTS 在整个通信会话中一直处于开启状态。然而,当 DTE 连接到多点线路时,RTS 用于打开和关闭调制解调器上的载波。在多点线路上,必须同时只有一个站点在传输。当一个站想要传输时,它会提高 RTS。调制解调器打开载波,通常等待几毫秒以使载波稳定,然后提高 CTS。DTE 在看到 CTS 启动时进行传输。

    25 针 RS-232 连接器还具有初为时钟线定义的针脚。时钟信号仅用于同步通信。调制解调器或 DSU 从数据流中提取时钟,并向 DTE 提供稳定的时钟信号。请注意,发送和接收时钟信号不必相同,甚至不必采用相同的波特率。今天的大多数 RS-232 实现不支持同步通信(例如普通 PC RS-232 端口不实现同步通信)。

    连接 RS-232 设备时,请记住流量控制握手有三种可能性:无握手(无)、硬件流量控制 (RTS/CTS) 和 Xon/Xoff(特殊流量控制字符)。
    RS-232 的历史很长。在 1960 年代初期,一个标准委员会,即今天的电子工业协会 (EIA),为数据通信设备制定了通用接口标准。当时,数据通信被认为是指位于中央的大型计算机与远程计算机终端之间的数字数据交换。这些设备通过电话语音线路连接,因此需要在两端各安装一个调制解调器来进行信号转换。人们认为需要一个标准来实现不同制造商生产的设备的互连,从而促进大规模生产和竞争的好处。基于这些想法,RS232 标准诞生了。它规定了信号电压、信号时序、信号功能、信息交换协议和机械连接器。RS-232 规范在 1990 年代初更名为“EIA232 标准”。他们的标准仍然由 EIA/TIA 维护。欧洲也对这个领域进行了标准化。ITU(国际电信联盟-前身为CCITT)在V.24中定义了信号属性(名称),在V.28中定义了电气属性。RS232 和 V.24(或 V.28)之间几乎没有实际区别。
    大多数RS-232端口实现的是UART芯片。UART 是通用异步收发器的缩写。通用异步接收发送器 (UART) 协议通常用于在设备之间发送低速数据。使用术语异步是因为没有必要在发送数据的同时发送时钟信息。UART 链接通常为 38400 波特或更低,并且是基于字符的。因为发送器和接收器异步操作,所以不需要连接发送和接收时钟。相反,接收器对传入的数据流进行过采样(通常为 8、16 或 32 倍)并使用其中一些样本来确定位值。传统上,当 UART 移位寄存器在 RXD 引脚上接收传入数据时,使用 16 个样本中的中间 3 个。该位的值由这些样本中的大多数决定;如果都不一致,则打开噪声指示(可能是噪声计数器)。当一个完整的字符被输入时,接收移位寄存器的内容在进入接收缓冲区之前被传输到接收 FIFO。UART 发送移位寄存器在 TXDx 上发送传出数据。
    如果发送器和接收器使用相同的参数(例如奇偶校验方案和字符长度),则两个 UART 可以使用该系统进行通信。不发送数据时,将发送连续的数据流(空闲状态)。由于起始位始终为零,因此接收器可以检测到实际数据何时再次在线。使用异步字符的的协议是 RS-232 标准,它指定了波特率、握手协议和机械/电气细节。UART 模式寄存器中的控制位定义 UART 字符的长度和格式。按以下顺序接收位:
    1. 起始位
    2. 5 到 8 个数据位(LSB 在前)
    3. 地址/数据位(可选)
    4. 校验位(可选)
    5.停止位
    除了发送字符数据外,UART 还指定了一个全零中断字符(零条件下的行比一个字符的长度长),通常用于标记字符传输序列的结尾(某些协议可以使用此一些其他特殊用途).
    所有标准都提供握手信号,但有些系统只需要三根物理线:Tx 数据、Rx 数据和地线。多年来围绕 UART 的异步字符帧建立了许多专有标准,其中一些实现了多点配置,其中多个站,每个站都有一个特定的地址,可以出现在网络上。
    实际上每台计算机都包含一个 UART 来管理串行端口。UART 是一种用于串行通信的集成电路,包含一个发送器(并行到串行转换器)和一个接收器(串行到并行转换器),每个单独计时。UART 的并行端通常连接到计算机的总线。当计算机向 UART 的传输数据寄存器 (TDR) 写入一个字节时,UART 将开始在串行线上传输它。UART 的状态寄存器包含一个标志位,计算机可以读取该标志位以查看 UART 是否准备好传输另一个字节。另一个状态寄存器位表示 UART 是否已从串行线路接收到一个字节,在这种情况下,计算机应从接收数据寄存器 (RDR) 中读取它。如果在读取前一个字节之前接收到另一个字节,UART 将通过另一种状态发出“溢出”错误信号。串行线路上的数据由 UART 根据 UART 控制寄存器的设置进行格式化。如果 UART 包含自己的时钟电路或“波特率发生器”,这也可以确定发送和接收波特率。如果接收到格式不正确的数据,UART 可能会发出“帧错误”或“奇偶校验错误”信号。通常,UART 中的时钟将以波特率(每秒比特数)的 16 倍运行,以允许接收器进行中心采样 - 即在其分配的时间段的中间读取每个比特。这使得 UART 更能容忍输入数据的时钟速率(“抖动”)的变化。80 年代后期 UART 的一个例子是 Intel 8450。它用于台 IBM PC 计算机。在 90 年代,较新的 UART 是在片上数据缓冲空间开发的。这允许更高的传输速度而不会丢失数据,也不需要计算机如此频繁地关注。例如,Intel 16550 有一个 16 字节的 FIFO。UART 与外界的串行连接通常通过单独的线路驱动器和线路接收器集成电路进行,这些集成电路提供驱动串行线路所需的电源和电压,并提供一些线路噪声保护。曾经 1488 发射器和 1489 接收器是进行这些转换的常用 IC。现在通常使用 MAX232 和许多类似的 IC,它们可以使用单个 +5V 电源工作(从 +5V 内部产生所需的更高电压)。这允许更高的传输速度而不会丢失数据,也不需要计算机如此频繁地关注。例如,Intel 16550 有一个 16 字节的 FIFO。UART 与外界的串行连接通常通过单独的线路驱动器和线路接收器集成电路进行,这些集成电路提供驱动串行线路所需的电源和电压,并提供一些线路噪声保护。曾经 1488 发射器和 1489 接收器是进行这些转换的常用 IC。现在通常使用 MAX232 和许多类似的 IC,它们可以使用单个 +5V 电源工作(从 +5V 内部产生所需的更高电压)。这允许更高的传输速度而不会丢失数据,也不需要计算机如此频繁地关注。例如,Intel 16550 有一个 16 字节的 FIFO。UART 与外界的串行连接通常通过单独的线路驱动器和线路接收器集成电路进行,这些集成电路提供驱动串行线路所需的电源和电压,并提供一些线路噪声保护。曾经 1488 发射器和 1489 接收器是进行这些转换的常用 IC。现在通常使用 MAX232 和许多类似的 IC,它们可以使用单个 +5V 电源工作(从 +5V 内部产生所需的更高电压)。与外界的串行连接通常通过单独的线路驱动器和线路接收器集成电路进行,它们提供驱动串行线路所需的功率和电压,并提供一些保护以防止线路上的噪声。曾经 1488 发射器和 1489 接收器是进行这些转换的常用 IC。现在通常使用 MAX232 和许多类似的 IC,它们可以使用单个 +5V 电源工作(从 +5V 内部产生所需的更高电压)。与外界的串行连接通常通过单独的线路驱动器和线路接收器集成电路进行,它们提供驱动串行线路所需的功率和电压,并提供一些保护以防止线路上的噪声。曾经,1488 发射器和 1489 接收器是进行这些转换的常用 IC。现在通常使用 MAX232 和许多类似的 IC,它们可以使用单个 +5V 电源工作(从 +5V 内部产生所需的更高电压)。
    RS-232 作为电气接口有一些严重的缺点。首先,该接口预设了 DTE 和 DCE 之间的公共接地。这是一个合理的假设,其中短电缆连接同一房间中的 DTE 和 DCE,但如果线路较长且设备之间的连接可能位于不同的电气总线上,则可能不正确。不同设备接地电位的巨大差异可能会导致通信错误、设备损坏甚至电缆烧毁等各种情况。如果您需要在恶劣环境或远距离进行可靠通信,则需要经常使用 RS-232 信号光隔离器(可从工业电子供应商处获得)。
    其次,单线上的信号不可能有效地屏蔽噪声。通过屏蔽整条电缆可以减少外部噪声的影响,但内部产生的噪声仍然是一个问题。随着波特率和线路长度的增加,电缆之间的电容效应会引入严重的串扰,直到达到数据本身不可读的程度。可以通过使用低电容电缆和控制信号中的转换率来减少串扰(即,使信号更圆而不是方形,从而减少串扰)。RS-232 和类似接口的标准通常将 RS-232 限制为 20kbps 或更低,线路长度为 15m(50 英尺)或更短。这些限制大多可以追溯到 20kbps 被认为是非常高的线路速度、电缆很粗、电容很高的时代。然而,在实践中,RS-232 远比 15m 线路上 20kbps 的传统指定限制要强得多。通常您可以使用更长的电缆或更高的速度而不会出现太多问题。对于普通电缆,如果屏蔽和接地良好,电缆长度的 15m 限制可以延长到 30m 左右,如果电缆也是低电容电缆,则可以延长到 100m 左右。有趣的是,大型机和中端计算机上的大多数 RS-232 端口能够提供比其额定 19.2kbps 更高的速度。通常这些“低速”端口将在 56kbps 及以上的速度下无错误地运行。PC 上的 RS-232 端口通常以 115kbps 的速度运行。对于普通电缆,如果屏蔽和接地良好,电缆长度的 15m 限制可以延长到 30m 左右,如果电缆也是低电容电缆,则可以延长到 100m 左右。有趣的是,大型机和中端计算机上的大多数 RS-232 端口能够提供比其额定 19.2kbps 更高的速度。通常这些“低速”端口将在 56kbps 及以上的速度下无错误地运行。PC 上的 RS-232 端口通常以 115kbps 的速度运行。对于普通电缆,如果屏蔽和接地良好,电缆长度的 15m 限制可以延长到 30m 左右,如果电缆也是低电容电缆,则可以延长到 100m 左右。有趣的是,大型机和中端计算机上的大多数 RS-232 端口能够提供比其额定 19.2kbps 更高的速度。通常这些“低速”端口将在 56kbps 及以上的速度下无错误地运行。PC 上的 RS-232 端口通常以 115kbps 的速度运行。

上一篇:结型场效应晶体管教程
下一篇:RS-485串行接口的基础教程

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料