i2c

 

/***0226:先写个提纲***/

i2c的物理上的链接:比如电平逻辑、上拉电阻,比如总线的速度,总线的工作原理

i2c的软件编写。arduino的写法;linux用现成的,只写用户层的写法;linux单独写driver,和其用户层的写法。

i2c调试的思路、方法、工具。

 edison调试需要注意的地方。

 

@总线工作原理:

数据位表示和总线起始、停止条件

   I2C总线上每传输一个数据位就产生一个时钟脉冲,数据必须在SCL为高电平期间保持稳定,数据状态的改变只能在SCL为低电平时发生。

   SCL为高电平时,SDA的状态变化被定义为总线操作的起始或停止条件:SDA由高电平变为低电平,表示一个总线操作的起始条件(Start);SDA由低电平变为高电平,表示一个总线操作的停止条件(Stop)。

   I2C允许主设备在发出停止条件前插入重复起始条件,通过使用重复起始条件,主设备可以任意修改读、写的方向或寻址不同的设备。根据I2C总线规范,总线上所有的从设备在接受到起始条件或重复起始条件时,必须复位他们的总线逻辑,准备好接受紧随起始条件后的从设备地址。

 

@什么是OC门?什么是OD门?

OC(集电极开路门)、OD(漏极开路门)。OD原理与OC门类似,只是三极管换成场效应管,集电极变成漏极。OC、OD门的输出均可以采用“线与”的连接方式。普通输出的门电路不能直接采用“线与”的连接,如果一个门输出为“1”,而另一个门输出为“0”,则实际信号状态变得不确定,而且可能造成器件损坏。I2C总线中,所有设备的SDA用“线与”的方式连接在一起,所有的SCL也用“线与”的方式连在一起,一般情况系不需要任何接口逻辑。而普通输出的门电路不能直接采用“线与”的连接,如果一个门输出为“1”,而另一个门输出为“0”,则实际信号状态变得不稳定,而且可能造成器件损坏。OC和OD门则可以采用“线与”的方式进行连接。 

posted @ 2015-02-27 00:08  dunfentiao  阅读(388)  评论(0编辑  收藏  举报