A28C040 4M位E2PROM存储器功能验证系统
2014-08-07张振华
张振华,夏 琳
(中国电子科技集团公司第四十七研究所,沈阳110032)
·大规模集成电路设计、制造与应用·
A28C040 4M位E2PROM存储器功能验证系统
张振华,夏 琳
(中国电子科技集团公司第四十七研究所,沈阳110032)
验证系统分别以A28C040芯片作为程序存储器和数据存储器进行了全功能验证。通过不同命令分别验证读程序存储器、读写数据存储器、解锁和擦除数据存储器等。验证系统控制CPU为AT89S52单片机,硬件主要包含串口通信、液晶显示、地址编码等模块。
验证系统;8051系列;串口通信
1 引 言
A28C040是一款电可擦写的只读存储器芯片,它含有4M位的存储单元,也即512K×8bit的存储量。该芯片可应用于计算机系统中作只读程序存储器或非易失性数据存储器,芯片支持连续最多256字节的写操作,写时间最大10ms,另外还支持页擦除和全片擦除功能,擦除时间最大不超过10ms。根据芯片功能设计的验证系统中,使用了两片A28C040,一片作为程序存储器,另外一片作为数据存储器;CPU芯片选择8051系列Atmel公司的AT89S52作为系统控制器。
2 设计方案
验证系统中采用的8051系列8位单片机最大访问程序空间为64K,被验证的A28C040为512K,为了达到全地址程序访问功能,方案中采用拨码开关编码后作为选择程序执行的段。根据8051的外部程序、数据存储器的读写时序,系统中需要进行低位地址锁存,兼顾两个存储器芯片读写信号的时序,增加组合逻辑芯片控制端。硬件设计上保证能随机读取、擦除或写某些存储器区域。采用RS232串口进行通信,通过串口软件传输命令和监测读取的数据,另外硬件上增加一个显示模块方便观察程序正在执行的状态。系统功能验证框图如图1所示。
图1 系统功能验证框图
3 硬件设计
3.1 电源电路
为了安全和携带方便,采用9V电源适配器给系统供电。考虑交流和直流适配器的通用性,设计上增加整流桥;A28C040的工作电压范围为4.5V-5.5V;硬件设计上采用LM7805稳压到5V给整个系统供电,具体见图2稳压电路。
图2 稳压电路
3.2 通信接口
AT89S52单片机内部带有一个UART的全双工串行通信模块,管脚分配在P3.0-RXD和P3.1-TXD,输出为TTL电平,计算机本身带有DB9串行口,两者之间需要一个电平转换芯片以实现串口通信;转换芯片选择MAX232,详细电路如图3所示。
图3 MAX232串口通信电路
3.3 程序存储器接口电路
8051系统最大支持64K系统程序,A28C040最多可以放置8段程序。为了验证各个区(Sector)没有错误且具有统一性,因此设计八段相同的程序。为了标示执行的程序段,上电后单片机会通过串口传送给PC机,波特率为9600,显示处在哪个Sector运行,显示内容为:“8051 Verification System!—Start from Sector3”;编译完成之后合并成一个二进制文件,烧写到整个A28C040芯片中,让程序分别在不同的sector执行,最后结果应当一致。
上电后从某段开始执行程序,程序段由拨码开关进行选择,经过74HC148编码之后,连接到程序存储器的最高三位地址,详细电路如图4所示。
程序存储器的其他地址和数据与CPU接口设计:设计电路之前,首先要考虑存储器的读写时序如何与51系列的单片机时序进行衔接,A28C040的读写时序如图5所示;8051系列单片机的P0口地址、数据线分时复用,因此低八位地址需要锁存才能产生A28C040的低八位地址,地址被锁存后,P0口作为数据线使用。硬件设计上锁存芯片采用74HC573,不选择74HC373是因为两者功能相同,但是管脚排列不一样,74HC573芯片在电路板布局上要比74HC373方便很多。单片机的P2口单独作为高八位地址与存储器的地址线连接。
图4 段地址编码电路
关键的读控制信号,设计思想如下:虽然作为程序存储器可以当作指令被CPU自动读入控制器内,但CPU还可以通过MOVC、MOVX等指令,读取程序段的指令数据,因此既要关心PSEN信号,也要考虑到RD信号,设计电路见图6。程序存储器由于不能被写操作,因此写信号直接被上拉成高电平。
3.4 数据存储器接口电路
单独作为数据存储器的A28C040与CPU连接相对比较简单,其写时序如下:地址线A15—A0、数据线D7-D0,与程序存储器连接相同,不同的地方在于高三位地址和控制线,具体设计如图7所示。
3.5 显示电路
系统中的显示部分采用LCD16201模块,该模块主要由液晶驱动芯片BM1621和液晶显示单元共同组成。写时序为SPI协议,写操作时序如图8所示,当片选CS为低时,使能芯片然后才可以写入数据,写信号的上升沿打入数据,下图时序中的101代表此次操作为写寄存器,接下来跟着一个6位的串行寄存器地址A5-A0和一个4位的串行数据D0-D3。使用单片机普通I/O口可以模拟该时序来驱动芯片,因此硬件设计上模块与CPU接口也比较简单,与CPU的P1.0-P1.2直接相连。
图5 A28C040读写时序
图6 程序存储器接口电路
图7 数据存储器接口电路
图8 BM1621写操作时序
3.6 单片机复位和振荡电路
单片机复位电路采用上电复位,另外支持手动复位;振荡电路部分由于需要串口通信,因此选择可以产生多种波特率的11.0592M晶体,为了使时钟稳定、抗干扰性强,匹配电容选择30PF;为了调试时方便,EA管脚设计成可用短路块选择片内还是片外模式;具体电路如图9所示。
图9 单片机复位和振荡电路
4 软件设计
4.1 软件设计方案
软件设计上根据芯片的功能,分别设计了以下程序模块:程序存储器读操作、数据存储器读操作、解锁操作、写操作、页擦除和全片擦除。通过串口调试助手发送给验证系统相关命令,然后验证系统解析后,在液晶显示和通信上分别给出响应,详细的命令操作以及含义如下:
(1)读取程序存储器一页数据命令:>CXXX
读取程序存储器XXX页的数据,通过RS232把数据返回到串口调试助手;
如发送命令:>C003,下位机返回程序存储器芯片003页的程序。
(2)读取数据存储器一页数据命令:>PXXX
读取数据存储器的XXX页,通过RS232把一页数据传输到串口调试助手;
如发送命令:>P008,下位机返回以ASCⅡ的格式返回数据存储器第8页的数据。
(3)擦除命令:>EXXX
擦除数据存储器的XXX页,执行完命令后,该页数据全为00
如发送命令:>E008
(4)连写多个数据命令:>WXYAAALL
该命令对于奇偶地址写入不同的数据,
偶地址写入的数据是XX(X为0-F的十六进制数)
奇地址写入的数据是YY(Y为0-F的十六进制数)
AAA为十六进制地址,即表示数据存储器从AAA00地址开始写入数据XXYY
LL为写入数据的长度(00代表写入256个字节)
如发送命令:>W5ACD570表示写入交叉数据55H,AAH
从CD500H地址开始连续写入70H个数据
(5)解除保护命令:>T10
逻辑设计为上电即为保护,因此只有使用该命令解除保护之后,数据存储器才能写入数据
(6)单个字节写命令:>S3A01030
写入3A数据到数据存储器的01030H地址
(7)连写多页命令:>MXXXNAB
从数据存储器的XXX页开始写入数据
终止地址为:(1)N=1-F代表写入页的个数
(2)N=0代表从XXX页以后,写满整个SECTOR
写入的数据为AABB
4.2 程序流程图
验证系统程序使用C语言进行编程,编译软件为KeilUv2;所设计程序的流程图如图10所示。
图10 程序流程图
5 结束语
该验证系统分别从硬件和软件方面综合考虑A28C040的功能时序,并兼顾模拟用户的应用环境,对芯片在解锁、读、写、页擦除和全片擦除等功能进行了全面验证。其中国外样片AT28C040与我所设计的A28C040在该验证系统上,验证结果一致。
[1]沈红卫.单片机应用系统设计实例与分析[M].北京:北京航空航天大学出版社,2003-1.
[2]周立功,夏宇闻.单片机与CPLD综合应用技术[M].北京:北京航空航天大学出版社,2003-8.
[3]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社发行,2003-9.
Verification System of A28C040 4M Bit E2PROM Memory
ZHANG Zhen-hua,XIA Lin
(The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
The A28C040 chip is fully verified as the program memory and data memory in the verification system.The chips,including read program memory,read and write datamemory,unlock and erasedatamemory,etc.are verified by different command.AT89S52 is chosen as the system control unit.The hardware consists of serial port communication,LCD display,address encoding and othermodule.
The system of verification;8051;Serial port communication
10.3969/j.issn.1002-2279.2014.03.001
TN4
:B
:1002-2279(2014)03-0001-04
张振华(1982-),男,山东省阳谷县人,学士,工程师,主研方向:数字集成电路设计。
2013-09-17