文章目录

  • AT24C256 地址
  • AT24C256页
  • AT24C256写操作
  • AT24C02读操作
  • 注意

AT24C256 地址


前四位(1010)是固定的,A2, A1, A0 与硬件连接有关系,外部输入电压为高时是1,外部电压输入为低是0。

本设计中A2, A1, A0都是接地,所以我的设备地址是1010000X,也就是10100000 或10100001。

最后一位R/W是读写位,读操作时为0,写操作时为1。

对于linux IIC子系统,读写位驱动会自动添加,实际设备地址位高七位 1010000B 也就是0x50。

AT24C256页


这里需要特别注意EEPROM的页操作,在24C256中,存储空间是 64bytr * 512page = 32768 byte, 其中它被分为512页,每页 64 byte。

在进行页操作的时候,word address的低6位用来表示页内的地址其它所有高位表示页地址

比如word address =0 0000 0001 000001B,表示第1页的第一个地址。现在如果往0 0000 0001 000001B的存储地址写入64个数值:1,2,3,… ,64,当写到数值63时,第一页已经写满,那么64会被写到第一页的0地址位置。这时会把第一页0位置的信息被覆盖。

关于IIC EEPROM 页写问题

无论从那个地址连续写,不能超过(跨过)一整页。

AT24CXX 系列的 EEPROM 为了提高写效率,提供了页写功能,内部有个一页大小的写缓冲RAM,地址范围当然就是从00到一页大小,发生写操作时,开始送入的地址对应的页被选中,并将其内容映像到缓冲RAM,数据从低端地址对应的缓冲RAM地址开始修改,超过这个地址范围就回到00,写完后,就会把开始确定的 EEPROM 页擦除,再把一整页RAM数据写入。所有写数据都发生在开始写地址时确定的页上。

如页容量为128,一页都是从00开始按128字节分成一个个的页,0页就是0~ 7F,1页就是80~ FF,类推,边界就是128字节的整数倍地址。页RAM的地址范围为7位00~ 7F,写入时高端地址就是页号。发生写操作,开始送入的地址对应的页被锁存,后续不论写多少,都在这个页中,只是一个页内的地址进行加一,超过就归零开始。从F0开始写32个字节,那么开始送入的地址为F0,就会锁定在1号页(第2个页)上,底端7位页内部地址开始从70H开始写,到达7F时回到00再到10H,也就是写在了F0FF,808F。也就是,从01开始写也只能到7F,再往80写就跑到00上去了,这就是写操作的翻卷,datasheet上都有说明。就是从边界前写两个字节也要分两次写。

页是绝对的,按整页大小排列,不是从开始写入的地址开始算。

读没有页的问题,可以从任意地址开始读取任意大小数据,只是超过整个存储器容量时地址才回卷。但一次性访问的数据长度也不要太大。
所以分页的存储器要做好存储器管理,尽量同时读写的数据放在一个页上。

AT24C256写操作

写操作分为一个字节写和分页写,时序如下图。

一个字节写时序:

发送开始信号
->发送设备地址
->等待ACK
->发送需要写入的地址
->等待ACK
->发送需要写入的数值
->等待ACK
->发送停止信号。

分页写时序与写一个字节基本相同,只是在发送第一个需要写入的数据之后不发送停止信号,继续发送数据,直到数据发送完之后再发停止信号。

AT24C02读操作

读操作分为:从当前地址读;随机地址读;连续地址读;

解析:

当前地址读:24c256内部的data word address 会保存上次读或是写的存储地址,当执行当前地址读时,读取的是data word address counter + 1地址上的指。这里需要主要,在页尾时会出现地址翻转,实际会读取到该页的第一个字节数据。与上面提到的也写操作中的一样。data word address 中保存的值掉电就会丢失。

随机地址读取:注意上图中的Dummy Write。随机读实际上是通过写入一个地址改变eeprom里面data word address 的值,然后再进行当前地址读。

连续读:

连续读由当前地址读和随机地址读启动,只要给eeprom 一个应答信号,他的data word address 就会增加,主控器就可以继续读数据,直到data word address 增加到一个页的末尾后,又回到该页的起始位置地址。当接收到IIC的停止信号的时候结束传输。

注意

最后eeprom 还有一个WP 控制引脚。该引脚为低电平的时候,可以正常的读写数据。当该引脚为高电平的时候。eeprom进入写保护模式。这时数据是写不进去的。

Linux AT24C256芯片 数据手册解读相关推荐

  1. SPI Flash芯片W25Q32英文版数据手册解读(三)---------程序编写,电路应用

    一.序言 序言对这篇文章进行一个总体的说明: 1.这部分是根据手册写程序,因此采用手册截图+程序截图的形式,对图片不进行标号,而且对重点部分进行颜色标注. 2.考虑到很多读者(包括我),使用手机看文章 ...

  2. CH438Q芯片详细解读

    CH438Q芯片详细解读 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 CH438Q芯片详细解读 文章目录 前言 一.CH438Q简介 1,简介 2,特点 3,引脚 ...

  3. RK3399_PCIe芯片手册解读

    RK3399_PCIe芯片手册解读 文章目录 RK3399_PCIe芯片手册解读 参考资料: 一. AXI总线 1.1 连接方式 1.2 五个通道 1.3 信号线 1.4 PCIe控制器 二. 地址空 ...

  4. 掌握这几个关键点,玩转IC芯片数据手册和检测攻略

    掌握这几个关键点,玩转IC芯片数据手册和检测攻略 小小的一颗芯片,内部却是复杂的电路网络.作为应用各种电子器件的工程师,完全清楚芯片内部的运行有点困难,所以在选型时,需要借助芯片原厂提供的数据手册,参 ...

  5. 大神教芯片数据手册怎么读

    题目:大神教芯片数据手册怎么读 [摘要]数据手册怎么看? 先看芯片特性.应用场合.内部框图,有一个宏观的了解. 重点关注芯片参数,同时参考手册给出的参数图. 选定器件后,研究管脚定义.推荐的PCB l ...

  6. 蓝桥杯单片机组——榨干选手资源包(芯片数据手册)

    文章目录 前言 DS18B20 原理图 1-Wire协议简介 赛场技巧 DS1302 原理图 SPI协议简介 赛场技巧 AT24C02 原理图 IIC协议简介 赛场技巧 PCF8591 原理图 赛场技 ...

  7. linux的rwx权限解读

    linux的rwx权限解读: 我们输入指令 : ls -l 会看到类似我这样的语句 d rwx -xr -x- 我们可以这样解读: 首字母:文件类型 d: d开头的是文件夹 -:文件 l:连接(快捷方 ...

  8. SPI Flash芯片W25Q32英文版数据手册解读(一)---------引脚功能,工作模式

    W25Q32芯片是一个可以通过SPI(串行外围设备接口)操作的flash存储器,这篇文章备忘和总结一下英文版数据手册的一些解读.有关时序及具体用STC单片机编写程序的内容等下一篇文章. 一.芯片引脚功 ...

  9. SPI Flash芯片W25Q32英文版数据手册解读(二)---------存储器知识,寄存器

    接着上一篇文章,由于W25Q32芯片是一个存储器芯片,先对这个芯片有关存储器的一些概念进行解读. 一.存储器相关知识 1.存储器的三个单位: 存储器三个等级:页(Page),扇区(sector),块( ...

最新文章

  1. Tomcat单向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端安全通信
  2. CSRF(Cross-site request forgery)跨站请求伪造
  3. 关闭PdfReader右侧工具栏的方法
  4. powergrep linux版本,PowerShell实现简单的grep功能
  5. js删除数组中的某一个元素
  6. WebPart中的ReplaceTokens 方法
  7. PAT_B_1086_Java(15分)
  8. redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...
  9. 光端机的分类有哪些?
  10. oracle11区分大小写,修改Oracle11g用户密码不区分大小写
  11. 【FFMPEG】【ARM-Linux开发】 ffmpeg 静态库使用,undefined reference错误
  12. WPF中ToolTip的自定义
  13. 计算机专硕报考专业代码,什么是报考专业代码 考研专业代码到底是什么意思...
  14. weka mac安装
  15. matlab陷波带阻滤波器,matlab陷波滤波器 陷波滤波器器应放在系统的闭环吗
  16. 大数据工程应用 数据分析_大数据工程的方式
  17. 三日月くるみ - 魔法みたいな恋したい
  18. 搭建大型分布式服务(二十五)如何将应用部署到TKE容器集群?
  19. 小白成长记第2期:简单易操的YouTube美金项目,get!
  20. Linux内核分析2:一个简单的时间片轮转多道程序内核代码分析

热门文章

  1. (啊哈!算法)(第二章)链表
  2. modelzoo,WDSR模型训练脚本问题
  3. 数据库作业:SQL练习1 - CREATE / DROP / ALTER
  4. 数据库-cmd下安装mysql服务
  5. Windows编程基础 - 概述
  6. 关于usb3vision开发
  7. 百度SEO核心优化之关键词相关匹配
  8. Go 报错 undefined: strings.Builder解决
  9. 安川机器人程序还原_安川机器人使用说明书.pdf
  10. PC安装Android TV x86 9.0 常见问题汇总