×

成块擦除EEPROM空间的步骤及超级时序控制器的EEPROM编程方法

消耗积分:0 | 格式:rar | 大小:0.1 MB | 2017-09-12

分享资料个

  欲对EEPROM空间进行块擦除,请执行下列步骤。

  1. 将0x01写入UPDCFG寄存器0x90。这是存储器更新控制

  寄存器。向寄存器0x90写入0x01能使配置寄存器持续更

  新。建议在整个读/写在线测试(ICT)过程中使该位保持

  置位状态。

  2. 擦除或访问0xFA00到0xFBFF地址范围的EEPROM时,首

  先必须中止时序控制引擎。将0x01写入SECTRL寄存器

  0x93以中止时序控制引擎。每次对时序控制引擎的

  EEPROM空间执行读或写处理时,都必须中止该引擎。

  3. 擦除或访问ADM1166/ADM1168/ADM1169上0xF800到

  0xF89F或0xF900到0xF9FF地址范围的EEPROM时,应将

  0x01写入BBCTRL寄存器0x9C。该写操作中止黑盒操作,

  并访问0xF800到0xF89F和0xF900到0xF9FF地址范围的

  EEPROM。

  4. 将0x05写入UPDCFG寄存器0x90。此写操作使能EEPROM

  块擦除功能。

  5. 利用下面列出的程序擦除任何EEPROM空间中的页面。该

  程序分解了单页擦除功能的系统管理总线(SMBus)处理。

  • 发送从机地址。

  • 接收应答消息。

  • 发送EEPROM高位地址(例如0xFA)。

  • 接收应答消息。

  • 发送EEPROM低位地址(例如0x00)。

  • 接收应答消息。

  • 发送停止消息。

  • 发送从机地址。

  • 接收应答消息。

  • 发送页擦除命令代码(0xFE)。

  • 接收应答消息。

  • 发送停止消息。

  AN-0973

  应用笔记

  One Technology Way • P.O. Box 9106 •Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com

  Rev. A | Page 1 of 2

  超级时序控制器的EEPROM擦除和编程

  作者:Enrico Del Mastro、Michael Bradley

  6. 对于要擦除的每一页,将低位地址递增32字节,即

  0x20、0x40、0x60、0x80、0xA0、0xC0和0xE0,然后重

  复第4步中的例行程序。

  7. 擦除所有页面后,重复第4步中的例行程序,根据需要

  将高位地址更改为0xF9、0xFA或0xFB,并按照第6步所

  述设置低位页面地址。

  8. 将0x01写入寄存器0x90。此写操作将禁用EEPROM块擦

  除功能。

  注意:EEPROM 0xF8地址范围(0xF8A0至0xF8FF)被保留,

  若试图访问此范围,将产生不应答(NACK)。

  逐字节写入EEPROM空间

  字节写入

  1. 要逐字节写入EEPROM空间,请执行下列步骤:

  • 发送从机地址。

  • 接收应答消息。

  • 发送EEPROM高位地址(例如0xF8)。

  • 接收应答消息。

  • 发送EEPROM低位地址(例如0x00)。

  • 接收应答消息。

  • 发送数据。

  • 从机应答。

  • 发送停止消息。

  2. 对于全部0xF8 EEPROM空间,重复第1步中的例行程序。

  不过,每写入一个字节的数据后,必须递增低位地址。

  3. 当0xF8地址范围内的全部EEPROM(0xFA00至0xFBFF)均

  已写入时,将高位地址更改为0xF9、0xFA或0xFB,然后

  重复第1步和第2步。

  4. 在0xFA00至0xFBFF范围内进行编程时,应将0x00写入

  SECTRL寄存器0x93,使时序控制引擎进入正常工作模式。

  5. 对ADM1166/ADM1168/ADM1169上0xF800到0xF89F或

  0xF900到0xF9FF地址范围的EEPROM进行编程时,应将

  0x00写入BBCTRL寄存器0x9C,以使能黑盒。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !