I2C串行接口技术ppt
- 格式:ppt
- 大小:643.00 KB
- 文档页数:52


简朴描述:
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、I2C、UART三种串⾏总线协议的区别和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总线,则需⼀个输⼊⼝,⼀个输出⼝。
IIC多byte读写技术
IIC(Inter-Integrated Circuit)是一种串行通信协议,常用于连接微控制器与外设。在某些应用中,需要一次读写多个字节的数据,这就涉及到了IIC多byte读写技术。
一、IIC简介
IIC(Inter-Integrated Circuit)又称为I2C,由飞利浦公司于1982年首次推出,是一种广泛应用于数字集成电路芯片内部集成的串行通信总线。IIC总线由两根信号线组成,分别为串行数据线(SDA)和串行时钟线(SCL)。IIC总线支持多主机和多从机,并且能够实现多个设备的通信。它是一个简单而有效的通信协议,能够高效地在多个设备之间传输数据。
二、IIC多byte读写
通常情况下,IIC协议是通过逐字节进行读写的。但是,在某些应用场景中,如读写存储器或传感器等,需要一次读写多个字节的数据,以提高数据传输的效率。这就需要使用IIC多byte读写技术。
在IIC多byte读写中,需要考虑以下几个方面:
1. 数据长度
首先需要确定要读写的数据长度。在IIC协议中,可以通过发送长度字节来指定要读写的数据长度。长度字节告诉设备要传输的字节数量,这样设备就可以准确地处理接下来的读写操作。
2. 寄存器地址
多byte读写通常需要设备具有寄存器或存储器的地址。传输数据之前,需要将要读写的目标地址发送给设备,这样设备才知道要读写哪个寄存器或存储器单元。
3. 读写顺序
在进行多byte读写时,需要考虑数据的读写顺序。有些设备要求数据按照从高地址到低地址的顺序读写,而有些设备则要求按照从低地址到高地址的顺序读写。在进行多byte读写之前,需要确定设备的读写顺序,以保证数据的正确传输。 4. 响应与确认
在进行多byte读写操作时,设备需要正确地响应和确认数据的传输。发送数据后,需要等待设备的响应或确认信号,以确保数据已经被正确接收。如果设备没有正确响应或确认,可能需要重新发送数据或者进行错误处理。
串行EEPROM接口方法讲解
串行EEPROM(Electrically Erasable Programmable Read-Only
Memory)是一种非易失性存储器,它可以通过串行接口与微控制器或其他设备进行通信。串行EEPROM常用于存储配置信息、校准数据和日志记录等功能。本文将对串行EEPROM的接口方法进行讲解。
串行EEPROM主要有两种接口方式:I2C和SPI。I2C(Inter-Integrated Circuit)是一种串行通信协议,可以通过两根线进行通信;SPI(Serial Peripheral Interface)是一种串行通信协议,通信需要使用4根线。下面将依次介绍两种接口的方法。
一、I2C接口方法
I2C接口是一种简单、快速和可靠的通信协议,由两根线组成:SCL(串行时钟线)和SDA(串行数据线)。I2C通信需要一个主设备(如微控制器)和一个或多个从设备(如串行EEPROM)。
1.初始化:
首先,需要将SCL和SDA引脚配置为I2C模式,并设置串行EEPROM的设备地址。通常,每个串行EEPROM都有一个唯一的7位设备地址。通过设置地址位上的电平(0或1),可以配置不同的从设备。
2.启动通信:
为了开始I2C通信,主设备需要发出一个起始信号。起始信号是由将SDA从高电平转换为低电平,然后将SCL从高电平转换为低电平形成的。
3.发送设备地址: 主设备在发送起始信号之后,将需要访问的设备地址与通信位(读或写)发送到SDA线上。这个8位的地址包括7位的设备地址和1位的读/写位。
4.等待应答:
接下来,主设备需要等待来自串行EEPROM的应答信号。在等待期间,主设备需要释放SDA线,并将SCL线保持在低电平。
5.发送数据:
如果收到了来自串行EEPROM的应答信号,主设备可以继续通过I2C通信发送数据。可以发送一个或多个字节的数据到串行EEPROM。
6.停止通信: