标签:
如果接触硬件多了的话,就可以发现I2C协议是我们经常使用到的。只需要SDA(数据)和SCL(时钟)便能搭建好电路。
电路虽然简单,但是关键还得理解它规定好的协议。首先,看一下时序图。
从图中可以看出,传输一次数据分为四个主要环节:S(起始信号),start byte(要写入的字节),ACK(应答信号),
SR(停止信号)。作用不去描述,下面对它们如何产生作用描述一下我的看法。
上面是对一个字节传输的描述,假如我想往24c02(以24c02作为对象)的某个地址写入某个数据,信号又是如何传输的?
下面将由另一张图片来作为讲解。
这是写入一个地址数据时的数据图,在这里,不对电平变化做描述。从左往右看,首先应当发送一个起始信号,然后再发送一个
字节。在这个字节里,后七位是来选定器件地址的,最后一位是用来控制读写的。所以,写数据的话,应当为A1(图上貌似有问题,
高字节不应当是F)。在写入玩一个字节后,做出应答。之后很简单,发送要写入存储器内的地址,应当,要写入的数据,应答。最后,
停止信号。
最后补充一点,为什么要在SDA和SCL上,加上拉电阻。这主要是上拉电阻的作用,用来确定线的电平状态。
标签:
原文地址:http://www.cnblogs.com/linux-hp/p/4674936.html