25C080的系统结构如图10-8所示。
图10-8 25C080的系统结构框图
此框图内部结构比较复杂,但其控制信号却非常简洁,对于应用而言,掌握其控制信号用法即可,下面一一介绍。
●是外部的写保护引脚,当此引脚输入低电平时,EEPROM处于被保护状态,无法写入新数据。此引脚在EEPROM需要写入数据时必须为高电平。
●是外部的保持信号,当此引脚输入低电平时,EEPROM暂停工作,处于保持状态;当此引脚输入高电平时,芯片才能正常工作。
●是外部的片选信号,当为1时,EEPROM不工作;当为0时,可以进行数据收发。
●SCK、SI、SO分别是SPI接口的时钟信号、数据输入信号和数据输出信号。具体读/写控制就是通过SPI接口收发的指令字节和数据实现的。表10-2给出了25C080芯片的指令集列表。
表10-2 25C080芯片的EEPROM指令集列表
限于篇幅,本书只介绍几个基本指令的使用方法。
1.WREN指令
EEPROM包含一个写使能锁存器,要在EEPROM内部完成任何写操作,必先将此锁存器置位。WREN指令就是完成此功能的。其操作时序图如图10-9所示。当为0时,EEPROM通过SPI接口输入一个字节0x06,输入完毕变回1。
图10-9 写使能指令时序图(www.daowen.com)
WREN指令非常重要,在尝试向EEPROM写数据前,必须通过发出WREN指令将写使能锁存器置1,否则无法完成正确的写操作。
2.WRITE指令
当执行完一个正确的WREN指令时序后,用户即可通过将拉为低电平并发送一条WRITE指令以继续操作,随后发送地址(可能是多个字节)和要写入的数据。其写入时序图如图10-10所示。
图10-10 WRITE指令时序图
图10-10中的写入数据过程是当CS为0时,通过SPI接口依次输入0x02、地址的高8位、地址的低8位和数据字节。输入完毕变回1,然后要延时TWC(典型写周期最大值是5ms)的时间以等待EEPROM内部完成写操作。
当EEPROM容量不同时,写入的地址字节个数也不同。例如,25LC080是8192×8bit的存储器,其地址是13位的,则写入地址用两个字节表示,若芯片的地址小于256,则写入地址用一个字节即可。写序列包括一个自动自定时的擦除周期。在发出写命令前,无需擦除存储器的任何部分。
3.READ指令
将信号拉为低电平可选择该器件。先将8位READ指令码0x03发送到EEPROM,然后发送要读取的地址(可能是多个字节),接下来存储器中指定地址处存储的数据将通过SO引脚在SCK的控制下移出。拉高引脚电平可终止读操作。有关字节读操作的时序信息参考图10-11。
图10-11 READ指令时序图
读完一个字节后,若继续提供时钟脉冲,则可按顺序读出存储器下一地址处存储的数据,即每个数据字节移出后,内部地址指针将自动递增至下一更高地址。当达到最高地址时,地址计数器将从地址00000h开始重新计数,这使得读周期可持续进行。
更多的指令说明和工作细节请读者参考25LC080的数据手册。
数据手册在光盘位置:“\Example\Chapter10\S103\25lc080.pdf”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。