Data Sheet AD7606B
Rev. 0 | Page 39 of 69
DIAGNOSTICS
Diagnostic features are available in software mode to verify
correct operation of the AD7606B. The list of diagnostic
monitors includes reset detection, overvoltage detection,
undervoltage detection, analog input open circuit detection,
and digital error detection.
If an error is detected, a flag asserts on the status header, if
enabled, as described in the Digital Interface section. This flag
points to the registers on which the error is located, as explained
in the following sections.
In addition, a diagnostic multiplexer can dedicate any channel
to verify a series of internal nodes, as explained in the
Diagnostics Multiplexer section.
RESET DETECTION
The RESET_DETECT bit on the status register (Address 0x01,
Bit 7) asserts if either a partial reset or full reset pulse is applied
to the AD7606B. On power-up, a full reset is required. This
reset asserts the RESET_DETECT bit, indicating that the
power-on reset (POR) initialized correctly on the device.
The POR monitors the REGCAP voltage and issues a full reset
if the voltage drops under a certain threshold.
The RESET_DETECT bit can be used to detect an unexpected
device reset or a large glitch on the RESET pin, or a voltage
drop on the supplies.
The RESET_DETECT bit is only cleared by reading the status
register.
OVERVOLTAGE AND UNDERVOLTAGE EVENTS
The AD7606B includes on-chip overvoltage and undervoltage
circuitry on each analog input pin. These comparators can be
enabled or disabled using the AIN_OV_UV_DIAG_
ENABLE register (Address 0x25).
After this register is enabled, when the voltage on any analog
input pin goes above the overvoltage threshold shown in Table 27,
the AIN_OV_DIAG_ERROR register (Address 0x26) shows
which channel or channels have an overvoltage event. When a
bit within the AIN_OV_DIAG_ERROR register asserts, it stays
at a high state even after the overvoltage event disappears. To
clear the error bit, the error bit must be overwritten to 1 or the
error checker must be disabled.
Vx
OVERVOLTAGE
THRESHOLD
UNDERVOLTAGE
THRESHOLD
CHx_OV_ERR
SETS IF Vx > OV
AD7606B
CHx_UV_ERR
SETS IF Vx < UV
15137-075
Figure 77. Overvoltage and Undervoltage Circuitry on Each Analog Input
When the voltage on any analog input pin goes below the
undervoltage threshold shown in Table 27, the AIN_UV_
DIAG_ERROR register (Address 0x27) shows which channel or
channels have an undervoltage event. When a bit within the
AIN_UV_DIAG_ERROR register asserts, it stays at high state
after the undervoltage event disappears. To clear the error bit, the
error bit must be overwritten to 1 or the error checker must be
disabled.
Table 27. Overvoltage and Undervoltage Thresholds
Analog Input
Range (V)
Overvoltage
Threshold (V)
Undervoltage
Threshold (V)
±2.5 +6.5 −3
±5 +8 −5.5
±10 +12 −11
DIGITAL ERROR
Both the status register and status header contain a
DIGITAL_ERROR bit. This bit asserts when any of the
following monitors trigger:
• Memory map CRC, read only memory (ROM) CRC, and
digital interface CRC.
• SPI invalid read or write.
• BUSY stuck high.
To find out which monitor triggered the DIGITAL_ERROR bit,
the DIGITAL_DIAG_ERR address (Address 0x22) has a bit
dedicated for each monitor, as explained in the following sections.
ROM CRC
The ROM stores the factory trimming settings for the
AD7606B. After power-up, the ROM content is loaded to
registers during device initialization. After the load, a CRC is
calculated on the loaded data and verified if the result matches
the CRC stored in the ROM. If an error is found, the ROM_
CRC_ERR (Address 0x22, Bit 0) asserts. When ROM_CRC_
ERR asserts after power-up, it is recommended to issue a full
reset to reload all factory settings.
This ROM CRC monitoring feature is enabled by default, but
can be disabled by clearing the ROM_CRC_ERR_EN bit
(Address 0x21, Bit 0).
Memory Map CRC
The memory map CRC is disabled by default. After the
AD7606B is configured in software mode through writing the
required registers, the memory map CRC can be enabled
through the MM_CRC_ERR_EN bit (Address 0x21, Bit 1).
When enabled, the CRC calculation is performed on the entire
memory map and stored. Every 4 μs, the CRC on the memory
map is recalculated and compared to the stored CRC value. If
the calculated and the stored CRC values do not match, the
memory map is corrupted and the MM_CRC_ERR bit asserts.
Every time the memory map is written, the CRC is recalculated
and the new value stored.