RS232和UART有什么区别?


回答 1:

UART是一种协议,用于将数据从一个节点串行传输到另一个节点。协议不过是一组由参与通信的各方共同控制以实现无差错通信的规则。

特别是在串行通信中,必须有协议。在并行通信中,在单个脉冲中,所有位都传输到另一个节点,但在串行通信中,所有位都一个接一个地传输,因此需要多个脉冲。因此,我们必须告诉系统何时开始传输数据,将有多少位以及数据传输将如何结束。您还应该集成一些错误检查技术。所有这些规则都包含在协议中。 UART是大多数微控制器都支持的TTL协议。

但是,当我们想在PC(计算机)的超级终端装置屏幕上显示数据时,我们必须通过后面板上可用的COM PORT将其传输到PC。这里出现了标准的概念,它不过是传输数据的物理层。

PC具有遵循RS 232标准的COM PORT来接受数据。 DB9的引脚图非常有名,可以从Internet上轻松获得。但是这个端口的逻辑电平是在TTL并非仅在图片中就已经确定的。

按照RS 232标准:逻辑1表示-3V至-25V

逻辑0表示+ 3V至+ 25V

其中我们的UART协议根据TTL逻辑生成数据。

其中逻辑1表示2.4V至5V

逻辑0表示0至0.4V

因此来自UART协议的数据不能直接在RS 232端口上传输。可能会误解它。因此,称为MAX232的线路驱动器用于将TTL电平转换为RS 232电平。

同样,我们还有其他与UART协议viz完全兼容的标准。 RS 485标准和RS 422标准(均适用于总线拓扑)


回答 2:

本技术说明的功能是阐明UART,RS232,RS422或RS485端口之间的区别。术语UART表示通用异步接收器发送器,它是移动串行数据的常用用户界面。 ...微控制器的UART通常以3V3或5V TTL电平运行。本技术说明的目的是阐明键盘记录器,RS232,RS422或RS485端口之间的区别。术语UART表示通用异步接收器发送器,是通常用于移动串行数据的用户界面。


回答 3:

否。RS-232是一个标准,用于定义调制解调器等设备的串行连接类型上存在的信号类型。它最初是专门为调制解调器设计的,介于数据终端设备(DTE计算机和调制解调器)和数据通信设备(DCE-调制解调器)之间。它也已用于许多其他设备。

尽管RS-232定义了哪个信号在哪个引脚上,所使用的电压电平以及诸如此类的东西,但它并没有定义这些信号的实际内容。

因此,连接到调制解调器的同步设备与异步设备相比,会在电线上放置非常不同的数据帧。 PC上的典型串行端口(或至少在如今通常很少使用的串行端口,如今已很少见)是异步端口。较大的系统经常使用同步协议,双同步,SDLC和HDLC是通用名称。 aysnc和同步协议之间的最大区别在于,异步协议的帧覆盖单个字符,并且接收器不会在数据位经过时将自身与数据位同步。同步协议的帧是整个数据帧(非常类似于现代网络协议),接收器从信号中提取时钟信息以调整其时序,以在数千位的过程中保持同步。前者易于实现,但效率较低(通常导致与每个字符相关的停止位和起始位的额外开销约为25%),并且通常限于较低的数据速率。

无论如何,实现这些协议的初始设备都是由离散和SSI组件构成的,具有用于异步和同步的不同电路,以及不同类型的同步协议。随着集成电路的发展,人们开始集成。在早期,您可能有一个单芯片接收器和一个单芯片发送器,但是您通常仍然需要额外的芯片来进行时钟和控制等。 Buht taht是一个很大的进步。

随着情况的改善,大多数功能都集成到了单个芯片上。因此,UART是通用异步接收器/发送器,实质上集成了通过RS-232链路进行串行连接的一侧所需的所有功能-控制逻辑接收器和发送器。 USART实现了对aysnc和同步协议的支持(通常)。请注意,实际的线路驱动器通常仍是分开的。

因此,PC中的一个串行端口“ *”有一个UART,这就是将信号放入RS-232连接的原因,另一端的设备具有一个UART来接收发送的信号,并且这些UART还提供相同的服务。在另一个方向。 UART是编写设备驱动程序的程序员所看到的硬件。存在许多具有不同编程接口的不同UART,但是尽管需要不同的编程,但它们通常都可以通信(假定可以将它们设置为相同的参数)。

因此,RS-232定义线路上的物理内容,异步或同步定义数据的帧方式,而UART(或USART)通常是在电缆两端驱动设备上的该端口所需的逻辑实现。

话虽这么说,同步串行端口在PC上很少见,并且这四个术语(RS-232端口,异步端口,串行端口和UART)经常互换使用。并非完全正确,但是非异步串行端口也很少见。