差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
whatisserialbus [2023/05/15 08:58]
gongyu
whatisserialbus [2023/05/27 08:54] (当前版本)
gongyu
行 1: 行 1:
 ## 什么是串行总线? ## 什么是串行总线?
 +SPI、I2C 和 UART 协议有什么区别?
 +
 +I2C 和 SPI 均与专用时钟同步线 。
 +
 +物理层:I2C使用2个引脚:SDA(双向数据)和SCL(时钟)。 SPI 至少使用 3 个引脚:MOSI(主输出、从输入)、MISO、SCK 和零个或多个 /​SS(从选择)。
 +时钟:I2C 使用一些标准时钟速率:100 KHz、400 KHz 和一些更快的模式。SPI 时钟可以低于所有连接设备的最大时钟频率(通常在 10 MHZ 左右)
 +应用:I2C比SPI通信协议实现起来更便宜。SPI只支持一个master
 +总线上的设备,而 I2C 支持多个主设备。
 +总体而言,SPI更适合高速和低功耗应用,而 I2C 更适合与大量外设通信以及 I2C 总线上外设之间主设备角色的动态变化。
 +另一方面,UART 是异步的,没有时钟线
 +UART:代表通用异步接收/​传输。 简单来说𝗨𝗔𝗥𝗧 𝗻𝘁 在接收和发送控制器之间。 接收 MCU 将期望以特定波特率(例如 9600)将位接收到其 RX 端口,而发送 MCU 将以相同的波特率(9600)发送位。双方之间没有主时钟。
 +
   * 同步半双工的[[I2C]]   * 同步半双工的[[I2C]]
   * 同步全双工的[[SPI]]   * 同步全双工的[[SPI]]
   * 异步半双工的[[UART]]   * 异步半双工的[[UART]]