三种通信模式SPI、UART、I2C它们的工作原理
4个回答
展开全部
这三种通信模式都是串行总线。
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进行通信。
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进行通信。
展开全部
SPI,I2C属于同步串口通信,而UART是异步串口通信,你要是想知道到,无非是它们用的是几根线,原理自己看书吧,这里讲讲你也不会真正理解的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
找下资料,看看他的通信时序就弄明白了啊!主要是通信时序(协议)不同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询