IIC SPI UART通信方式的区别

Posted DeanBoyLoveLinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIC SPI UART通信方式的区别相关的知识,希望对你有一定的参考价值。

1.定义上的区别

IIC :Inter-Integrated Circuit     两线式串行总线

SPI : serial peripheral interface   串行外围设备接口

UART : Universal Asynchronous Receiver/Transmitter 通用异步收发传输器

通信速率 SPI > IIC > UART

SPI : 串行时钟(SCLK)、主机输入从机输出(MISO)、主机输出从机输入(MOSI)两条合一的数据线,1个CS(设备片选线) 

串行,同步,全双工

IIC:串行时钟(SCLK)、数据信号线(SDA:serial data),1个CS(设备片选线)       

串行,同步,半双工

UART: TX/RX(为什么后缀有个X,为了好读,好写 ,参考 https://www.zhihu.com/question/36993913)    GND       

串行,异步,全双工 

并行通信用于内部存储间的通信,比如flash

2.怎么形象的理解异步和同步的区别?

参考 http://www.cnblogs.com/nufangrensheng/p/3651952.html

异步就像是写信,有数据就去发送,然后对方接受,不用在意时间上的配合,发送完可以去干别的事情

同步就像是打电话,必须同时在线

3.IIC和SPI的通信过程有什么区别?

   (1)一个是片选的方式

   SPI用片选信号选择从机,即拉低目标设备上的片选线,不需要目标响应,硬件方式,布线复杂

   IIC用地址选择从机,把从地址发送出去,去寻找相同目标地址的从设备,软件方式,效率比SPI低

   (2)发送的过程

   SPI,无应答方式,在同步信号下快读的把数据发送到目标,不在乎目标是否正确的收到数据

   IIC,每发送一个数据,必须等待从机的响应,如果从机不响应,则数据是发送不了的

4.起始标志,结束标志不同

 参考:http://blog.csdn.net/stardhb/article/details/45132621

5.传输的位数不同

UART一帧可以传5/6/7/8位,IIC必须是8位,IIC和SPI都从最高位开始传

以上是关于IIC SPI UART通信方式的区别的主要内容,如果未能解决你的问题,请参考以下文章

iic通信协议是什么

UARTSPIIIC

spi flash是啥,和其他有啥区别?

单片机中如何选用SPI、UART和IIC/SmBus?他们的传输速度和应用场合?

UART与USART的区别

STM32入门笔记——串口通信