X84256S825 [XICOR]

EEPROM, 32KX8, Serial, CMOS, PDSO8,;
X84256S825
型号: X84256S825
厂家: XICOR INC.    XICOR INC.
描述:

EEPROM, 32KX8, Serial, CMOS, PDSO8,

可编程只读存储器 电动程控只读存储器 电可擦编程只读存储器 光电二极管 内存集成电路
文件: 总6页 (文件大小:35K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
Application Note  
AN130  
Interfacing the X84256 MPS E2PROM to the Motorola 68HC11  
Microcontroller  
by Applications Staff, Nov. 1999  
This application note demonstrates how the Xicor X84256 glue logic, 3-NAND gates when connected to the  
2
2
MPS E PROM can be interfaced to the 68HC11 micro- 68HC11, the advantage of the MPS E PROM as a port-  
controller family when connected as shown in Figure 1. less serial memory device is still preserved.  
The interface uses the time-multiplexed address/data bus  
and two control lines of the 68HC11 to interface to the  
2
MPS E PROM. Although the X84256 requires minimal  
XT  
EX  
PA3  
PA4  
PA5  
PA6  
PA7  
V
CC  
E3  
E2  
E1  
RESET  
IRQ  
Y0  
Y1  
Y2  
Y3  
Y4  
Y5  
Y6  
Y7  
XIRQ  
GND  
A15/PB7  
A14/PB6  
A13/PB5  
A12/PB4  
A11/PB3  
A10/PB2  
A9/PB1  
PA0  
PA1  
PA2  
A2  
A1  
A0  
PE0  
PE1  
PE2  
PE3  
74HT138  
A8/PB0  
WP  
I/O  
AD7/PC7  
AD6/PC6  
AD5/PC5  
AD4/PC4  
AD3/PC3  
AD2/PC2  
AD1/PC1  
AD0/PC0  
CE  
WE  
OE  
VRH  
VRL  
X84256  
R/W  
E
AS  
74CT100  
68HC11  
Figure 1.Typical hardware connection for interfacing an X84256 to the 68HC11 microcontroller  
AN130-1  
AN130  
Xicor Application Note  
*******************************************************************************  
**  
** DESCRIPTION:  
**  
** This file contains general utility routines written in 68HC11 assembly  
2
** language used to interface the 68HC11 to the XICOR X84256 MPS E PROM.  
** The interface uses the 68HC11 parallel bus and two control lines to connect  
** to the X84256 . The microcontroller R/W and E control lines are connected  
** through 3 NAND gates to match the X84256Õs /OE and /WE control lines.  
** Address lines A15, A14, A13 are decoded for the chip select; mapping the  
** X84256 to address space 6000 - 7FFF.  
** The following table lists all the subroutines in this file with a brief  
** description:  
**  
**  
**  
**  
**  
**  
**  
**  
**  
**  
**  
**  
ResetD: Resets the device before a read or write can take place  
Page_Write: Writes a page of data to the device  
Page_Read: Reads a page of data from the device into the uCÕs RAM  
Byte_Read: Reads a byte of data from the device into the uCÕs RAM  
Byte_Write: Writes a byte of data to the device  
Inbyte: Called by read subroutines to shit data in  
Outbyte: Called by write subroutines to shit data out  
Sndaddr: Called by read/write subroutines to send address to device  
SNVWrte: Provides start non-volatile write sequence required for all writes  
CheckNVW: Checks to makes sure the non-volatile write is completed  
2
** The Main program writes a test string into the MPS E PROM. After  
** page is programmed, the first byte of the page is altered. The page is  
** then read back and written to a different location in memory.  
** The data read is temporarily stored in the internal RAM.  
**  
*******************************************************************************  
*******************************************************************************  
*
INTERNAL RAM  
*******************************************************************************  
RAMBASE  
RAMBuff  
STACK  
EQU  
EQU  
EQU  
$0000  
RAMBASE  
RAMBASE+$FF  
THE INTERNAL RAM BASE ADDRESS(Default)  
RAM BUFFER ADDRESS  
*******************************************************************************  
PROGRAM CONSTANTS  
*******************************************************************************  
*
Address  
EQU  
EQU  
EQU  
EQU  
$6000  
$0000  
$0100  
32  
MPSaddress  
MPSaddress2  
Page_Size  
*******************************************************************************  
RESET VECTOR ENTRY POINT  
*******************************************************************************  
*
ORG  
FDB  
$FFFE  
$E000  
RESET VECTOR ADDRESS TO PROGRAM ENTRY  
JUMP TO BEGINNING OF EXECUTABLE CODE  
* ASSEMBLER REQUIREMENT- CPU TYPE  
P68H11  
AN130-2  
AN130  
Xicor Application Note  
*******************************************************************************  
*
START OF USER CODE  
*******************************************************************************  
ORG $E000  
MAIN:  
lds  
#STACK  
* LOAD STACK POINTER  
* INITIALIZE THE BUFFER BEFORE PROGRAMMING THE CONTENT TO A SECTOR  
ldx  
ldy  
#TestString  
#MPSaddress  
Page_Write  
#MPSaddress  
Byte_Write  
#MPSaddress  
Page_Read  
#RAMBuff  
* IX = Test String Address  
* Address within MPS to write data to  
* Write data to the first page  
* Address within MPS to write byte to  
* Write byte to the first address location  
* Address within MPS to read from  
* Read data in the first page  
* Set IX data pointer to data just read  
* Address within MPS to write data to  
* Write data to page 0100 hex  
jsr  
ldy  
jsr  
ldy  
jsr  
ldx  
ldy  
#MPSaddress2  
Page_Write  
Done  
jsr  
Done: jmp  
*******************************************************************************  
*** Name: resetd  
*** Description: Sends Reset sequence to the device.  
*** Function: Performs a read, write "0", read  
*** Calls:  
*** Input:  
*** Output:  
*** Register Usage: A  
*******************************************************************************  
ResetD: ldaa  
Address  
* sends read command  
* clear accum  
* send write "0" command  
* sends read command  
clra  
staa  
ldaa  
rts  
Address  
Address  
*******************************************************************************  
*** Name: Page_Write  
*** Description:  
*** Function: Writes a page of data to the first address.  
*** Calls: Sndaddr, OutByte  
*** Input:  
*** Output:  
*** Register Usage: x, y  
*******************************************************************************  
Page_Write:  
jsr  
Sndaddr  
* Send Page address to device  
ldy  
#Page_Size * Y register contains number of bytes/page  
PagePW: ldaa  
0,x  
* Load the "test string" in the X register  
pshy  
jsr  
puly  
inx  
dey  
bne  
jsr  
jsr  
rts  
OutByte  
* Sends out the byte in the accum  
* Increments the X register  
* Decrements the page counter  
* Branches until all bytes are written  
* Start Nonvolatile Write  
* Checks completion of non-volatile write  
PagePW  
SNVWrte  
CheckNVW  
*******************************************************************************  
AN130-3  
AN130  
Xicor Application Note  
*** Name: Page_Read  
*** Description:  
*** Function: Reads a page of data from the first address.  
*** Calls: Sndaddr, InByte  
*** Input:  
*** Output:  
*** Register Usage: x, y  
*******************************************************************************  
Page_Read:  
jsr  
Sndaddr  
#Page_Size  
#RAMBuff  
* Send Page address to device  
* Y register contains number of bytes/page  
* Sets the index register x to 0  
ldy  
ldx  
PagePR: pshy  
jsr  
puly  
staa  
inx  
dey  
bne  
rts  
InByte  
0,x  
* Receives the byte of data  
* Stores the byte to RAM  
* Increments the X register  
* Decrements the page counter  
* Branches until all bytes are read  
PagePR  
*******************************************************************************  
*** Name: Byte_Read  
*** Description:  
*** Function: Reads a byte of data from the first address.  
*** Calls: Sndaddr, InByte  
*** Input:  
*** Output:  
*** Register Usage: x  
*******************************************************************************  
Byte_Read:  
jsr  
ldx  
Sndaddr  
#RAMBuff  
InByte  
0,x  
* Send Byte address to device  
* Sets the index register x to 0  
* Receives the byte of data  
* Stores the byte to RAM  
PageBR: jsr  
staa  
rts  
*******************************************************************************  
*** Name: InByte  
*** Description: Reads in 8 bits  
*** Function:  
*** Calls:  
*** Input:  
*** Output:  
*** Register Usage:  
y
*******************************************************************************  
InByte: ldy  
clra  
#$8  
* Sets y to 8  
* Clears accum  
out2:  
ldab  
Address  
#00000001b  
* Load bit from device to accum b  
* Mask-out unwanted bits accum b  
* Rotate accum 1 bit to the left  
* Mask accum b into accum a  
andb  
rola  
aba  
dey  
bne  
out2  
* Branch until accum a contains complete byte  
rts  
*******************************************************************************  
*** Name: Byte_Write  
*** Description:  
*** Function: Writes a byte of data to the first address.  
*** Calls: Sndaddr, OutByte  
*** Input:  
*** Output:  
*** Register Usage:  
*******************************************************************************  
AN130-4  
AN130  
Xicor Application Note  
Byte_Write:  
jsr  
ldaa  
jsr  
jsr  
jsr  
rts  
Sndaddr  
#$58  
OutByte  
SNVWrte  
CheckNVW  
* Send Byte address to device  
* Load accum with "X"  
* Send  
* Start Nonvolatile Write  
* Checks completion of non-volatile write  
*******************************************************************************  
*** Name: Sndaddr  
*** Description: Send address to the device  
*** Function: Writes the 16 bit address to the device.  
*** Calls: ResetD, Outbyte  
*** Input:  
*** Output:  
*** Register Usage: y  
*******************************************************************************  
Sndaddr:  
jsr  
xgdy  
jsr  
tba  
jsr  
rts  
ResetD  
* Send the reset signal  
* Load the address in Y to double accum  
* send MSB of address  
* transfer LSB to accum A  
* send LSM of address  
OutByte  
OutByte  
*******************************************************************************  
*** Name: OutByte  
*** Description:  
*** Function: Sends out 8 bits to Address.  
*** Calls:  
*** Input:  
*** Output:  
*** Register Usage:  
y
*******************************************************************************  
OutByte: ldy  
rola  
rola  
#$8  
out1:  
staa  
dey  
bne  
rts  
Address  
out1  
*******************************************************************************  
*** Name: SNVWrte  
*** Description:  
*** Function: Sends out 8 bits to Address.  
*** Calls:  
*** Input:  
*** Output:  
*** Register Usage:  
*******************************************************************************  
SNVWrte: ldaa  
Address  
#$1  
Address  
Address  
* sends read command  
* set accum to "1"  
* send write "1" command  
* sends read command  
ldaa  
staa  
ldaa  
rts  
*******************************************************************************  
AN130-5  
AN130  
Xicor Application Note  
*** Name: CheckNVW  
*** Description:  
*** Function:  
*** Calls:  
*** Input:  
*** Output:  
*** Register Usage:  
*******************************************************************************  
CheckNVW:ldaa  
AddressÔ  
* sends read command  
* rotate D0 to the carry bit  
* loop if nonvolatile write is occuring  
rora  
bcc  
rts  
CheckNVW  
TestString: FCC  
'xICORMPSXICORMPSXICORMPSXICORMPS'  
*******************************************************************************  
*** END OF X84256 MPS INTERTERFACE SOURCE CODE  
*******************************************************************************  
END  
AN130-6  

相关型号:

X84256S8I

UPort Saver EEPROM
XICOR

X84256S8I-1.8

UPort Saver EEPROM
XICOR

X84256S8I-2.5

UPort Saver EEPROM
XICOR

X84256S8M

暂无描述
XICOR

X84256V14

UPort Saver EEPROM
XICOR

X84256V14-1.8

UPort Saver EEPROM
XICOR

X84256V14-2.5

UPort Saver EEPROM
XICOR

X84256V1425

EEPROM, 32KX8, Serial, CMOS, PDSO8,
XICOR

X84256V14I

UPort Saver EEPROM
XICOR

X84256V14I-1.8

UPort Saver EEPROM
XICOR

X84256V14I-2.5

UPort Saver EEPROM
XICOR

X84256V14M

EEPROM, 32KX8, Serial, CMOS, PDSO14, PLASTIC, TSSOP-14
XICOR