摘要:介绍了大容量闪耀存储器AT45D081的特色和首要功用,描绘了其引脚界说、作业原理、操作指令及读写时序。结合税控加油机给出了它的硬件规划和相关的软件编程。
关键词:AT45D081;税控加油机;牢靠性
在电子产品的规划中,常常存在断电后数据或机器参数的保存问题。前期一般由电池为RAM供电,但因为环境及电池自身的原因,这种方法常使数据丢掉。现在,小容量数据存储多选用93系列EEPROM(如93C46)或24系列EEPROM(如24C45)。但假如要求存储的数据量很大?这些芯片的存储才能就不能担任。为此,本文介绍一种大容量的闪耀存储器芯片AT45D081,并给出其在税控加油机中的使用。
1 AT45D081简介
1.1 AT45D081的特色
AT45D081A是ATMEL公司出产的闪耀存储器。它选用串行方法传送数据, 契合ISO7816规范,时钟频率可高达15MHz, 并选用单5V电源供电。一起具有功耗低、体积小、容量大、传送快速, 与CMOS和TTL电平兼容以及掉电后数据不丢掉等特色。 因为读写时序与SPI形式0与形式3兼容, 因而,其硬件规划与软件编程都很简单。
1.2 内部结构与引脚阐明
AT45D081内部由主存储器阵列、两个SRAM数据缓冲区BUFFER1、BUFFER2以及I/0接口组成。其间主存储器阵列容量为8M Bits,由4096页组成,每页264字节,为编程便利又把接连的8页界说为一块。每个SRAM数据缓冲区巨细为264字节。 这两个缓冲区可在主存储器阵列拜访某一缓冲区或某缓冲区拜访主存储器阵列时,别的一个缓冲区能一起与外部交流数据。主存储器与缓冲区的彼此拜访是在芯片内部主动完结的,且不需求外部的干与,这样就大大进步了外部拜访的功率。但外部能够经过读取芯片供给的只读状况存储器的内容知道芯片容量及作业状况信息(可用安排妥当/忙标志指示缓冲区是否与指定的主存储器阵列页内容共同)。
AT45D081的首要引脚功用见表1所列。当AT45D081的CS由高变低时,芯片发动一次操作,而当CS由低变高时,停止操作。这时SI上的任何数据都被疏忽,SO处于高阻态。 当WP为低时,主存储器的前256页不能被拜访。假如要拜访前256页,则有必要使WP为高。WP已被芯片内部拉高,假如要对前256页编程,那么,WP应在外部置高电平。
1.3 操作指令及读写时序
外部拜访主存储器阵列和缓冲区及状况寄存器是经过输入指令来完成的。AT45D081共供给了26条指令?这些指令按功用可分为读主存储器阵列页、主存储器阵列页内容传送到缓冲区、缓冲区内容传送到主存储阵列页、页擦除、块擦除、外部经过缓冲区对主存储器页写入、主动页重写?缓冲区读写?状况寄存器读等。一切的指令都遵从下面的格局?首先是8位指令码?然后是24位地址码?有的指令后边还要输入无关码。输入时高位在前?低位在后。输入形式与SPI形式0与形式3兼容。表2所列是接连读主存储阵列、读状况寄存器和写缓冲区指令格局。表中:r代表该位为保存位,p表明该位为页地址位,b表明该位为页内字节地址位,x表明该位能够为0也能够为1,N/A表明输入数据流中没有这些位,由表2可知:24位地址可分为5位保存位, 7位块地址,10位页地址和9位页内字节地址。关于主寄存器阵列,页内字节的拜访,如接连读主寄存器阵列,有必要指定页及页内地址作为拜访的首地址。一起还需留意,该指令24位地址后还有32位无关位输入。而关于缓冲区的拜访?因缓冲区的巨细为264字节,因而指定9位地址就能够了。此外,在块的擦除方面,因为是整块操作,所以,只需指定7位块地址而无需指定其它地址。
图2所示是接连读主寄存器阵列的时序。从时序图可看出,当CS为高电平时,SI输入的位流无效,此刻,SO处于高阻态。当CS由高到低时,片选有用,此刻将发动操作指令,在时钟SCK的上升沿把SI上已备好的数据串行送入芯片(高位在前)。关于接连读主存储器阵列指令,其输入指令格局位流为:
01101000 rrrrrppp pppppppb bbbbbbbb xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx ,共64位。当第65个时钟到来时?SO由高阻态变为有用状况而输出数据,数据输出也是高位在前。
图2
2 AT45D081在税控加油机中的使用
2.1 税控加油机对存储器的要求
税控加油机是对车辆、油罐等设备进行加油并进行税务办理的加油机器。为对加油进程进行有用监督办理,税控加油机有必要到达国家要求的加油精度,并应显现每次加油的油价、加油量及加油金额,一起税控加油机也有必要能够存储7年之内每天的加油记载,并供给查询接口。
为了满意税控加油机对数据存储的要求,存储器有必要供给足够大的存储空间,且在掉电时不能丢掉数据。一起应有较强的防数据误写功用以确保存储在存储器中税务数据的安全。根据多方面考虑?规划中选用了AT45D081。
2.2 税控加油机的功用结构
税控加油机首要由税控CPU、主控CPU以及其它一些外围设备组成。税控CPU和主控CPU之间是经过模仿的SPI总线来通讯的。主控CPU经过SKH向税控CPU恳求通讯,税控CPU经过SKL作应对。通讯数据先由一方放到双端口移位缓存中,然后告诉对方到缓存中取数据。加油的作业进程如下,主控CPU检测到提油枪信号后将向税控CPU宣布加油恳求。假如税控CPU答应加油,则一方面使能电机操控输入端A,一起告诉主控CPU,主控CPU接到告诉后,立即便能电机操控端B,一起核算加油数据并经过SPI协议总线传送到税控CPU,再由税控CPU驱动显现。当主CPU检测到油枪挂起后,它一方面送出关电机信号,另一方面告诉税控CPU也送出关机信号。当然,主控CPU也能够经过键盘向税控CPU查询时刻及其它信息。
2.3 进步牢靠性的规划办法
加油的数据由税控CPU保存在AT45D081中。为进步芯片的抗干扰才能,避免程序对芯片的误写,有用维护片内数据。硬件规划中采取了一些维护办法。其原理如下:
设CS为Q0,RDY为Q1,CPU的复位信号RE-SET为C。AT45D081的复位信号RESET1为Y, 则Y=(Q1Q2)C。因而,当CPU刚上电复位或因为主控CPU运转犯错(如程序跑飞)而使“看门狗”芯片MAX813输出复位信号RESET产生热复位时,体系迫使AT45D081复位,一起制止对该片的任何读写操作。当CPU处于正常作业时,只要该片的片选信号有用,一起芯片处于安排妥当状况时,才答应对其进行拜访,不然迫使芯片处于复位状况并制止拜访,这样就避免了外界对其进行误写,然后有用地维护了片内数据。
图3
2.4 AT45D081的读写软件编程
AT45D081有关引脚接线如图3所示,下面给出针对写缓冲区和接连读主存储器阵列指令的51汇编语言软件编程。
;向缓冲区1写入数据
writebuf:
clr CS
mov a,#84h
lcall Byte_shift_out ;送指令码
clr a
lcall Byte_shift_out ;送8位恣意码
mov a,hi_addr
lcall Byte_shift_out ;送高字节地址
mov a,lo_addr
lcall Byte_shift_out ;送低字节地址
writebuf0:
mov a,@r0
;接连读主存储器阵列内容
Readmain:
clr CS
mov a,#68h
lcall Byte_shift_out ;送指令码
clr c
mov a,lopageadd
rlc a
mov a,hi_page_addradd;
;组成24位地址的9~18位
rlc a
lcall Byte_shift_out;送前8位
mov a,hi_addr
rrc a
mov a,lopageadd
rlc a ;组成24位地址0~8位
lcall Byte_shift_out ;送第2个8位
mov a,lo_addr
lcall Byte_shift_out ;送0~7位
clr a
mov r3,#04H
readmain0:
lcall Byte_shift_out
djnz r3,readmain0 ;送32位无关位
readmain1:
lcall Byte_shift_in
mov @r0,a
inc r0 ;
;接连从指定的页及页内地址读出R2个数据
djnz r2,readmain1 ; 送指令码
setb CS
ret
ReadState: ;读状况寄存器内容
clr fmcs
MOV a,#57h;
lcall outcommon
lCALL incommon
setb fmcs
lcall Byte_shift_out; 接连从R0指定的地址写入R2个数据到BUFFER1
inc r0
djnz r2,writebuf0
setb CS
ret
3 结束语
本文规划的税控加油机已经过国家税控认证及电磁兼容实验认证。产品投产5年来,运转一向安稳牢靠,各项目标均到达国家要求规范。没有发现存储在AT45D081中的数据呈现丢掉和异常现象。