I2C读写流程
更新时间:2023-10-28 09:55:01 阅读量: 综合文库 文档下载
I2C读写流程
I2C数据通信是由数据线(SDA)和一根时钟线(SCL)组成 先对I2C初始化:主模式、中断向量IRQ中断、总线速率 数据读写流程:
1、 主设备发出开始信号(Start):
开始信号(Start):时钟线(SCL)为高电平期间,数据线(SDA)由高变低,即为一个开始信号。
2、主设备发出1字节的从设备地址信息,其中最低位为读写控制码(0为写,1为读),高7
位为从机器地址码。
如AT24C256地址: 1 0 1 0 0 A1 A0 R/W
时钟IC:M41T81 1 1 0 1 0 0 0 R/W 3、 从设备发出认可信号:
应答信号(Ack):即认可信号,分为两种情况:(a)、主设备在写从设备时,每正确写完1字节数据,从设备将在下一个时钟周期把数据线(SDA)拉低,即为一个应答信号。(b)、主设备在读从设备时,每正确读完1字节数据,主设备将在下一个时钟周期把数据线(SDA)拉低,即为一个应答信号。注:在读从设备时,主设备在最后一个字节数据接收完毕以后不发出应答信号,而是直接发出结束信号。
4、 主设备开始对从设备进行读写操作。如果是读操作,则每读取1字节,主设备会发送一个应答
信号(Ack)给从设备,如果是写操作,则每写入1字节,从设备会发送一个应答信号(Ack)给主设备。
5、 主设备发出结束信号(Stop)
时钟线(SCL)为高电平期间,数据线(SDA)由低变高,即为一个结束信号。也就是说,I2C总线在通信过程中,所有的数据读写操作都必须在时钟线(SCL)为低电平进行,而在钟线(SCL)为高电平时必须保持数据线(SDA)信号的稳定,任何发生在钟线(SCL)为高电平期间数据线(SDA)上的电平变化都被视为是开始或结束信号。
附件:
挂在I2C总线上的EEPROM设备
EEPROM称为电擦除式只读存储器,一般容量很小、用于保存产品的固化参数,此次跟我狭路相逢的是一款来自ATMEL公司的AT24C512B,总容量为64K,支持以页的方式写入数据,页大小128字节,以下是这款设备的相关信息和操作方法(其他型号类同):
硬件连接。在AT24C512B硬件连接中,跟软件编程相关的引脚有三个,除了连接在I2C总线上的时钟线(SCL)、数据线(SDA)引脚之外,还有一个写保护引脚(WP)连接在GPIO上。 寻址方式。EEPROM可以让你精确地访问到每一字节,AT24C512B采用16位的寻址方式共计可以访问65536字节的地址空间。
读写时序。AT24C512B支持的写操作有单字节写入、按页写入,支持的读操作有随机单字节或连接读取、当前位置单字节或连续读取,EEPROM一般在电路中做从设备,我此次面对的也是,以下是主设备对EEPROM进行各种操作的操作方法:
单字节写入:START -> 发送从设备地址(写控制码) -> 处理Ack -> 发送字节地址 -> 处理Ack [-> 发送1字节数据 -> 处理Ack] -> STOP。
按页写入:将单字节写入的[ ]中的操作重复进行128次即可实现。
随机单字节读取:START -> 发送从设备地址(写控制码) -> 处理Ack -> 发送字节地址 -> 处理Ack -> START -> 发送器件地址(读控制码) -> 处理Ack -> 接收1字节数据 -> STOP。 随机连续读取:在随机单字节读取操作的STOP信号发送之前,加入若干个 [-> 发送Ack -> 接收1字节数据] 即可实现。
当前位置单字节读取:START -> 发送从设备地址(读控制码) -> 处理Ack -> 发送字节地址 -> 处理Ack -> 接收1字节数据 -> STOP。当前指的是之前进行过读取操作但是没有发送STOP信号,EEPROM芯片内部指针所在的位置即为当前位置。
当前位置连续读取:在当前位置单节读取操作的STOP信号发送之前,加入若干个 [-> 发送Ack -> 接收1字节数据] 即可实现。
关于EEPROM的按页写入。为提高数据写入效率,有的EEPROM设备用一个内部的RAM来提供按页写入的功能,进行写操作的时候,先记录下要写入的首地址,然后将接收到的数据都缓存在RAM中,在接收到STOP信号时再把缓存数据一次性保存到先前记录的地址处。 有两个需要注意的问题:(a)、如果写入的数据超过一页的长度,将发生回卷,即从RAM的0地址处进行数据覆盖。(b)、如果页大小为128字节,即0-127字节为第一页、128-255为第二页,即页的边界位置是绝对的,而不是从写入数据的起始位置开始计算。
在进行数据读取操作没有页的问题,可以从任意位置开始读取任意大小的数据,超过EEPROM总容量时发生回卷。
正在阅读:
I2C读写流程10-28
英文版中美饮食文化差异06-11
三明市尤溪县小学英语六年级上册期中考试模拟试卷(1)07-22
国外电信业的改革透析03-08
山地车组装全过程图解 doc10-04
应用写作试题库09-28
2020年武汉市中考语文试卷及答案05-02
如何提升企业安全管理绩效09-06
双沟中学“课堂教学”整改方案03-08
民办非企业单位法人章程08-22
- 《江苏省环境水质(地表水)自动监测预警系统运行管理办法(试行)》
- 安乐死合法化辩论赛立论稿(浙大新生赛)
- 公共科目模拟试卷公务员考试资料
- 我国固定资产投资FAI对GDP的影响
- 大学生创新创业训练计划项目申请书大创项目申报表
- 完美版—单片机控制步进电机
- 2013资阳中考化学试题
- 18.两位数减一位数退位(397道)
- 工程量计算规则
- 二年级操行评语(下)
- 第3章 流程控制语句
- 浅基桥墩加固技术
- 课题研究的主要方法
- 5100软件说明书 - 图文
- 车间技术员年终总结
- 关于印发《中铁建工集团开展项目管理实验室活动方案》的通知
- 经典诵读结题报告
- 地下水动力学习题答案
- 2018年全国各地高考数学模拟试题平面解析几何试题汇编(含答案解
- 街道办事处主任2018年度述职述廉报告
- 读写
- 流程
- I2C
- 绝对经典二元一次方程组知识点整理、典型例题练习总结
- 土木工程专业-五层框架式商厦-毕业设计 - 图文
- 文言文翻译练习
- 护士资格考试真题第十六章神经系统疾病病人护理(三)
- 野草
- 五年级科学下册第四单元知识点归纳(教科版)
- 狼和小羊
- 关于规范党务政务公开栏建设工作的通知15号
- 中英学前教育比较
- 课程与教学论 作业1
- (目录)2017-2021年养老产业商业模式深度研究报告-市场研究分析报告-市场研究分析报告
- 工程类试卷现金流量与资金时间价值练习试卷1及答案与解析
- 论文答辩总结
- 幼儿园老师读书笔记(共7篇)
- 广告十大良好的表现方法案例赏析
- (8套)最新人教版新课标一年级数学上册期末试卷 - 图文
- BEC中级第二部分归纳
- 国际法硕士研究生课程教学大纲
- 车间布置
- 转子系统临界转速Matlab计算程序