AT93C56,AT93C66,AT93C46 系列为16位单片机以其适于高速控制场合及功能多等优点已在工业控制领域中占领了一定的市场。由于EEPROM存储器能在不脱离系统的情况下修改其存储单元中的内容,故在16位单片机中的应用愈来愈广泛。结合16位机的特点,详细介绍AT93C56,AT93C66,AT93C46 系列EEPROM存储器及其使用方法。
AT93C56,AT93C66,AT93C46 是ATMEL 爱特梅尔公司推出的低功耗、低电压电可擦除的可编程只读存储器。它采用CMOS技术和Fairchild Semiconductor 公司的MI—CROWIRE工业标准3线串行接口,具有1KB/2KB/4KB的容量,并可通过ORG管脚配置成128×8/256×8/512×8或64×16/128×16/256×16等结构。该系列存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;采用8脚PDIP/SOIC封装和14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM存储器相比,AT93C56,AT93C66,AT93C46 可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。
The AT93C56,AT93C66,AT93C46 provides 1024/2048/4096 bits of serial electrically erasable programmable
read-only memory (EEPROM), organized as 64/128/256 words of 16 bits
each (when the ORG pin is connected to VCC), and 128/256/512 words of 8 bits each
(when the ORG pin is tied to ground). The device is optimized for use in many industrial
and commercial applications where low-power and low-voltage operations are
essential. The AT93C56,AT93C66,AT93C46 is available in space-saving 8-lead PDIP, 8-lead
JEDEC SOIC, 8-lead EIAJ SOIC, 8-lead MAP, 8-lead TSSOP, and 8-lead dBGA2
packages. The AT93C56,AT93C66,AT93C46 is enabled through the Chip Select pin (CS) and accessed via a
three-wire serial interface consisting of Data Input (DI), Data Output (DO), and Shift
Clock (SK). Upon receiving a Read instruction at DI, the address is decoded and the
data is clocked out serially on the DO pin. The Write cycle is completely self-timed,
and no separate Erase cycle is required before Write. The Write cycle is only enabled
when the part is in the Erase/Write Enable state. When CS is brought high following
the initiation of a Write cycle, the DO pin outputs the Ready/Busy status of the part.
The AT93C56,AT93C66,AT93C46 is available in 2.7V to 5.5V and 1.8V to 5.5V versions. AT93C46是1024位的EEPROM 存储器。内部存储方式为64*16位,也就是以16位为一个字来存储。也就是说AT93C46内部有64个16位的数据字。
封装主要是8引脚的DIP或SOIC;由于采用串行接口,所以,指令、地址及写入数据在数据输入端DI输入;读出的数据及芯片状态在数据输出端DO输出;所有的数据输入输出都是以串行时钟SK同步,并且在SK的上升沿时起作用的。
AT93C56有7种操作指令,它们分别是:读指令,察/写启动指令,察/写屏蔽指令,写指令,察除指令,全写指令,全察除指令。
AT93C46 在执行写指令或全写指令之前,不需要执行察除。其察除指令,全察除指令只是为了保持和NMOS工艺的 AT93C46 的读及编程的兼容性。为了简化执行过程,所有的编程周期都是自定时的。在DO端输出的“忙”状态指明芯片在执行编程。在出厂时芯片已被察除,即所有储存单元为“1”态。
AT93C56,AT93C66 分别是2K位和4K位的 EEPROM 存储器。它们的引脚和 AT93C56 兼容。不过AT93C56和AT93C66所需的存取地址要比 AT93C46 多2位,即用8位地址。 下面简单介绍ATMEL 爱特梅尔 公司生产的EEPROM 存储器 AT93C46 的使用方法。AT93C56,AT93C66与AT93C46 使用类似。 AT93C46 的引脚分布如下图所示。CS 为片选信号,高电平有效,在连续的二条指令之间,CS 必须保持至少250μS 的低电平;SK 为时钟信号,所有操作码、址码、数据位均在SK 信号的上升沿输入或输出,SK 信号的最高频率为1MHz;DI 为串行数据输入端;D0 为串行数据输出端,并在擦/写周期提供忙/闲状态;ORG 为低电平时,输出8 位数据,为高电平时,输出16 位数据;GND 接地;Vcc 接5V 电源。
在两条相临指令执行中,CS必须最少产生500NS的低电平,以指明前条指令的结束。在CS 处于0时,内部控制逻辑处于复位状态。 AT93C46在读指令中,当读出指令完全输出之后,CS会产生不少于500NS的低电平。 AT93C46在擦写启动指令中,当AT93C46指令的起始位、操作码、及地址部分送出后,CS会产生一个低电平脉冲。 AT93C46在擦写屏蔽指令中,当指令的起始位、操作码、及地址部分送出后,CS会产生一个低电平脉冲。 AT93C46在写指令中,当指令内容及写入数据发出后,CS产生一个低电平脉冲。 AT93C46在全写指令中,和写指令一样,当指令内容及写入数据发出之后,CS产生一个低电平脉冲 AT93C46在擦除指令中,当指令的起始位,操作码及地址部分送出后,CS产生一个低电平脉冲。 AT93C46在全擦除指令中,和擦除指令一样,当指令内容即起始,操作码及地址部分送出之后,CS产生一个低电平脉冲。 CS的低电平脉冲宽度不同厂家有所区别。一般为100-500nS以上。
操作码,地址和写入数据在SK的上升沿同步下输入到AT93C46内部。读出数据同样在SK的上升沿同步下从AT93C46输出。 串行时钟SK可以在任何位置停在当时的电平状态,也可以在任何时候继续发送。这一特点给单片机在准备操作码,地址和写入数据时以很大的自由度。 当选择信号CS=0时,串行时钟SK状态可以不加考虑;当CS=1,但起始条件尚未被检测时,任何数量的时钟周期都不会改变AT93C46的当时状态;在起始条件检测之后,必须提供一定数量的时钟周期,以把所需的操作码,地址和写入数据同步送入AT93C46内部,然后执行相关指令。在执行指令时,串行时钟SK和数据输入端DI的状态无关紧要。芯片等待的是新的起始状态。
DO端同样在擦除或写入周期中提供就绪/忙信息。 在擦除指令时,如果串行时钟已把地址AO接收芯片,则其下降沿表明已完成了指令的最后一位的接收,同时,擦除操作开始。在CS产生一个低电平之后,接着从低变高,在DO端输出就绪/忙信号。在执行写指令时,情况相同。 CS信号从高电平下降到低电平,然后有上升到高电平,这一过程才会使DO端输出就绪/忙信号。如果在擦除或写入的整个时间中,CS保持低电平或高电平,则就绪/忙信号不会在DO端出现。 如果在擦除或写入周期之后需要检测就绪/忙信号,则应在DO端接上拉电阻,以便检测处于高电平的就绪信号。 DO和DI可以连接在一起组成DI/DO线,并和CS,SK信号一同组成3线的接口。 在读指令被检测之后,从DO输出的数据的首都有一位为“0”信号,这一点是要小心注意到,切不可把这位为“0”信号作为数据的高位。 如果在擦除或写周期,AT93C46输出就绪/忙状态,被选中的芯中的芯片不能使用DI/DO方式的3线接口。
指 令 | 起始位 | 操作码 | 地址位 | 数据位 | 备 注 |
*8 *16 | 空 | ||||
READ | 1 | 10 | AnAo AnAo | 空 | 从指定的单元读数 |
EWEN | 1 | 00 | 11xxxxx 11xxxx | 空 | 允许写指令 |
ERASE | 1 | 11 | An~Ao An-1~Ao | 空 | 擦除指定单元 |
WRITE | 1 | 01 | An~Ao An-1~Ao | D7~D0 D15~D0 | 写入存储单元 |
ERAL | 1 | 00 | 10xxxxx 10xxxx | 空 | 擦除存储器所有单元 |
WRAL | 1 | 00 | 01xxxx 01xxxx | D7~D0 D15~D0 | 写入存储器所有单元 |
EWDS | 1 | 00 | 00xxxxx 00xxxx | 空 | 禁止写指令 |
AT93C56,AT93C66,AT93C46 的指令如表所列,各指令的具体含义如下:
(1)AT93C56,AT93C66,AT93C46 擦/写允许指令(EWEN)
由于在上电复位后AT93C56,AT93C66,AT93C46 首先将处于擦/写不允许状态。故该指令必须在所有编程模式前执行,一旦该指令执行后,只要外部没有断电就可以对芯片进行编程。 (2)AT93C56,AT93C66,AT93C46 地址擦指令(ERASE)
该指令用于强迫指定地址中所有数据位都为“1”。一旦信息在DI端上被译码,就需使CS信号保持至少250ns的低电平,然后将CS置为高电平,这时,DO端就会指示“忙”标志。DO为“0”,表示编程正在进行;DO为“1”,表示该指定地址的寄存器单元已擦完,可以执行下一条指令。 (3)AT93C56,AT93C66,AT93C46 地址写指令(WRITE)
写指令时,先写地址,然后将16位的或8位数据写入到指定地址中。当DI端输出最后一个数据位后,在CLK时钟的下一个上升沿以前,CS必须为低,且需至少保持250ns,然后将CS置为高电平。需要说明的是:写周期时,每写一个字节需耗时4ms。 (4)AT93C56,AT93C66,AT93C46 地址读指令(READ)
读指令用于从指定的单元中把数据从高位到低位输出至DO端,但逻辑“0”位先于数据位输出。读指令在CLK的上升沿触发,且需经过一段时间方可稳定。为防止出错,建议在读指令结束后,再输出2-3个CLK脉冲。 (5)AT93C56,AT93C66,AT93C46 芯片擦指令(ERAL)
该指令可将整个存贮器阵列置为1,其它功能与地址擦指令相同。 (6)AT93C56,AT93C66,AT93C46 芯片写指令(WRAL)
该指令可将命令中指定的数据写入整个存贮器阵列,其它功能与地址写指令相同。该指令周期所花费时间的最大值为30ms。 (7)AT93C56,AT93C66,AT93C46 擦/写禁止指令(EWDS)
使用该指令可对写入的数据进行保护,操作步骤与擦/写允许指令相同。
订购信息: