数据的有效性 SDA?线上的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只?有在SCL?线的时钟信号是低电平时才能改变?。 起始和停止条件 SCL?线是高电平时,SDA?线从高电平向低电平切换,这个情况表示起始条件; SCL?线是高电平时,SDA?线由低电平向高电平切换,这个情况表示停 ...
分类:
其他好文 时间:
2019-12-28 22:43:03
阅读次数:
72
I2C是一种总线式结构,它只需要SCL时钟信号线与SDA数据线,两根线就能将连接与总线上的设备实现数据通信,由于它的简便的构造设计,于是成为一种较为常用的通信方式。 由于I2C采用的是主从式通信方式,所以,通信的过程完全由主设备仲裁。在通信之前,必须由主设备发送一个起始信号,决定数据是否可以开始传送 ...
分类:
其他好文 时间:
2019-01-19 18:44:16
阅读次数:
269
前面的随笔完成了I2C时序分析(不涉及仲裁) 现在可以学使用控制器的I2C了。 1.先回顾I2C的基础知识 (1)总线包括SCL + SDA。 (2)通信的特点: 同步,串行,电平 所以决定了 I2C 低速,抗干扰不强,无法长距离传输。 (3)从设备 + 主设备 I2C总线上可以来连接多个从设备,形 ...
分类:
其他好文 时间:
2018-11-15 21:11:13
阅读次数:
161
I2C是一种串行通信 拥有SDA和SCL高速传输的一种协议。拥有高电平采集数据,只能低电平改变SDA上的数据的特点 简单阐述I2C时序和工作原理: 1.起始信号和终止信号 备注:起始:在SCL高电平期间:SDA拉低作为起始信号 终止:在SCL高电平期间:SDA拉高作为终止信号 2.读数据操作: 数据
分类:
其他好文 时间:
2016-02-24 20:51:00
阅读次数:
164
有一次我抓取i2c波形,发现波形很奇怪,如图:可是,它连接的电阻一端波形很正常,如图:后来才发现是探头碰到了旁边一个引脚,引脚见的间距太小。...
分类:
其他好文 时间:
2015-06-08 17:21:05
阅读次数:
114
I2C时序
I2C的详细介绍
说明:
开始:在SCL的高电平的时候SDA线的从高电平到低电平的跳变定义为开始
停止:在SCL的高电平的时候SDA线的从低电平到高电平的跳变定义为停止
2.有效数据的位置:
说明:在SCL的高电平读取数据,这就告诉我们,在SCL为高电平的时候SDA线必须是稳定的,在进一步说,在SCL的低电平SDA线变数据,或者说在SCL...
分类:
其他好文 时间:
2014-11-26 11:25:01
阅读次数:
467
目录:一. 说明 二. 驱动程序说明及问题 三. 案例一 四. 案例二一. 说明 mini210开发板上带了at24c08, 看了linux内核自带的at24.c的驱动程序,编译下载到看发板,读写都行;通过增加一些调试信息,对linux i2c驱动其中的编写方法之一有了一定了解,在我...
分类:
系统相关 时间:
2014-09-11 23:48:22
阅读次数:
543
之前在学习I2C驱动,想了想应该先深刻理解下I2C协议。个人觉得理解I2C协议最好的方法就是实践,而最好的实践方式就是用GPIO来模拟I2C协议进行试验,直观深刻。
先看下I2C时序图:
根据时序图,用两个gpio分别模拟sda和scl即可。在这之前自然需要先对gpio进行输入输出的配置。这里只从写数据角度来描述这一过程。读数据同理即知。
先配置gpio,包括sda、scl、供电gp...
分类:
其他好文 时间:
2014-05-07 05:31:46
阅读次数:
303