Freescale Semiconductor, Inc.
SOFTWARE INTERFACE
Communication between the MC68HC705J1A and the 9356 is done with a synchronous serial protocol. As
mentioned earlier, the MC68HC705J1A bit programs its I/O pins to communicate with the 9356. A timing
diagram of the serial link can be found in the 9356 data sheet if needed.
The 9356 will accept seven different commands. They are as follows:
1) READ
—
Read a 16-bit data word from an address in memory
2) WRITE — Write a 16-bit data word from an address in memory
3) WRALL — Write all addresses with the same 16-bit data word
4) ERASE — Erase a 16-bit data word from an address in memory
5) ERAL
6) WEN
7) WDS
—
—
—
Erase all addresses within the memory map
Erase/write enable the EEPROM memory
Erase/write disable the EEPROM memory
The 9356 transmission format is a frame of data bits containing an opcode, an address, and if needed, a
word of data. The opcode is three bits long, the address is eight bits long, and the data word is 16 bits long.
Table 1 illustrates the bit information each instruction needs.
Table 1.
Instruction
Opcode
Address
Data
READ
WEN
110
100
111
100
101
100
100
A7–A0
11XXXXXX
A7–A0
ERASE
ERAL
10XXXXXX
A7–A0
WRITE
WRALL
WDS
D15–D0
D15–D0
01XXXXXX
00XXXXXX
IMPLEMENTATION AND TEST
Software was written to provide subroutines to perform each of the seven commands. A total of four bytes
of RAM are needed to support the subroutines. These bytes are described below.
1) OP_CODE — Contains the opcode needed for the command
2) ADDR
3) DATA_H
4) DATA_L
— Contains the address for the command
— The high byte for the data word
— The low byte for the data word
As needed, each EEPROM command subroutine will call other supporting subroutines to execute the
transmission of data between the MC68HC705J1A and the 9356. Appendix B contains flowcharts for all of
these subroutines.
AN1241/D
For More Information On This Product,
Go to: www.freescale.com
2