I2C-SPI-UART

I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。

 
 
SPI--Serial Peripheral Interface,串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
I2C--INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。
 
 
IIC 接口的协议里面包括设备地址信息,可以同一总线上连接多个从设备,通过应答来互通数据及命令。但是传输速率有限,不能实现全双工,不适合传输很多的数据。 
SPI 有3线跟4线两种,4线的话,就是多了一条叫SDC的线,用来告知从设备现在传输的是数据还是指令。这个接口较快,可以传输较连续的数据。SPI要想连接多个从设备,就需要给每个从设备配备一根片选信号。如果要可以实现全双工,也是需要多加一根数据线。
 
 

SPI,UART,I2C都有什么区别,各自的特点是什么?

区别:SPI:高速同步串行口。3~4线接口,收发独立、可同步进行 
UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢 


SPI:一种串行传输方式,三线制,网上可找到其通信协议和用法的 
3根线实现数据双向传输 
串行外围接口 Serial peripheral interface 
UART:通用异步收发器 
UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终 
端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了 
。作为接口的一部分,UART还提供以下功能: 
将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行 
数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入 
奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记, 
并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠票也是 
串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART 
还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数 
据前在其缓冲区内存储16字节数据,而通常的UART是8250。现在如果您购买一个内置的 
调制解调器,此调制解调器内部通常就会有16550 UART。 
I2C:能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。
 
 
I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备)

你可能感兴趣的:(SPI)