标签:
/***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门则可以采用“线与”的方式进行连接。
标签:
原文地址:http://www.cnblogs.com/dunfentiao/p/4302459.html