beautypg.com

Maxim Integrated 71M6521BE Energy Meter IC Family Software User Manual

Page 64

background image

71M652X Software User’s Guide

Revision 1.7

TERIDIAN Proprietary

64 of 138

© Copyright 2005-2007 TERIDIAN Semiconductor Corporation

Registers and memory locations:

EEDATA = SFR 0x9E

EECTRL = SFR 0x9F

*source = pointer to EEPROM address for read or write

*destination = pointer to XRAM address

count = byte count for multiple read/write

If the EEPROM interrupt service routine (INT5) returns the value 0x80 (illegal command), the loop should be exited, all
registers should be refreshed and the operation should be restarted.

EEDATA= 0xA1 (read command)

EECTRL = 0x03 (transmit data command)

interrupt rcvd?

(INT5)

count==1?

*source++ = EEDATA

EECTRL = 0x05 (stop command)

Clear all registers

End

NO

*source++ = EEDATA

EECTRL = 0x02 (multiple read with ACK command)

count- -

Figure 5-19: Multi-Byte Read