APP下载

基于SST39VF640x闪存的擦写器设计

2017-03-30赵德权

微处理机 2017年1期
关键词:寄存器字节时序

赵德权,苏 琳,李 翠

(中国电子科技集团公司第四十七研究所,沈阳110032)

基于SST39VF640x闪存的擦写器设计

赵德权,苏 琳,李 翠

(中国电子科技集团公司第四十七研究所,沈阳110032)

为了实现对SST39VF640x闪存4M空间的字编程,需要搭建一个16位的数据通道,使得C51微处理器每次对外存的访问,都能以双字节的方式进行,同时,须补齐系统指令寻址能力的短板,以满足对4M地址的I/O操作需求。实施中,充分利用C51外总线固有时序,并引入一定数量的寄存器,预设或锁存地址和数据,在读/写周期内,借助/RD、/WR和ALE的协调,完成总线信息的归并及拆分。通过总线接口的再构造,使本质上属于字节操作的微系统具有了字传输能力,并对擦/写流程进行简化,提出了具体实施方案,大幅缩短了试验周期,加快了试验进程。

闪存;字编程;总线接口;归并;拆分;简化流程

1 引言

近年来,非易失性存储器的发展非常迅速,应用极为广泛。国内厂家也先后加入进来,开发设计了一些产品,与其相关的可靠性研究日益受到重视,耐擦写能力试验便是其中一部分。为了预测和验证存储器这一重要指标,从一些摸底测试到最终产品检验,一般要进行成千上万次的试验,对这种循环工作方式,传统意义上的编程器使用起来人工干预过多,效率极低。因此,制造一个专用仪器,能够小批量的连续进行操作,已非常必要。

2 总线接口设计

(1)访问外存指令和时序

C51微处理器具有专门的外部存储器访问指令,MOVX A,@DPTR为读指令形式,MOVX@DPTR,A为写指令形式。DPTR携带16位地址,寄存器A存放输入输出的数据。

系统提供了完善的总线时序,低位地址A7-A0和数据D7-D0分时复用端口0,高位地址A15-A8由端口2输出。在写周期内,数据刚好在/WR信号有效之前出现在端口0上,并一直保持在那里,直到/WR无效为止。在读周期内,读入端口0的字节,应该在读选通信号/RD无效之前读完[1]。

(2)总线扩展

擦写对象SST39VF640x闪存为4M×16的物理结构(如图4所示),地址线22条(A21-A0),数据线16条(DQ15-DQ0),片选及读写控制线3条(CE#,OE#,WE#),硬件复位RST#和写保护WP#。若要以外存方式实现与CPU的对接,需要进行总线扩展,具体见图1总线逻辑结构图[2-3]。

引入U4寄存器,在T1(P3.5)选通信号作用下,将预先输出到端口2的地址A23-A16(A23,A22预留)锁存起来,以实现地址预设;

图1 总线逻辑结构图

引入U2寄存器,由T0(P3.4)选通将预先输出到端口2的数据D15-D8锁存起来,完成数据预设,在写周期内(/WR低有效),作为高8位数据使用;

上述预设过程是在执行外部访问指令之前的准备动作,选通信号的形成及端口输出操作,并非系统固有时序;

引入U1寄存器,在读周期内,来自外存的高8位字节D15-D8被暂存起来,借用/RD信号上跳沿自动打入。设计上使U1的三态控制端常有效,端口1总为输入状态,用1个短指令(MOV A,P1)即可方便地获取数据;

引入U3寄存器,读/写周期内,由ALE信号锁存先出现的低8位地址A7-A0,实现端口复用[4]。以总线接口为界,CPU端具有字节特征,存储器端则具有字特征。

在执行写外存指令(MOVX@DPTR,A)时,预设于U4中的A21-A16及锁存在U3中的A7-A0,与输出到端口2的A15-A8归并到一起,于/WR下跳之前形成稳定地址输出;预设在U2中的D15-D8与输出到端口0的D7-D0归并成一体,于/WR上跳之前成为16位稳定的数据输出。

在执行读外存指令(MOVX A,@DPTR)时,地址归并方式不变,且于/RD下跳之前形成稳定的地址输出。数据于/RD上跳之前已变成稳定的输入,到达接口的16位数据被拆分为两部分,D7-D0靠指令的固有时序从端口0读入A寄存器;D15-D8则被/RD上沿锁入U1寄存器。

在读/写周期内,数据的输入输出完全按指令(MOVX@DPTR)固有的时序进行,这种简单的接口设计,有利于提高数据的传输能力。

(3)供电与电平转换

总线逻辑信号电压范围为4.5V-5.5V,设计时提供5V供电;SST39VF640x的读写电压范围为2.7V-3.6V,设计时提供3.3V供电。5V电压由外部提供,3.3V电压由5V电压转换(如图2供电转换电路),芯片采用AMS1117-3.3。

图2 供电转换电路

由于总线逻辑和外存供电不同,须进行电平转换。电平转换电路由74LVX4245实现,图3给出一个8路电平转换电路的示例,地址信号、控制信号单向传输,X端接GND;数据信号双向传输,X端接/RD。高电压一侧(X0-X7)连接总线接口,低电压一侧(Y0-Y7)连接SST39VF640x外存。

接口信号A21-A0,转换后连接外存的同名管脚;接口信号D15-D0转换后连接外存DQ15-DQ0;/RD转换为OE#;/WR转换为WE#;INT0转换为CE#;INT1转换为RST#。而WP#端用4.7K电阻上拉接VDD3V3。

图3 电平转换电路

(4)外存读写时序

图4为SST39VF640x闪存的组成框图。

图4 SSTV39VF640x组成框图

读操作:片选CE#变低,选择芯片;读使能OE#变低,使数据D15-D0通过I/O缓冲送出,OE#变高,CE#变高,完成一次读操作。

写操作:片选CE#变低,写使能WE#变低,二者后发生的下跳沿锁存地址信号;WE#变高,CE#变高,二者先发生的上跳沿锁存数据信号。之前有三个字节装载时序为软件数据保护。写入过程为异步操作,典型周期为7μs。

相对WE#和OE#,程序中保证CE#的下沿先发生,上沿后发生,/WR对接WE#,/RD对接OE#,总线时序与外存时序恰好吻合。

3 通讯接口及远端操控器

擦写器配一个标准RS232C通讯接口[5],与远端操控器[6](或电脑)联接,实现信息交换。

擦写器只执行最简单的操作:擦除、写入和读等,为减少数据传输,擦写器中通常也含有校验环节。更多的操作在远端操控器内完成,如设置参数,计数,数据分析等。

4 流程简化及数据模型

(1)流程简化

根据闪存特性,写入只能将字节中为“1”的位写成“0”,擦除则是将所有的“0”位擦成“1”,因此,在写数据之前,要有擦除操作。擦写流程为:擦除—查空—写入—校验。

一些耐擦写试验需要重复几万次,甚至上百万次,周期长达数周或数月,如能在基本步骤上做到合理简化,对于提高效率,加快擦写进程具有十分重要的意义。

采用互为反码写入模式[7],即相邻两轮写入的数据互为反码,可简化掉查空步骤。

在某个区域上,若Q(n)为第n次擦写结果,Q(n+1)为第n+1次擦写结果,都有Q(n+1)=/Q(n)成立(1≤n),则第n+1次擦除是完整的。因为,对区域上的任一位q,若q(n)=0,按照约束条件Q(n+1)= /Q(n),必有q(n+1)=1(1≤n)。即第n步为“0”的位,在第n+1步均变为“1”,说明擦除过程是完整的,查空步骤可以省去。

采用互为反码写入模式,前后互相联系且彼此“否定”,通过擦除和写入,要求每一位必须发生翻转。前次的“0”未变为“1”,说明擦的不完整,前次的“1”未变为“0”,说明写的不完整,二者皆可在校验环节测试出来。

(2)数据模型

如上定义,若Q(n+1)=/Q(n)成立,就有Q(1)=Q(3)=……=Q(2n-1)和Q(2)=Q(4)=……=Q(2n)成立,(1≤n),意味着两个模型奇偶次交替且互反,一旦Q(1)确定,那么后续的模型就都变为已知。程序只须验证擦写结果,就可判定擦除和写入的完整性。

事实上,任何长度不超过测试空间的数据,都可作写入模型,以字节长度选择模型大小,操作起来比较方便,也节省存储空间。

尽量避免使用类似00H和FFH这种组合方式,因为一些来自字节内的位与位间的逻辑“粘连”或串扰,容易被掩盖掉。通常以55H(01010101B)和AAH (10101010B)作为一组测试模型,以解除这种担忧。

5 结束语

对于像SST39VF640x这样规模的器件,进行100,000次擦写试验要花费数月之久。擦写器的效率变得十分重要。

在接口设计上,由于U4存储最高端地址,U2存放的是数据模型,变换频率较低,预设操作又在循环的外层,所以对程序影响甚微,读取操作也更为简单,仅增一条短指令,同样传输16位数据,总体效果要快于单纯的字节I/O方式。

考虑到速度问题,对外存访问的驱动程序用汇编语言编写,其它用C语言编写[8]。

在具体实施中,由于程序轮写周期大于字编程时间(7μs),所以,制约试验进程的是指令用时,又查空和校验都涉及外存的读取,程序复杂度不低于写入过程,轮次操作都在秒级(7μs×4M)以上,而毫秒级的擦除时间(40ms)完全可以忽略。因此,省去一步查空操作,可使试验耗时减少3成,其意义不可小觑。

[1]陈章龙,娄兴棠,曹名扬,等.实用单片机大全[M].哈尔滨:黑龙江科学技术出版社,1989. Chen Zhanglong,Lou Xingtang,Cao Mingyang,et al.Practical single-chip daqo[M].Haerbin:Heilongjiang science and technology press,1989.

[2]刘锡轩,丁恒,侯晓音.计算机应用基础[M].北京:清华大学出版社,2013. Liu Xixuan,Ding Heng,Hou Xiaoyin.Computer application foundation[M].Beijing:Tsinghua university press,2013.

[3]崔玮.PROTEL 99SE电路原理图与电路板设计教程[M].北京:海洋出版社,2005. Cui Wei.PROTEL 99SE circuit schematic diagram and PCB design tutorial[M].Beijing:Ocean press,2005.

[4]王晓明,曾红.单片机教程[M].沈阳:东北大学出版社,2001. Wang Xiaoming,Zeng Hong.Single-chip tutorial[M]. Shenyang:Northeastern university press,2001.

[5]陈国栋,何玉表,徐中佑,等.集成电路应用设计手册[M].沈阳:辽宁科学教育出版社,1986. Chen Guodong,He Yubiao,Xu Zhongyou,etc.Application of integrated circuit design manual[M].Shenyang:Liaoning science and education press,1986.

[6]庞振泰,王彩斐,屈宗明.CMOS器件手册[M].北京:清华大学出版社,1997. Pang Zhentai,Wang Caifei,Qu Zongming.CMOS device handbook[M].Beijing:Tsinghua university press,1997.

[7]杨吉祥,成松林.微处理机实用30例[M].南京:江苏科学技术出版社,1985. Yang Jixiang,Cheng Songlin.Microprocessor practical 30 cases [M].Nanjing:Jiangsu science and technology press, 1985.

[8]徐爱钧,彭秀华.单片机高级语言C51应用程序设计[M].北京:电子工业出版社,1998. Xu Aijun Peng Xiuhua.Single-chip computer high-level language C51 application design [M].Beijing:Electronic industry press,1998.

Design of Programmer Based on SST39VF640x Flash Memory

Zhao Dequan,Su Lin,Li Cui
(The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)

In order to achieve SST39VF640x flash 4M word programming space,we need to build a 16-bit data path so that the microprocessor C51 performs double-byte manner in each external memory access.The system shall be filled with instruction addressing capability to meet demands for 4M address I/O operations.During implementation,it fully uses external bus C51 inherent timing,and introduces a number of registers,the default or latched address and data,read/write cycle, coordinating aid/RD,/WR and ALE to complete the bus information merger and split.Though the reconstruction of bus interface,the micro-system belonging to byte operations in nature has the word transmission capacity.It simplifies the erase/write process,makes specific embodiments,substantially shortens the test period and speeds up the test process.

Flash memory;Word–program;Bus interface;Merge;Split;Simplify Process

10.3969/j.issn.1002-2279.2017.01.019

TN492

A

1002-2279-(2017)01-0076-03

赵德权(1962-),男,辽宁省铁岭市昌图县人,工程师,主研方向:计算机应用及可靠性技术。

2016-04-26

猜你喜欢

寄存器字节时序
清明
STM32和51单片机寄存器映射原理异同分析
No.8 字节跳动将推出独立出口电商APP
Lite寄存器模型的设计与实现
基于不同建设时序的地铁互联互通方案分析
No.10 “字节跳动手机”要来了?
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
移位寄存器及算术运算应用
基于FPGA 的时序信号光纤传输系统
基于模体演化的时序链路预测方法