Datasheet
AD9559 Data Sheet
Rev. C | Page 46 of 120
Automatic EEPROM Download
Following a power-up, an assertion of the
RESET
pin, or a soft
reset (Register 0x0000, Bit 5 = 1), if either the M1 pin or M0 pin
is high (see Table 23), the instruction sequence stored in the
EEPROM executes automatically with one of three conditions. If
M1 and M0 are low, the EEPROM is bypassed and the factory
defaults are used. In this way, a previously stored set of register
values downloads automatically on power-up or with a hard or
soft reset. See the EEPROM Conditional Processing section for
details regarding conditional processing and the way it modifies
the download process.
Table 23. EEPROM Download M Pin Setup
M1 M0 ID EEPROM Download
0 0 0 No
0 1 1 Yes, EEPROM Condition 1
1 0 2 Yes, EEPROM Condition 2
1 1 3 Yes, EEPROM Condition 3
EEPROM Conditional Processing
The condition instructions allow conditional execution of
EEPROM instructions during a download sequence. During
an upload sequence, however, they are stored as is and have
no effect on the upload process.
Note that, during EEPROM downloads, the condition instructions
themselves and the end instruction always execute unconditionally.
Conditional processing makes use of two elements: the condition
(from Condition 1 to Condition 15) and the condition tag board.
The relationships among the condition, the condition tag board,
and the EEPROM controller appear schematically in Figure 44.
Figure 44. EEPROM Conditional Processing
EEPROM
EEPROM CONTROLLER
UPLOAD
PROCEDURE
CONDITION
HANDLER
DOWNLOAD
PROCEDURE
CONDITION
TAG BOARD
1 65432
111098
7
15141312
IF 0xB1 ≤ INSTRUCTION ≤ 0xCF,
THEN TAG DECODED CONDITION
SCRATCH
PAD
M1 M0
IF INSTRUCTION = 0xB0,
THEN CLEAR ALL TAGS
FncInit, BITS[1:0]
REGISTER
0x0E01, BITS[3:0]
STORE CONDITION
INSTRUCTIONS AS
THEY ARE READ FROM
THE SCRATCH PAD.
WATCH FOR
OCCURRENCE OF
CONDITION
INSTRUCTIONS
DURING
DOWNLOAD.
IF {NO TAGS} OR {CONDITION = 0}
EXECUTE INSTRUCTIONS
ELSE
IF {CONDITION IS TAGGED}
EXECUTE INSTRUCTIONS
ELSE
SKIP INSTRUCTIONS
ENDIF
ENDIF
4
4 2
IF {0x0E01, BITS[3:0] ≠ 0}
CONDITION = 0x0E01, BITS[3:0]
ELSE
CONDITION = FncInit, BITS[1:0]
ENDIF
EXAMPLE
CONDITION 3 AND
CONDITION 13
ARE TAGGED
EXECUTE/SKIP
INSTRUCTION(S)
CONDITION
10644-025