Information furnished by Analog Devices is believed to be accurate and
reliable. However, no responsibility is assumed by Analog Devices for its
use, nor for any infringements of patents or other rights of third parties
which may result from its use. No license is granted by implication or
otherwise under any patent or patent rights of Analog Devices.
FEATURES
Faults detected on 7 independent supplies
•
1 High Voltage supply (up to 14.4V)
•
4 Positive Voltage Only Supplies (up to 6V)
•
2 Positive/Negative Voltage supplies (up to +6V OR
down to -6V)
Watchdog Detector Input- Timeout delay programmable
from 200ms to 12.8sec
4 General Purpose Logic Inputs
Programmable Logic Block- combinatorial and sequencing logic control of all inputs and outputs
9 Programmable Output Drivers
•
Open Collector (external resistor required)
•
Open Collector with internal pull-up to V
•
Fast Internal pull-up to V
•
Open Collector with internal pull-up to VPn
•
Fast Internal pull-up to VPn
•
Internally charge pumped high drive (for use with
external N- channel FETS- PDO’s 1 to 4 only)
EEPROM- 512 Bytes
Industry Standard 2- Wire Bus Interface (SMBus)
Guaranteed PDO Low with VPn, VH=1V
APPLICATIONS
Central Office Systems
Servers
Infrastructure Network Boards
High density, multi- voltage system cards
GENERAL DESCRIPTION
The ADM1060 is a programmable supervisory/sequencing
device which offers a single chip solution for multiple
power supply fault detection and sequencing in communications systems.
In central office, servers and other infrastructure systems,
a common backplane dc supply is reduced to multiple
board supplies using dc/dc converters. These multiple
supplies are used to power different sections of the board
(eg) 3.3V Logic circuits, 5V logic circuits, DSP core and
I/O circuits etc. There is usually a requirement that certain sections power up before others (eg) a DSP core to
power up before the DSP I/O or vice versa. This is in
order to avoid damage, miscommunication or latch- up.
The ADM1060 facilitates this, providing supply fault
detection and sequencing/combinatorial logic for up to 7
independent supplies. The 7 Supply Fault Detectors consist of one high voltage detector (up to +14.4V), two bipolar voltage detectors (up to +6V OR down to -6V) and
4 positive low voltage detectors (up to +6V). All of the
detectors can be programmed to detect undervoltage, overvoltage or out- of window (undervoltage OR overvoltage) conditions. The inputs to these Supply Fault
Detectors are via the VH pin (High Voltage), VBn pins
(positive OR negative) and VPn pins (Positive only) pins
respectively. Either the VH supply or one of the VPn
supplies is used to power the ADM1060 (whichever is
highest). This ensures that, in the event of a supply failure, the ADM1060 is kept alive for as long as possible,
thus enabling a reliable fault flag to be asserted and the
system to be powered down in an ordered fashion.
DD
DD
Other inputs to the ADM1060 include a Watchdog Detector (WDI) and 4 General Purpose Inputs (GPIn). The
Watchdog Detector can be used to monitor a processor
clock. If the clock does not toggle (transition from low to
high or from high to low) within a programmable timeout
period (up to 18 sec.), a fail flag will assert. The 4 General Purpose inputs can be configured as logic buffers or
to detect positive/negative edges and to generate a logic
pulse or level from those edges. Thus, the user can input
control signals from other parts of their system (eg RESET or POWER_GOOD) to gate the sequencing of the
supplies supervised by the ADM1060.
The ADM1060 features 9 Programmable Driver Outputs
(PDO’s). All 9 outputs can be configured to be logic
outputs, which can provide multiple functions for the end
user such as RESET generation, POWER_GOOD status,
enabling of LDO’s, Watchdog Timeout assertion etc.
PDO’s 1- 4 have the added feature of being able to provide an internally charge pumped high voltage for use as
the gate drive of an external N- Channel FET which
could be placed in the path of one of the supplies being
supervised.
All of the inputs and outputs described above are controlled by the Programmable Logic Block Array. This is
the logic core of the ADM1060. It is comprised of 9
macrocells, one for each PDO. These macrocells are
essentially just wide AND gates. Any/all of the inputs can
be used as an input to these macrocells. The output of a
macrocell can also be used as an input to any macrocell
other than itself (an input to itself would result in a noterminating loop). The PLBA outputs control the PDO’s
of the ADM1060 via delay blocks, where a delay of between 0 and 500ms can be programmed on the rising and/
or the falling edge of the data. This results in a very flexible sequencing ability. Thus, for instance, PDO1 can be
programmed so that it will not assert until, say, VP2,
VP3and VP4 supplies are in tolerance, VB1 and VH have
been in tolerance for 200mS, and PDO7 has already been
asserted. A simple sequencing operation would be to
daisy chain each PLB output into the input of the next
PLB such that PDO9 doesn’t assert until PDO8 asserts,
which in turn doesn’t assert until PDO7 asserts etc.
All of the functional capability described here is programmable through the industry standard 2 wire bus (SMBus)
provided. Device settings can be written to EEPROM
memory for automatic programming of the device on
power-up. The EEPROM is organised in 512 bytes, half
of which are used to program all of the functions on the
ADM1060. The other 256 bytes of EEPROM are for
general purpose system use (eg) date codes, system ID etc.
Read/write access to this is also via the 2 wire interface.
In addition, each output state can be directly overdriven
from the serial interface, allowing a further level of control (eg) a system controlled soft powerdown.
–2–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
ADM1060
VH
VP1
VP2
VP3
VP4
VB1
VB2
GPI1
GPI2
GPI3
GPI4
WDI
GND
VCCP
PROGRAMMABLE
DELAY BLOCKS
PROGRAMMABLE
PDB1
LOGIC BLOCK
ARRAY
8
9
10
11
12
13
14
28
27
26
25
24
6
HIGH SUPPLY(14.4v)
FAULT DETECTOR
POSITIVE SUPPLY
FAULT DETECTOR 1
POSITIVE SUPPLY
FAULT DETECTOR 4
BIPOLAR SUPPLY
FAULT DETECTOR 1
BIPOLAR SUPPLY
FAULT DETECTOR 2
INPUT LOGIC
SIGNAL CONDITION
WATCHDOG FAULT
DETECTOR
VREF
(PLBA)
PLB
MACROCELL 1
PLB
MACROCELL 2
PLB
MACROCELL 3
PLB
MACROCELL4
PLB
MACROCELL 5
PLB
MACROCELL 6
PLB
MACROCELL 7
PLB
MACROCELL 8
PLB
MACROCELL 9
Internal
7
5.5V supply
T
RISETFALL
T
RISETFALL
T
RISETFALL
T
RISETFALL
T
RISETFALL
T
RISETFALL
T
RISETFALL
T
RISETFALL
T
RISETFALL
PDB2
PDB3
PDB4
PDB5
PDB6
PDB7
PDB8
PDB9
S
M
B
REGULATED
5.5V SUPPLY
CHARGE PUMP
Data, Address and
Write Enable Buses
to store control information
local to functions
U
S
D
A
T
V
DD
ARBITRATOR
SMBus INTERFACE
A
DEVICE
CONTROLLER
PROGRAMMABLE
DRIVER OUPUTS
PDO2
PDO3
PDO4
PDO5
PDO6
PDO8
1
0
0
K
H
z
C
L
O
C
K
PDO1
PDO7
PDO9
EEPROM
15
16
17
18
19
20
21
22
23
PDO1
PDO2
PDO3
PDO4
PDO5
PDO6
PDO7
PDO8
PDO9
REV. PrJ 11/02
5
4
SCL
SDA
A1
123
A0
VDDCAP
ADM1060 FUNCTIONAL BLOCK DIAGRAM
–3–
PRELIMINARY TECHNICAL D A T A
ADM1060–SPECIFICA TIONS
(VH=4.5V to 14.4V, VPn = 3.0V to 6.0V 2, TA = -40oC to 85oC, unless otherwise noted.)
ParameterMi nTypMaxUnitsTest Conditions/Comments
POWER SUPPLY ARBITRATION
VDDCAP2.7VAny VPn>=3.0V
2.7VH>=4.5V
4.755.1VAny VPn=6.0V
4.755.1VVH=14.4V
POWER SUPPLY
Supply Current, I
DD
Additional current available from VDDCAP1mAMax. additional load that can be
SUPPLY FAULT DETECTORS
VH Input
Input Impedance52k⍀From VH to GND
Threshold Ranges
Mid Range26V
Programming Step Size15.6mV
High Range4.814.4V
Programming Step Size37.6mV
VPn Inputs
Input Impedance52k⍀From VPn to GND
Threshold Ranges
Drivers on (loaded with 1A), no
PDO pullups to VDDCAP
drawn from PDO pullups to
VDDCAP
52k⍀From VBn to GND (positive mode)
30k⍀From VBn to GND (negative mode)
1.0%TA=0oC to 85oC, Threshold
Voltage>0.9V
Digital Glitch Filter0100sSee figure 3. 8 timeout options
between 0 and 100s
NOTES
1
These are target specifications and subject to change.
2
At least one VPn must be >=3.0V if used as supply. VH must be >=4.5V if used as supply.
3
Logic inputs will accept input high voltages up to 5.5V even when device is operating at supply voltages below 5V.
4
Calibrated Voltage Thresholds are set at Production.
–4–
REV.PrJ11/02
PRELIMINARY TECHNICAL DA T A
ADM1060–SPECIFICA TIONS
1
(VH=4.5V to 14.4V, VPn = 3.0V to 6.0V2, TA = -40oC to 85oC, unless otherwise noted.)
ParameterMinTypMaxUnitsTest Conditions/Comments
PROGRAMMABLE DRIVER
OUTPUTS
High Voltage (Charge Pump) Mode
(PDO’s 1 to 4)
Output Impedance, R
V
OH
OUT
10.512.514VIOH=0
1012VI
I
OUTAVG
Standard (Digital Output) Mode
(PDO’s 1 to 9)
V
OH
2.4VVPU(Pullup to VDDCAP or
V
V
OL
I
SINK
R
PULLUP-
I
SOURCE (VPn)
Weak Pull-up20k⍀Internal pullup
Tristate Output Leakage Current10AV
DIGITAL INPUTS
(GPI 1-4,WDI,A0,A1)
Input High Voltage, V
Input Low Voltage, V
Input High Current, I
Input Low Current, I
IL
IH
IL
IH
2.0VMax. VIN=5.5V
-1AVIN = 5.5V
Input CapacitanceTBDpF
Programmable Pulldown Current, I
PULLDOWN
SERIAL BUS DIGITAL INPUTS
(SDA,SCL)
Input High Voltage, V
Input Low Voltage, V
IH
IL
Output Low Voltage, V
OL
2.0V
PROGRAMMABLE DELAY BLOCK
Timeout0500ms16 programmable options on both
440k⍀
=1A
OH
20A2V<VOH<7V
VPn)=2.7V, I
4.5VV
-0.3VVPU<=2.7V, IOH=1mA
PU
to VPn=6.0V, IOH=0mA
PU
0.4VIOL=2mA
1.2VI
2.0VI
=10mA
OL
=15mA
OL
20mATotal Sink Current
2mACurrent Load on any VPn pull-ups
(ie) total source current available
through any number of PDO pull-up
switches configured on to any one
=14.4V
PDO
0.8VMax. VIN=5.5V
1AV
IN
= 0
10AIf known logic state required
0.8V
0.4VI
= -3.0mA
OUT
rising and falling edge
OH
=1mA
WATCHDOG TIMER INPUT
Timeout012.8s8 programmable timeout options
SERIAL BUS TIMING
Clock Frequency, f
Glitch Immunity, t
Bus Free Time, t
Start Setup Time, t
Start Hold Time, t
SCL Low Time, t
SCL High Time, t
SCL, SDA Rise Time, t
SCL, SDA Fall Time, t
Data Setup Time, t
Data Hold Time, t
NOTES
1
These are target specifications and subject to change.
2
At least one supply connected to VH or VPn must be >=3.0V
3
Logic inputs will accept input high voltages up to 5.5V even when device is operating at supply voltages below 5V.
4
Timing specifications are tested at logic levels of V
REV.PrJ 11/02
SCLK
SW
BUF
SU;STA
HD;STA
LOW
HIGH
SU;DAT
HD;DAT
4.7µsSee Figure 8c
4.7µsSee Figure 8c
4µsSee Figure 8c
4.7µsSee Figure 8c
4µsSee Figure 8c
r
f
250nsSee Figure 8c
300nsSee Figure 8c
= 0.8V for a falling edge and V
IL
–5–
400KHzSee Figure 8c
50nsSee Figure 8c
1000nsSee Figure 8c
300µsSee Figure 8c
= 2.2V for a rising edge.
IH
PRELIMINARY TECHNICAL D A T A
2
3
4
5
6
7
8
9
10
11
12
13
14
1
ADM1060
PDO9
GPI1
GPI2
GPI3
GPI4
WDI
GND
VDDCAP
PDO7
27
26
25
24
23
22
21
20
19
18
17
16
15
28
VH
VP1
VP2
VP3
VB1
PDO8
PDO6
PDO5
SCL
SDA
A1
A0
VCCP
PDO1
PDO2
VP4
VB2
PDO3
PDO4
ADM1060
PIN FUNCTION DESCRIPTION
PinMnemonicFunction
1A0Logic input. Controls the 7th bit (LSB) of the 7 bit Serial Bus Address.
2A1Logic input. Controls the 6th bit of the 7 bit Serial Bus Address.
3SDASerial Bus data I/O pin. Open- Drain output. Requires 2.2k pullup resistor
4SCLOpen- Drain Serial Bus Clock pin. Requires 2.2k pullup resistor
5VDDCAPV
6GNDGround. Connect to common of power supplies.
7VCCPReservoir Capacitor for Central Charge Pump. This charge pump powers all of the internal
8VHHigh Voltage Supply Input. 2 input ranges. A supply of between 2V and 6V or between
9-12VP1-4Positive Only Supply Inputs. 2 input ranges. A supply of between 1V and 3V or between
13-14VB1-2Bipolar Supply Inputs. 2 modes. 2 input ranges in positive mode. 1 input range in negative
15-23PDO_1-9Programmable Driver Output pin. All 9 can be programmed as logic outputs with multiple
24WDIWatchdog Input. Used to monitor a processor clock and asserts a fault condition if the clock
25-28GPI_4-1General Purpose Logic Input. TTL compatible Logic. Can be used as, say, aManual
Reset,a Chip Enable pin or as an input for a control logic signal which may be critical to the power
bypass capacitor pin. A capacitor from this pin to GND stabilises the VDD Arbitrator.
DD
0.1F is recommended for this function.
circuits of the ADM1060 and provides the first stage in the tripler circuits used to produce
12V of gate drive on PDO’s 1- 4.
4.8V and 14.4V can be applied to this pin. The VDD arbitrator will select this supply to power
the ADM1060 if it is the highest supply supervised.
2V and 6V can be applied to this pin. The V
arbitrator will select one of these supplies to
DD
power the ADM1060 if it is the highest supply supervised.
mode. A supply of between -6V and -2V can be applied to this pin when set in negative mode.
A supply of between 1V and 3V or between 2V and 6V can be applied to this pin when set in
positive mode.
pull-up options to VDD or VPn. PDO’s 1 to 4 can also provide a charge-pump generated
gate drive for external N- Channel FET
fails to transition from low-to-high or high-to-low within a programmed timeout period (up to
18sec).
*Stresses above those listed under “Absolute Maximum Ratings” may
cause permanent damage to the device. This is a stress rating only;
functional operation of the device at these or any other conditions above
those indicated in the operational section of this specification is not
implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.
THERMAL CHARACTERISTICS
28-Pin TSSOP Package:
⍜
JA
= 98°C/Watt
+0.3V)
CC
DRAFT
PINOUT
ADM1060 PIN CONFIGURATION
ORDERING GUIDE
TemperaturePackagePackage
ModelRangeDescriptionOption
ADM1060ARU -40°C to +85°C28-PinTSSOPRU-28
–6–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
ADM1060 INPUTSADM1060
ADM1060 INPUTS
POWERING THE ADM1060
The ADM1060 is powered from the highest voltage input
on either the Positive Only supply inputs (VPn) or the
High Voltage supply input (VH). The same pins are used
for supply fault detection (discussed below) . A V
DD
Arbitrator on the device chooses which supply to use. The
arbitrator can be considered to be diode OR’ing the positive supplies together (as shown in figure 1). In addition
to this, the diodes are supplemented with switches in a
synchronous rectifier manner, to minimise voltage loss.
This loss can be reduced to ~0.2V, resulting in the ability
to power the ADM1060 from a supply as low as 3.0V.
Note that the supply on the VBn pins cannot be used to
power the device, even if the input on these pins is positive. Also, the minimum supply of 3.0V must appear on
one of the VPn pins in order to power up the ADM1060
correctly. A supply of no less than 4.5V can be used on
VH. This is because there is no synchronous rectifier
circuit on the VH pin, resulting in a voltage drop of ~1.5V
across the diode of the V
Arbitrator.
DD
An external cap to GND is required to decouple the onchip supply from noise. This cap should be connected to
the VDDCAP pin, as shown in figure 1. The cap has
another use during “brown outs” (momentary loss of
power). Under these conditions, where the input supply,
VPn, dips transiently below V
switch immediately turns off so that it doesn’t pull V
, the synchronous rectifier
DD
DD
down. The VDD cap can then act like a reservoir and keep
the chip active until the next highest supply takes over the
powering of the device. 0.1F is recommended for this
function.
Note that in the case where there are 2 or more supplies
within 100mV of each other, the supply which takes control of V
nected to a 3.3V supply, then V
first will keep control (e.g) if VP1 is con-
DD
will power up to
DD
approximately 3.1V through VP1. If VP2 is then connected to another 3.3V supply, VP1 will still power the
device, unless VP2 goes 100mV higher than VP1.
VH
PROGRAMMABLE SUPPLY FAULT DETECTORS
(SFD’S)
The ADM1060 has seven programmable Supply Fault
Detectors, 1 high voltage detector (2V to 14.4V), 2 bipolar detectors (2V to 6V, -2V to -6V) and 4 Positive only
voltage detectors (0.6V to 6V). Inputs are applied to these
detectors via the VH (High Voltage Supply input) pin,
VBn (Bipolar Supply input) pins and VPn (Positive Only
input) pins respectively. The SFD’s detect a fault condition on any of these input supplies. A fault is defined as
Undervoltage (where the supply drops below a
preprogrammed level), Overvoltage (where the supply
rises above a preprogrammed level) or Out-of-Window
(where the supply deviates outside either the programmed
overvoltage OR undervoltage threshold). Only one fault
type can be selected at a time.
An Undervoltage fault is detected by comparing the input
supply to a programmed reference (the undervoltage
threshold). If the input voltage drops below the
undervoltage threshold the output of the comparator goes
high, asserting a fault. The undervoltage threshold is
programmed using an 8 bit DAC. On a given range, the
UV threshold can be set with a resolution of:-
Step Size = Threshold Range/255
An Overvoltage (OV) fault is detected in exactly the same
way, using a second comparator and DAC to program the
reference.
All thresholds are programmed using 8 bit registers, one
register each for the 7 UV thresholds and 1 each for the 7
OV thresholds. The UV or OV threshold programmed by
the user is given by:-
V
= VR x N + V
T
B
255
where:V
= Desired Threshold Voltage (UV or OV)
T
V
= Threshold Voltage Range
R
N = Decimalized version of 8 bit code
V
= Bottom of Threshold Range
B
This results in the code for a given threshold being given
by:-
N=255 x (V
- VB)/V
T
R
VP1
VP2
VP3
VP4
Figure 1. VDD Arbitrator Operation
REV. PrJ 11/02
Limit current
surge to VDDI/
decoupling cap
VDDCAP pin
Off -chip
decoupling
capacitor
VDDI
Thus, for example, if the user wishes to set a 5V OV
threshold on VP1, the code to be programmed in the
PS1OVTH register (discussed later) would be given by:-
N=255 x (5-2)/4
–7–
PRELIMINARY TECHNICAL DA T A
ADM1060ADM1060 INPUTS
Thus, N=192 (11000000 or C0H)
The available threshold ranges, and the resolution they are
programmed to are shown in table 1. Note that the low
end of the detection range is fixed to 33.33% of the top of
the range. Note also, that for a given SFD, the ranges
overlap (eg) VH goes from 2V to 6V then from 4.8V to
14.4V. This is to provide better threshold setting resolution as supplies decrease in value.
Input NameVoltage RangesResolution
VH4.8V to 14.4V37.6mV
2V to 6V15.6mV
VBn2V to 6V15.6mV (Pos. Mode)
1V to 3V7.8mV“
-6V to -2V15.6mV (Neg. Mode)
VPn2V to 6V15.6mV
1V to 3V7.8mV
0.6V to 1.8V4.7mV
Table 1. Input threshold Ranges and Resolution
.
Figure 2 illustrates the function of the programmable
SFD (for the case of a positive supply).
The OV and UV comparators, shown in figure 1, are always looking at VPn via a potential divider. In order to
avoid chattering (multiple transitions when the input is
very close to the threshold level set), these comparators
have digitally progammable hysteresis. The UV and OV
hysteresis can be programmed in two registers which are
similar but separate to the UV or OV threshold registers.
Only the 5 LSB’s of these registers can be set. The
hysteresis is added after the supply voltage goes out of
tolerance. Thus, the user can determine how much above
the UV threshold the input must rise again before a UV
fault is de-asserted. Similarly, the user can determine
how much below the OV threshold the input must fall
again before an OV fault is de-asserted. The hysteresis
figure is given by:-
V
H=VR
x N
THRESH
/255
where:-
V
= Desired Hysteresis Voltage
H
N
= Decimalized version of 5 bit hysteresis code
THRESH
Therefore, if the low range threshold detector was selected
(ie) 1V to 3V (V
(3V-1V) x 31/255 = 242mV (2
), the max hysteresis is then defined as:-
R
5
-1 =31)
The hysteresis programming resolution is the same as the
threshold detect ranges (ie) 37.5mV on the high range,
15.6mV on the mid range, 7.8mV on the low range and
4.7mV on the ultra low range.
BIPOLAR SFD’S
The 2 bipolar SFD’s also allow the detection of faults on
negative supplies. A polarity bit in the setup register for
this SFD (bit 7- register BSnSEL- see register map
overleaf) determines if a positive or negative input should
be applied to VBn. Only 1 range (-6V to -2V) is available
when the SFD’s are in negative mode. Note that the bipolar SFD’s cannot be used to power the ADM1060, even
if the voltage on VBn is positive.
SFD FAULT TYPES
3 types of faults can be asserted by the SFD- 1) An OV
fault, 2) an UV fault and 3) an out-of-window fault (where
the UV and OV faults are OR’ed together). The type of
fault required is programmed using the Fault Type Select
bits (bits 0,1- Register _SnSEL). If an application requires separate fault conditions to be detected on one supply (eg) assert PDO1 if an UV fault occurs on a 3.3V
supply, assert PDO9 if an OV fault occurs on the same
3.3V supply, that supply will need to be applied to more
than one input pin.
GLITCH FILTERING ON THE SFD’S
The final stage of the SFD is a glitch filter. This block
provides time domain filtering on spurious transitions of
the SFD fault output. These could be caused by bounce
on a supply at its initial turn- on. The comparators of the
SFD can have hysteresis digitally programmed into them
to ensure smooth transitions but further deglitching is
provided by the glitch filter stage. A fault must be asserted for greater than the programmed Glitch Filter
timeout before it is seen at the output of the glitch filter.
The max. programmable timeout period is 100s. Both
edges of the input are filtered by the same amount of time,
so if the input pulse is longer than the glitch filter timeout
and is seen at the output, the length of the output pulse is
the same as the input pulse. If the input pulse is shorter
than the programmed timeout, then nothing appears at the
output. Figure 2 shows the implementation of glitch filtering.
–8–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
ADM1060 INPUTSADM1060
PROGRAMMING THE SFD’S ON THE SMBUS
The details of using the SMBus are described later, but
the register names associated with the Supply Fault Detector blocks, the bitmap of those registers, and the function
of each of the bits is described in the following tables.
The tables show how to set up UV threshold, UV hysteresis, OV threshold, OV hysteresis, glitch filtering and
fault type for each of the SFD’s on the ADM1060.
PROGRAMMED TIMEOUT
T
0
GLITCH FILTER INPUT
T
GF
PROGRAMMED TIMEOUT
T
0
T
GF
T
0
T
GF
GLITCH FILTER OUTPUT
T
0
T
GF
Figure 3 . Glitch Filtering on the SFD’s
SFD REGISTER NAMES
TABLE 2. LIST OF REGISTERS FOR THE SUPPLY FAULT DETECTORS
HexTableNameDefaultDescription
AddressPower On Value
A03BS1OVTHFFhOvervoltage Threshold for Bipolar Voltage SFD1 (BS1SFD)
A14BS1OVHYST00hDigital Hysteresis on OV threshold for BS1SFD
A25BS1UVTH00hUndervoltage Threshold for BS1SFD
A36BS1UVHYST00hDigital Hysteresis on UV threshold for BS1SFD
A47BS1SEL00hGlitch filter, Range and Fault Type select for BS1SFD
A83BS2OVTHFFhOvervoltage Threshold for Bipolar Voltage SFD2 (BS2SFD)
A94BS2OVHYST00hDigital Hysteresis on OV threshold for BS2SFD
AA5BS2UVTH00hUndervoltage Threshold for BS2SFD
A B6BS2UVHYST00hDigital Hysteresis on UV threshold for BS2SFD
A C7BS2SEL00hGlitch filter, Range and Fault Type select for BS2SFD
B08HSOVTHFFhOvervoltage Threshold for High Voltage SFD(HVSFD)
B19HSOVHYST00hDigital Hysteresis on OV threshold for HVSFD
B210HSUVTH00hUndervoltage Threshold for HVSFD
B311HSUVHYST00hDigital Hysteresis on UV threshold for HVSFD
B412HSSEL00hGlitch filter, Range and Fault Type select for HVSFD
B813PS1OVTHFFhOvervoltage Threshold for Positive Voltage SFD1 (PS1SFD)
B914PS1OVHYST00hDigital Hysteresis on OV threshold for PS1SFD
B A15PS1UVTH00hUndervoltage Threshold for PS1SFD
B B16PS1UVHYST00hDigital Hysteresis on UV threshold for PS1SFD
B C17PS1SEL00hGlitch filter, Range and Fault Type select for PS1SFD
C013PS2OVTHFFhOvervoltage Threshold for Positive Voltage SFD2 (PS2SFD)
C114PS2OVHYST00hDigital Hysteresis on OV threshold for PS2SFD
REV. PrJ 11/02
–9–
PRELIMINARY TECHNICAL DA T A
ADM1060ADM1060 INPUTS
TABLE 2. LIST OF REGISTERS FOR THE SUPPLY FAULT DETECTORS (Contd.)
HexTableNameDefaultDescription
AddressPower On Value
C215PS2UVTH00hUndervoltage Threshold for PS2SFD
C316PS2UVHYST00hDigital Hysteresis on UV threshold for PS2SFD
C417PS2SEL00hGlitch filter, Range and Fault Type select for PS2SFD
C813PS3OVTHFFhOvervoltage Threshold for Positive Voltage SFD3 (PS3SFD)
C914PS3OVHYST00hDigital Hysteresis on OV threshold for PS3SFD
C A15PS3UVTH00hUndervoltage Threshold for PS3SFD
C B16PS3UVHYST00hDigital Hysteresis on UV threshold for PS3SFD
C C17PS3SEL00hGlitch filter, Range and Fault Type select for PS3SFD
D013PS4OVTHFFhOvervoltage Threshold for Positive Voltage SFD4 (PS4SFD)
D114PS4OVHYST00hDigital Hysteresis on OV threshold for PS4SFD
D215PS4UVTH00hUndervoltage Threshold for PS4SFD
D316PS4UVHYST00hDigital Hysteresis on UV threshold for PS4SFD
D417PS4SEL00hGlitch filter, Range and Fault Type select for PS4SFD
–10–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
ADM1060 INPUTSADM1060
SFD REGISTER BITMAPS
BIPOLAR SUPPL Y FAIL DETECT (BSnSFD) REGISTERS
TABLE 3. REGISTER A0H,A8H BSnOVTH (POWER- ON DEFAULT FFH)
BitNameR/WDescription
7-0OV7-OV0R/W8 bit digital value for overvoltage threshold on BSn SFD.
TABLE 4. REGISTER A1H,A9H BSnOVHYST (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedN/ACannot be used
4-0HY4-HY0R/ W5 bit digital value for hysteresis on OV threshold of BSn SFD
TABLE 5. REGISTER A2H,AAH BSnUVTH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-0UV7-UV0R/W8 bit digital value for undervoltage threshold on BSn SFD
TABLE 6. REGISTER A3H,ABH BSnUVHYST (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedN/ACannot be used
4-0HY4-HY0R/ W5 bit digital value for hysteresis on UV threshold of BSn SFD
TABLE 7. REGISTER A4H,ACH BSnSEL (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7POLR/WPolarity of Bipolar SFDn
POLSign of Detection Range
0Positive
1Negative
6-4GF2-GF0R/WGF2GF1GF0Glitch Filter Delay (
0000
0015
01010
01120
10030
10150
11075
111100
3ReservedN /ACannot be used
2RSELR/WNote: When POL is set to 1 (ie) SFD is in negative mode, then
RSEL is unused since there is only one range in this mode.
RSEL1 Bottom ofTop ofStep Size (mV)
RangeRange
01V3V7.8
12V6V15.6
1-0FS1-FS0R/WFS1FS0Fault Select Type
00Overvoltage
01Undervoltage
10Out-of-Window
11Not Allowed
s)
REV. PrJ 11/02
–11–
PRELIMINARY TECHNICAL DA T A
ADM1060ADM1060 INPUTS
HIGH VOLTAGE SUPPLY FAULT DETECT (HVSFD) REGISTERS
TABLE 8. REGISTER B0H HSOVTH (POWER- ON DEFAULT FFH)
BitNameR/WDescription
7-0OV7-OV0R/W8 bit digital value for overvoltage threshold on HV SFD.
TABLE 9. REGISTER B1H HSOVHYST (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedN/ACannot be used
4-0HY4-HY0R/ W5 bit digital value for hysteresis on OV threshold of HV SFD
TABLE 10. REGISTER B2H HSUVTH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-0UV7-UV0R/W8 bit digital value for undervoltage threshold on HV SFD
TABLE 11. REGISTER B3H HSUVHYST (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedN/ACannot be used
4-0HY4-HY0R/ W5 bit digital value for hysteresis on UV threshold of HV SFD
TABLE 12. REGISTER B4H HSSEL (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedN /ACannot be used
6-4GF2-GF0R/WGF2GF1GF0Glitch Filter Delay (
0000
0015
01010
01120
10030
10150
11075
111100
3ReservedN /ACannot be used
2RSELWRSELBottom ofTop ofStep Size (mV)
RangeRange
02V6V15.6
14.8V14.4V37.6
1-0FS1-FS0WF S1FS0Fault Select Type
00Overvoltage
01Undervoltage
10Out-of-Window
11Not Allowed
s)
–12–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
ADM1060 INPUTSADM1060
POSITIVE VOL T AGE SUPPL Y FA ULT DETECT (PSNSFD) REGISTERS
TABLE 13. REGISTER B8H,C0H,C8H,D0H PSNOVTH (POWER- ON DEFAULT FFH)
BitNameR/WDescription
7-0OV7-OV0R/W8 bit digital value for overvoltage threshold on PSn SFD.
TABLE 14. REGISTER B9H,C1H,C9H,D1H PSnOVHYST (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedN/ACannot be used
4-0HY4-HY0R /W5 bit digital value for hysteresis on OV threshold of PSn SFD
TABLE 15. REGISTER BAH,C2H,CAH,D2H PSnUVTH (POWER- ON DEFAULT 00H)
BitNameWDescription
7-0UV7-UV0R/W8 bit digital value for undervoltage threshold on PSn SFD
TABLE 16. REGISTER BBH,C3H,CBH,D3H PSnUVHYST (POWER- ON DEFAULT 00H)
BitNameWDescription
7-5ReservedN/ACannot be used
4-0HY4-HY0R /W5 bit digital value for hysteresis on UV threshold of PSn SFD
TABLE 17. REGISTER BCH,C4H,CCH,D4H PSnSEL (POWER- ON DEFAULT 00H)
The ADM1060 has a Watchdog Fault Detector. This can
be used to monitor a processor clock to ensure normal
operation. The detector monitors the WDI pin, expecting
there to be a low-to-high or high to low transition within a
preprogrammed period. The watchdog timeout period
can be programmed from 200msec to a maximum of
12.8sec.
can also be inverted, if required (eg) if a high- low- high
pulse was required by a processor to reset. Thus, a fault
on the watchdog can be used to generate a pulsed or
latched output on any or all of the 9 PDO’s.
The latched signal can be cleared low by reading LATF1,
then LATF2 across the SMBus interface (see Fault Registers section). The RAM register list and the bit map for
the Watchdog Fault Detector are shown below.
If no transition is detected, 2 signals are asserted. One is
a latched high signal, indicating a fault has occurred. The
other signal is a low- high- low pulse which can be used as
a RESET signal for a processor core. The width of this
pulse can be programmed (from 10s to a maximum of
10ms). These two Watchdog signals can be selected as
inputs to each of the PLB’s (see PLBA section). They
TABLE 18. LIST OF REGISTERS FOR WATCHDOG FAULT DETECTOR
HexTableNameDefa u ltDescription
AddressPower On Value
9C19WDCFG00hProgram length Watchdog timeout and length of pulsed output
TABLE 19. REGISTER 9CH WDCFG (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedR/ WUnused
4-3PULS1-PULS0R/WLength of pulse outputted once the Watchdog Detector has timed out
filter can be used to debounce a Manual Reset switch.
The length of the glitch filter can also be programmed.
(GPI’s). These are TTL/CMOS logic level compatible.
Standard logic signals can be applied to the pins (eg)
RESET from reset generators, PWRGOOD signals, Fault
flags, Manual Resets etc. These signals can be gated with
the other inputs supervised by the ADM1060, and used to
control the status of the PDO’s. The inputs can be simply
buffered, or a logic transition can be detected and a pulse
output generated. The width of this pulse is
programmable from 10s to a maximum of 10ms. The
configuration of the GPI’s is shown in the register and
bitmaps below.
The GPI’s also feature a glitch filter, similar to that
provided on the SFD’s. This enables the user to ignore
LOGIC STATE OF THE GPI’S (AND OTHER LOGIC
INPUTS)
Each of the GPI’s has a weak (10A) pull-down current
source. The current sources can be connected to the
inputs by progamming the relevant bit in a register
(PDEN). This enables the user to control the condition
of these inputs, pulling them to GND, even when they are
unused or left floating.
Note that the same pull- down function is provided for the
SMBus address pins, A0 and A1 and for the WDI pin. A
register is used to program which of the inputs is
connected to the current sources.
spurious transitions on the GPI’s. For example, the glitch
TABLE 20. LIST OF REGISTERS FOR THE GENERAL PURPOSE INPUTS (GPIN)
HexTableNameDefaultDescription
AddressPower On Value
98GPI4CFG00hSetup of the glitch filter delay, pulse width, level/edge
detection etc. configuration of GPI4
99GPI3CFG00hSetup of the glitch filter delay, pulse width, level/edge
detection etc. configuration of GPI3
9AGPI2CFG00hSetup of the glitch filter delay, pulse width, level/edge
detection etc. configuration of GPI2
9 BGPI1CFG00hSetup of the glitch filter delay, pulse width, level/edge
detection etc. configuration of GPI1
TABLE 21. BIT MAP FOR GPInCFG REGISTERS (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedN /ACannot be used
6INVINR/WIf high, invert Input
5INTYPR/WDetermines whether a level or an edge is detected on the pin. If an edge
is detected then positive pulse of programmable length is outputted
INTYPDetect
0Detect level
1Detect edge
4-3PULS1-0R/WLength of pulse outputted once an edge has been detected on input
PULS1 PULS0Pulse Length Selected (
0010
01100
101000
1110000
2-0GF2-GF0R/WLength of time for which the input is ignored
GF2GF1GF0Glitch Filter Delay (
0000
0015
01010
01120
10030
10150
11075
111100
REV. PrJ 11/02
–15–
s)
s)
PRELIMINARY TECHNICAL DA T A
ADM1060ADM1060 INPUTS
TABLE 22. LIST OF REGISTERS FOR THE PULL- DOWN CURRENT SOURCES ON LOGIC INPUTS
HexTableNameDefaultDescription
AddressPower On Value
91PDEN00hSetup of the Pull- down current sources on all logic
inputs. Pulls the selected input to GND
TABLE 23. BIT MAP FOR PDEN REGISTER- 91H (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedN /ACannot be used
6PDENA1R/WIf high, then address pin A1 is pulled to GND using a 10uA pull- down
current source.
5PDENA0R/WIf high, then address pin A0 is pulled to GND using a 10uA pull- down
current source.
4PDENWDIR/WIf high, then WDI is pulled to GND using a 10A pull- down
current source.
3PDENGPI4R/ WIf high, then GPI4 is pulled to GND using a 10A pull- down
current source.
2PDENGPI3R/ WIf high, then GPI3 is pulled to GND using a 10A pull- down
current source.
1PDENGPI2R/ WIf high, then GPI2 is pulled to GND using a 10A pull- down
current source.
0PDENGPI1R/ WIf high, then GPI1 is pulled to GND using a 10A pull- down
current source.
–16–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
PROGRAMMING ADM1060ADM1060
PROGRAMMABLE LOGIC BLOCK ARRAY
The ADM1060 contains a Programmable Logic Block
Array (PLBA). This block is the logical core of the
device. The PLBA (and the PDBs- see next section) is
what provides the sequencing function of the ADM1060.
The assertion of the 9 Programmable Driver Outputs
(PDO) is controlled by the PLBA. The PLBA comprises
of 9 macrocells, 1 per PDO Channel. The main
components of the macrocells are 2 Wide AND- OR
gates, as shown in Figure 4. Each AND gate represents a
function (A and B) which can be used independently to
control the assertion of the PDO pin. There are 21 inputs
to each of these AND gates. These are:-
• The logic outputs of all 7 of the Supply Fault Detectors
• The 4 GPI logic inputs
• The Watchdog fault detector (Latched and Pulsed)
• The delayed output of any of the other macrocells (the
output of a macrocell cannot be an input to itself, since
this would result in a non- terminating loop).
All 21 inputs are hardwired to both function A and
function B AND gates. The user can then select which of
these inputs controls the output. This is done using 2
control signals, IMK (a masking bit, setting it ignores the
relevant input) and POL (a polarity bit, setting it inverts
the input before it is applied to the AND gate). The effect
of setting these bits can be seen in figure 4 below. The
SIGNAL INPUTS
POL (INVERT)
IMK ( IGNORE)
ENABLE
FUNCTION A
inverting gate shown is an X-OR gate, resulting in the
following truth table:-
POLINPUT SIGNALX-OR OUTPUT
000
011
101
110
Table 25. Truth Table for PLB Input Inversion
The last 2 entries in the truth table show, that with the
INVERT bit set, the X-OR output is always the inverse of
the input.
Similarly, the ignore gate shown is an OR gate, resulting
in the following truth table:-
IMKINPUT SIGNALOR OUTPUT
000
011
101
111
Table 26 Truth Table for PLB Input Masking
It can be seen here that once the IMK bit is set the OR
output is always 1, regardless of the input, thus ignoring
it. Overleaf is a detailed diagram of the 21 inputs and the
registers required to program them. Those shown are just
for function A of PLB1 but function B and all of the
functions in the other 8 PLB’s are programmed exactly the
same way. An Enable register allows the user to use
function A or B or both. The output of functions A and/
or B is inputted to a Programmable Delay Block (PDB)
where a delay can be programmed on both the rising and
falling edge of an input (see next section). The output of
this PDB block can be progammed to invert before one or
any of the PDO pins is asserted.
The control bits for these macrocells are stored locally in
latches which are loaded at power up. These latches can
also be updated via the serial interface. The registers
containing the macrocell control bits, and the function of
each bit are defined in the tables overleaf.
TABLE 32. BIT MAP FOR PnGPIPOL REGISTERS (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-4APOL4-APOL1R/WIf high, invert the GPIn input before it is used in function A
3-0BPOL4-BPOL1R/ WIf high, invert the GPIn input before it is used in function B
TABLE 33. BIT MAP FOR PNGPIIMK REGISTERS (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-4AIMK4-AIMK1R/WIf high, mask the GPIn input before it is used in function A
3-0BIMK4-BIMK1R/WIf high, mask the GPIn input before it is used in function B
TABLE 34. PnWDICFG REGISTERS 06H,16H,26H,36H,46H,56H,66H,76H,86H (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7APOLP R/WIf high, invert the pulsed WDI input before it is used in function A
6AIMK P R /WIf high, mask the pulsed WDI input before it is used in function A
5APOLL R/WIf high, invert the latched WDI input before it is used in function A
4AIM KL R /WIf high, mask the latched WDI input before it is used in function A
3BPOL P R /WIf high, invert the pulsed WDI input before it is used in function B
2BIMKP R/WIf high, mask the pulsed WDI input before it is used in function B
1BPOLL R/WIf high, invert the latched WDI input before it is used in function B
0BIMKL R/WIf high, mask the latched WDI input before it is used in function B
TABLE 35. PnEN REGISTERS 07H,17H,27H,37H,47H,57H,67H,77H,87H (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-3Reserved N/ACannot be used
2INVOP R/WIf high, invert the PLB output
1ENAR/WIf high, enable function A
0ENBR/WIf high, enable function B
–26–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
ADM1060 LOGICADM1060
PROGRAMMABLE DELAY BLOCK
Each output of the PLBA is fed into a separate Programmable Delay Block (PDB). The PDB enables the user to
add a delay to the logic block output before it is applied to
either a PDO or one of the other PLB’s (the output of a
PLB can be the input to any of the other PLB’s- not itself). The PDB operation is similar to that of the glitch
filter (discussed in the SFD section). There is an important difference between the 2 functions, however. The
delay on the falling edge of an input to the PDB can be
programmed independently of the rising edge. This allows the user to program the length of the pulse outputted
from the PDB. Thus, for instance, the width of the pulse
from the Watchdog Fault Detector can be adjusted, or the
user can ensure that a supply supervised by one of the
SFD’s is within its UV/OV range for a programmed period of time before asserting a PDO. A delay of between
0ms and 500ms can be programmed in the PnPDBTIM
registers. 4 bits each are used to program the rising edge
and falling edge. Once programmed, the PDB operates as
follows. If the user programs a delay on the rising edge
of, say, 200ms, the PDB looks for a rising edge on the
input. Once it sees the edge it starts a timer. If the input
remains high and the timer reaches 200ms, then the PDB
immediately outputs a rising edge. If the input falls low
before the timer has reached 200ms then no edge is outputted from the PDB and the timer is reset. Because there
is separate control over the falling edge, if no delay is
programmed on the falling edge, the delay defaults to 0
and a falling edge on the input will immediately appear on
the output. If a falling edge delay is programmed, then
the PDB operates exactly the opposite to the way it does
for a rising edge. Again, if a delay of, say, 200ms is programmed on the falling edge, the PDB looks for a falling
edge on the input. Once it sees the edge, it again starts a
timer. If the input remains low and the timer reaches
200ms, then the output transitions from high to low. A
valid rising edge must appear at the output before a falling
edge delay can be activated. The function of the PDB is
illustrated in figure 6 below.
Aside from the extra timing flexibility offered, the programmable delay also provides a crude form of filtering.
In much the same way as the Glitch Filter operates, an
input must be high (or low) for a programmed period of
time before being seen on the output. Transients which
are shorter that the programmed timeouts will not appear
on the output. The bitmap for the register which controls
both the rising and falling edges is shown overleaf:-
PROGRAMMED RISETIME
T
0
T
0
T
RISE
T
RISE
PDB INPUT
PDB OUTPUT
PROGRAMMED RISETIME
T
0
T
0
PROGRAMMED FALLTIME =0
T
T
RISE
FALL
T
RISETFALL
PROGRAMMING RISE TIME ONLY
PDB INPUT
PROGRAMMED RISETIME
T0T
T
T
0
PROGRAMMED FALLTIME
RISE
RISE
T
T
FALL
1
T
T
FALL
1
PDB OUTPUT
PROGRAMMED RISETIME
T0T
T
0
PROGRAMMED FALLTIME
RISE
T
RISE
T
1
T
1
T
FALL
T
FALL
PROGRAMMING RISE TIME AND FALL TIME
Figure 6. Functionality of the Programmable Delay Block (PDB)
REV. PrJ 11/02
–27–
PRELIMINARY TECHNICAL DA T A
ADM1060ADM1060 LOGIC
TABLE 36. LIST OF REGISTERS FOR PROGRAMMABLE DELAY BLOCK (PDB)
HexTableNameDe fa ul tDescription
Addr.Power On Value
0 C37P1PDBTIM00hDelay for PDB1. Delay for rising edge and falling edge pro
grammed separately.
1 C37P2PDBTIM00hDelay for PDB2. Delay for rising edge and falling edge pro
grammed separately.
2C37P3PDBTIM00hDelay for PDB3. Delay for rising edge and falling edge prog
rammed separately.
3 C37P4PDBTIM00hDelay for PDB4. Delay for rising edge and falling edge pro
grammed separately.
4 C37P5PDBTIM00hDelay for PDB5. Delay for rising edge and falling edge pro
grammed separately.
5 C37P6PDBTIM00hDelay for PDB6. Delay for rising edge and falling edge pro
grammed separately.
6 C37P7PDBTIM00hDelay for PDB7. Delay for rising edge and falling edge pro
grammed separately.
7 C37P8PDBTIM00hDelay for PDB8. Delay for rising edge and falling edge pro
grammed separately.
8 C37P9PDBTIM00hDelay for PDB9. Delay for rising edge and falling edge pro
The ADM1060 has 9 Programmable Driver Outputs
(PDO’s). These are the logic outputs of the device. Each
PDO is normally controlled by a PDB. Thus, the PDO’s
can be set up assert when the conditions on the PDB are
met (eg) the SFD’s are in tolerance, the levels on the GPI
are correct, the Watchdog timer has not timed out etc.
The PDO’s can be used for a number of functions (eg)
provide a POWER_GOOD signal when all the SFD’s are
in tolerance, provide a reset generator output if one of the
SFD’s goes out of spec. (which can be used as a status
signal for a DSP or other microprocessor), provide enable
signals for LDO’s on the supplies that the ADM1060 is
supervising etc.
There are a number of pull up options on the PDO’s to
enable the user to program the output level.
The outputs can be programmed to be:-
•Open Drain (allows the user to connect an external
pull- up resistor)
• Open Drain with weak internal pull-up to V
• Open Drain with strong internal pull-up to V
• Open Drain with weak internal pull-up to VP_n
• Open Drain with strong internal pull-up to VP_n
• Internally charge-pumped high drive (+12V)
The last option is only available on PDO1- 4. This allows
DD
DD
the user to directly drive the gate of an N- Channel FET
in the path of a power supply. The required pull- up is
selected by programming bits 0 to 3 in PnPDOCFG
appropriately (see table overleaf).
The data driving each of the PDO’s can come from one of
3 inputs. These inputs are enabled by a bit each in the
PnPDOCFG registers. The inputs are:-
• The (delayed) output from the associated PLB (enabled
by setting bit CFG4 to 1)
• Data which is driven directly over the SMBus interface
(enabled by setting bit CFG5 to1). When set in this
mode, the data from the PDB is disabled and the data on
the PDO is the data on CFG4. Thus the PDO can be
software controlled (eg) to initiate a software power up/
powerdown.
• An On- Chip Clock (enabled by setting bit CFG6 to1).
A 100KHz clock is available to clock an external device
(eg) a LED.
More detail of these data modes is given in the register
map overleaf.
The default setup of each of the PDO’s is to be pulled low
by a weak (20k⍀) pulldown resistor. This is also the setup
of the PDO’s on power- up until the registers are loaded
and the programmed conditions are latched. The outputs
are actively pulled low once 1V or greater is seen at any of
VPn or VH. Until there is a 1V supply on the chip the
outputs are high impedance. This provides a known
condition for the PDO’s during power- up. The pulldown
can be overdriven if required (eg) tie an external pull- up
resistor to the PDO to ensure that the gate of a PMOS
device was not turned on.
The register list and the bit map for the PDO’s is shown
below.
PDB_OUT
CFG4
M_CLK
REV. PrJ 11/02
CFG4
CFG5
CFG6
VP4
–29–
VP1
10V
10V
20kV
20kV
SEL
Figure 7. Programmable Driver Output
VFET (PDO1-4 ONLY)
V
DD
10V
20kV
PDO
20kV
PRELIMINARY TECHNICAL D A T A
ADM1060 ADM1060 OUTPUTS
TABLE 38. LIST OF REGISTERS FOR THE PROGRAMMABLE DRIVER OUTPUTS
HexTableNameDefaultDescription
AddressPower On Value
0D39P1PDOCFG00hSelects the format of the PDO1 output (open drain, open
drain with internal pull-up, charge pumped etc.)
1D39P2PDOCFG00hSelects the format of the PDO2 output (open drain, open
drain with internal pull-up, charge pumped etc.)
2D39P3PDOCFG00hSelects the format of the PDO3 output (open drain, open
drain with internal pull-up, charge pumped etc.)
3D39P4PDOCFG00hSelects the format of the PDO4 output (open drain, open
drain with internal pull-up, charge pumped etc.)
4D39P5PDOCFG00hSelects the format of the PDO5 output (open drain, open
drain with internal pull-up etc.).
output is not available on this driver
5D39P6PDOCFG00hSelects the format of the PDO6 output (open drain, open
drain with internal pull-up etc.).
output is not available on this driver
6D39P7PDOCFG00hSelects the format of the PDO7 output (open drain, open
drain with internal pull-up etc.).
output is not available on this driver
7D39P8PDOCFG00hSelects the format of the PDO8 output (open drain, open
drain with internal pull-up etc.).
output is not available on this driver
8D39P9PDOCFG00hSelects the format of the PDO9 output (open drain, open
drain with internal pull-up etc.).
output is not available on this driver
Note: Charge Pumped
Note: Charge Pumped
Note: Charge Pumped
Note: Charge Pumped
Note: Charge Pumped
TABLE 39. REGISTER 0DH,1DH,2DH,3DH,4DH,5DH,6DH,7DH,8DH PnPDOCFG (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedN/ACannot be used
6-4CFG6-CFG4R/WControl the logical state of the PDO. These three bits deter
mine what effect, if any, the logical input to the PDO has on its output
CFG6CFG5CFG4PDOState
0000Disabled, with weak pull-down
001PLB_OUTEnabled, follows PLB Logic Output
0100Enable SMBus Data, Drive Low
0111Enable SMBus Data, Drive High
1XXMCLKEnable MCLK out onto pin
As discussed in the last section, any one, a number or all
of the PDO’s can be programmed to assert under a set of
pre- programmed conditons. These conditions could be a
fault on a SFD, a change in status on a GPI, a timeout on
the watchdog detector etc. Because of the flexibility and
the choice of combinations available on the ADM1060,
the assertion of the PDO will tell the user nothing about
what caused it to assert (unless it is programmed to assert
with only one input).
To enable the user to debug the cause of the PDO assertion, a number of registers are provided on the ADM1060
which provide status and fault information on the various
individual functions supervised by the device.
STATUS REGISTERS
A number of Status Registers are provided which indicate
the logic state of all of the functions controlled by the
ADM1060. These logics states include the output of both
the UV and OV comparators of each of the 7 SFD’s, the
logic output of the SFD’s themselves, the logic state of
the GPI’s, the error condition on the WDI, and the logic
state of each of the 9 PDO’s. The contents of these registers can be read at any time via the SMBus interface. The
content of these registers is read- only. The register and
bitmap for each of these status registers is described in the
table overleaf.
FAULT REGISTERS
Fault reporting is also provided on the ADM1060. If a
fault occurs, causing, say, a PDO to change its status, the
user can determine what function actually faulted. This is
achieved by providing a “fault plane”, consisting of 2
registers, LATF1 and LATF2, which the system controller can read out of the ADM1060 via the SMBus. Each
bit in the 2 registers (with one important exception, see
below) is assigned to one of the inputs of the devices as
shown in the table below:-
REGISTERBITASSIGNED FUNCTION
LATF17ANYFLT
6Logic Output of VP4’s SFD
5Logic Output of VP3’s SFD
4Logic Output of VP2’s SFD
3Logic Output of VP1’s SFD
2Logic Output of VH’s SFD
1Logic Output of VB2’s SFD
0Logic Output of VB1’s SFD
LATF27-
654Logic Output of WDI
3Logic Input on GPI4
2Logic Input on GPI3
1Logic Input on GPI2
0Logic Input on GPI1
Table 25. Fault Plane of ADM1060
Each bit represents the logical status of its assigned function (ie) the logical output of the SFD’s and WDI and the
logic level on the GPI inputs.
REV. PrJ 11/02
–31–
The important exception is the MSB of the LATF1 register. This is the ANYFLT bit. This bit goes high if one
of the other bits in the 2 registers “faults”. A “fault” is
defined as a change in polarity from the last time the fault
registers were read. Once ANYFLT goes high the contents of the 2 registers are latched, thus preventing more
than 1 of the other bits from changing polarity before the
contents of the registers are read. The first faulting input
can, therefore, be determined.
The sequence in which the registers are read is determined
by ANYFLT. As long as ANYFLT remains at 0, only the
contents of LATF1 are read. There are 2 reasons for this.
The first is that ANYFLT=0 implies that no fault has
occurred and, therefore, there is no need to read the contents of LATF2. Secondly, and more importantly, reading register LATF2 actually resets the ANYFLT bit to 0.
Thus, if a fault occurred on an SFD after LATF1 had
been read but before LATF2 had been read, ANYFLT
would change to 1, indicating that a fault had occurred,
but would be reset to 0 once LATF2 was read, thus erasing the log of the fault. In summary then, LATF2 should
only ever be read if ANYFLT=1. Reading the registers in
this sequence ensures that the contents are never reset
before a fault has been logged over the SMBus, thus ensuring that the supervising processor or CPLD knows
what function supervised by the ADM1060 caused the
fault. The “faulting” function is determined by comparing the contents of the fault plane (ie) the contents of the 2
registers, with the values read previously, and determining
which bit changed polarity.
The functionality of the Fault Plane is best illustrated with
an example. Take, for instance, VP1 to have an input
supply of 5.0V. A UV/OV window of 4.5V to 5.5V is set
up on VP1. The supply is ramped in and out of this window, each time reading the contents of LATF1 and
LATF2. The values recorded are as follows:-
1. VP1 at 5V- LATF1=LATF2=00000000. This is expected. The supply is in tolerance, SFD output is 0,
therefore no fault.
2. VP1 at 4.2V- LATF1=10001000, LATF2=00000000.
SFD output has changed status to 1, therefore ANYFLT
goes high.
3. VP1 at 5.0V- LATF1=10000000, LATF2=00000000.
SFD output has changed status to 0, therefore ANYFLT
goes high again.
4. VP1 at 5.8V- LATF1=10001000, LATF2=00000000.
SFD output again changed status from 0 to 1, so
ANYFLT goes high.
5.VP1 at 4.2V- LATF1=10000000, LATF2=00000000.
At first glance, this would appear to be incorrect, since
SFD output should be at 1 (4.2V is an undervoltage
fault). However, in ramping down from 5.8V to 4.2V, the
supply passed into the UV/OV window, the SFD output
changed status from 1 to 0, ANYFLT was set high and
the register contents were latched. It is these values which
were read before being reset by reading LATF2.
There are also two mask registers provided, which enable
the user to ignore a fault on a given function. The bits of
the error mask registers are mapped in the same way as
PRELIMINARY TECHNICAL D A T A
ADM1060ADM1060 STATUS/FAULTS
those of the fault registers with the exception that the
ANYFLT bit cannot be masked. Setting a 1 in the error
mask register results in the equivalent bit in the fault register always remaining at 0, regardless of whether there is a
fault on that function or not. The register and bit maps for
both the fault and error mask registers are shown below.
STATUS REGISTERS
TABLE 40. LIST OF STATUS REGISTERS
HexTableNameDe f au l tDescription
Addr.Power On Value
D841UVSTA T00hLogic output of the UV comparator on each of the 7 SFD’s
D942OVSTAT00hLogic output of the OV comparator on each of the 7 SFD’s
DA43SFDSTAT00hLogic output (post Fault Type block) on each of the 7 SFD’s
DB44GWSTAT00hLogic state of the 4 GPI’s and the Watchdog Fault Detector
DE45PDOSTAT100hLogic output of PDO’s 1 to 8
DF46PDOSTAT200hLogic output of PDO 9
TABLE 41. BIT MAP FOR UVSTAT REGISTER D8H (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedN/ACannot be used
6VP4UVRIf high, then voltage on VP4 input is lower than the UV threshold
5VP3UVRIf high, then voltage on VP3 input is lower than the UV threshold
4VP2UVRIf high, then voltage on VP2 input is lower than the UV threshold
3VP1UVRIf high, then voltage on VP1 input is lower than the UV threshold
2VHUVRIf high, then voltage on VH input is lower than the UV threshold
1VB2UVRIf high, then voltage on VB2 input is lower than the UV threshold
0VB1UVRIf high, then voltage on VB1 input is lower than the UV threshold
TABLE 42. BIT MAP FOR OVSTAT REGISTER D9H (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedN/ACannot be used
6VP4OVRIf high, then voltage on VP4 input is higher than the OV threshold
5VP3OVRIf high, then voltage on VP3 input is higher than the OV threshold
4VP2OVRIf high, then voltage on VP2 input is higher than the OV threshold
3VP1OVRIf high, then voltage on VP1 input is higher than the OV threshold
2VHOVRIf high, then voltage on VH input is higher than the OV threshold
1VB2OVRIf high, then voltage on VB2 input is higher than the OV threshold
0VB1OVRIf high, then voltage on VB1 input is higher than the OV threshold
–32–
REV. PrJ 11/02
PRELIMINARY TECHNICAL D A T A
ADM1060 STATUS/FAULTSADM1060
TABLE 43. BIT MAP FOR SFDSTAT REGISTER DAH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedN/ACannot be used
6VP4FLTRIf high, then fault (UV, OV or Out- of- Window) has occurred on VP4 input
5VP3FLTRIf high, then fault (UV, OV or Out- of- Window) has occurred on VP3 input
4VP2FLTRIf high, then fault (UV, OV or Out- of- Window) has occurred on VP2 input
3VP1FLTRIf high, then fault (UV, OV or Out- of- Window) has occurred on VP1 input
2VHFLTRIf high, then fault (UV, OV or Out- of- Window) has occurred on VH input
1VB2FLTRIf high, then fault (UV, OV or Out- of- Window) has occurred on VB2 input
0VB1FLTRIf high, then fault (UV, OV or Out- of- Window) has occurred on VB1 input
TABLE 44. BIT MAP FOR GWSTAT REGISTER DBH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedN/ACannot be used
4WDISTATRIf high, then timeout has elapsed on the Watchdog Detector
3GPI4STATRLogic level currently being driven on GPI4 input
2GPI3STATRLogic level currently being driven on GPI3 input
1GPI2STATRLogic level currently being driven on GPI2 input
0GPI1STATRLogic level currently being driven on GPI1 input
TABLE 45. BIT MAP FOR PDOSTAT1 REGISTER DEH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7PDO8STATRLogic level currently being driven on PDO8 output
6PDO7STATRLogic level currently being driven on PDO7 output
5PDO6STATRLogic level currently being driven on PDO6 output
4PDO5STATRLogic level currently being driven on PDO5 output
3PDO4STATRLogic level currently being driven on PDO4 output
2PDO3STATRLogic level currently being driven on PDO3 output
1PDO2STATRLogic level currently being driven on PDO2 output
0PDO1STATRLogic level currently being driven on PDO1 output
TABLE 46. BIT MAP FOR PDOSTAT2 REGISTER DFH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-1ReservedN/ACannot be used
0PDO9STATRLogic level currently being driven on PDO9 output
REV. PrJ 11/02
–33–
PRELIMINARY TECHNICAL D A T A
ADM1060ADM1060 STATUS/FAULTS
FAULT REGISTERS
TABLE 47. LIST OF FAULT REGISTERS
HexTableNameDe fa ul tDescription
Addr.Power On Value
D C48LATF100hFault Status Register for the 7 SFD’s
DD49LATF200hFault Status Register for the 4 GPI’s and the Watchdog Detector
TABLE 48. BIT MAP FOR LATF1 REGISTER DCH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ANYFLTRIf high, then a change in logic status (fault) has been logged on one of the 12 func-
tionsmonitored since the last time the Fault Registers were read.
6VP4FLTRIf high, then a fault has occurred on supply at input VP4
5VP3FLTRIf high, then a fault has occurred on supply at input VP3
4VP2FLTRIf high, then a fault has occurred on supply at input VP2
3VP1FLTRIf high, then a fault has occurred on supply at input VP1
2VHF LTRIf high, then a fault has occurred on supply at input VH
1VB2FLTRIf high, then a fault has occurred on supply at input VB2
0VB1FLTRIf high, then a fault has occurred on supply at input VB1
TABLE 49. BIT MAP FOR LATF2 REGISTER DDH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedN/ACannot be used
4WDFLTRIf high, then the logic level on the WDI output has changed since the last
time that the fault registers were read
3GPI4FLTRIf high, then the logic level on GPI4 input has changed since the last
time that the fault registers were read
2GPI3FLTRIf high, then the logic level on GPI3 input has changed since the last
time that the fault registers were read
1GPI2FLTRIf high, then the logic level on GPI2 input has changed since the last
time that the fault registers were read
0GPI1FLTRIf high, then the logic level on GPI1 input has changed since the last
time that the fault registers were read
–34–
REV. PrJ 11/02
PRELIMINARY TECHNICAL D A T A
ADM1060 STATUS/FAULTSADM1060
MASK REGISTERS
TABLE 50. LIST OF MASK REGISTERS
HexTableNameDe fa ul tDescription
Addr.Power On Value
9D51ERRMASK100hError Mask Register for the 7 SFD’s
9E52ERRMASK200hError Mask Register for the 4 GPI’s and the Watchdog Detector
TABLE 51. BIT MAP FOR ERRMASK1 REGISTER 9DH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7ReservedXUnused
6VP4MASKR/WIf high, then a fault occurring on the supply at input VP4 is ignored, and not logged in LATF1
5VP3MASKR/WIf high, then a fault occurring on the supply at input VP3 is ignored, and not logged in LATF1
4VP2MASKR/WIf high, then a fault occurring on the supply at input VP2 is ignored, and not logged in LATF1
3VP1MASKR/WIf high, then a fault occurring on the supply at input VP1 is ignored, and not logged in LATF1
2VHMASKR/WIf high, then a fault occurring on the supply at input VH is ignored, and not logged in LATF1
1VB2MASKR/WIf high, then a fault occurring on the supply at input VB2 is ignored, and not logged in LATF1
0VB1MASKR/WIf high, then a fault occurring on the supply at input VB1 is ignored, and not logged in LATF1
TABLE 52. BIT MAP FOR ERRMASK2 REGISTER 9EH (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-5ReservedXUnused
4WDIM AS KR /WIf high, then a change in the logic level on the WDI output is ignored, and not logged in LATF2
3GPI4MASKR/WIf high, then a change in the logic level on the GPI4 input is ignored, and not logged in LATF2
2GPI3MASKR/WIf high, then a change in the logic level on the GPI3 input is ignored, and not logged in LATF2
1GPI2MASKR/WIf high, then a change in the logic level on the GPI2 input is ignored, and not logged in LATF2
0GPI1MASKR/WIf high, then a change in the logic level on the GPI1 input is ignored, and not logged in LATF2
REV. PrJ 11/02
–35–
PRELIMINARY TECHNICAL D A T A
ADM1060PROGRAMMING ADM1060
CONFIGURATION DOWNLOAD AT POWER- UP
The configuration of the ADM1060- the UV/OV thresholds, glitch filter timeouts, PLB combinations, PDO pullups etc, is dictated by the contents of the RAM. The
RAM is comprised of local latches which set the configuration. These latches are double buffered and are actually
comprised of 2 identical latches (Latch A and Latch B).
An update of the double- buffered latch updates Latch A
first then Latch B. The advantage of this architecture is
explained below. These latches are volatile memory and
lose their contents at power- down. Therefore, at powerup the configuration in the RAM must be restored. This
is achieved by downoading the contents of the EEPROM
(non- volatile memory) to the local latches. This download occurs in a number of steps.
1. With no power applied to the device, the PDO’s are all
high impedance.
2. Once 1V appears on any of the inputs connected to the
VDD Arbitrator (VH or VPn), the PDO’s are all (weakly)
pulled to GND.
3. Once the supply rises above the Undervoltage Lockout
of the device (UVLO is 2.5V), the EEPROM starts to
download to the RAM.
4. The EEPROM downloads its contents to all Latch A’s.
5. Once the contents of the EEPROM are completely
downloaded, the device controller outputs a control pulse
enabling all Latch A’s to download to all Latch B’s, thus
completing the configuration download. Any attempt to
communicate with the device prior to this download
completion will result in a NACK being issued from the
ADM1060.
in the original setup until the instruction is given to
change.
The instruction to download from the EEPROM in option
3 above is also a useful way to restore the original
EEPROM contents if revisions to the configuration are
unsatisfactory to the user and they wish the ADM1060 to
return to a known operating mode.
This type of operation is possible because of the topology
of the ADM1060. The Local (volatile) registers, or RAM,
are all double buffered latches. Setting bit 0 of the
UPDCFG register to 1 leaves the double buffered latches
open at all times. If bit 0 is set to 0, then when RAM
write occurs across the SMBus only the first side of the
double buffered latch is written to. The user must then
write a 1 to bit 1 of the UPDCFG register. This generates a pulse to update all of the second latches at once.
Similarly with EEPROM writes.
A final bit in this register is used to enable EEPROM
page erasure. If this bit is set high, then the contents of an
EEPROM page can all be set to 0. If low, then the contents of a page cannot be erased, even if the command
code for page erasure is programmed across the SMBus.
The bitmap for register UPDCFG is shown below. A
flow chart for download at power up and subsequent configuration updates is shown overleaf:-
UPDATING THE CONFIGURATION OF THE
ADM1060
Once powered up, with all of the configuration settings
loaded from EEPROM into the RAM registers, the user
may wish to alter the configuration of functions on the
ADM1060 (eg) change the UV or OV limit of an SFD,
change the fault output of an SFD, change the timeout of
the Watchdog Detector, change the rise time delay of one
of the PDO’s etc.
The ADM1060 provides a number of options which allow
the user to update the configuration differently over the
SMBus interface. All of these options are controlled in
the register UPDCFG. The options are:-
1. Update the configuration in real time. The user writes
to RAM across the SMBus and the configuration is updated immediately.
2. Update A Latches “offline” and then update all B
Latches at the same time. With this method, the configuration of the ADM1060 will remain unchanged and continue to operate in the original setup until the instruction
is given to update the B Latches.
3. Change EEPROM register contents “offline” and then
download the revised EEPROM contents to the RAM
registers. Again, with this method, the configuration of the
ADM1060 will remain unchanged and continue to operate
–36–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
PROGRAMMING ADM1060ADM1060
TABLE 52. LIST OF CONFIGURATION UPDATE REGISTERS
HexTableNameDe fa ul tDescription
Addr.Power On Value
9053UPDCFG00hConfiguration Update Control register for changing
configuration of the ADM1060 after power- up
TABLE 53. BIT MAP FOR UPDCFG REGISTER 90H (POWER- ON DEFAULT 00H)
BitNameR/WDescription
7-4ReservedN/ACannot be used
3EE_ERASER/ WIf set high, then EEPROM page erasure can be programmed.
2EEPROMLDWIf set high, the ADM1060 will download the contents of its EEPROM to the RAM
registers. This bit self clears (returns to 0) after the download
1RAMLDWIf set high, the ADM1060 will download the buffered RAM register data into the
local latches. This bit self clears (returns to 0) after the download
0UPDR/WIf set high, the ADM1060 will update its configuration in real time as a word is
written to a local RAM register via the SMBus
POWER-UP
(Vcc >2.5V)
EEPROM
SMBus
DEVICE
CONTROLLER
E
E
P
R
O
M
L
D
D
A
T
A
LATCH A
R
A
M
L
D
U
P
D
LATCH B
FUNCTION
(eg) OV Threshold
on VP1
Figure 8. Configuration Update Flow Diagram
REV. PrJ 11/02
–37–
PRELIMINARY TECHNICAL D A T A
ADM1060PROGRAMMING ADM1060
INTERNAL REGISTERS OF THE ADM1060
The ADM1060 contains a large number of data registers.
A brief description of the principal registers is given below. More detailed descriptions are given in the relevant
sections of the data sheet.
Address Pointer Register: This register contains the address
that selects one of the other internal registers. When writing to
the ADM1060, the first byte of data is always a register address, which is written to the Address Pointer Register.
Configuration Registers: Provide control and configuration
for various operating parameters of the ADM1060.
Polarity Registers: These registers define the polarity of
inputs to the PLBA
Mask Registers: Allow masking of individual inputs to the
PLBA and also masking of faults in the fault reporting
registers.
EEPROM
The ADM1060 has 512 bytes of non-volatile, ElectricallyErasable Programmable Read-Only Memory (EEPROM),
from register addresses F800h to F9FFh. This may be
used for permanent storage of data that will not be lost
when the ADM1060 is powered down, unlike the data in
the volatile registers. Although referred to as Read Only
Memory, the EEPROM can be written to (as well as read
from) via the serial bus in exactly the same way as the
other registers. The only major differences between the
2
E
PROM and other registers are:
1. An EEPROM location must be blank before it can be
written to. If it contains data, it must first be erased.
2. Writing to EEPROM is slower than writing to RAM.
3. Writing to the EEPROM should be restricted because
it has a limited write/cycle life of typically 10,000 write
operations, due to the usual EEPROM wear-out
mechanisms.
The EEPROM is split into 16 (0 to 15) pages of 32 Bytes
each. Pages 0 to 6, starting at address F800, hold the
configuration data for the applications on the ADM1060
(the PLB, SFD’s, GPI’s, WDI, PDO’s etc.). These
EEPROM addresses are the same as the RAM register
addresses, prefixed by F8. Page 7 is reserved. Pages 8 to
15 are for customer use. Data can be downloaded from
EEPROM to RAM in one of 2 ways:-
1. At Power- up, pages 0 to 6 are downloaded.
2. Setting bit 2 of the UPDCFG Register (90h) performs
a user download of pages 0 to 6.
SERIAL BUS INTERFACE
Control of the ADM1060 is carried out via the serial System Management Bus (SMBus). The ADM1060 is connected to this bus as a slave device, under the control of a
master device. It takes approximately 2ms after power up
for the ADM1060 to download from it's EEPROM.
Therefore access is restricted to the ADM1060 until the
download is completed.
IDENTIFYING THE ADM1060 ON THE SMBUS
The ADM1060 has a 7-bit serial bus slave address. When
the device is powered up, it will do so with a default serial
bus address. The five MSB's of the address are set to
10101, the two LSB's are determined by the logical states
of pin A1 and A0. This allows the connection of 4
ADM1060’s to the one SMBus. The device also has a
number of identification registers (read only) which can be
read across the SMBus. These are:-
Name AddressValueFunction
MANID 93h41hManufacturer ID for
Analog Devices
DEVID 94h3EhDevice ID
REVID 95h --hSilicon Revision
MARK1 96h --hS/w brand
MARK2 97h --hS/w brand
GENERAL SMBUS TIMING
Figures 8a and 8b show timing diagrams for general read
and write operations using the SMBus. The SMBus specification defines specific conditions for different types of
read and write operation, which are discussed later.
The general SMBus protocol operates as follows:
1. The master initiates data transfer by establishing a
START condition, defined as a high to low transition
on the serial data line SDA whilst the serial clock line
SCL remains high. This indicates that a data stream
will follow. All slave peripherals connected to the serial
bus respond to the START condition, and shift in the
next 8 bits, consisting of a 7-bit slave address (MSB
first) plus a R/W bit, which determines the direction of
the data transfer, i.e. whether data will be written to or
read from the slave device (0 = write, 1 = read).
The peripheral whose address corresponds to the transmitted address responds by pulling the data line low
during the low period before the ninth clock pulse,
known as the Acknowledge Bit, and holding it low during the high period of this clock pulse. All other devices on the bus now remain idle whilst the selected
device waits for data to be read from or written to it. If
the R/W bit is a 0 then the master will write to the slave
device. If the R/W bit is a 1 the master will read from
the slave device.
2. Data is sent over the serial bus in sequences of 9 clock
pulses, 8 bits of data followed by an Acknowledge Bit
from the slave device. Data transitions on the data line
must occur during the low period of the clock signal
and remain stable during the high period, as a low to
high transition when the clock is high may be interpreted as a STOP signal.
–38–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
PROGRAMMING ADM1060ADM1060
If the operation is a write operation, the first data byte
after the slave address is a command byte. This tells the
slave device what to expect next. It may be an instruction such as telling the slave device to expect a block
write, or it may simply be a register address that tells
the slave where subsequent data is to be written.
Since data can flow in only one direction as defined by
the R/W bit, it is not possible to send a command to a
slave device during a read operation. Before doing a
read operation, it may first be necessary to do a write
operation to tell the slave what sort of read operation to
expect and/or the address from which data is to be read.
3. When all data bytes have been read or written, stop
conditions are established. In WRITE mode, the master
will pull the data line high during the 10th clock pulse
SCL
SDA
START BY
MASTER
(CONTINUED
(CONTINUED
191
0
SCL
SDA
10
1
)
D6
)
D7
1
FRAME 1
SLAVE
ADDRESS
D5
1
D4
FRAME 3
DATA BYTE
A0
A1
D3
R/W
ACK. BY
SLAVE
D2
D1
D0
D7
ACK. BY
SLAVE
to assert a STOP condition. In READ mode, the master device will release the SDA line during the low
period before the 9th clock pulse, but the slave device
will not pull it low. This is known as No Acknowledge.
The master will then take the data line low during the
low period before the 10th clock pulse, then high during the 10th clock pulse to assert a STOP condition.
9
D6
D4
D5
FRAME 2
COMMAND
199
D7
D6
CODE
D5
D2
D3
D4
D1
D3
FRAME N
DATA
BYTE
D0
D2
ACK. BY
SLAVE
D1
D0
ACK. BY
SLAVE
STOP
BY
MASTER
SCL
SDA
SCL
SDA
START BY
MASTER
SCL
(CONTINUED
)
SDA
(CONTINUED
)
t
P
Figure 8a. General SMBus Write Timing Diagram
19
0
10
1
D6
D7
1
FRAME 1
SLAVE
ADDRESS
D5
1
D4
A1
D3
FRAME 3
DATA BYTE
A0
R/W
ACK. BY
D2
D1
SLAVE
D0
1
D7
ACK. BY
MASTER
D6
D5
199
D7
Figure 8b. General SMBus Read Timing Diagram
BUF
t
R
t
LO
W
t
HD;ST
A
t
HD;DA
T
S
t
F
t
HIG
t
H
SU;DA
T
9
DATA
BYTE
D5
t
SU;STA
D3
t
HD;ST
A
D2
D4
D1
D3
FRAME N
DATA
BYTE
D2
D0
ACK. BY
MASTER
D1
D0
t
SU;ST
O
NO ACK.
STOP
BY
MASTER
P
D4
FRAME 2
D6
S
REV. PrJ 11/02
Figure 8c. Diagram for Serial Bus Timing
–39–
PRELIMINARY TECHNICAL D A T A
ADM1060PROGRAMMING ADM1060
SMBUS PROTOCOLS FOR RAM AND EEPROM
The ADM1060 contains volatile registers (RAM) and
non-volatile EEPROM. User RAM occupies address locations from 00h to DFh, whilst EEPROM occupies addresses from F800h to F9FFh.
Data can be written to and read from both RAM and
EEPROM as single data bytes.
Data can only be written to unprogrammed EEPROM
locations. To write new data to a programmed location it
is first necessary to erase it. EEPROM erasure cannot be
done at the byte level, the EEPROM is arranged as 16
pages of 32 bytes, and an entire page must be erased.
Page erasure is enabled by setting bit 3 in register
UPDCFG (address 90h) to 1. If this is not set then page
erasure cannot occur, even if the command byte (FEh) is
programmed across the SMBus.
ADM1060 WRITE OPERATIONS
The SMBus specification defines several protocols for
different types of read and write operations. The ones used
in the ADM1060 are discussed below. The following abbreviations are used in the diagrams:
S-START
P-STOP
R-READ
W-WRITE
A-ACKNOWLEDGE
A-NO ACKNOWLEDGE
The ADM1060 uses the following SMBus write protocols:
Send Byte
In this operation the master device sends a single command byte to a slave device, as follows:
1. The master device asserts a start condition on SDA.
2. The master sends the 7-bit slave address followed by
the write bit (low).
3. The addressed slave device asserts ACK on SDA.
4. The master sends a command code.
5. The slave asserts ACK on SDA.
6. The master asserts a STOP condition on SDA and the
transaction ends.
In the ADM1060, the send byte protocol is used for two
purposes.
1. To write a register address to RAM for a subsequent
single byte read from the same address or block read or
write starting at that address. This is illustrated in Figure
9a.
12 3456
SLAVE
S
ADDRESS
WA
RAM
ADDRESS
(00h TO DFh)
AP
Figure 9a. Setting A RAM Address For Subsequent Read
3. Erase a page of EEPROM memory. EEPROM
memory can be written to only if it is unprogrammed.
Before writing to one or more EEPROM memory
locations that are already programmed, the page or
pages containing those locations must first be erased.
EEPROM memory is erased by writing a command
byte.
The master sends a command code that tells the slave
device to erase the page. The ADM1060 command
code for a pages(s) erasure is FEh (11111110). Note
that, in order for page erasure to take place, the page
address has to be given in the previous write word
transaction (see write byte below). Also, bit 3 in register UPDCFG (address 90h) must be set to 1.
12 3456
SLAVE
S
ADDRESS
WA
COMMAND
BYTE
(FEh)
AP
Figure 9b. EEPROM Page Erasure
As soon as the ADM1060 receives the command byte,
page erasure begins. The master device can send a
STOP command as soon as it sends the command
byte. Page erasure takes approximately 20ms. If the
ADM1060 is accessed before erasure is complete, it
will respond with No Acknowledge.
Write Byte/Word
In this operation the master device sends a command byte
and one or two data bytes to the slave device, as follows:
1. The master device asserts a start condition on SDA.
2. The master sends the 7-bit slave address followed by
the write bit (low).
3. The addressed slave device asserts ACK on SDA.
4. The master sends a command code.
5. The slave asserts ACK on SDA.
6. The master sends a data byte.
7. The slave asserts ACK on SDA.
8. The master sends a data byte (or may assert STOP at
this point).
9. The slave asserts ACK on SDA.
10.The master asserts a STOP condition on SDA to end
the transaction.
In the ADM1060, the write byte/word protocol is used for
three purposes.
1. Write a single byte of data to RAM. In this case the
command byte is the RAM address from 00h to DFh
and the (only) data byte is the actual data. This is illustrated in Figure 9c.
12 3 4 5678
SLAVE
S
ADDRESS
WA
RAM
ADDRESS
(00h TO DFh)
ADATAAP
Figure 9c. Single Byte Write To RAM
2. Set up a two byte EEPROM address for a subsequent
read, write, block read, block write or page erase. In
–40–
REV. PrJ 11/02
PRELIMINARY TECHNICAL DA T A
PROGRAMMING ADM1060ADM1060
this case the command byte is the high byte of the
EEPROM address from F8h to F9h. The (only) data
byte is the low byte of the EEPROM address. This is
illustrated in Figure 9c.
12 3 4 5678
SLAVE
S
ADDRESS
WA
EEPROM
ADDRESS
HIGH BYTE
(F8h TO F9h)
EEPROM
ADDRESS
A
LOW BYTE
(00h TO FFh)
AP
Figure 9d. Setting An EEPROM Address
Note for page erasure that as a page consists of 32
bytes only the three MSB’s of the address low byte are
important. The lower 5 bits of the EEPROM address
low byte only specify addresses within a page and are
ignored during an erase operation.
3. Write a single byte of data to EEPROM. In this case
the command byte is the high byte of the EEPROM
address from F8h to F9h. The first data byte is the low
byte of the EEPROM address and the second data byte
is the actual data. This is illustrated in Figure 9e.
12 345678910
SLAVE
S
ADDRESS
WA
EEPROM
ADDRESS
HIGH BYTE
(F8h TO F9h)
EEPROM
ADDRESS
AADATAAP
LOW BYTE
(00h TO FFh)
Figure 9e. Single Byte Write To EEPROM
Block Write
In this operation the master device writes a block of data
to a slave device. The start address for a block write must
previously have been set. In the case of the ADM1060 this
is done by a Send Byte operation to set a RAM address or
a Write Byte/Word operation to set an EEPROM address.
1. The master device asserts a start condition on SDA.
2. The master sends the 7-bit slave address followed by
the write bit (low).
3. The addressed slave device asserts ACK on SDA.
4. The master sends a command code that tells the slave
device to expect a block write. The ADM1060 command code for a block write is FCh (11111100).
5. The slave asserts ACK on SDA.
6. The master sends a data byte that tells the slave device
how many data bytes will be sent. The SMBus specification allows a maximum of 32 data bytes to be sent in
a block write.
7. The slave asserts ACK on SDA.
8. The master sends N data bytes.
9. The slave asserts ACK on SDA after each data byte.
10. The master asserts a STOP condition on SDA to end the
transaction.
12 3 4 5678910
SLAVE
S
ADDRESS
COMMAND FCh
WA
(BLO CK WRITE)
BYTE
AADATA 1APADATA 2 DATAN A
COUNT
Figure 9f. Block Write To EEPROM Or RAM
Unlike some EEPROM devices which limit block writes to
within a page boundary, there is no limitation on the start
address when performing a block write to EEPROM, except:
1. There must be at least N locations from the start address to the highest EEPROM address (F9FFh), to avoiding writing to invalid addresses.
2. If the addresses cross a page boundary, both pages must
be erased before programming.
Note that the ADM1060 features a clock extend function
for writes to EEPROM. Programming an EEPROM byte
takes approximately 250µs, which would limit the SMBus
clock for repeated or block write operations. The
ADM1060 pulls SCL low and extends the clock pulse
when it cannot accept any more data.
ADM1060 READ OPERATIONS
The ADM1060 uses the following SMBus read protocols:
RECEIVE BYTE
In this operation the master device receives a single byte
from a slave device, as follows:
1.The master device asserts a START condition on SDA.
2.The master sends the 7-bit slave address followed by the
read bit (high).
3.The addressed slave device asserts ACK on SDA.
4.The master receives a data byte.
5.The master asserts NO ACK on SDA.
6.The master asserts a STOP condition on SDA and the
transaction ends.
In the ADM1060, the receive byte protocol is used to read
a single byte of data from a RAM or EEPROM location
whose address has previously been set by a send byte or
write byte/word operation. This is illustrated in Figure 9g.
12 3456
SLAVE
S
ADDRESS
RA
DATA
A P
Figure 9g. Single Byte Read From EEPROM Or RAM
Block Read
In this operation the master device reads a block of data
from a slave device. The start address for a block read
must previously have been set. In the case of the
ADM1060 this is done by a Send Byte operation to set a
RAM address, or a Write Byte/Word operation to set an
EEPROM address. The block read operation itself
consists of a Send Byte operation that sends a block read
command to the slave, immediately followed by a repeated
start and a read operation that reads out multiple data
bytes, as follows:
1.The master device asserts a START condition on SDA.
2.The master sends the 7-bit slave address followed by the
write bit (low).
3.The addressed slave device asserts ACK on SDA.
4.The master sends a command code that tells the slave
device to expect a block read. The ADM1060 command
code for a block read is FDh (11111101).
REV. PrJ 11/02
–41–
PRELIMINARY TECHNICAL D A T A
ADM1060PROGRAMMING ADM1060
5.The slave asserts ACK on SDA.
6.The master asserts a repeat start condition on SDA.
7.The master sends the 7-bit slave address followed by the
read bit (high).
8.The slave asserts ACK on SDA.
9.The ADM1060 sends a byte count data byte that tells
the master how many data bytes to expect. The ADM1060
will always return 32 data bytes (20h), which is the maximum allowed by the SMBus 1.1 specification.
10. The master asserts ACK on SDA.
11. The master receives 32 data bytes.
12. The master asserts ACK on SDA after each data byte.
13. The master asserts a STOP condition on SDA to end
the transaction.
12 3 4 567 89101112
SLAVE
S
ADDRESS
WA
COMM AN D F Dh
(BLOCK READ)
SLAVE
ADDRESS
RA
BYTE
COUNT
AA S
ADATA 1
14
13
DATA
A
P
32
Figure 9h. Block Read From EEPROM or RAM
ERROR CORRECTION
The ADM1060 provides the option of issuing a PEC
(Packet Error Correction) byte after a write to RAM, a
write to EEPROM, a block write to RAM/EEPROM or a
block read from RAM/EEPROM. This enables the user
to verify that the data received by or sent from the
ADM1060 is correct. The PEC byte is an optional byte
sent after that last data byte has been written to or read
from the ADM1060. The protocol is as follows:-
1.The ADM1060 issues a PEC byte to the master. The
master should check the PEC byte and issue another block
read if the PEC byte is incorrect.
2. A NACK is generated after the PEC byte to signal the
end of the read.
Note: The PEC byte is calculated using CRC-8. The
Frame Check Sequence (FCS) conforms to CRC-8 by the
polynomial:-
C(x) = x
8
+ x2 + x1 + 1
Consult SMBus 1.1 specification for more information.
An example of a block read with the optional PEC byte is
shown in figure 9i below.