I2C详细介绍
I2C时序
说明:
开始:在SCL的高电平的时候SDA线的从高电平到低电平的跳变定义为开始
停止:在SCL的高电平的时候SDA线的从低电平到高电平的跳变定义为停止
2.有效数据的位置:
说明:在SCL的上升沿读取数据,这就告诉我们,在SCL为高电平的时候SDA线必须是稳定的,在进一步说,在SCL的低电平SDA线变数据,或者说在SCL变成高电平之前,将要发送的数据(至于读,读SCL为高电平时间段上SDA线上的数据)放到SDA线上去
3.应答:
当一个字节(8bits)的数据都传输完成的时候继续进行第9位的发送或者判断,SDA线上的低电平定义为应答ACK信号
应答信号的作用是当你向目标机写数据的时候,写完一个字节后,目标机会返回一个应答信号,告诉你是不是写成功,当有应答信号的时候,表示写成功。
4.写周期的时序:
从这里可以看到,数据的传输是先高位再低位再加一个应答位的顺序
这里的Twr限制的是最大值。
Note: 1. The write cycle time t is the time from a valid stop condition of a write sequence to the end of the internal clear/write cycle
翻译是这个时间表示的是写序列中从一次8位数据的写完到整个写周期的结束的时间,比如,要对芯片写数据。那写地址,到将要写数据之间的延时不能超过这个值,否则,芯片认为这个写周期结束,在写进的数据将是被认为是地址。
5.总线时序:
具体的时间要看具体的芯片,下边表格是AT24C01A,AT24C02,AT24C04,AT24C08AT24C16的时间
需要解释的几个时间:
Tsu.sta:SCL变高电平的时刻到开始发送开始信号的时间
Thd.sta:开始信号发送完到SCL允许变低的时间
Tbuf:一组数据发送完,下一组可以开始的时间
6.其他注意的事项:
总线上应该加上拉电阻,因为I2C协议的芯片的内部是OC门(开漏输出的),外部上拉的电阻阻值4.7K或10K。
电压的不同,对时间有影响,因此要想得到不出错的时序,需要验证不同电压下的通信。
版权声明:本文为博主原创文章,未经博主允许不得转载。
I2C详细介绍的更多相关文章
- kvm详细介绍
KVM详解,太详细太深入了,经典 2016-07-18 19:56:38 分类: 虚拟化 原文地址:KVM详解,太详细太深入了,经典 作者:zzjlzx KVM 介绍(1):简介及安装 http:// ...
- [No0000A7]批处理经常用到的变量及批处理>NUL详细介绍
绝对路径是指调用绝对的程序位置的路径,例如: start C:\Windows\test.exe 相对路径是文件改变路径以后还会按照变量的路径所在位置去调用,例如: start %WINDIR%\te ...
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...
- _MSC_VER详细介绍
_MSC_VER详细介绍 转自:http://www.cnblogs.com/braver/articles/2064817.html _MSC_VER是微软的预编译控制. _MSC_VER可以分解为 ...
- php CGI、Fastcgi、PHP-FPM的详细介绍与之间的关系
以下PHP CGI.Fastcgi.PHP-FPM的一些信息归纳和汇总----->详细介绍与之间的关系 一:CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的 web ...
- RabbitMQ消息队列(一): Detailed Introduction 详细介绍
http://blog.csdn.net/anzhsoft/article/details/19563091 RabbitMQ消息队列(一): Detailed Introduction 详细介绍 ...
- doT.js详细介绍
doT.js详细介绍 doT.js特点是快,小,无依赖其他插件. 官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolati ...
- Linux截屏工具scrot用法详细介绍
Scrot是Linux命令行中使用的截图工具,能够进行全屏.选取等操作,下面小编将针对Scrot截图工具的用法给大家做个详细介绍,通过操作实例来学习Scrot的使用. 在Linux中安装Scrot ...
- Oracle Merge into 详细介绍
Oracle Merge into 详细介绍 /*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查 ...
随机推荐
- 如何快捷安装并配置MySQL 下载破解Navicat for mysql
首先,要先下载MySQL,进官网下载相应的mysql版本,这个不收费,实在不知道的可以参考一下这篇:https://blog.csdn.net/qq_37172528/article/details/ ...
- Hdu 5358 First One (尺取法+枚举)
题目链接: Hdu 5358 First One 题目描述: 数组a有n个元素,S[i,j]定义为a[i]+a[i+1]+.....+a[j],问:这个死东西等于多少? 解题思路: 二分肯定超,这个题 ...
- vijos1846 [NOIP2013] 华容道【最短路】
传送门:https://vijos.org/p/1983 (其实noip的题各个oj都会有的,就不贴其它传送门了) 这道题真的是,怎么说,我都不知道怎么评价了= =.果然数据量小的题怎么暴力都可以过. ...
- java数组实现买彩票(二个一维数组的比较思想)
/** 设计一个程序,模拟从彩球池里随机抽取5个彩球(彩球池里一共有11个彩球,编号为1~11), 要求在控制台打印出这5个被取出来的彩球的编号(注意编号不能重复). 思路: 1.创建一个int类型的 ...
- mac下 netbeans 8.02中文版设置代码自动补齐 + eclipse自动补齐
netbeans自带的自动补齐快捷键是commad+\ 我想要的是在输入的时候,有自动提示,找了半天也没找到怎么搞. 因为我是用的mac系统 后来参考其他的设置,找到了设置的方法,把这个方法记录一下. ...
- 支付宝添加scheme的方法
点击项目名称,点击“Info”选项卡,在“URL Types”选项中,点击“+”,在“URL Schemes”中输入“myAlipay”.“myAlipay”来自于文件“APViewControlle ...
- jmeter(十五)Jmeter默认报告优化
一.本文目的: 之前写了两篇文章搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)和ANT批量执行Jmeter脚本,功能实现上都没有什么问题,但是最后生成的报告有一点小问题,虽然不影响使 ...
- 有关LD_LIBRARY_PATH与ld.so.conf
我之前写过一篇关于LD_LIBRARY_PATH与gcc/g++ -L的关系的文章,于是我自己用CPACK制作了一个Debian安装包,然后我在/home/.bashrc里添加了export LD_L ...
- 用jquery的.val() 给具有style="display:none;" 属性的标签写值的问题。
今天写项目, 碰到奇怪现象, 用jquery的val()函数怎么都无法给标签赋值,而我确定是否赋值是通过浏览器控制台来看的.其实这种方式不准确,因为具有 style="display:non ...
- CCF|最小差值|Java
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = ...