三种通信模式SPI、UART、I2C它们的工作原理

如题所述

这三种通信模式都是串行总线。

SPI总线
  MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。采用SPI总线的系统如图8-27所示,它包含了一个主片和多个从片,主片通过发出片选信号-CS来控制对哪个从片进行通信,当某个从片的-CS信号有效时,能通过SI接收指令、数据,并通过SO发回数据。而未被选中的从片的SO端处于高阻状态。主设备通过产生移位时钟来发起通讯。通讯时,数据由SO 输出,SI 输入,数据在时钟的上升或下降沿由SO 输出,在紧接着的下降或上升沿由SI 读入,这样经过8/16 次时钟的改变,完成8/16 位数据的传输。

I2C总线
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C串行总线有两根信号线:一根双向的数据线SDA;另一根是时钟线SCL。所有接到I2C总线上的设备的串行数据都接到总线的SDA线,各设备的时钟线SCL接到总线的SCL。 I2C总线按字节传输,即每次传输8bits二进制数据,传输完毕后等待接收端的应答信号ACK,收到应答信号后再传输下一字节。等不到ACK信号后,传输终止。空闲情况下,SCL和SDA都处于高电平状态。

UART通信
UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置。UART首先将并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是5~8个数据位,一个可用的奇偶位和一个或几个高位停止位。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-27
SPI,I2C属于同步串口通信,而UART是异步串口通信,你要是想知道到,无非是它们用的是几根线,原理自己看书吧,这里讲讲你也不会真正理解的。
第2个回答  2011-08-27
找下资料,看看他的通信时序就弄明白了啊!主要是通信时序(协议)不同。
第3个回答  2021-01-10

相似回答