什么时候应该使用USART代替UART?


10

我想在PIC18F4550和PC之间进行通信,但是无论是长距离使用UART还是USART,我都陷入了困境。什么时候使用一个而不是另一个更有利?


2
那么,谁会为他们的PC提供同步收发器以连接到您的小工具?
PlasmaHH

Answers:


11

为了您的目的,UART和USART是同一件事。UART代表通用异步接收器/发送器。USART中的附加S表示同步。这只是Microchip的一点附加功能,它使模块在某些情况下变得更加有用。该额外功能不适用于您的情况。

PC COM端口仅需要一个UART即可与之通信。USART可能以其他方式使用的事实与您无关,除了也许您必须以正确的方式设置一些其他配置位。


3

简短答案:使用您拥有的任何芯片

要全面检查问题,必须对首字母缩略词进行解码:

一个ü niversal 一个同步[R eceiver 牛逼变送器是你传统的“串行端口”。从仅涉及单个信号的意义上讲,它是异步的-不发送时钟,而是接收器必须恢复时钟(通常通过过采样)。

对比度的ü niversal 小号 ynchronous 同步ř eceiver Ť变送器是更通用的与UART式设备异步模式,但是其也可以可选地被配置在操作同步,其中一个时钟与数据一起发送的模式。根据功能的不同,这可能包括与众所周知的同步串行格式(例如SPI或I2S)的互操作。

一些MCU可能同时提供两种类型的外设。对于基本的异步串行需求,您可以选择其中一个。但是,您的选择可能会受给定外设可以在其上操作的引脚,系统中的其他需求等影响。工厂ROM引导加载程序可能仅在某些外设上工作,而在其他外设上工作。缓冲区支持,字长,奇偶校验支持,关联的控制信号等也可能有所不同。两者之间的软件接口可能完全不同。


3

对于您的微控制器,它们基本上是同一件事。

USART代表通用异步和同步接收器/发送器。UART代表通用异步接收器/发送器。

异步数据传输大部分时间将在此通信协议中使用。很少使用同步数据传输,因为您拥有更好的同步通信协议,例如SPI和I2C。


很少使用同步数据传输,因为您拥有更好的同步通信协议,例如SPI&I2C。 ”注意,似乎您正在比较苹果和橘子:-) SPI&I2C通常用于相对较短的距离。USART的同步模式通常用于更长距离的接口,例如多英尺或更长。我曾经使用过许多同步通信接口,例如V.35,甚至是V.24上的可选同步信号,以连接到同步调制解调器。它们都需要USART,因此不能被SPI&I2C明智地取代。
SamGibson

非常感谢你提供的信息。
Thinh的Lê魁

1

您的微控制器(MCU)中具有通用同步/异步接收器/发送器(USART)。该功能单元支持同步通信模式和异步通信模式。

在同步模式下,发送器Tx通过时钟线和数据线连接到接收器Rx。每个时钟周期一次,Tx在DATA上发送另一位,Rx从DATA接收另一位。传输时序由时钟控制,因此对于Tx和Rx都是已知的。因此,与异步模式相比,Tx和Rx都可以使用更高的比特率。

但是,需要两条线/连接器引脚而不是一根,并且CLOCK和DATA之间的过度偏斜或抖动会导致接收到损坏的数据。线路驱动器和线路接收器中携带CLOCK和DATA的时序必须紧密匹配,以减少这种偏斜。在使用长电缆和/或多个连接跃点的情况下,接口和两线因素在更长的距离上都变得更加突出。

在异步模式下,发送器Tx通过DATA线连接到接收器Rx。每个定时位周期一次,Tx在DATA上发送另一位,而Rx从DATA接收另一位。传输时序由Tx和Rx中的分频振荡器控制,每个振荡器彼此都不知道,并且会略有不同。因此,最大可靠比特率低于同步模式。

在每个新字节的开始处,Rx使用开始的STOP-START位转换来与输入位序列时序重新同步。这使得来自线路驱动器/接收器,电缆和连接器的延迟与位周期时序无关,尽管与位质量无关。每个通信信号只需要一根电线,而不是两根,从而降低了电缆,连接器和线路驱动器/接收器的成本。

因此,这取决于您可以接受的费用,行进的距离以及Tx和Rx的功能。您的PC可能仅在标准COM端口上支持异步模式,而对于同步模式则需要特殊的端口(PCIe或USB,可能是USB)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.