I2C SPI

I2C接口

·         只有两条总线线路:一条串行数据线(SDA),一条串行时钟线(SCL)

·         每个连接到总线的期间都可以使用软件根据它的唯一的地址来识别。

·         传输数据的设备间是简单的主/从关系。

·         主机可以用作主机发送器或主机接收器

·         它是一个真正的多主机总线,两个或者多个主机同时发起数据传输时,可以通过冲突检测和仲裁来防止数据被破坏

·         串行的8位双向数据传输,位速率在标准模式下可达100kbit/s,在快速模式下可达400kbit/s,在高速模式下可达3.4Mbit/s

·         片上的滤波器可以增加抗干扰功能,保证数据的完整。

·         连接到统一总线上的IC数量只受到总线的最大电容400pF的限制。

主机:发起/停止数据传输、提供时钟信号的器件

从机:被主机寻址的器件

2. I2C总线的信号类型

1) 开始信号(S):SCL为高电平时,SDA由高电平向低电平跳变,开始传输数据。

2) 结束信号(P):SCL为高电平时,SDA由低电平向高电平跳变,结束传输数据。

3) 响应信号(ACK):接收器在接受到8位数据后,在第9个时钟周期,拉低SDA点平。

 

SDA上传输的数据必须在SCL为高电平期间保持稳定,SDA上的数据只能在SCL为低电平期间变化。

        发送到SDA线上的每个字节必须是8位的,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB)。如果从机要完成一些其他功能后才能继续接收或发送下一个字节,从机可以拉低SCL迫使主机进入等待状态。

        启动一个传输时,主机先发出S信号,然后发出8位数据。这8位数据中前7位为从机的地址,第8位表示传输的方向(0表示写操作,1表示读操作)。被选中的从机发出响应信号。

 

SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值