I2C总线及SPI规范
- 格式:ppt
- 大小:852.50 KB
- 文档页数:26


简朴描述:
SPI 和I2C这两种通信方式都是短距离旳,芯片和芯片之间或者其他元器件如传感器和芯片之间旳通信。SPI和IIC是板上通信,IIC有时也会做板间通信,但是距离甚短,但是超过一米,例如某些触摸屏,手机液晶屏那些很薄膜排线诸多用IIC,I2C能用于替代原则旳并行总线,能连接旳多种集成电路和功能模块。I2C是多主控总线,因此任何一种设备都能像主控器同样工作,并控制总线。总线上每一种设备均有一种独一无二旳地址,根据设备它们自己旳能力,它们可以作为发射器或接受器工作。多路微控制器能在同一种I2C总线上共存这两种线属于低速传播;ﻫ 而UART是应用于两个设备之间旳通信,如用单片机做好旳设备和计算机旳通信。这样旳通信可以做长距离旳。UART和,UART就是我们指旳串口,速度比上面三者快,最高达100K左右,用与计算机与设备或者计算机和计算之间通信,但有效范畴不会很长,约10米左右,UART长处是支持面广,程序设计构造很简朴,随着USB旳发展,UART也逐渐走向下坡;
SmBus有点类似于USB设备跟计算机那样旳短距离通信。ﻫ 简朴旳狭义旳说SPI和I2C是做在电路板上旳。而UART和SMBUS是在机器外面连接两个机器旳。
具体描述:
1、UART(TX,RX)就是两线,一根发送一根接受,可以全双工通信,线数也比较少。数据是异步传播旳,对双方旳时序规定比较严格,通信速度也不是不久。在多机通信上面用旳最多。
2、SPI(CLK,I/O,O,CS)接口和上面UART相比,多了一条同步时钟线,上面UART旳缺陷也就是它旳长处了,对通信双方旳时序规定不严格不同设备之间可以很容易结合,并且通信速度非常快。一般用在产品内部元件之间旳高速数据通信上面,如大容量存储器等。
3、I2C(SCL,SDA)接口也是两线接口,它是两根线之间通过复杂旳逻辑关系传播数据旳,通信速度不高,程序写起来也比较复杂。一般单片机系统里重要用来和24C02等小容易存储器连接。
标签: 无标签
一、 SPI 总线说明
串行外围设备接口 SPI (serial peripheral interface)总线技术是
Motorola 公司推出的一种同步串行接口, Motorola 公司生产的绝大多数 MCU(微
控制器)都配有 SPI 硬件接口,如 68 系列 MCU。SPI 用于 CPU 与各种外围器件
进行全双工、同步串行通讯。 SPI 可以同时发出和接收串行数据。它只需四条线
就可以完成 MCU 与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主
机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平
有效从机选择线 CS。这些外围器件可以是简单的 TTL 移位寄存器,复杂的 LCD
显示驱动器, A/D、D/A 转换子系统或者其他的 MCU。当 SPI 工作时,在移位寄存器 中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO) 接收的数据逐位移到移位寄存器(高位在前)。发送一个字节后,从另一个外围 器件接收的字节数据进入移位寄存器中。 主 SPI 的时钟信号 (SCK) 使传输同步。 其典型系统框图如下图所示。
SPI 主要特点有: 可以同时发出和接收串行数据 ;
可以当做主机或者从机工作 ;
提供频率可编程时钟 ;
发送结束中断标志 ;
写冲突保护 ;
总线竞争保护等。
图 2 示出 SPI 总线工作的四种方式, 其中使用的最为广泛的是 SPI0 和 SPI3 方式
(实线表示):
SPI 模块为了和外设进行数据交换, 根据外设工作要求, 其输出串行同步时
钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如
果 CPOL="0",串行同步时钟的空暇状态为低电平;如果 CPOL=1,串行同步时钟
的空暇状态为高电平。 时钟相位 (CPHA) 能够配置用于选择两种不同的传输协议
I2C和SPI-图文
SPI/I2C总线
虽然现实世界中的信号都是模拟信号,但是越来越多的模拟IC产品通过数字接口实现通讯。微处理器通过几条总线控制周边的设备,比如:模/数转换器(ADC),数/模转换器(DAC),智能电池,端口扩展,EEPROM以及温度传感器。
与数据的平行传输接口不同,串行数据通过两条、三条或者四条数据/时钟总线连续地传输比特数据。虽然并行的总线具有传输速度快的特点,但是串行总线具有使用较少的控制和数据线的优点。2线和3线的总线在大多数微处理器上应用于收发数据。
串行接口在提供串行时钟的主设备和从设备/周边设备之间的进行通讯。串行接口有三种:三线、二线和单线。本文着眼于二线和三线的串行接口。
三线的接口包括:片选线(CS或SS)、时钟线(SCLK)和数据输入/主设备输出线(DIN或MOSI)。三线接口有时也包括一条数据输出/主设备输入线(DOUT或MISO)。包含DOUT线的三线接口有时也叫做四线接口。为了叙述的简便,本文将三线接口和四线接口统称为三线接口。二线接口包括一条数据线(SDA或SMBDATA)和一条时钟线(SCL或SMBCLK)。
串行外设接口(SPI),队列串行外设接口(QSPI)和MicroWire(或MicroWire/Plu)接口都是三线接口。
芯片间总线(I2C)和SMBUS都是二线接口。这些串行接口拥有各自的优点和缺点,见表1。 三线接口可以以更高的时钟频率工作,并且不需要上拉电阻。SPI/QSPI和MicroWire接口都可以工作在全双工模式(数据可以在同一时间发送和接收)。而且三线接口是边沿触发的而不是电平触发,因此具有更强的抗干扰能力。三线接口的主要缺点是它要为每一个从设备提供一条片选线,除非将从设备用菊链形式连接。另外一个缺点是三线接口没有应答机制去判断数据的收发是否正确。
二线接口的优点是使用更少的连线,这一点在紧凑的设计中尤为重要,比如:手机、光纤的应用,因为二线接口为每个从设备分配唯一的地址,所以可以实现一根总线连接多个从设备而不需要片选线。
关于I2C和SPI总线协议
篇一:SPI、I2C、UART三种串行总线协议的区别
第一个区别当然是名字:
SPI(Serial Peripheral Interface:串行外设接口);
I2C(INTER IC BUS)
UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)
第二,区别在电气信号线上:
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。 如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。 I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。 如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备) UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。
第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行; 第四,看看牛人们的意见吧!