QQ:周小姐(342333772) 电话:0755-28130613 微信号:13714163197
富莱新世纪
服务热线:0755-28130613
  • SPI串口模块-I2C、SPI、UART三种通信总线有什么区别?
  • 添加时间:2019年07月01日  作者:SPI串口模块  来源:SPI串口模块

I2C、SPI、UART这三种通信总线都是在嵌入式领域非常常见的,目前主流的SOC芯片都内置了这三种总线的控制器,各种Sensor、Touch、蓝牙模块、WIFI模块等也都兼容这三种通信协议的1种以上。但是这三种总线通信协议差别却不是很大,所以在面试时也是面试官喜欢问的。

 

SPI串口模块-I2C、SPI、UART三种通信总线有什么区别?

I2C:半双工、同步、串行传输,物理上只有两根线(SDA/SCL);传输数据必须8位8位的传输。

 

SPI:全双工、同步、串行传输,收发独立,传输速率高,但是没有指定的流控制,没有应答机制确认是否接收到数据。物理上4根线(CLK/SDI/SDO/CS),因为是全双工,并且不需要寻址,所以速度要比I2C快,但是占用的物理线的数量要比I2C多;通信时可以一位一位的传输数据。

 I131950400770236_S.jpg

SPI串口模块-I2C、SPI、UART三种通信总线有什么区别?

UART:全双工、异步、串行传输,收发独立,UART总线并没有时钟线,所以需要提前约定对应的波特率,传输速度较慢,物理上4根线(VCC/TX/RX/GND),虽然速度慢,但是可用于不同主机间的通信,通常用于debug调试非常方便;传输时数据位可以5、6、7、8位。

 

SPI串口模块-I2C、SPI、UART三种通信总线有什么区别?

单工、半双工、全双工

单工:数据只能在一个方向上传输。

 

半双工:数据可以在两个方向上进行传输,但是同一时刻,只允许数据在一个方向上传输,相当于单工通信的分时复用。

 

全双工:数据可以同时在两个方向上传输,相当于两个单工通信的结合。

SPI串口模块-I2C、SPI、UART三种通信总线有什么区别?

同步通信和异步通信

同步通信要求发收双方具有同频同相的同步时钟信号(一般共用一个时钟), 同步通信效率高。

 

异步通信的收发双方没有同步时钟,比如UART,收发双方仅仅是约定,你按照什么样的速率发,而我也按照这样的速率去接收,这样如果速度越快,那么信号宽度越窄,误差就越大,所以异步通信效率较低。

 

SPI串口模块-I2C、SPI、UART三种通信总线有什么区别?

总结

通信速度上,SPI最快,UART最慢;通信距离上,I2C和SPI通常用于片上通信,而UART通常用于设备间通信,比如PC机和我们要调试的产品设备。


工业串口屏,单片机接口模块,HDMI触控屏,LVDS视频模块

MCU驱动模块-工业串口模块之间的通信-工业串口模块

工业显示屏-工业液晶显示屏的解决方案-工业液晶屏

工业液晶屏-超高清视频产值规模将达1.5万亿-工业显示屏

SPI串口模块-SPI总线协议介绍(接口定义,传输时序)

RS485串口模块详解RS232、RS485、RS485

lvds视频模块-高清探头抓拍交通违法-串口模块

如何使用RS232串口通信-RS485串口模块-SPI串口模块


mobile
在线咨询
0755-28130613