Datasheet
Data Sheet ADE7953
Rev. B | Page 57 of 72
COMMUNICATION VERIFICATION AND SECURITY
The ADE7953 includes three security measures to increase
communication robustness and to help prevent inadvertent
modifications to its internal registers. The write protection,
communication verification, and checksum features can be
used together to help increase the robustness and noise
immunity of the meter design.
WRITE PROTECTION
The ADE7953 provides a simple method for protecting the
internal registers from unexpected write operations. This feature
helps to prevent noise or EMC conditions from changing the
required meter configuration. The write protection feature is
disabled by default to allow the meter to be configured and can
be enabled by writing to the 8-bit WRITE_PROTECT register
(Address 0x040). Only the three LSBs of this register are used.
Bit 0 controls the protection on the 8-bit registers; Bit 1 controls
the protection on the 16-bit registers; Bit 2 controls the protection
on the 24-bit/32-bit registers. All bits are set to 0 by default to
disable the protection. Setting any of these bits to 1 enables
write protection on the corresponding group of registers. When
write protection is enabled, any attempted write operation using
the SPI, I
2
C, or UART interface is ignored. The one exception to
this is the WRITE_PROTECT register that can still be modified
to disable the write protection feature. Resetting the WRITE_
PROTECT bits to 0 reinstates full access to the register banks.
The WRITE_PROTECT bits are included in the CRC check
and set off an interrupt when CRC_ENABLE is set to 1 and the
WRITE_PROTECT bit is changed.
COMMUNICATION VERIFICATION
The ADE7953 includes a set of three registers that allow any
communication via SPI, I
2
C, or UART to be verified. The
LAST_OP (Address 0x0FD), LAST_ADD (Address 0x1FE),
and LAST_RWDATA registers record the type, address, and
data of the last successful communication, respectively. The
LAST_RWDATA register has four separate addresses, depending
on the length of the successful communication (see Table 11).
Multiple address locations are included to prevent unnecessarily
long communications.
Table 11. Addresses of the LAST_RWDATA Registers
Register Address Length of Read/Write
Address 0x0FF 8 bits
Address 0x1FF 16 bits
Address 0x2FF 24 bits
Address 0x3FF 32 bits
After each successful communication with the ADE7953, the
address of the last register that was accessed is stored in the
16-bit LAST_ADD register (Address 0x1FE). This read-only
register stores the value until the next successful read or write
is complete.
The LAST_OP register (Address 0x0FD) stores the type of the
communication, that is, it indicates whether a read or a write
was performed. If the last operation was a write, the LAST_OP
register stores the value 0xCA. If the last operation was a read,
the LAST_OP register stores the value 0x35.
The LAST_RWDATA register stores the data that was written to
or read from the register. Unsuccessful read and write operations
are not reflected in these registers.