c -为什么在串行控制台的其他接口上使用UART ?



在嵌入式系统中,我们经常使用UART将数据传输到PC上的串行控制台,而现在则使用usb -to- art串行转换器作为虚拟com端口。为什么UART成为这方面的首选,而不是像I2C和SPI这样的其他串行接口?

因为它很简单,被设计用于更长的距离(我是说米而不是公里:)),非常标准,每个uC都有。

I2C和SPI不是设计为在PCB外使用的(我知道人们在较长的距离上使用它们)。这些接口用于连接其他ic到您的微控制器。

  • RS232的最大距离可以是几米,I2C和SPI不能很好地工作,距离超过约200 - 500mm(取决于拉拔,速度,收集器电流,…)。
  • SPI和I2C需要一个主和一个从,在2个UART主机之间没有这样的区别。
  • 您需要比SPI更少的引脚(当引脚如DTR, DSR, RTS被省略)或并行端口。
  • 你不需要担心在哪里放一个上拉电阻。
  • 两个主机都可以异步启动传输,使用I2C和SPI,主服务器需要轮询从服务器才能传输数据。
  • 主机不需要立即回答。这对于负载下的PC来说非常重要,因为它的反应时间可能非常长(大约50毫秒左右)。试着在PC上编写一个程序,它可以在不到1ms的时间内可靠地应答。

最新更新