IIC外设

IIC介绍

        IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器以及其外围设备。IIC有如下特点

        1.总线由数据线SDA和时钟线SCL构成的串行总线。

        2.总线上每一个器件都有唯一的地址识别。

        3.数据线SDA和SCL都是双向线路,都通过上拉电阻或电流源连接到正的电压,所以总线空闲时都是高电平。

        4.总线传输速率有三种,标准模式下100kbit/s,快速模式下400kbit/s,高速模式下3.4Mbit/s。

        5.总线支持多设备连接,同时支持多个主机和多个从机,连接总线的接口数量由总线电容400pF的限制决定。如下图 

        

IIC总线协议

        IIC总线时序图如下所示

        

        1、起始信号

        当SCL为高电平期间,SDA由高到低的跳变。由主机发出该信号,在起始信号产生后,总线就处于被占用状态。准备传输数据

        2、停止信号

        当SCL为高电平期间,SDA由低到高的跳变。由主机发出该信号,在停止信号产生后,总线就处于被空闲状态。

        3、应答信号

        发送器每发送一个字节,就在时钟脉冲9期间释放SDA数据线,由接收器反馈一个应答信号。应答信号为低电平时,规定为有效应答(ACK)

        应答信号为高电平时,规定为非应答位(NACK),表示接收器接收该字节没有成功。若接收器是主机,则在它接收到最后一个字节后,发送

        一个NACK信号,通知被控发送器结束数据发送,并释放SDA线,以便主机接收器发送一个停止信号。

        4、数据有效性

        IIC总线进行数据传输时,时钟为高电平期间,数据才会被采集所以数据上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据

        线上的高电平或低电平状态才允许变化。

        5、数据传输

        在IIC总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据,

        数据位的传输是边沿触发。

        6、空闲状态

        IIC总线的SDA与SCL两条信号线同时处于高电平时,规定为总线的空闲状态。

IIC通信操作

        1、IIC写操作通讯过程 如下图

        

        1.主机先发送起始信号,

        2.主机发送从机地址(7bit)+0(写操作)组成8bit数据,

        3.从机验证完是自己的设备地址后,发出应答信号(ACK)。

        4.主机发送8bit数据给到从机,若从机一直返回应答,主机一直发数据。直到从机发出非应答信号,主机停止发送数据

         5.主机发送停止信号

        2、IIC读操作通讯过程 如下图

        

        1.主机发送起始信号

        2.主机发送从机地址(7bit)+1(读操作)组成8bit数据

        3.从机验证完是自己的设备地址后,发出应答信号(ACK)

        4.从机向主机返回8bit数据,主机若一直返回应答,从机一直发数据。直到主机发出非应答信号,从机停止发送数据

        5.主机发送停止信号

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青涩天空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值