AT93C46/56/55串行EEPROM及单片机程序

2007-03-09 19:03:27来源: 互联网
摘要:AT93C46/56/66是Atmel公司生产的低功耗、低电压、电可擦除、可编程只读存储器,采用CMOS工艺技术制造并带有3线串行接口,其容量分别为1kB/4kB,可重复写100万次,数据可保存100年以上。文中介绍了该存储器的引脚功能和指令时序,给出了AT93C46/56/66和单片机的接口应用电路和软件程序。 关键词:EEPROM 存储器 接口应用 程序 AT93C46/56/66 16位单片机以其适于高速控制场合及功能多等优点已在工业控制领域中占领了一定的市场。由于EEPROM能在不脱离系统的情况下修改其存储单元中的内容,故在16位单片机中的应用愈来愈广泛。本文结合16位机的特点,详细介绍AT93系列EEPROM及其使用方法。 AT93C46/56/66是ATMEL公司推出的低功耗、低电压电可擦除的可编程只读存储器。它采用CMOS技术和Fairchild Semiconductor 公司的Mi-croWire工业标准3线串行接口,具有1kB/2kB/4kB的容量,并可通过ORG管脚配置成128%26;#215;8/256%26;#215;8/512%26;#215;8或64%26;#215;16/128%26;#215;16/256%26;#215;16等结构。该系列存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;采用8脚PDIP/SOIC封装和14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM相比,AT93C46/56/66可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。 1 引脚功能 AT93C46/56/66存储器芯片的引脚排列如图1所示。各引脚的功能如下: CS:片选信号。高电平有效,低电平时进入等待模式。在连续的指令之间,CS信号必须持续至少250ns的低电平,才能保证芯片正常工作。 CLK:串行时钟信号。在CLK的上升沿,操作码、地址和数据位进入器件或从器件输出。在发送序列时,CLK最好不停止,以防止读/写数据的错误。 DI:串行数据输入。可在CLK的同步下输入开始位、操作码、地址位和数据位。 DO:串行数据输出。在CLK同步下读周期时,用于输出数据;而在地址擦/写周期或芯片擦/写周期时,该端用于提供忙/闲信息。 VSS:接地。 VCC:接+5V电源。 ORG:存贮器构造配置端。该端接VCC或悬空时,输出为16位;接GND时,输出为8位。 NC:空脚,不连接。 表1 AT93C46/56/66系统指令 指 令 起始位 操作码 地址位 数据位 备 注 *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 空 禁止写指令 表中,93C46 n=6;93C56n=7; 93C66n=8 2 指令及时序 AT93C46/56/66的指令如表1所列,各指令的具体含义如下: (1)擦/写允许指令(EWEN) 由于在上电复位后AT93C46/56/66首先将处于擦/写不允许状态。故该指令必须在所有编程模式前执行,一旦该指令执行后,只要外部没有断电就可以对芯片进行编程。 (2)地址擦指令(ERASE) 该指令用于强迫指定地址中所有数据位都为“1”。一旦信息在DI端上被译码,就需使CS信号保持至少250ns的低电平,然后将CS置为高电平,这时,DO端就会指示“忙”标志。DO为“0”,表示编程正在进行;DO为“1”,表示该指定地址的寄存器单元已擦完,可以执行下一条指令。 (3)地址写指令(WRITE) 写指令时,先写地址,然后将16位的或8位数据写入到指定地址中。当DI端输出最后一个数据位后,在CLK时钟的下一个上升沿以前,CS必须为低,且需至少保持250ns,然后将CS置为高电平。需要说明的是:写周期时,每写一个字节需耗时4ms。 (4)地址读指令(READ) 读指令用于从指定的单元中把数据从高位到低位输出至DO端,但逻辑“0”位先于数据位输出。读指令在CLK的上升沿触发,且需经过一段时间方可稳定。为防止出错,建议在读指令结束后,再输出2~3个CLK脉冲。 (5)芯片擦指令(ERAL) 该指令可将整个存贮器阵列置为1,其它功能与地址擦指令相同。 (6)芯片写指令WRAL 该指令可将命令中指定的数据写入整个存贮器阵列,其它功能与地址写指令相同。该指令周期所花费时间的最大值为30ms。 (7)擦/写禁止指令(EWDS) 使用该指令可对写入的数据进行保护,操作步骤与擦/写允许指令相同。 3 AT93C56的应用 3.1 AT93C56与80C196KB的连接 串行EEPROM芯片AT93C56同80C196单片机接口的硬件电路连接方法如图2所示。图中,由于MCS-96系列16位单片机的P1口为准双向口,因此,为了防止数据错位,在向其P1口写数据时,必须先将P1口置“1”。 3.2 软件编程 该读/写程序采用PL/M语言编写,由于PL/M语言介于高级语言与汇编语言之间,故其对数据、地址位的处理比较繁琐。其中ADDR为指定的地址单元,DATA为写入的数据,在写数据、地址时均从高位开始。本程序已在仿真器上调试通过。且已被应用于电量测试仪中(如接触电阻测试仪)。 DECLARE SETCS LITERALLY ‘CALL BITSET. IO-PORT2,0′; DECLARE CLRCS LITERALLY ‘CALL BITCLR. IOPORT2,0′; DECLARE SETCLK LITERALLY ‘CALL BITSET. IOPORT2,5′; DECLARE CLRCLK LITERALLY ‘CALL BITCLR. IOPORT2,5′; DECLARE SETDI LITERALLY ‘CALL BITSET. IO-PORT1,5′; DECLARE CLRDI LITERALLY ‘CALL BITCLR. IOPORT1,5′; EWEN:PROCEDURE PUBLIC; DECLARE I BYTE; CLRCS; CLRDI; CLRCLK; SETCS; SETDI; SETCLK; DO I=1 TO 2; CLRCLK; CLRDI; SETCLK; END; DO I=1 TO 2; CLRCLK; SETDI; SETCLK; END; DO I = 0 TO 6; CLRCLK; SETDI; SETCLK; END; CLRCLK; CLRCS; SETCS; SETCLK; CLRCLK; END EWEN; READ:PROCEDURE(ADDR) PUBLIC; DECLARE (ADDR,I,COUNT) BYTE; CLRCS; CLRDI; CLRCLK; SETCS; DO I= 1 TO 2; CLRCLK; SETDI; SETCLK; END; DO I =1 TO 2; CLRCLK; CLRDI; SETCLK; DO COUNT=1 TO 7; BITOUT(COUNT)=SHR(BITOUT(COUNT),1); END; CLRCS; CLRDI; CLRCLK; CALL TIME(100); SETCS; CLRC; END READ; WRITE: PROCEDURE(ADDR,DATA) PUBLIC; DECLARE (ADDR,DATA) BYTE; CLRCS; CLRDI; CLRCLK; SETCS; SETDI; SETCLK; CLRDI; CLRCLK; SETCLK; SETDI; CLRCLK; SETCLK; END; DO I =-1 TO 8; X=ROL(ADDR,1); ADDR=X; CLRCLK; IF ((X AND 01H)=01H)THEN SETDI; ELSE CLRDI; SETCLK; END; DO I =1 TO 7; CLRCLK; SETCLK; END; DO I =1 TO 8 CALL BITSET(.IOPORT1,7); COUNT=COUNT-1; CLRCLK; SETCLK; BITOUT(COUNT)=IOPORT1; END; CLRCLK; SETCLK; J=0; AA: DO I= 1 TO 8; J=J+1; X=ROL(ADDR,1; ADDR=X; CLRCLK; IF((X AND 01H)=01H) THEN SETDI ELSE CLRDI; SETCLK; END; IF J<>16 THEN DO; ADDR =DATA; GOTO AA; END; CLRCS;SETCS; CALL TIME(100); END;
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/memory/200703/9742.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved