IIC

概念

IIC总线是一种串行总线,用于连接微控制器及其外围设备具有以下特点
1.只有两条总线线路:一条串行数据线(SDA)和一条串行时钟线(SCL)
2.每个连接到总线的设备都可以使用软件根据它唯一的地址(设备地址)来识别。
3.传输数据的设备间是简单的
主/从关系

4.主机可以用作主机发送机或主机接收机
5.它是多主机总线,两个或多个主机同时发起数据传输时,可以通过重读检测和仲裁来防止数据被破坏。
6.串行的8位双向数据传输
7.连接到同一总线上的设备数量只受到总线的最大电容400pF的限制。
概念
发送器:发送数据到总线的器件
接收器:从总线接收数据的器件
主机:发起、停止数据传输、提供时钟信号的器件
从机:被主机寻址的器件
在这里插入图片描述在这里插入图片描述
I2C是主从结构,即所有的数据传输都是由主机发起,从机只能接收,从机不能主动引起数据传输。
对于 I2C 协议来说,它只能规定到发出的第一个数据是“地址”,后面发出的数据不同。
如何分辨两条线上接的多个从设备?发出信号里有地址信息,从芯片检测信号发现地址信息等于它的地址才会响应。发出地址信号之后,主机并不知道总线上是否接有设备,第9个周期要回应,响应信号ACK。这样主机就知道确实有这个设备,后面就可以继续发数据。后面继续发8个时钟传输数据,第9个时钟为ACK,表示数据发送成功了。读数据的时候,时钟还是主机发的,前面8个时钟由从设备来响应,从机会把数据驱动到SDA里面来,第9时钟还是ACK,这时ACK是由主机发送了,主机接收到数据就把SDA拉为低电平表示收到数据了。
在这里插入图片描述
每个 I2C 芯片里面都有一个地址,是固化在芯片里面。
设备地址总共是 7bit,“1010”固定,后面“A2,A1,A0”可以从硬件上敲定。
在这里插入图片描述

信号

IIC总线在传送数据过程中共有3种类型信号:开始信号(S),结束信号(P)和响应信号(ACK)
1.开始信号(S):SCL为高电平时,SDA由高电平向低电平跳转,开始数据传输。
2.结束信号(P):SCL为高电平时,SDA由低电平向高电平跳转,结束数据传输。
3.响应信号(ACK):接收器在接收到8位数据后,在第9个时钟周期,拉低SDA电平。
在这里插入图片描述在这里插入图片描述
SDA上传输的数据必须在SCL为高电平期间保持稳定,SDA上的数据只能在SCL为低电平期间变化。
在这里插入图片描述

数据传输格式

发送到SDA线上的每个字节必须是8位的,每次传输可以发送的字节数不限。每个字节后必须跟一个响应位。
如果从机要完成一些其他功能后(如内部中断服务程序等)才能继续接收或发送下一个字节,从机可以拉低SCL迫使主机进入等待状态。当从机准备好接收下一个数据并释放SCL后,数据传输继续。同样,主机也可以拉低SCL占住总线。
启动一个数据传输时,主机先发出S信号,然后发出8位数据。这8位数据中前7位为从机的地址,第8位表示传输的方向(0表示写操作,1表示读操作)。被选中的从机发出相应信号。紧接着传输一系列字节及其响应位。最后,主机发出P信号结束本次传输。在这里插入图片描述

这8个CLK里,SDA由主机驱动(写入IIC);
第9个CLK,SDA有从机驱动(IIC接收数据)。
在这里插入图片描述在这里插入图片描述

这8个CLK里,SDA由从机驱动(读IIC数据);
第9个CLK,SDA有主机驱动(主机接收数据)。
在这里插入图片描述在这里插入图片描述

总线控制器

4种工作模式:主机发送器,主机接收器,从机发送器,从机接收器。
4个寄存器:
IICCON:控制是否发出ACK信号,设置发送器时钟,开启IIC中断,并标识中断是否发生。
在这里插入图片描述
IICSTAT(control/status):选择工作模式,发出S信号,P信号,使能接收/发送功能,并标识各种状态。在这里插入图片描述
IICADD(address):位[7:1]表示s3c2440当作从机时的地址。IICADD寄存器在串行输出使能位IICSTAT[4]为0时,才可以写入,任何时间都可以读出。
IICDS(data shift):位[7:1]保存的是要发送或已经接收的数据。IICDS寄存器在串行输出使能位IICSTAT[4]为1时,才可以写入,任何时间都可以读出。

实现

转载-模拟实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值