IIC通信协议基于AT24C02应用

IIC通信通常采用一主多从模式,即一个主机、多个从机进行通讯。

IIC通信通过SCL时钟信号线和SDA数据信号线挂载多个设备。

那么问题就来了,由于挂载了多个设备,那么如何确定主机(单片机)和哪一个从机进行通讯呢?

首先,由主机向从设备发从起始信号,即上图起始位。起始位信号是在时钟信号线(SCL)为高电平的时候,数据信号线产生下降沿(即由高电平转向低电平),就完成了起始信号。(如下图)

起始信号产生以后,就要发从从机设备地址。因为一主多从,主机要确定和那个从机通讯。假如:图一中屏幕的设备地址是0x80,24C02的设备地址是0x90。主机在发从完起始信号通知各从设备准备接受信号。主机再次发送从机设备地址,比如发送0x80,那边就会和屏幕建立通讯,其他从设备不受影响。

其中要注意,从设备地址只有七位,不是八位。第八位表示读写位。即第八位为0时,表示主机向从设备写入数据。第八位为1时表示主机向从机读取数据(即从机向主机发送数据)。

那么起始信号我们已经知道怎么发送了。但是设备地址、寄存器地址和数据是怎么产生和发送的呢?

1、首先、这三者的数据产生和发送时一模一样的!

2、数据产生:在SCL时钟信号线为低电平的时候,SDA数据线可以进行高点电平的转换。如下图。

3、数据读取:在SCL为高电平的时候,自动读取数据。因为在SCL为高电平的时候,数据必须保持稳定。

4、顺序:那么我们是先输入高位的电平信号还是先输入低位的电平信号呢?(这个先待定)。。。。

5、根据图二可以看出,每发送完八位数据,接收机都要发从应答信号。应答信号为低电平。

最后结束信号。结束信号是在SCL为高电平的时候,SDA数据线完成由低到高的跳变(上升沿)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值