|
AT93C06/46串行存储器的接口使用方法 串行EEPROM是在各种串行器件应用中使用较频繁的器件,本文主要介绍AT93系列和AT89接口的方法,24C系列的已经在本站的相关网页介绍,欢迎光临单片机与电子制作网。 AT93C06/46在执行写指令或全写指令之前,不需要执行察除。其察除指令,全察除指令只是为了保持和NMOS工艺的9346的读及编程的兼容性。为了简化执行过程,所有的编程周期都是自定时的。在DO端输出的“忙”状态指明芯片在执行编程。在出厂时芯片已被察除,即所有储存单元为“1”态。 AT93C56,AT93C66分别是2K位和4K位的EEPROM。它们的引脚和AT93C06/46兼容。不过AT93C56和AT93C66所需的存取地址要比AT93C06/46多2位,即用8位地址。 (1)封装及引脚意义 AT93C06/46的外形封装和引脚如图所示。 AT93CO6/46的引脚意义分别介绍如下。 1 Vcc;电源引脚,+5V。 2 GND;地线 3 CS:片选信号。当CS=1时,选中芯片;当CS=0时,不选中芯片且强迫芯片进入备用方式。一旦编程周期启动,则不管CS的输入信号是否变为0,编程周期都会继续执行直到结束,在编程周期结束之前,如果CS为0,则编程一结束芯片马上进入备用方式。 在全写指令中,和写指令一样,当指令内容及写入数据发出之后,CS产生一个低电平脉冲 在擦除指令中,当指令的起始位,操作码及地址部分送出后,CS产生一个低电平脉冲。 在全擦除指令中,和擦除指令一样,当指令内容即起始,操作码及地址部分送出之后,CS产生一个低电平脉冲。 CS的低电平脉冲宽度不同厂家有所区别。一般为100-500nS以上。 4 SK:串行时钟。串行时钟SK用于在单片机和AT93C06/46之间的数据通信同步。 操作码,地址和写入数据在SK的上升沿同步下输入到AT93C06/46内部。读出数据同样在SK的上升沿同步下从AT93C06/46输出。 串行时钟SK可以在任何位置停在当时的电平状态,也可以在任何时候继续发送。这一特点给单片机在准备操作码,地址和写入数据时以很大的自由度。 当选择信号CS=0时,串行时钟SK状态可以不加考虑;当CS=1,但起始条件尚未被检测时,任何数量的时钟周期都不会改变AT93C06/46的当时状态;在起始条件检测之后,必须提供一定数量的时钟周期,以把所需的操作码,地址和写入数据同步送入AT93C06/46内部,然后执行相关指令。在执行指令时,串行时钟SK和数据输入端DI的状态无关紧要。芯片等待的是新的起始状态。 5DI:数据输入端DI用于在串行时钟SK的同步下输入起始位,操作码地址和写入数据。 6 DO:数据输出端。数据输出端DO用于在读方式中,在串行时钟SK的同步下输出读出的数据。 DO端同样在擦除或写入周期中提供就绪/忙信息。 在擦除指令时,如果串行时钟已把地址AO接收芯片,则其下降沿表明已完成了指令的最后一位的接收,同时,擦除操作开始。在CS产生一个低电平之后,接着从低变高,在DO端输出就绪/忙信号。在执行写指令时,情况相同。 CS信号从高电平下降到低电平,然后有上升到高电平,这一过程才会使DO端输出就绪/忙信号。如果在擦除或写入的整个时间中,CS保持低电平或高电平,则就绪/忙信号不会在DO端出现。 如果在擦除或写入周期之后需要检测就绪/忙信号,则应在DO端接上拉电阻,以便检测处于高电平的就绪信号。 DO和DI可以连接在一起组成DI/DO线,并和CS,SK信号一同组成3线的接口。 在读指令被检测之后,从DO输出的数据的首都有一位为“0”信号,这一点是要小心注意到,切不可把这位为“0”信号作为数据的高位。 如果在擦除或写周期,AT93C06/46输出就绪/忙状态,被选中的芯中的芯片不能使用DI/DO方式的3线接口。 (2)指令操作说明 在AT93C06/46的工作中,有7种不同的指令操作。这7种指令及其含义如表所列。 (3)接口接线的方式示意图 (4)一种典型4线的连接方法和应用实例 在程序框图中,采用了R0、R1、R2共3个暂时寄存器。定义如下:
|