L-ASC10 Data Sheet

L-ASC10
In-System Programmable
Hardware Management Expander
May 2016
Data Sheet DS1042
Features
 Ten Rail Voltage Monitoring and
Measurement
 Four Precision Trim and Margin Channels
• Closed Loop Operation
• Voltage Scaling and VID Support
• UV/OV Fault Detection Accuracy - 0.2% Typ.
• Fault Detection Speed <100 µs
• High Voltage, Single Ended and Differential
Sensing
 Nine General Purpose Input / Output
• 5 V tolerant I/O
 Non-Volatile Fault Logging
 In-system Programmable Through I2C
 Two Channel Wide-Range Current
Monitoring and Measurement
• Non-Volatile Configuration
• Background Programming Support
• High-side current Measurement up to 12 V
• Programmable OC/UC Fault Detect
• Detects Current faults in < 1 µs
 System Level Support
• 3.3 V Operation, wide input supply range 2.8 V
to 3.6 V
• Industrial temperature range
• 48-pin QFN
• RoHS compliant and halogen-free
 Three Temperature Monitoring and
Measurement Channels
• Programmable OT/UT Faults Threshold
• Two channels of Temperature Monitoring using
external diodes
• One On-Chip Temperature Monitor
 Applications
•
•
•
•
•
 Four High-Side MOSFET Drivers
• Programmable Charge Pump

Telecommunication and Networking
Industrial, Test & Measurement
Medical Systems
Servers and Storage Systems
High Reliability Systems
Application Diagram
Figure 1. Hardware Management Application Block Diagram
Hot Swap Optional
Input Rail
Up to 12 V
Up to 10 Rails
0.6 V to 5.7 V
POL
Rs
Current
Monitor
[1:2]
HVOUT [1:4]
Vout
EN
Trim/FB
GPIO
[1..9]
NV Fault
Log
Board Temp
Transistor
Vin
Trim/Margin [1:4]
On-Die
Temp
ADC
L-ASC10
Temp [1:2]
On-Die Temp
Diode
ASIC
Voltage
Monitor [1:10]
Voltage, Current, Temp
(VIT) High Speed
Fault Detect/Alarms
ASC 3 Wire I/F (8 Mbps)
(WCLK, WDAT, RDAT)
Voltage, Current, Temp
(VIT)
Measurement and Programming
CPU
I2C
ASC I/F
Fan(s)
MachXO2/
LPTM21 FPGA Section
EFB
Resets
MachXO2
JTAG
VID
JTAG Programming
© 2016 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other
brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without
notice.
www.latticesemi.com
1
DS1042_1.6
L-ASC10
In-System Programmable
Hardware Management Expander
Description
The ASC also provides the capability of logging up to 16
status records into the on-chip nonvolatile EEPROM memory. Each record includes voltage, current and temperature
monitor signals along with digital input and output levels.
The L-ASC10 (Analog Sense and Control - 10 rail) is a
Hardware Management (Power, Thermal, and Control
Plane Management) Expander designed to be used with
Platform Manager 2 or MachXO2 FPGAs to implement the
Hardware Management Control function in a circuit board.
The L-ASC10 (referred to as ASC) enables seamless scaling of power supply voltage and current monitoring, temperature monitoring, sequence and margin control channels.
The ASC includes dedicated interfaces supporting the
exchange of monitor signal status and output control signals
with these centralized hardware management controllers.
Up to eight ASC devices can be used to implement a hardware management system.
The dedicated ASC Interface (ASC-I/F) is a reliable serial
channel used to communicate with a Platform Manager 2 or
a MachXO2 FPGA in a scalable star topology. The centralized control algorithm in the FPGA monitors signal status
and controls output behavior via this ASC-I/F. The ASC I2C
interface is used by the FPGA or an external microcontroller
for ASC background programming, interface configuration,
and additional data transfer such as parameter measurement or I/O control or status. For example, voltage trim targets can be set over the I2C bus and measured voltage,
current, or temperature values can be read over the I2C bus.
The ASC provides three types of analog sense channels:
voltage (nine standard channels and one high voltage channel), current (one standard voltage and one high voltage),
and temperature (two external and one internal) as shown
in Figure 2.
The ASC also includes an on-chip output control block
(OCB) which allows certain alarms and control signals a
direct connection to the GPIOs or HVOUTs, bypassing the
ASC-I/F for a faster response. The OCB is used to connect
the fast current fault detect signal to an FPGA input directly.
It also supports functions like Hot Swap with a programmable hysteretic controller.
Each of the analog sense channels is monitored through
two independently programmable comparators to support
both high/low and in-bounds/out-of-bounds (window-compare) monitor functions. The current sense channels feature
a programmable gain amplifier and a fast fault detect (<1 µs
response time) for detecting short circuit events. The temperature sense channels can be configured to work with different external transistor or diode configurations.
ASC Block Diagram
Figure 2. ASC Block Diagram
MOSFET &
Digital I/O Drive
Nine general purpose 5 V tolerant open-drain digital input/
output pins are provided that can be used in a system for
controlling DC-DC converters, low-drop-out regulators
(LDOs) and optocouplers, as well as for supervisory and
general purpose logic interface functions. Four high-voltage
charge pumped outputs (HVOUT1-HVOUT4) may be configured as high-voltage MOSFET drivers to control high-side
MOSFET switches. These HVOUT outputs can also be programmed as static output signals or as switched outputs (to
support external charge pump implementation) operating at
a dedicated duty cycle and frequency.
Output Control
Block
Current
Sense
ASC
Interface
(ASC-I/F)
Voltage
Sense
ADC
Temperature
Sense
The ASC device incorporates four TRIM outputs for controlling the output voltages of DC-DC converters. Each power
supply output voltage can be maintained typically within
0.5% tolerance across various load conditions using the
Digital Closed Loop Control mode.
The internal 10-bit A/D converter can be used to monitor the
voltage and current through the I2C bus. The ADC is also
used in the digital closed loop control mode of the trimming
block.
Non Volatile
Fault Log
I2C
Interface
ADC
Trim & Margin
Control
2
L-ASC10
In-System Programmable
Hardware Management Expander
DC and Switching Characteristics
Absolute Maximum Ratings
Min
Max.
Units
VCCA
Symbol
Main Power Supply
Parameter
Conditions
–0.5
4.5
V
VIN_VMON
VMON input voltage
–0.5
6
V
VIN_VMONGS
VMON input voltage ground sense
–0.5
6
V
VIN_HIMONP
High voltage IMON input voltage
–0.5
13.3
V
VIN_HIMONN
High voltage IMON return/ VMON input voltage
–0.5
13.3
V
VDIFF_HIMON
High voltage IMON differential voltage
–2.0
2.0
V
VIN_IMONP
Low voltage IMON1 input voltage
–0.5
6.0
V
VIN_IMONN
Low voltage IMON1 return voltage
–0.5
6.0
V
VDIFF_IMON
Low voltage IMON1 differential voltage
–2.0
2.0
V
VIN_TMONP
TMON input voltage
–0.5
VCCA
V
VIN_TMONN
TMON return voltage
–0.5
VCCA
V
VIN_GPIO
Digital input voltage
VOUT
Open-drain output voltage
–0.5
6
V
HVOUT [1:4]
–0.5
13.3
V
GPIO[1:6],
GPIO[8:10]
–0.5
6
V
–0.5
VCCA
V
23
mA
VTRIM
TRIM output voltage
ISINKMAX
Maximum Sink Current on any output
TS
Device Storage Temperature
–65
+125
o
TA
Ambient Temperature
–40
+125
o
3
C
C
L-ASC10
In-System Programmable
Hardware Management Expander
Recommended Operating Conditions
Symbol
Parameter
VCCA
Main Power Supply1
Conditions
Min
Max.
Units
2.8
3.6
V
VIN_VMON
VMON input voltage
–0.3
5.9
V
VIN_VMONGS
VMON input voltage ground sense
–0.2
0.3
V
VIN_HIMONP
High voltage IMON input voltage2
4.5
13.2
V
VIN_HIMONN
High voltage IMON return/ VMON input voltage2
4.5
13.2
V
VDIFF_HIMON
High voltage IMON differential voltage
VIN_IMONP
Low voltage IMON1 input voltage
VIN_IMONN
Low voltage IMON1 return voltage
VDIFF_IMON
Low voltage IMON1 differential voltage
VIN_GPIO
Digital input voltage
VOUT
Open-drain output voltage
0
500
mV
Low Side Sense
Disabled
0.6
5.9
V
Low Side Sense
Enabled
–0.3
1.0
V
Low Side Sense
Disabled
0.6
5.9
V
Low Side Sense
Enabled
–0.3
1.0
V
0
500
mV
–0.3
5.5
V
HVOUT [1:4]
–0.3
13.2
V
GPIO[1:6],
GPIO[8:10]
–0.3
5.5
V
–40
+85
Ambient Temperature
TA
o
C
1. VCCA of ASC0 must be connected with VCC of MachXO2 or LPTM21 and VCCIO of bank used for ASC-I/F of ASC0. See System Connections section for more details
2. HIMON circuits are operational down to 3 V. Accuracy is guaranteed within Recommended Operating Conditions
Analog Specifications
Symbol
Parameter
Conditions
Supply Current
VCCA = 3.3 V,
Ta 25 oC
Supply Current Adder per HVOUT
Supply Current during
Programming
ICCA
ICC-HVOUT
ICCPROG
Min.
Typ.
Max
Units
25
35
mA
VHVOUT = 12 V,
ISRC = 100 uA,
VCCA = 3.3 V,
Ta 25 oC
2
mA
VCCA = 3.3 V,
Ta 25 oC
40
mA
ESD Performance
Please refer to the Platform Manager 2 Product Family Qualification Summary for complete qualification data,
including ESD performance.
4
L-ASC10
In-System Programmable
Hardware Management Expander
Power-On Reset
Symbol
Parameter
Conditions
Min
Typ.
Max.
Units
100
µs
TRST
Delay from VTH to start-up state
TSAFE
Delay from RESETb release to ASC Safe
State Exit and I/O Release1, 2
TSAFE2
Delay from WRCLK start to ASC Safe State
Exit and I/O Release1, 2, 3
TGOOD
Delay from I/O release to AGOOD asserted
high in FPGA section4
16
µs
TWRCLK
Delay from RESETb release to 
WRCLK start5
1.4
ms
TBRO
Minimum duration brown out required to 
trigger RESETb
TPOR
VTL
1.8
ms
56
µs
1
5
µs
Delay from Brown out to reset state
13
µs
Threshold below which RESETb is LOW
2.3
V
VTH
Threshold above which RESETb is Hi-Z
2.7
V
VT
Threshold above which RESETb is valid
0.8
V
CL
Capacitive load on RESETb
200
pF
1. Both TSAFE and TSAFE2 must complete before I/O are released from Safe State.
2. During the calibration period before TSAFE and TSAFE2, the ASC may ignore RESETb being driven low. After TSAFE and TSAFE2, the ASC
can be reset by another device by driving RESETb low.
3. Safe State is released at ASC after a fixed number (64) of WRCLK cycles (typ. 8 MHz frequency) and three ASC-I/F data packets are properly detected.
4. AGOOD asserted in the FPGA on the next ASC-I/F packet after I/O exits Safe State as ASC.
5. Parameter is dependent on the FPGA configuration refresh time during POR. See Platform Manager 2 or MachXO2 datasheet for details.
Figure 3. ASC Power-On Reset
VTH
TBRO
VCCA
VTL
VT
TRST
TPOR
RESETb
TSAFE2
I/O
Release
TSAFE
TGOOD
AGOOD
TWRCLK
WRCLK
Brownout Behavior
Power On Reset - Startup
5
L-ASC10
In-System Programmable
Hardware Management Expander
Voltage Monitors1
Symbol
Parameter
Conditions
Min
Typ
Max
Units
55
65
75
k
RVMON_in
Input Resistance
CVMON_in
Input Capacitance
VMON Range
Programmable trip-point Range
5.734
Volts
VMON Accuracy
Absolute accuracy of any trip-point
– Differential VMON pins
VMON voltage > 0.650 V
0.2
0.7
%
Single-ended VMON pins
VMON voltage > 0.650 V
0.3
0.9
%
8
0.075
pF
VMON HYST
Hysteresis of any trip-point (relative
to setting)
1
%
VMON CMR
Differential VMON Common mode
rejection ratio
60
dB
VZ Sense
Low Voltage Sense Trip Point Error
– Differential VMON1-4
Low Voltage Sense Trip Point Error
– Single-Ended VMON5-9
Trip Point = 0.075 V
–5
+5
mV
Trip Point = 0.150 V
–5
+5
mV
Trip Point = 0.300 V
–10
+10
mV
Trip Point = 0.545 V
–15
+15
mV
Trip Point = 0.080 V
–10
+10
mV
Trip Point = 0.155 V
–15
+15
mV
Trip Point = 0.310 V
–25
+25
mV
Trip Point = 0.565 V
–55
+55
mV
0.3
13.2
Volts
1.0
%
High Voltage Monitor
HVMON Range
High Voltage VMON programmable
trip-point range
HVMON Accuracy HVMON Absolute accuracy of any
trip-point
VZ Sense
Low Voltage Sense Trip Point Error HVMON pin
HVMON voltage > 1.8 V
0.4
Trip Point = 0.220 V
–20
+20
mV
Trip Point = 0.425 V
–35
+35
mV
Trip Point = 0.810 V
–75
+75
mV
Trip Point = 1.280 V
–130
+130
mV
1. VMON accuracy may degrade based on SSO conditions of hardware management controller ASC-I/F. See the System Connections section
for more details.
6
L-ASC10
In-System Programmable
Hardware Management Expander
Current Monitors
Symbol
Parameter
IIMONPleak
IMON1P input leakage
IMON1N input leakage
IIMONNleak
IHIMONPleak
HIMONP input leakage
2
IMONA/B Accuracy HIMON, IMON1A/B Comparator
Trip Point accuracy
IMONA/B Gain
tIMONF
Min
Max
Units
–2
Typ
250
µA
Low Side Sense Enabled
Fast Trip Point Vsns = 
500 mV
–2
40
µA
Low Side Sense Disabled
Fast Trip Point Vsns = 
500 mV
–2
2
µA
Low Side Sense Enabled
Fast Trip Point Vsns = 
500 mV
–200
2
µA
550
µA
350
µA
Fast Trip Point Vsns = 
500 mV
HIMONN_HVMON input leakage
IHIMONNleak
IMONF Accuracy
Conditions
Low Side Sense Disabled
Fast Trip Point Vsns = 
500 mV
Programmable Gain Setting
2
Gain = 100x
8
%
Gain = 50x
5
%
Gain = 25x
3
%
Gain = 10x
2
%
Four settings in software
10
V/V
25
V/V
50
V/V
100
V/V
8
%
Vsns = 200 mV, 250 mV,
or 300 mV
5
%
Vsns = 400 mV or 
500 mV
3
%
1
Fast comparator trip-point accuracy Vsns = 50 mV, 100 mV, or
150 mV
Fast comparator response time
1
µs
1. Vsns is the differential voltage between IMON1P and IMON1N (or HIMONP and HIMONN).
2. IMON accuracy may degrade based on SSO conditions of hardware management controller ASC-I/F. See the System Connections section
for more details.
7
L-ASC10
In-System Programmable
Hardware Management Expander
ADC Characteristics
Symbol
Parameter
Conditions
Min
Resolution
tCONVERT
Typ
Max
10
2
Conversion Time from I C Request
Units
Bits
200
µs
V
Voltage Monitors
VVMON-IN
LSB
EVMON-attenuator
Input Range Full scale
ADC Step Size
Error due to attenuator
Programmable 
Attenuator = 1
0
2.048
Programmable 
Attenuator = 3
0
5.91
Programmable 
Attenuator = 1
2
Programmable 
Attenuator = 3
6
Programmable 
Attenuator = 3
+/– 0.1
mV
%
High Voltage Monitor
VHVMON-IN
LSB
EHVMON-attenuator
Input Range Full scale
ADC Step Size
Error due to attenuator
Programmable 
Attenuator = 4
0
8.192
Programmable 
Attenuator = 8
0
13.21
V
Programmable 
Attenuator = 4
8
Programmable 
Attenuator = 8
16
Programmable 
Attenuator = 4
+/–0.2
%
Programmable 
Attenuator = 8
+/–0.4
%
1
ms
mV
Current Monitors
tIMON-sample
Sample period of HIMON and
IMON1 conversions for averaged
value
4 Settings via I2C 
command
2
4
8
VIMON-IN
LSB
1
Input Range Full scale
ADC Step Size
Programmable Gain 10x
0
200
Programmable Gain 25x
0
80
Programmable Gain 50x
0
40
Programmable Gain 100x
0
20
Programmable Gain 10x
0.2
Programmable Gain 25x
0.08
Programmable Gain 50x
0.04
Programmable Gain 100x
0.02
1. Differential voltage applied across HIMONP/IMON1P and HIMONN/IMON1N before programmable gain amplification.
8
mV
mV
L-ASC10
In-System Programmable
Hardware Management Expander
ADC Error Budget Across Entire Operating Temperature Range
Symbol
TADC Error
Parameter
Conditions
Total ADC Measurement Error Measurement Range 600 mV - 2.048 V,
at Any Voltage (Differential
VMONxGS > –100 mV, Attenuator =1
Analog Inputs)1, 3
Measurement Range 600 mV - 2.048 V,
VMONxGS > –200 mV, Attenuator =1
Min
Typ
Max
Units
8
+/– 4
8
mV
Measurement Range 0 - 2.048 V,
VMONxGS > –200 mV, Attenuator =1
Total Measurement Error at
Any Voltage (Single-Ended
Analog Inputs including
IMON)1, 2, 3
Measurement Range 600 mV - 2.048 V,
Attenuator =1
–8
+/– 6
mV
+/– 10
mV
+/– 4
8
mV
1. Total error, guaranteed by characterization, includes INL, DNL, Gain, Offset, and PSR specs of the ADC.
2. Programmable gain error on IMON not included.
3. ADC accuracy may degrade based on SSO conditions of hardware management controller ASC-I/F. See the System Connections section
for more details
Temperature Monitors
Symbol
Parameter
Conditions
Min
Typ
Max
Units
TMON_REMOTE
Accuracy1, 7
Temp Error – Remote Sensor
Ta=–40 to +85 ºC
Td=–64 to 150 ºC
1
ºC
TMON_INT 
Accuracy7
Internal Sensor – Relative to
ambient6
Ta=–40 to +85 ºC
1
ºC
TMON
Resolution
Measurement Resolution
0.25
ºC
TMON Range
Programmable threshold
range
–64
155
ºC
TMON Offset
Temperature offset
Programmable in software
–64
63.75
ºC
TMON 
Hysteresis
Hysteresis of trip points
Programmable in software
0
63
ºC
tTMON_settle2
Temperature measurement
settling time3
Measurement Averaging Coefficient = 1
15
ms
Measurement Averaging Coefficient = 8
120
ms
Measurement Averaging Coefficient = 16
240
ms
Tn
Ideality Factor n
Tlimit
Temperature measurement
limit4
160
ºC
CTMON
Maximum capacitance
between TMONP and TMONN
pins
200
pF
RTMONSeries
Equivalent external resistance
to sensor5
200
ohms
Programmable in software
0.9
2
1. Accuracy number is valid for the use of a grounded collector pnp configuration, programmed with proper ideality factor, and 16x measurement filter enabled. Any other device or configuration can have additional errors, including beta, series resistance and ideality factor accuracy. See the Temperature Monitors section for more details.
2. Settling time based on one TMON enabled. For multiple TMONs, settling time can be multiplied by the number of enabled TMON channels.
3. Settling time is defined as the time it takes a step change to settle to 1% of the measured value.
4. All values above Tlimit read as 0x3FF over I2C. There is no cold temperature limiting reading, although performance is not specified below 
–64 oC.
5. This is the maximum series resistance which the TMON circuit can compensate out. Equivalent series resistance includes all board trace
wiring (TMONP and TMONN) as well as parasitic base and emitter resistances. Re=1/gm should not be included as part of series resistance.
6. Internal sensor is subject to self-heating, dependent on PCB design and device configuration. Self-heating not included in published accuracy.
7. TMON accuracy may degrade based on SSO conditions of hardware management controller ASC-I/F. See the System Connections section
for more details.
9
L-ASC10
In-System Programmable
Hardware Management Expander
Digital Specifications
Symbol
Parameter
Conditions
Min
Typ
Max
Units
+/– 10
µA
IIL,IIH
Input Leakage, no pull-up,
pull-down2
IPD
Active Pull-Down Current2
GPIO[1:10] configured as Inputs, Internal Pull-Down enabled
200
µA
IPD-ASCIF
Input Leakage (WDAT and
WRCLK)3
Internal Pull-Down
175
µA
IOH-HVOUT
Output Leakage Current
HVOUT[1:4] in open drain mode and
pulled up to 12 V
35
IPU-RESETb
Input Pull-Up Current
(RESETb)
VIL
Voltage input, logic low
Voltage input, logic high
VIH
VOL
ISINKTOTAL
1
100
–50
µA
GPIO[1:10]
0.8
SCL, SDA
30%
VCCA
GPIO[1:10]
2.0
SCL, SDA
70%
VCCA
HVOUT[1:4] (open drain
mode)
ISINK = 10 mA
GPIO[1:6], GPIO[8:10]
ISINK = 20 mA
µA
V
V
All digital outputs
0.8
V
130
mA
1. Sum of maximum current sink from all digital outputs combined. Reliable operation is not guaranteed if this value is exceeded.
2. During safe-state, all GPIO default to output, see the Safe State of Digital Outputs for more details. GPIO[1:6] and GPIO[10] default to active
low output. This will result in a leakage current dependent on the input voltage which can exceed the specified input leakage
3. WRCLK and WDAT pins may see transients above 1 mA in hot socket conditions. DC levels will remain below 1 mA.
High Voltage FET Drivers
Symbol
VPP
Parameter
Gate driver output voltage
Conditions
Min
Four settings in software
Typ
Max
12
Units
Volts
10
8
6
IOUTSRC
Gate driver source current
(HIGH state)
Four settings in software
12.5
µA
25
50
100
IOUTSINK
Gate driver sink current 
(LOW state)
Four settings in software
100
µA
250
500
3000
Frequency
Switched Mode Frequency
Two settings in software
15.625
kHz
31.25
Duty Cycle
Switched Mode Programmable Duty Cycle Range
Programmable in software
Duty Cycle step size
6.25
93.75
6.25
10
%
%
L-ASC10
In-System Programmable
Hardware Management Expander
Margin/Trim DAC Output Characteristics
Symbol
Parameter
Conditions
Min
Resolution
FSR
Full scale range
LSB
LSB step size
IOUT
Output source/sink current
ITRIM_Hi-Z
Tri-state mode leakage
BPZ
Bipolar zero output voltage
(code=80h)
Typ.
Max.
Bits
+/– 320
mV
2.5
–200
Four settings in software
Units
8 (7 +
sign)
mV
200
µA
0.1
µA
0.6
V
0.8
1.0
1.25
tS
TrimCell output voltage settling DAC code changed from 80H to FFH or
time1
80H to 00H
2.5
Single DAC code change
C_LOAD
Maximum load capacitance
TOSE
Total open loop supply voltage Full scale DAC corresponds to +/– 5%
error2
supply voltage variation
256
–1%
ms
µs
50
pF
+1%
V/V
1. To 1% of set value with 50 pF load connected to trim pins.
2. Total resultant error in the trimmed power supply output voltage referred to any DAC code due to DAC’s INL, DNL, gain, output impedance,
offset error and bipolar offset error across the temperature, and VCCA ranges of the device.
Fault Log
Symbol
Parameter
Records
Number of available fault log
records in EEPROM
tfaultTrigger
Minimum active time of trigger
signal to start fault recording
tfaultRecord
Time to copy fault record to
EEPROM
Conditions
Min
Typ.
Max.
16
Units
Records
64
µs
5
ms
Oscillator
Min
Typ.
Max.
Units
CLKASC
Symbol
Internal ASC0 Clock
Parameter
Conditions
7.6
8
8.4
MHz
CLKext
Externally Applied Clock
7.6
8
8.4
MHz
11
L-ASC10
In-System Programmable
Hardware Management Expander
Propagation Delays
Symbol
Parameter
Conditions
Min
Typ.
Max.
Units
Voltage Monitors
tVMONtoFPGA
tVMONtoOCB
2
Propagation delay VMON
Glitch Filter Off
input to signal update at FPGA Glitch Filter ON
48
µs
96
µs
Propagation delay VMON
Glitch Filter Off
input to output update at OCB Glitch Filter ON
16
µs
64
µs
Current Monitors
tIMONtoFPGA
Propagation delay IMON input Glitch Filter Off
to signal update at FPGA
Glitch Filter ON
tIMONtoOCB2
Propagation delay IMON input Glitch Filter Off
to output update at OCB
Glitch Filter ON
tIMONFtoOCB2
Propagation delay IMONF
input to output update at OCB
48
µs
96
µs
16
µs
64
µs
1
µs
Temperature Monitors
tTMONtoFPGA
Propagation delay TMON
input to signal update at
FPGA1
Monitor Alarm Filter Depth = 1
15
ms
Monitor Alarm Filter Depth = 16
240
ms
32
µs
GPIO – Inputs
tGPIOtoFPGA
Propagation delay GPIO input
to signal update at FPGA
tGPIOtoOCB2
Propagation delay GPIO input
to output update at OCB
50
ns
GPIO – Outputs
tFPGAtoGPIO
Propagation delay FPGA signal update to GPIO output
tOCBtoGPIO3
Propagation delay OCB input
to output update at GPIO
32
µs
50
ns
HVOUT
tFPGAtoHVOUT
Propagation delay FPGA signal update to HVOUT output
tOCBtoHVOUT3, 4
Propagation delay OCB input
to output update at HVOUT
32
µs
110
ns
TRIM DAC
tFPGAtoTrimOE
Propagation delay FPGA signal update to TRIM_OE
update
32
µs
1. Propagation delay based on one TMON enabled. For multiple TMONs, propagation delay can be multiplied by the number of enabled TMON
channels.
2. OCB output propagation delays measured using time delay to GPIO output from OCB. Propagation delay is measured on falling GPIO outputs. Rising output propagation time will be dependent on external pull-up resistor.
3. OCB input propagation delays measured using time delay from GPIO input to OCB. Propagation delay is measured on falling GPIO outputs.
Rising output propagation time will be dependent on external pull-up resistor.
4. HVOUT propagation delay measured with HVOUT in open-drain mode, with switched mode disabled. Propagation delay in charge pump
mode is dependent on external load and HVOUT settings.
12
L-ASC10
In-System Programmable
Hardware Management Expander
ASC Interface (ASC-I/F) Timing Specifications1
Symbol
Parameter
Conditions
Min
Typ
Max
8
Units
fwrclk
WRCLK frequency
tASC_HLD
Hold time between WRCLK
falling edge and WDAT transition
0
MHz
ns
tASC_SU
Setup time between WDAT
transition and WRCLK rising
edge
25
ns
tASC_OUT
Delay from WRCLK falling
edge to RDAT transition
50
ns
1. All timing conditions valid for VCCIO = 3.3 V at FPGA ASC-I/F and ASC VCCA range of 2.8 V to 3.6 V.
Figure 4. ASC Interface (ASC-I/F) Timing Diagram
WRCLK
t ASC _ HLD
WDAT
t ASC_SU
RDAT
t ASC_OUT
I2C Port Timing Specifications
Symbol
fMAX
Parameter
Min.
Maximum SCL clock frequency
1. ASC supports the following modes:
a. Standard-mode (Sm), with a bit rate up to 100 kbit/s (user and configuration mode)
b. Fast-mode (Fm), with a bit rate up to 400 kbit/s (user and configuration mode)
2. Refer to the I2C specification for timing requirements.
13
Max.
Units
400
kHz
L-ASC10
In-System Programmable
Hardware Management Expander
Theory of Operation
Hardware Management System
The ASC Hardware Management Expander is designed to seamlessly increase the number of analog sense and
control channels in the hardware management section of a circuit board. The device functions as a hardware management expander in systems with the Lattice Platform Manager 2 or MachXO2 FPGAs. The functional blocks for
analog voltage, current and temperature monitoring, measurement, and control are built into the ASC. The ASC
depends on the Platform Manager 2 or MachXO2 FPGA to interpret the analog monitor status signals and provide
control commands.
The Platform Manager 2 or MachXO2 FPGA includes the hardware management control logic and other plug-in IP
components to support functions like Fan Control, or Voltage by Identification (VID). ASC devices can be added to
the hardware management system to scale with application requirements and are connected to the same Platform
Manager 2 or MachXO2 FPGA. This architecture supports a single centralized hardware management logic
design, with up to eight distributed ASC devices. The basic system concept is shown in Figure 5. The connections
are described in detail in the System Connections section.
Figure 5. Hardware Management System with ASC Hardware Management Expander
To Additional
ASC Devices
ASC Hardware Management Expander
Platform Manager 2 / MachXO2 FPGA
MOSFET & Digital I / O Drive
(HVOUTs & GPIO)
Output Control
Block
Analog Monitors, Inputs
Current
Sense
ASC
Interface
(ASC-I/F)
Outputs, Trim Controls
ASC-I/F
Logic
Hardware
Management
Control Logic
FPGA I/ Os
Temperat ure
Sense
Voltage
Sense
ADC
Non Volatile
Fault Log
I2 C
Interface
ADC
Programming,
Trim Targets
Analog Measurements
I2 C
Interface
IP Components
(Fan Control, VID, etc.)
Trim & Margin
Control
To Additional
ASC Devices
The Hardware Management System is configured using Platform Designer, a part of Lattice Diamond software.
Platform Designer provides an easy to use graphical and spreadsheet based interface. Platform Designer automatically generates the device memory configuration based on the options selected in the software. See the For Further Information section for more details.
14
L-ASC10
In-System Programmable
Hardware Management Expander
Voltage Monitor Inputs
The ASC provides ten independently programmable voltage monitor input circuits. There are nine standard voltage
channels and one high voltage channel. The standard voltage channels are shown in Figure 6, while the high voltage channel is described in the High Voltage Current Monitor section. Two individually programmable trip-point
comparators are connected to each voltage monitoring input. Each comparator reference has programmable trip
points over the range of 0.075 V to 5.734 V. The 75 mV ‘zero-detect’ threshold allows the voltage monitors to determine if a monitored signal has dropped to ground level. This feature is especially useful for determining if a power
supply’s output has decayed to a substantially inactive condition after it has been switched off.
Figure 6. ASC Voltage Monitors
To ADC
Differential
Input Buffer X*
CompA/Window
Select
Comp A
VMONx
VMONx_A
Logic Signal
Trip Point A
MUX
VMONxGS*
Glitch
Filter
Comp B
VMONx_B
Logic Signal
Glitch
Filter
Trip Point B
Analog Input
TO
ASC-I/F
& OCB
Window Control
Filtering
VMONx Status
2
I C Interface Unit
*Differential Input Buffer X and VMONxGS pins are not present for single-ended VMON x inputs.
Figure 6 shows the functional block diagram of one of the nine voltage monitor inputs - ‘x’ (where x = 1...9). Each
voltage monitor can be divided into three sections: Analog Input, Window Control, and Filtering. The first section
provides a differential input buffer to monitor the power supply voltage through VMONx (to sense the positive terminal of the supply) and VMONxGS (to sense the power supply ground). Differential voltage sensing minimizes inaccuracies in voltage measurement with ADC and monitor thresholds due to the potential difference between the
ASC device ground and the ground potential at the sensed node on the circuit board.
The voltage output of the differential input buffer is monitored by two individually programmable trip-point comparators, shown as Comp A and Comp B. The differential input buffer shown above is not present for any of the singleended VMON inputs. VMON1-4 are differential inputs, while VMON5-10 are single-ended.
Each comparator outputs a HIGH signal to the ASC-I/F if the voltage at its positive terminal is greater than its programmed trip point setting; otherwise it outputs a LOW signal. The VMON4A and VMON9A comparators also output their status signals to the OCB.
Hysteresis is provided by the comparators to reduce false triggering as a result of input noise. The hysteresis provided by the voltage monitor is a function of the input divider setting. Table 1 lists the typical hysteresis versus voltage monitor trip-point.
AGOOD Logic Signal
All the VMON, IMON and TMON comparators auto-calibrate following a power-on reset event. During this time, the
digital glitch filters are also initialized. This process completion is signaled by an internally generated logic signal:
AGOOD. The ASC-I/F will not begin communicating valid VMON status bits or receiving GPIO control signals until
the AGOOD signal is initialized.
15
L-ASC10
In-System Programmable
Hardware Management Expander
Programmable Over-Voltage and Under-Voltage Thresholds
Figure 7 shows the power supply ramp-up and ramp-down voltage waveforms. Because of hysteresis, the comparator outputs change state at different thresholds depending on the direction of excursion of the monitored power
supply.
Monitored Power Supply Voltage
Figure 7. Power Supply Voltage Ramp-up and Ramp-down Waveform and the Resulting Comparator Output
(a) and Corresponding to Upper and Lower Trip Points (b)
UTP
LTP
(a)
(b)
Comparator Logic Output
During power supply ramp-up the comparator output changes from logic zero to one when the power supply voltage crosses the upper trip point (UTP). During ramp down the comparator output changes from logic state one to
zero when the power supply voltage crosses the lower trip point (LTP). To monitor for over voltage fault conditions,
the UTP should be used. To monitor under-voltage fault conditions, the LTP should be used. The upper and lower
trip points are automatically selected in software depending on whether the user is monitoring for an over-voltage
condition or an under-voltage condition. Table 1 shows the comparator hysteresis versus the trip-point range.
Table 1. Voltage Monitor Comparator Hysteresis vs. Trip-Point
Trip-point Range (V)
Hysteresis (mV)
Low Limit
High Limit
0.66
0.79
8
0.79
0.9
10
0.94
1.12
12
1.12
1.33
14
1.33
1.58
17
1.58
1.88
20
1.88
2.24
24
2.24
2.66
28
2.66
3.16
34
3.16
3.76
40
4.05
4.82
51
4.82
5.73
61
0.075
0.57
0 (Disabled)
16
L-ASC10
In-System Programmable
Hardware Management Expander
The window control section of the voltage monitor circuit is an AND gate (with inputs: an inverted COMPA “ANDed”
with COMPB signal) and a multiplexer that supports the ability to develop a ‘window’ function in hardware. Through
the use of the multiplexer, voltage monitor’s ‘A’ output may be set to report either the status of the ‘A’ comparator, or
the window function of both comparator outputs. The voltage monitor’s ‘A’ output indicates whether the input signal
is between or outside the two comparator thresholds. Important: This windowing function is only valid in cases
where the threshold of the ‘A’ comparator is set to a value higher than that of the ‘B’ comparator. Table 2 shows the
operation of window function logic.
Table 2. Voltage Monitoring Window Logic
Comp A
Comp B
Window
(B and Not A)
Comment
VIN < Trip-Point B < Trip-Point A
0
0
0
Outside window, low
Trip-Point B <VIN < Trip-Point A
0
1
1
Inside window
Trip-Point B < Trip-Point A < VIN
1
1
0
Outside window, high
Input Voltage
Note that when the ‘A’ output of the voltage monitor circuit is set to windowing mode, the ‘B’ output continues to
monitor the output of the ‘B’ comparator. This can be useful in that the ‘B’ output can be used to augment the windowing function by determining if the input is above or below the windowing range.
The third section in the voltage monitor circuit is a glitch filter. When enabled, glitches of less than 64 µs will not
result in the comparator output changing. This results in a comparator output delay of 64 µs (typical) for all comparator transitions. This is especially useful for reducing the possibility of false triggering from noise that may be present on the voltages being monitored. When the filter is disabled, the comparator output will be delayed by 16 µs
(typical). See the Propagation Delays section for more details.
The comparator status can be read from the I2C interface. For details on the I2C interface, please refer to the I2C
Interface section of this data sheet.
Current Monitor Inputs
The ASC provides two current monitor circuits as shown in Figure 8. This includes a low-voltage current monitor
(with a common mode voltage up to around 6V, see VIN_IMONP in Recommended Operating Conditions section)
and a high-voltage current monitor (with a common mode voltage range of up to around 13 V, see VIN_HIMONP in
Recommended Operating Conditions section). The low-voltage and high-voltage current monitors share the same
basic functional blocks, which are described in this section. Only the low-voltage current monitor supports the lowside sensing mode (shown in Figure 8). The high-voltage current monitor shares input pins with the high-voltage
monitor described in the next section.
The current monitor circuits have a differential input that is connected to an external shunt resistor. The differential
input goes to a pair of programmable gain amplifiers (PGA) and a fast comparator. The output of PGA A is connected to the ADC and the programmable trip point comparator A. The output of PGA B is connected to the programmable trip point comparator B. The output of the fast comparator is routed to the on-chip Output Control Block
(OCB). This signal is useful for fast overcurrent or short circuit shutdown scenarios.
17
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 8. ASC Current Monitor
ASC
Low-Side Sense Mode**
Trip Point F
HIMON_F / IMON_F
To OCB (Fast Fault Detection)
FAST
To ADC
External Current
Sense Resistor
HIMONP
IMON1P
Comp A
Window Mode Select
HIMON_A / IMON1_A
Logic Signal
PGA A
HIMONN_HVMON
IMON1N
MUX
Trip Point A
Glitch
Filter
Comp B
Direction of
current flow
Glitch
Filter
Trip Point B
To HVMON*
Voltage
Monitor
Pre-Amplified Input
TO
ASC-I/F
and OCB
HIMON_B /
IMON1_B
Logic Signal
PGA B
Window Control
Amplified Input
Filtering
IMON Status
*HVMON signal is only present in HIMON Current Monitor
**Low-Side Sense is only present in low-voltage IMON Current Monitor
I2C Interface Unit
The Current Monitors can be divided into four sections: Pre-Amplified Input, Amplified Input, Window Control, and
Filtering. The first section includes the differential input pins IMON1P and IMON1N (low-voltage current monitor) or
HIMONP and HIMONN_HVMON (high-voltage current monitor). These pins are connected to the PGA circuits as
well as the direct differential connection to the Fast Fault Detector.
The differential input is monitored by the fast fault detector. The fast fault detector has coarse accuracy and eight
programmable trip points. The key feature of the fast fault detector is its response time. The fast fault detector outputs a HIGH signal to the OCB if the differential voltage across the current sensing shunt exceeds the programmed
trip point setting. The current shunt is normally connected on the high-side of the input voltage. However, the lowvoltage current monitor also supports low-side sensing. The low-side sensing mode should be enabled when sensing negative voltage supplies (such as –48 V) or if the current sense resistor is placed in the return line between the
load and ground. This insures proper operation of the fast comparator in a low-side sensing circuit.
Table 3 shows the available trip points for the fast fault detector vs. three frequently used sense resistor values.
Table 3. Fast Fault Detector Current Trip Points vs. Frequently Used Sense Resistor Values
Trip Point Setting
Frequently Used Sense Resistor Value
1 Milliohm
5 Milliohm
50 mV
50 A
10 A
5A
100 mV
100 A
20 A
10 A
150 mV
150 A
30 A
15 A
200 mV
200 A
40 A
20 A
250 mV
250 A
50 A
25 A
300 mV
300 A
60 A
30 A
400 mV
400 A
80 A
40 A
500 mV
500 A
100 A
50 A
18
10 Milliohm
L-ASC10
In-System Programmable
Hardware Management Expander
The Programmable Gain Amplifiers have gain settings of 10x, 25x, 50x, and 100x. The PGA circuits amplify the
voltage differential across the current shunt and pass the results to the amplified input section of the current monitor.
The Amplified Input section provides two individually programmable trip-point comparators, shown as Comp A and
Comp B above. Each comparator supports four different trip points. Combining these trip points with the respective
PGA settings, 16 unique threshold levels are selected for each current monitor.
Table 4 shows the available voltage differential trip points.
Table 4. Comparator Trip Points
Trip Point Setting
Programmable Gain Amplifier Setting (V/V)
10 x
25 x
50 x
100 x
1
75 mV
30.5 mV
15.5 mV
8 mV
2
100 mV
40.5 mV
20.5 mV
10.5 mV
3
140 mV
56.5 mV
28.5 mV
14.5 mV
4
190 mV
77 mV
39 mV
20 mV
The output of PGA A is also passed to the on-chip ADC. The current is measured and averaged by the ADC at regular intervals, as described in the Current Measurement with ADC section of the datasheet.
The window control section of the current monitor circuit is an AND gate (with inputs: an inverted COMPA “ANDed”
with COMPB signal) and a multiplexer that supports the ability to develop a ‘window’ function in hardware, similar to
the voltage monitor window function. Through the use of the multiplexer, the current monitor’s ‘A’ output may be set
to report either the status of the ‘A’ comparator, or the window function of both comparator outputs. The current
monitor’s ‘A’ output indicates whether the input signal is between or outside the two comparator thresholds. Important: This windowing function is only valid in cases where the threshold of the ‘A’ comparator is set to a value higher
than that of the ‘B’ comparator. Table 5 shows the operation of window function logic.
Table 5. IMON Window Mode Behavior
Input Voltage
Comp A
Comp B
Window
(B and Not A)
IIN < Trip-Point B < Trip-Point A
0
0
0
Outside window, low
Trip-Point B <IIN < Trip-Point A
0
1
1
Inside window
Trip-Point B < Trip-Point A < IIN
1
1
0
Outside window, high
Comment
Note that when the ‘A’ output of the current monitor circuit is set to windowing mode, the ‘B’ output continues to
monitor the output of the ‘B’ comparator. This can be useful in that the ‘B’ output can be used to augment the windowing function by determining if the input is above or below the windowing range.
The fourth section in the current monitor circuit is a glitch filter. When enabled, glitches of less than 64 µs will not
result in the comparator output changing. This results in a comparator output delay of 64 µs (typical) for all comparator transitions. This is especially useful for reducing the possibility of false triggering from noise that may be present on the currents being monitored. When the filter is disabled, the comparator output will be delayed by 16 µs
(typical). See the Propagation Delays section for more details.
The comparator status can be read from the I2C interface. For details on the I2C interface, please refer to the I2C
Interface section of this data sheet.
High Voltage Monitor
The High Voltage Monitor circuit is a single-ended high voltage monitor (HVMON) which is connected to the same
input pin as the High Voltage Current Monitor (HIMONN_HVMON). Figure 9 shows the single-ended monitor circuit, which monitors the voltage on the HIMON pin.
19
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 9. HVMON Monitor Circuit
From Current
Monitor
HIMONN_HVMON
To ADC
Comp A
Comp A/Window
Select
HVMON_A
Logic Signal
MUX
Trip Point A
Glitch
Filter
TO
ASC-I/F
HVMON_B
Logic Signal
Comp B
Glitch
Filter
Trip Point B
Analog Input
Window Control
Filtering
VMONx Status
I2C Interface Unit
The HVMON follows the same structure as the Voltage Monitor circuits. Two individually programmable trip-point
comparators are connected to the HIMONN_HVMON pin voltage. Each of the comparator references has 408 programmable trip points, over a range of 0.227 V to 13.226 V.
The functional block diagram, shown in Figure 9, is a similar structure to the other single-ended Voltage Monitor circuits. Each comparator outputs a HIGH signal to the ASC-I/F if the voltage at its positive terminal is greater than its
programmable trip point setting. A hysteresis of approximately 1% of the setpoint is provided by the comparators to
reduce false triggering. Table 6 shows a typical hysteresis versus voltage monitor trip point.
Table 6. HVMON Hysteresis vs Trip Point Range
Trip-point Range (V)
Hysteresis (mV)
Low Limit
High Limit
1.91
2.27
22
2.27
2.7
28
2.69
3.2
30
3.16
3.76
38
3.72
4.43
44
4.40
5.24
52
5.18
6.17
61
6.04
7.20
72
7.08
8.43
84
8.29
9.87
99
9.68
11.52
115
11.17
13.2
133
0.23
1.28
0 (Disabled)
The Over-Voltage and Under-Voltage thresholds, along with the window mode and glitch filter, are identical to the
features described in the voltage monitor section.
20
L-ASC10
In-System Programmable
Hardware Management Expander
VMON and IMON Measurement with the On-Chip Analog to Digital Converter (ADC)
The ASC has an on-chip analog to digital converter that can be used for measuring the voltages at the VMON
inputs or the currents at the IMON inputs. This ADC is also used in closed loop trimming of DC-DC converters.
Closed loop trimming is covered later in this document.
Figure 10. ADC Monitoring VMON and IMON
HIMON PGA
Output
+
VMON1 _
IMON1 PGA
Output
÷3 / ÷1
HVMON*
ADC MUX
VMON5
Programmable Analog
Attenuation
VMON MUX
+
VMON4 _
Programmable Digital
Multiplier
x8 / x4
x3 / x1
ADC
To I2C
ADC Readout
Register
Internal
VREF 2.048V
÷8 / ÷4
IMON/HIMON
Averaging
VMON9
To closed
Loop Trim
Circuit
To I2C
IMON/HIMON
Average
Register
ADC Control
Logic
From Closed
Loop Trim Circuit
From I2C ADC
MUX Address
Figure 10 shows the ADC circuit arrangement within the ASC device. The ADC can measure all analog input voltages up to 2.048V through the multiplexer, ADC MUX. The ADC MUX receives inputs from the High Voltage IMON
Programmable Amplifier (PGA), the IMON1 PGA, the High Voltage Monitor (HVMON) at the HIMONN_HVMON
pin, and the VMON MUX. The VMON voltages can be attenuated (divided by three) or unattenuated (divided by
one). The divided-by-three setting is used to measure voltages from 0 V to 6 V range and divided-by-one setting is
used to measure the voltages from 0 V to 2 V range. The HVMON voltage requires attenuation, with settings for
divided by eight (voltages between 8 V and 13.2 V) or divided by four (voltages between 8 V and 0 V). The HIMON
and IMON1 PGA output voltages must be kept below 2.0 V for proper ADC operation since they are not attenuated.
The ADC control logic manages the MUX and attenuation settings. The control logic manages conversion requests
from I2C and the Closed Loop Trim Circuit. The control logic also schedules regular IMON1 and HIMON conversions, which are subsequently averaged and stored for user access. These IMON conversions are configured
through the I2C bus and filtered using an eight sample, weighted averaging scheme.
The control logic also sets the digital multiplication factor. This results in VMON and HVMON voltages, regardless
of attenuation setting, maintaining a 2 mV per LSB scale. (See calculation section for more details). The IMON1/
HIMON voltages are not multiplied.
A microcontroller or FPGA IP can place a request for any VMON or IMON voltage measurement at any time
through the I2C bus. After the receipt of an I2C command, the control logic will connect the ADC to the I2C selected
VMON or IMON through the ADC MUX. The ADC output is then latched into the I2C readout registers.
21
L-ASC10
In-System Programmable
Hardware Management Expander
Calculation
The algorithm to convert the ADC code to the corresponding VMON / HVMON voltage takes into consideration the
relevant attenuation setting. In other words, if the attenuation is set to divide-by-eight, then the 10-bit ADC result is
automatically multiplied by eight to calculate the actual voltage at that VMON input. Thus, the I2C readout register is
13 bits instead of 10 bits. The other attenuator settings are also automatically compensated using the digital multiplier. The following formula can always be used to calculate the actual voltage from the ADC code.
Voltage at the VMONx Pins
VMON= ADC code (13 bits, converted to decimal) * 2 mV
The ADC code includes the ADC_VALUE_HIGH (8 bits) and ADC_VALUE_LOW (5 bits) read from I2C interface
Calculating the HIMON or IMON1 current is slightly more complex, and requires knowledge about the current PGA
setting and the resistance value of the current sense shunt resistor. The PGA has four settings (x10, x25, x50, and
x100), while the current sensing resistance is chosen by the customer.
Current at the HIMON / IMON1 Pins
IMON current = ADC code (13 bits, converted to decimal) * 2 mV / (PGAsetting x Rsense)
Temperature Monitor Inputs
The ASC provides two external temperature monitor inputs and one internal temperature monitor as shown in
Figure 11.
Figure 11. Temperature Monitor
Ideality
Offset
TMON1
TMON MUX
TMON2
Temperature
Sensor Interface
Temperature
Conversion
ADC
Measurement
Average Filter
I2C Register
TMON_INT
Comp A
Trip Point A
Monitor
Alarm Filter
To
ASC-I/F
Monitor
Alarm Filter
To
ASC-I/F
Hysteresis A
Comp B
Trip Point B
Hysteresis B
The independently programmable temperature monitor inputs can be used with internal substrate diodes on microprocessors, FPGAs, ASICs, or with low cost external NPN or PNP transistors. The temperature sensor interface
block includes programmable support for a variety of sensor configurations as shown in Figure 12. The sensor configuration settings available in the design software are described in Table 7.
22
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 12. Remote TMON Diode Configurations
a
b
TMON_p
c
TMON_p
TMON_p
TMON_n
TMON_n
TMON_n
Recommended Configurations
d
e
TMON_p
TMON_p
Not Recommended
Table 7. Remote TMON Diode Configurations
Figure Number
Auto-
Compensation
Series Resistance
Compensation
11-a
Effective
Effective
Specified in recommended operating conditions
Differential PNP 
or NPN or Diode
11-b / 11-c
Not effective
Effective
Dependent on  variance
Single Ended
11-d / 11-e
Not effective
Not Effective
Sensor
Configuration
Beta Compensated
PNP
Accuracy
Not specified
The temperature sensor interface block also has built-in circuits to automatically compensate for the series resistance of the PCB traces to the sensor as well as the intrinsic device resistance. In addition, the interface block has
circuits to compensate for the variable Beta () of the transistor sensor when it is connected in the configuration
shown in Figure 12-a. (In order for the variable  compensation circuit to be effective it must be able to measure the
base current separately from the collector current.) For a discrete PNP or NPN transistor with high  (approximately
100 or greater) the effect of variable beta is typically negligible. However, most substrate diode temperature sensors will have a low value which can vary considerably over temperature and current density making this a very
useful feature.
The temperature signal information is converted to digital data by the dedicated TMON ADC. The digital data is
scaled and converted to a two’s complement, 11-bit temperature reading by the Temperature Conversion block.
The measurement resolution is 0.25 oC per bit. The temperature conversion block takes into account the user
entered ideality factor and offset value.
The ideality factor (also known as the emission coefficient or the N-factor) is a measure of how closely a real diode
follows the ideal diode equation. In a real diode imperfections allow some recombination to occur in the junctions or
by other methods which are not accounted for in the ideal equation. The ASC temperature conversion block is optimized for an ideality factor of 1 so any errors in the actual ideality factor of the sensor will produce a proportional
error in the temperature value (in Kelvins). The diode ideality factor can be programmed in the range from 0.9 to 2.0
to match the actual ideality factor of the sensor.
An approximate value for the ideality factor for a 2N3904 NPN transistor is 1.004 and for a 2N3906 PNP transistor
is 1.008. A substrate diode temperature sensor will typically have an ideality factor published in its data sheet.
23
L-ASC10
In-System Programmable
Hardware Management Expander
Uncertainty can be introduced in temperature measurement by using an approximate value rather than the actual
value for a 2N3904 or a 2N3906 transistor. This can lead to an error of around 0.4 oC. If the ideality factor for the
transistor being used is not published it can be determined by the ASC using the following procedure.
1. Force the system temperature to a known value (Tref).
2. With the ASC ideality factor set to 1.000, record the temperature value calculated (Tnocal).
3. Convert the Tref and Tnocal to Kelvin.
4. Divide the Tnocal (K) by Tref (K).
The result will be the actual ideality factor to be entered for the given TMON channel in the design software.
Note: The calibration is only as accurate as the Tref value. Any errors in the test equipment used will be transferred
to the ASC readings.
The temperature conversion block also provides user programmable temperature offset from –64 ºC to 63.75 ºC for
each channel’s digital data to mitigate errors due to self-heating of the sensor, systematic offset and other unforeseen errors.
The conversion block also includes programmable output values for detected short or open conditions at the monitor input. The output levels are shown in Table 8.
Table 8. Temperature Measurement Fault Readings
Fault
Short
Open
0
–255.75 oC
255.75 oC
1
255.75 oC
–255.75 oC
The converted temperature data for each channel is stored in two registers and can be read out via I2C, after the
programmable Measurement Averaging filter. For more details about the data register format, please refer to Measurement and Control Register Access in the I2C Interface section of this data sheet.
The programmable measurement filter performs exponential averaging. Data is available immediately after one
update cycle and is continually averaged using the programmable filter coefficients of 1, 8, or 16 per channel. The
filtering equation is shown below:
TempMeas  x 
FiltCo – 1
TempAve  x  = ---------------------------------------- + TempAve  x – 1   -----------------------FiltCo
FiltCo
When the temperature input changes it will require some settling time for the new value to be fully reflected in the
results register due to the averaging filter. The settling time will vary depending upon how many channels are
enabled and the programmed averaging coefficient. The settling time for various averaging coefficients and number
of channels is shown in Table 9.
24
L-ASC10
In-System Programmable
Hardware Management Expander
Table 9. Temperature Measurement Settling Time1
Measurement
Averaging Coefficient
Number of
Channels Enabled
Average Settling Time
(ms)
1
1
14.2
8
1
114
16
1
228
1
2
28.4
8
2
227
16
2
454
1
3
42.6
8
3
341
16
3
682
1. Values are approximate and are not guaranteed by characterization.
In addition to the direct temperature measurement the ASC has a temperature comparison function. The digital
data of each channel is monitored by two trip-point comparators, shown as Comp A and Comp B in Figure 11. The
digital temperature data monitored at the comparators is not processed by the measurement averaging filters.
Each comparator reference has programmable trip points over the range of –64 ºC to 155 ºC with resolution of 1ºC.
Whenever the monitored temperature is above the trip point, the comparator output is set to one. The comparator
outputs are transmitted over the ASC-I/F to the FPGA, depending on the setting of the Alarm Filter.
The two comparators each support programmable Hysteresis of 0 ºC to 63 ºC. When a comparator is used for overtemperature monitoring the programmed hysteresis value is subtracted from the trip point and when the comparator is used for under-temperature monitoring the programmed hysteresis value is added to the trip point. The hysteresis behavior is displayed in Figure 13 and Figure 14.
Monitored Temperature
Figure 13. Monitor Alarm Signal Behavior - Overtemperature (OT) Setting
Trip Point
Hysteresis
Monitor Alarm
Signal
25
Trip Point - Hysteresis
L-ASC10
In-System Programmable
Hardware Management Expander
Monitored Temperature
Figure 14. Monitor Alarm Signal Behavior - Undertemperature (UT) Setting
Trip Point + Hysteresis
Hysteresis
Trip Point
Monitor Alarm
Signal
Each comparator can be individually selected as either over-temperature or under-temperature operation.
A programmable Alarm Filter (separate from the measurement averaging filter) is available at the output of the
comparators. The depth of this filter is programmable from 1 to 16. The filter monitors the comparator alarm output
each time the temperature measurement is refreshed. The filter counts up each time the comparator alarm value is
1, and down each time the comparator alarm value is 0. When the filter counter reaches the programmed filter
depth, the TMONx_A or TMONx_B signal are set to one.
26
L-ASC10
In-System Programmable
Hardware Management Expander
Digital Inputs/Outputs
The ASC has four dedicated digital outputs (HVOUTs) and nine General Purpose Input/Output (GPIO) pins. The
four HVOUT pins can be configured as high-voltage FET drivers or Open Drain outputs. This provides a high
degree of flexibility when interfacing to power supply control inputs or other external logic signals.
The nine GPIO pins can be configured as inputs or Open Drain outputs. Figure 15 shows a block diagram of the
GPIO circuitry. When configured as inputs, GPIO1 through GPIO10 inputs are registered and made available to the
FPGA using the ASC-I/F. GPIO5 through GPIO10 are also made available to the Output Control Block (OCB)
directly without being registered. When configured as outputs, GPIO1 through GPIO10 are controlled by the ASCI/F. Table 10 shows a summary of the input and output sources for each GPIO pin.
Table 10. GPIO Input and Output Sources
GPIO
ASC-I/F Input
OCB Input
ASC-I/F output
OCB output
Hysteretic control
GPIO1
Y
N
Y
N
N
GPIO2
Y
N
Y
Y
Y
GPIO3
Y
N
Y
Y
Y
GPIO4
Y
N
Y
N
N
GPIO5
Y
Y
Y
N
N
GPIO6
Y
Y
Y
N
N
GPIO7
N/A
N/A
N/A
N/A
N/A
GPIO8
Y
Y
Y
N
N
1
GPIO9
Y
Y
Y
N
N
GPIO10
Y
Y
Y
N
N
1. GPIO7 is not bonded out.
Figure 15. GPIO Block Diagram
Input Buffer
Digital Input
To OCB **
Digital Input
To ASC-I/F
GPIOx
Pin
Digital Control
From ASC-I/F
or
From OCB *
Open Drain
Output Buffer
* Digital Control comes from OCB for GPIO 2 and 3.
Digital Control comes from ASC-I/F for remaining GPIO.
** Only available for GPIO 5, 6, 7, 8, 9 and 10.
27
L-ASC10
In-System Programmable
Hardware Management Expander
Output Control Block
The ASC Output Control Block (OCB) is used to control GPIO2, GPIO3, and the four HVOUTs. The Output Control
Block has two modes of operation available; Direct Output control and Hysteretic Feedback control as shown in
Figure 16.
Direct Output control is supported by various inputs which include the I2C registers, GPIO pins 5-10 (when configured as inputs), the VMON4A and VMON9A comparator output signals, and the Fast IMON1 and Fast HIMON
comparator output signals. These inputs are individually selectable for each of the outputs. When these inputs are
used with the Direct Output control mode they provide a fast path for control which has very low propagation delay.
The outputs in the OCB can also be controlled from the FPGA Logic over the ASC Interface (ASC-I/F) with the normal propagation delays. See the Propagation Delays section for more details.
Figure 16. Output Control Block – Simplified Diagram
FPGA Logic (ASC–I/F)
GPIO2
I 2C
GPIO5-10
Direct Output
Control
GPIO3
VMON4_A and VMON9_A
Output
Routing
Fast HIMON, IMON1
FPGA Logic (ASC–I/F)
VMON5 and VMON6
HVOUT1
HVOUT2
HVOUT3
Hysteretic Feedback
Control
HVOUT4
HIMON, IMON1
The OCB outputs can also be configured for Hysteretic Feedback control if desired. In the Hysteretic Feedback
control mode the output will be switched on and off based upon the feedback signal chosen. The available feedback signals are the HIMON, IMON1, VMON5, or VMON6 trip points. As the feedback signal changes it will turn
the output on or off depending upon whether it is above or below the chosen set-point and depending upon the output polarity. The user logic can switch between the high and low trip points of a signal to provide additional flexibility. In addition, the FPGA Logic can be dynamically selected to provide the feedback signal over the ASC-I/F which
allows the user logic to change from a conditional output to a static value.
One example of how the Hysteretic feedback control feature can be used is to modulate a high-voltage FET driver
using the FPGA logic and the trip points to control the rate of modulation over different voltage ranges - such as in
a Hot Swap application. The design software provides an easy to use interface for configuring the device as a hot
swap controller. The software will generate the required device settings and control algorithm automatically.
28
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 17. HVOUT Output Routing MUX Block Diagram
OCB Routing MUX
FPGA Logic (ASC-I/F)
0
I2C
1
GPIO5
2
GPIO6
3
GPIO7
4
GPIO8
5
GPIO9
6
GPIO10
7
IMON1_F
8
HIMON_F
9
VMON4_A
10
VMON9_A
11
HIMON – HCM1
12
IMON1 – HCM2
13
VMON5 – HCM3
14
VMON6 – HCM4
15
Polarity MUX
1
PWM
HVOUT
(1 - 4)
0
Configuration Memory
Configuration Memory
Figure 17 is a generic HVOUT routing diagram that applies to all the HVOUTs and provides a bit more detail than
the simplified diagram in Figure 16. The MUX on the left is configured by Platform Designer software and selects
from either the 12 direct control signals at the top or the four Hysteretic Control Module (HCM) signals at the bottom. The software is also used to select normal or inverted control. The features and configuration of the PWM and
HVOUT blocks are covered in the High Voltage Outputs section. If PWM is enabled then the output of the Polarity
MUX will enable or disable the PWM; otherwise the HVOUT will be on or off based on the Polarity Mux output signal.
29
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 18. GPIO Output Routing MUX Block Diagram
OCB Routing MUX
FPGA Logic (ASC-I/F)
0
I2C
1
GPIO5
2
GPIO6
3
GPIO7
4
GPIO8
5
GPIO9
6
GPIO10
7
IMON1 _F
8
HIMON_F
9
VMON4_A
10
VMON9_A
11
HIMON – HCM1
12
IMON1 – HCM2
13
VMON5 – HCM3
14
VMON6 – HCM4
15
Polarity MUX
1
GPIO
(2 – 3)
0
Configuration Memory
Configuration Memory
Figure 18 is a generic GPIO routing diagram that applies to GPIO2 & GPIO3 and it provides a bit more detail than
the simplified diagram in Figure 16. The MUX on the left is configured by Platform Designer software and selects
from either the 12 direct control signals at the top or the four Hysteretic Control Module (HCM) signals at the bottom. The software is also used to select normal or inverted control. The GPIO pin will be on or off based on the
Polarity Mux output signal.
Figure 19 is a diagram of Hysteretic Control Module #1 (HCM1) which is a little more complex than the other HCMs
in the device. It is unique in that it is the only HCM that supports a dynamic selection of the Trip Point from the table;
while the other HCMs can only dynamically switch between two comparator outputs (for example a low and high
setting). The software configures the Trip Point MUX to either use a fixed configuration HIMON trip point or the
dynamic HIMON trip point which is set by the FPGA Logic based upon the operating conditions. The output of the
HIMON comparator is inverted before sending it to the Hysteretic Enable MUX.
30
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 19. OCB HIMON HCM1 Block Diagram
OCB Inverter
HIMON_A
Trip Point MUX
Configuration Memory Trip Point
0
FPGA Logic Trip Point (ASC-I/F)
1
HIMON Comparator*
Configuration Memory
Static Control MUX
Hysteretic Enable MUX
1
Control Signals from FPGA Logic
(ASC-I/F)
GPIO2
0
GPIO3
1
HVOUT1
2
HVOUT2
3
HVOUT3
4
HVOUT4
5
HIMON – HCM1
(To Output Routing Muxes)
0
FPGA Logic (ASC-I/F)
6
7
Configuration Memory
* HIMON Windowing and Glitch Filters are not shown in this diagram for clarity.
The input to the OCB inverter is from the glitch filter.
The Hysteretic Enable MUX is controlled by the FPGA Logic over the ASC-I/F. The HIMON comparator signal is
selected when the Hysteretic mode is enabled and the HVOUT or GPIO is controlled based on the voltage sensed
at the HIMON input pins. When the Hysteretic mode is disabled the HVOUT or GPIO is controlled by the output of
the Static Control MUX. All the input signals to the Static Control MUX come from the FPGA Logic over the ASCI/F. Typically the Static Control MUX is configured by the software to connect to the corresponding output being
controlled by the HCM. For example, if HCM1 is selected for HVOUT2, then the Static Control MUX would also be
set to HVOUT2. In this manner when Hysteretic Mode is disabled it is just like setting the OCB Routing MUX to
zero where the FPGA Logic controls the HVOUT or GPIO over the ASC-I/F.
31
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 20. OCB IMON1 HCM2 Block Diagram
IMON1
Configuration Memory Trip Point A
Comparator MUX
0
OCB Inverter
IMON1
Comparators*
1
Configuration Memory Trip Point B
FPGA Logic (ASC-I/F)
Static Control MUX
Hysteretic Enable MUX
1
Control Signals from FPGA Logic
(ASC-I/F)
GPIO2
0
GPIO3
1
HVOUT1
2
HVOUT2
3
HVOUT3
4
HVOUT4
5
0
IMON1 – HCM2
(To Output Routing
Muxes)
FPGA Logic (ASC-I/F)
6
7
Configuration Memory
* IMON Windowing and Glitch Filters are not shown in this diagram for clarity.
The input to the comparator MUX is from the glitch filters.
Figure 20 is a diagram of Hysteretic Control Module #2 (HCM2) which is also an IMON based HCM. The software
is used to select both the A and B trip points, while the FPGA Logic is used to dynamically switch between the two
comparator outputs. The output of the Comparator MUX is inverted before sending it to the Hysteretic Enable MUX.
The Hysteretic Enable MUX is controlled by the FPGA Logic over the ASC-I/F. The Comparator MUX output signal
is selected when the Hysteretic mode is enabled and the HVOUT or GPIO is controlled based on the voltage
sensed at the IMON1 input pins. When the Hysteretic mode is disabled the HVOUT or GPIO is controlled by the
output of the Static Control MUX. All the input signals to the Static Control MUX come from the FPGA Logic over
the ASC-I/F. Typically the Static Control MUX is configured by the software to connect to the corresponding output
being controlled by the HCM.
When using the hysteretic mode in hot swap applications, the design software will automatically configure the
muxes and generate the control algorithm. See the For Further Information section for more details.
32
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 21. OCB VMON5 HCM3 Block Diagram
VMON5
Configuration Memory Trip Point A
Comparator MUX
0
OCB Inverter
VMON5
Comparators*
1
Configuration Memory Trip Point B
FPGA Logic (ASC-I/F)
Static Control MUX
Hysteretic Enable MUX
1
Control Signals from FPGA Logic
(ASC-I/F)
GPIO2
0
GPIO3
1
HVOUT1
2
HVOUT2
3
HVOUT3
4
HVOUT4
5
0
VMON5 – HCM3
(To Output Routing
Muxes)
FPGA Logic (ASC-I/F)
6
7
Configuration Memory
* VMON5 Windowing and Glitch Filters are not shown in this diagram for
clarity. The input to the comparator MUX is from the glitch filters.
Figure 21 is a diagram of Hysteretic Control Module #3 (HCM3) which is a VMON based HCM. The software is
used to select both the A and B trip points, while the FPGA Logic is used to dynamically switch between the two
comparator outputs. The output of the Comparator MUX is inverted before sending it to the Hysteretic Enable MUX.
The Hysteretic Enable MUX is controlled by the FPGA Logic over the ASC-I/F. The Comparator MUX output signal
is selected when the Hysteretic mode is enabled and the HVOUT or GPIO is controlled based on the voltage
sensed at the VMON5 input pins. When the Hysteretic mode is disabled the HVOUT or GPIO is controlled by the
output of the Static Control MUX. All the input signals to the Static Control MUX come from the FPGA Logic over
the ASC-I/F. Typically the Static Control MUX is configured by the software to connect to the corresponding output
being controlled by the HCM.
33
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 22. OCB VMON6 HCM4 Block Diagram
VMON6
Configuration Memory Trip Point A
Comparator MUX
0
OCB Inverter
VMON6
Comparators*
1
Configuration Memory Trip Point B
FPGA Logic (ASC-I/F)
Static Control MUX
Hysteretic Enable MUX
1
Control Signals from FPGA Logic
(ASC-I/F)
GPIO2
0
GPIO3
1
HVOUT1
2
HVOUT2
3
HVOUT3
4
HVOUT4
5
0
VMON6 – HCM4
(To Output Routing
Muxes)
FPGA Logic (ASC-I/F)
6
7
Configuration Memory
* VMON6 Windowing and Glitch Filters are not shown in this diagram for
clarity. The input to the comparator MUX is from the glitch filters.
Figure 22 is a diagram of Hysteretic Control Module #4 (HCM4) which is a second VMON based HCM. The software is used to select both the A and B trip points but, the FPGA Logic is used to dynamically switch between the
two comparator outputs. The output of the Comparator MUX is inverted before sending it to the Hysteretic Enable
MUX.
The Hysteretic Enable MUX is controlled by the FPGA Logic over the ASC-I/F. When the Comparator MUX output
signal is selected the Hysteretic mode is enabled and the HVOUT or GPIO is controlled based on the voltage
sensed at the VMON6 input pins. When the Hysteretic mode is disabled the HVOUT or GPIO is controlled by the
output of the Static Control MUX. All the input signals to the Static Control MUX come from the FPGA Logic over
the ASC-I/F. Typically the Static Control MUX is configured by the software to connect to the corresponding output
being controlled by the HCM.
The Platform Designer software has component interfaces that are used to simplify the task of configuring the OCB
blocks discussed in this section. For example, the Hot Swap component provides a functional interface for the
designer while setting the trip points for VMONs and IMONs, and routing them to HVOUTs using OCB paths.
34
L-ASC10
In-System Programmable
Hardware Management Expander
High Voltage Outputs
In addition to being usable as digital Open Drain outputs the four HVOUT pins can be configured as high-voltage
FET drivers. Figure 23 shows the details of the HVOUT circuitry.
Figure 23. HVOUT Block Diagram
Charge Pump
Vpp
ISOURCE
HVOUTx
Pin
ISINK
Switched Mode Select
Digital Control
from OCB
Switched Mode
Control
HVOUT / Open Drain Select
When the HVOUT is configured as a high-voltage FET driver the output either sources current from a charge pump
or sinks current. The output level at the pin can rise to a configurable maximum voltage. The maximum voltage levels that are required depend on the gate-to-source threshold of the FET being driven and the power supply voltage
being switched. The maximum voltage level needs to be sufficient to bias the gate-to-source threshold on and also
accommodate the load voltage at the FET’s source with the source pin of the FET tied to the supply of the target
board. Using this arrangement allows the system to provide a wide range of ramp rates for the FET driver.
The HVOUT FET driver outputs a configurable source current (ISOURCE) in order to charge the FET gate. When the
driver is turned off, it outputs a configurable sink current (ISINK) to discharge the FET gate. The Isink setting also
includes a fast turn off setting. See the High Voltage FET Drivers section in DC and Switching Characteristics for
more details.
The four HVOUT pins can also be configured as switched mode outputs in either the high-voltage FET driver or
Open Drain mode. This is useful when the HVOUT is driving a High side MOSFET controlling a supply greater than
6 V. This feature is also useful for driving a MOSFET in a charge pump circuit to generate voltages above 12 volts.
The switched output duty cycle can be configured from 6.25% up to 93.75% in step sizes of 6.25% and the frequency can be configured as either 15.625 kHz or 31.25 kHz. This flexibility allows the output to be configured to
drive a wide variety of circuit components for a design. The rise and fall of the switched mode outputs may not complete with certain combinations of the charge pump settings (VPP, ISOURCE, ISINK) and the switched mode settings
(Duty Cycle and Frequency). The configuration should be chosen with the output circuit in mind.
35
L-ASC10
In-System Programmable
Hardware Management Expander
Safe State of Digital Outputs
During power-up the GPIO will be configured as outputs and will be in the “Safe-State” as defined in Table 11. The
HVOUTs will be configured in the FET driver mode during power-up. When the ASC completes the power up
sequence then the HVOUT and GPIO control is transferred to the ASC-I/F or OCB depending upon the configuration. The ASC will indicate that it has completed the power up sequence by asserting the AGOOD signal to the
FPGA using the ASC-I/F.
Table 11. GPIO and HVOUT Safe-State definitions
I/O
SAFE-STATE
HVOUT1
Low
HVOUT2
Low
HVOUT3
Low
HVOUT4
Low
GPIO1
Low
GPIO2
Low
GPIO3
Low
GPIO4
Low
GPIO5
Low
GPIO6
Low
GPIO8
Hi-Z
GPIO9
Hi-Z
GPIO10
Low
Controlling Power Supply Output Voltage by Trim and Margin Block
One of the key features of the ASC is its ability to make adjustments to the power supplies that it may also be monitoring and/or sequencing. This is accomplished through the Trim and Margin Block of the device.
As shown in Figure 24 the Trim and Margin Block can adjust voltages of up to four different power supplies through
the DACs built-in the Trim Cells. The DC-DC blocks in the figure represent virtually any type of DC power supply
that has a trim or feedback input. This can be an off-the-shelf unit or custom circuit designed around a switching
regulator IC. The interface between ASC and the power supply shown in diagram by a resistor actually represents
a resistor network.
The individual ASC-I/F control signals for each Trimcell are:
• ASCx_TRIMx_CLTE — This is a closed loop trim enable signal of a TrimCell. When ASCx_TRIMx_CLTE =1 the
closed loop trimming for the DC-DC power supply connected to the TrimCell is enabled.
• ASCx_TRIMx_P0 and ASCx_TRIMx_P1 — These are two closed loop Trim Profile select signals used to select
the active voltage profile of a TRIM cell.
• ASCx_TRIMx_OE — This control signal enables the DAC output of a TrimCell. When ASCx_TRIMx_OE=1 the
DAC output of the Trim cell is active.
Other inputs to the TrimCell are:
• ADC — This input to the Trim cell is from the ADC which converts each VMON voltage into digital. The ADC input
is used by the Trim Cell for controlling the closed loop trim operation.
• I2C interface — Internal registers of the TrimCell can be accessed via I2C interface. The Platform Designer software provides control signals which can be programmed to restrict I2C access to the ASC.
36
L-ASC10
In-System Programmable
Hardware Management Expander
Next to each DC-DC converter, three example voltages are shown. These example voltages correspond to the
operating voltage profile of the corresponding TrimCell. As shown in Figure 24, the active operating profile for each
TrimCell is selected independently (of other TrimCells) using TRIMx_P0 and TRIMx_P1 signals.
Figure 24. ASC Margin/Trim Block
DC-DC Output Voltage
Controlled by Profiles
ASC Margin/Trim Block
VIN
VOUT
Voltage profile 0
TRIM1_CLTE
TRIM1_P0, TRIM1_P1
TrimCell #1
DAC
Trim 1
DC-DC
R1*
Trim-in
TRIM1_OE
ADC Input
from VMON1
VIN
DAC
Trim 2
DC-DC
R2*
TrimCell #3
I2C
VIN
DAC
Trim 3
DC-DC
R3*
Trim-in
0
1
1.05
0
0.96
TRIM2_P1
TRIM2_P0
VOUT
0
0
1.2
Voltage profile 1
0
1
1.28
Voltage profile 2
1
0
1.14
TRIM3_P1
TRIM3_P0
VOUT
Voltage profile 0
0
0
1.5
Voltage profile 1
0
1
1.57
Voltage profile 2
1
0
1.42
TRIM4_P1
TRIM4_P0
VOUT
0
0
3.3
I2C
VOUT
VIN
Voltage profile 0
TRIM4_CLTE
TRIM4_P0, TRIM4_P1
TrimCell #4
DAC
Trim 4
R4*
DC-DC
Trim-in
TRIM4_OE
ADC Input
from VMON4
1
1
VOUT
TRIM3_OE
ADC Input
from VMON3
0
Trim-in
TRIM3_CLTE
TRIM3_P0, TRIM3_P1
0
Voltage profile 1
VOUT
TRIM2_OE
ADC Input
from VMON2
VOUT
Voltage profile 2
Voltage profile 0
TrimCell #2
TRIM1_P0
I2C
TRIM2_CLTE
TRIM2_P0, TRIM2_P1
TRIM1_P1
I2C
*Indicates resistor network, see Figure 25.
37
Voltage profile 1
0
1
3.46
Voltage profile 2
1
0
3.13*
L-ASC10
In-System Programmable
Hardware Management Expander
There are four independently enabled TrimCells in the ASC device for controlling up-to four individual power supplies. Each Trimcell can generate up-to three trimming voltages to control the output voltage of the DC-DC converter.
Figure 25. TrimCell Driving a Typical DC-DC Converter
VOUT
VIN
VOUT
DC-DC
Converter
R3
TrimCell
#N
DAC
R1
Trim
R2
Figure 25 shows an example resistor network between the TrimCell #N in the ASC and the DC-DC converter. The
values of these resistors depend on the type of DC-DC converter used and its operating voltage range. The calculation to determine the values of the resistors R1, R2, and R3 is performed automatically in the Platform Designer
software.
TrimCell Architecture
The TrimCell block diagram is shown in Figure 26. Each TrimCell consists of a programmable Voltage Setpoint
Register, closed loop trim control logic and one 8-bit DAC at the output.
The Closed Loop Trim logic compares the Voltage Setpoint Register with the VMON voltage (converted to digital by
the ADC) and adjusts the 8-bit DAC output, which provides the trimming voltage required to set the output voltage
of a programmable supply. The Closed Loop Trim is enabled on a per channel basis, depending on the ASC-I/F signal TRIMx_CLTE.
38
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 26. TrimCell Architecture
DAC Codes
PROFILE 2 DAC CODE
(Configuration Memory)
8
PROFILE 1 DAC CODE
(Configuration Memory)
8
TRIMCELL ARCHITECTURE
01
00
PROFILE 0 DAC CODE
(Configuration Memory)
PROFILE
MUX
10
8
8
2
2
I C Voltage Register
ASC I2C Write
TRIMx_P0, TRIMx_P1
(ASC-I/F)
I2C Controller
Voltage Profiles
12
10
01
00
PROFILE 0 Setpoint
(Configuration Memory)
12
Voltage
Setpoint
Register
Digital
Closed Loop
Trim Logic
12
8
8
DAC
Register
PROFILE 1 Setpoint
(Configuration Memory)
MUX
12
PROFILE
MUX
PROFILE 2 Setpoint
(Configuration Memory)
8
TRIMx
DAC
12
12
2
I2C Voltage Register/
VID Setpoint
TRIMx_CLTE
(ASC-I/F)
ASC I2C Write
TRIMx_OE
(ASC-I/F)
ADC Output
(VMONx)
Trim Configuration Mode
(BYPASS - Configuration Memory)
TRIMx_P0, TRIMx_P1
(ASC-I/F)
I2C Controller
Profile0, Profile1 and Profile2 are 12-bit setpoints, which are written in the EEPROM memory during programming.
The active profile for each TrimCell is independently chosen based on ASC-I/F signals TRIMx_P0 / TRIMx_P1.
This profile is copied to the Voltage Setpoint Register whenever the TRIMx_P0, TRIMx_P1 signals change.
As shown the Profile0 Setpoint written in configuration memory can be overwritten by I2C commands during runtime. The I2C access to the Profile0 Setpoint can be restricted based on the ASC I2C write feature during configuration. See the I2C section for more details.
The DAC output of the Trimcell is enabled using ASC-I/F signal TRIMx_OE. The DAC register value is converted to
an analog voltage output by the DAC. The DAC register is written either by the closed loop trim logic or by user
defined DAC code.The input to the DAC register is determined based on the Trim configuration mode setting. The
"Trim Calculator" configuration mode (set in the Platform Designer software), selects the DAC input based on the
Closed Loop Trim Logic. The "Manual" (or Bypass) configuration mode selects the user defined DAC codes.
The DAC output values vs. configuration settings are shown in Table 12. See the Closed Loop Trim logic section for
more details.
39
L-ASC10
In-System Programmable
Hardware Management Expander
Table 12. DAC Output Value vs. Configuration Settings
Trim Configuration Mode
(Platform Designer Software)
TRIMx_CLTE
(ASC –I/F)
TRIMx_OE
(ASC- I/F)
x
x
0
DAC Output Value
Hi-Z
Manual
x
1
DAC Voltage Profile
Trim
0
1
Held at last updated value
by Closed Loop Trim
Logic. Reset value is 80h.
Trim
1
1
Dynamically updated
based on measured
VMONx voltage and
Closed Loop Trim Logic.
VID Selection
The ASC can be configured to support VID (Voltage Identification) control using the TRIM block. The control signals and VID tables are created using the Platform Designer software. As shown in Figure 26, the VID mechanism
uses the I2C interface to control the VID Setpoint (duplicated as PROFILE 0 Setpoint). The I2C access to the VID
Setpoint can be restricted based on the ASC I2C write feature during configuration.
Digital Closed Loop Trim Mode
Closed loop trim mode operation can be used when tight control over the DC-DC converter output voltage at a
desired value is required. The closed loop trim mechanism operates by comparing the measured output voltage of
the DC-DC converter with the internally stored Voltage Setpoint. The difference between the Voltage Setpoint and
the actual DC-DC converter voltage generates an error voltage. This error voltage adjusts the DC-DC converter
output voltage toward the Voltage Setpoint. This operation iterates until the Voltage Setpoint and the DC-DC converter voltage are equal. The closed loop trim hardware then continues monitoring the converter voltage and
adjusts the converter output voltage as necessary. Figure 27 shows the closed loop trim operation of a TrimCell. At
regular intervals (as determined by the Update Rate Control register) the ASC device initiates the closed loop
power supply voltage correction cycle through the following blocks
• Volatile Voltage Setpoint Register stores the desired output voltage (set by the TRIMx_P0 and TRIMx_P1 ASC-I/F
signals)
• On-chip ADC is used to measure the voltage of the DC-DC converter
• Three-state comparator is used to compare the measured voltage from the ADC with the Voltage Setpoint Register contents. The output of the three state comparator can be one of the following:
– +1 if the setpoint voltage is greater than the DC-DC converter voltage
– –1 if the setpoint voltage is less than the DC-DC converter voltage
– 0 if the setpoint voltage is equal to the DC-DC converter voltage
• Channel polarity control determines the polarity of the error signal (Polarity is set on a per channel basis in configuration memory)
• Closed loop trim register is used to compute and store the DAC code corresponding to the error voltage. The
contents of the Closed Loop Trim will be incremented or decremented depending on the channel polarity and the
three-state comparator output. If the three-state comparator output is 0, the closed loop trim register contents are
left unchanged.
• The DAC in the TrimCell is used to generate the analog error voltage that adjusts the attached DC-DC converter
output voltage.
40
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 27. Digital Closed Loop Trim Operation
DAC PROFILE MUX
OUTPUT
TRIMx UPDATE
POLARITY
(Configuration Memory)
UPDATE
RATE
CONTROL
DAC Register
+/-1
MUX
Three-State
DIGITAL
COMPARE
(+1/0/-1)
TRIMx BYPASS
CONTROL
(Configuration Memory)
CLT Register
Setpoint Register
PROFILE SETPOINT
MUX OUTPUT
ASC
TRIMx
TRIMIN
DAC
VMONx
DC-DC
COMVERTER
VOUT
ADC
TRIMx
ACTIVE SETPOINT
(I2C)
CLT UPDATE RATE*
(Configuration Memory)
GND
TRIMx_CLTE
(ASC-I/F)
* CLT UPDATE RATE parameter is shared between all four TRIM Cells
The closed loop trim cycle interval is programmable and is set by the update rate control register. Table 13 lists the
programmable update interval that can be selected by the update rate register. The update rate register is set in
configuration memory and is shared between all TRIM cells.
Table 13. Closed Loop Trim Update Rates
CLT Update Rate Settings
860 µs
1.72 ms
13.8 ms
27.6 ms
There is a one-to-one relationship between the selected TrimCell and the corresponding VMON input for the closed
loop operation. For example, if TrimCell 3 is used to control the power supply in the closed loop trim mode, VMON3
must be used to monitor its output power supply voltage. The closed loop operation can only be started by asserting the TRIMx_CLTE ASC-I/F signal.
TrimCell at Start-up
The status of registers and the TrimCell output during start-up or POR of the ASC is as follows.
1. The TRIM DAC output is High-Z.
2. DAC register is based on Trim configuration Mode.
Trim Configuration Mode for TRIMx channel
(Platform Designer Software)
Manual
Trim
TRIMx DAC register
Profile 0 DAC code is copied to the DAC register.
Value of 80h (Bipolar-zero) is copied to the DAC register.
3. The Closed Loop Trim Logic is disabled.
4. Profile 0 Setpoint is copied to the Voltage Setpoint Register.
The DAC output mode can be enabled (TRIMx_OE) at any time by the user logic, depending on the application
requirements. Normally the chosen profile (TRIMx_P0, TRIMx_P1) setpoint should be loaded and the DAC output
enabled when the application is ready for trimming. If closed loop trimming is to be used, the user logic should
enable the closed loop trim (TRIMx_CLTE) after the DAC output and trim profile have already been configured.
41
L-ASC10
In-System Programmable
Hardware Management Expander
Details of the Digital to Analog Converter (DAC)
Each trim cell has an 8-bit bipolar DAC to set the trimming voltage as shown in Figure 28. The full-scale output voltage of the DAC is +/– 320 mV. A code of 80H results in the DAC output set at its bi-polar zero value.
The voltage output from the DAC is added to a programmable offset value and the resultant voltage is then applied
to the trim output buffer. The offset voltage is typically selected to be approximately equal to the DC-DC converter
open circuit trim node voltage. This results in maximizing the DC-DC converter output voltage range.
The programmed offset value can be set to 0.6 V, 0.8 V, 1.0 V or 1.25 V. This value selection is stored in configuration memory. The configuration memory is loaded with the value set in EEPROM memory at power-on. It can be
updated during runtime via I2C commands.
The combined offset and DAC output is applied to the TRIM cell output buffer. Each output buffer is controlled by a
unique TRIMx_OE signal via the ASC-I/F. When TRIMx_OE = 0, the corresponding TRIMx Pad will be placed in a
high impedance state. Setting TRIMx_OE = 1 will enable the output buffer, resulting in the combined offset and
DAC output being applied to the TRIM output pin.
The default state at power-on reset is TRIMx_OE = 0. The TRIM cell will maintain this setting until the ASC-I/F
communication is successfully established. This ensures that the TRIM function will remain in a passive, high
impedance state, until it is enabled the user control logic.
Figure 28. Offset Voltage is Added to DAC Output Voltage to Derive Trim Pad Voltage
TRIM Cell
TRIMx Setpoint
Register
8
DAC
7 bits + Sign
(-320mV to +320mV)
TRIMx
Pad
Offset
(0.6V,0.8V,1.0V,1.25V)
Configuration
Memory
42
TRIMx_OE
(from ASC-I/F)
L-ASC10
In-System Programmable
Hardware Management Expander
Fault Logging and User Tag Memory
The ASC contains the following storage space used with Fault Logging or User Tag operation:
• Non-volatile EEPROM memory array which has 16 rows where each row stores 7 bytes of data.
• A volatile memory register which stores 7 bytes of data.
The ASC can be configured to choose this memory, either for User Tag Operation or Fault Log Operation through
Platform Designer Software. Figure 29 shows the interface to the EEPROM memory and Volatile register for data
access.
Figure 29. Access to EEPROM and Volatile Memory for Fault Logging/User Tag Operation
Fault Log Mode
(I2C Read/Erase/Enable)
Volatile Register
1 X 7 Bytes
User Tag Mode
(I2C Read/Write/Erase)
Fault Log Mode
ASC(I/F)
• Fault Record Data
• Fault Trigger
• Fault Log Full
• Fault Log in Progress
EEPROM
16 X 7 Bytes
User Tag Memory
When the ASC is configured for User Tag Mode, the memory block can be used as a scratch pad memory for critical data, board serialization, board revision logs, programmed pattern identification or as general data storage in
EEPROM.
As shown in Figure 29, in the User Tag Mode, data can be read, written or erased from the EEPROM or Volatile
Register via the I2C interface of the ASC. For more details, please refer to User Tag Memory Access in the I2C
Interface section of this data sheet.
Fault Log Memory
When the ASC is configured for Fault Log Mode, the memory block is used to record the status of the ASC GPIOs,
VMON, IMON, TMON and other significant logic signals on the occurrence of the user defined fault trigger condition. The ASC can also be used with Platform Manager 2 or MachXO2 devices to log faults to User Flash Memory
(UFM) or external SPI flash. See TN1277, Fault Logging Using Platform Manager 2 for more details.
Each fault record has seven bytes, six bytes of ASC specific data and one byte of user specified FPGA signals. The
ASC Fault Log Record Memory Map is shown in Table 14. Erased fault records and fault records which have not
been written yet will read all zeros.
43
L-ASC10
In-System Programmable
Hardware Management Expander
Table 14. Fault Log Record Memory Map
Byte
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
User bit7
User bit6
User bit5
User bit4
User bit3
User bit2
User bit1
User bit0
1
AGOOD
GPIO10
GPIO9
GPIO8
X
GPIO6
GPIO5
GPIO4
2
GPIO3
GPIO2
GPIO1
HVOUT4
HVOUT3
HVOUT2
HVOUT1
IMON1B
3
IMON1A
HIMONB
HIMONA
HVMONB
HVMONA
VMON9B
VMON9A
VMON8B
4
VMON8A
VMON7B
VMON7A
VMON6B
VMON6A
VMON5B
VMON5A
VMON4B
5
VMON4A
VMON3B
VMON3A
VMON2B
VMON2A
VMON1B
VMON1A
TMON2B
6
TMON2A
TMON1B
TMON1A
TMONINB
TMONINA
1
0
1
The ASC can be configured to store fault log data either in the EEPROM array or the Volatile register.
The EEPROM memory array can store up to 16 fault log records. When the fault log memory is full no further fault
log records can be stored in the EEPROM and any future trigger signals will be ignored.
The volatile register can also be used to store faults. The volatile fault log contains only one record of 7 bytes and
each time the trigger signal is asserted the current data will be stored in the register overwriting any previous data.
In order to preserve the volatile register fault log data it must be read back prior to the next assertion of the trigger
signal.
The following control signals for ASC based Fault Logging are defined in the Platform Designer software for use in
the FPGA logic:
• Fault_Log_Trigger: This user defined signal is used to initiate fault log recording. Recording is initiated by toggling the fault log trigger signal high based on the FPGA logic. The Fault log trigger signal should be set high for
a minimum period (see Recommended Operating Conditions section). The fault log trigger signal initiates fault
log recording for all ASCs in the system. Readback must be disabled for the fault log recording to begin.
• ASCx_Fault_Log_Full: This ASC-I/F signal reports to the user logic when the EEPROM for the given ASC is full.
• ASCx_Fault_Log_In_Progress: This ASC-I/F signal reports to the user logic when a fault log operation for the
given ASC is in progress.
When the ASC is configured for Fault Log Operation, the Fault Record Data frame, as shown in Table 14, is captured every 16 us. When the fault log trigger signal is asserted, the captured data is stored in the selected memory.
This includes the user bits in the fault record. These user bits are not used for any other ASC functions.
The read-back function of the Fault Log must be enabled in order to read or erase the Fault Log. The read-back is
enabled using the I2C interface. As shown in Figure 29, the Fault Log contents can be read or erased from the
EEPROM or the volatile register via the I2C interface of the ASC.
When the user enables the read-back of the fault log contents, the fault log recording is disabled and must be reenabled by the user after the read-back is completed in order to store future fault log events. For more information
about reading, erasing and enabling the fault log recording refer to Fault Log Memory Access in the I2C Interface
section of this data sheet.
44
L-ASC10
In-System Programmable
Hardware Management Expander
System Connections
The ASC device is a hardware management expander, designed for use in systems which use either the Platform
Manager 2 or MachXO2 FPGA as the hardware management controller. In order for the ASC to function properly
as a hardware management expander, there are a number of mandatory connections to the hardware management controller. The overall set of required connections between the ASC and the hardware management controller are shown in Figure 30 and Figure 31 below. The required connections include Clock, Reset, ASC Interface
(ASC-I/F) and I2C. These connections are assigned and managed using Diamond software and the Platform
Designer tool. Each of the connection requirements is described below.
Figure 30. System Connections - ASC and Platform Manager 2
ASC2
+3.3 V
VCCA
ASCCLK
WRCLK
WDAT
RDAT
PIOx1
PIOx2
PIOx3
VCC
VCCIO _0
VCCIO _1
+3.3 V
RESETb
PIOx4
VCCA (+3.3 V)
(Optional ASC)
I2C_ADDR
LPTM21
GND
ASC1
ASCCLK
WRCLK
WDAT
RDAT
PIOx 5
PIOx 6
PIOx 7
+3.3 V
VCCA
RESETb
(Mandatory ASC)
PIOx 8
ASC Section
(ASC0) RESETb
VCCA
ASCCLK
4.4 k
SCL
SDA
SCL _M
SDA_M
I2C_ADDR
SCL _S
SDA _S
SCL
SDA
2.2 k
GND
Note: Hardware connections may require additional passive components not shown, see TN1225, Platform Manager 2 Hardware Checklist for more details.
45
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 31. System Connections - ASC and MachXO2
+3.3 V
ASC0
+3.3 V
VCC
VCCIO_0
VCCIO_1
ASCCLK
WRCLK
WDAT
RDAT
PCLKTx _Y
PIOx1
PIOx2
PIOx3
VCCA
RESETb
PIOx4
VCCA (+3.3 V)
( Mandatory ASC)
I2C_ADDR
SCL
SDA
SCL
SDA
GND
MachXO2
+3.3 V
ASC1
PIOx5
PIOx6
PIOx7
ASCCLK
WRCLK
WDAT
RDAT
PIOx8
RESETb
VCCA
( Optional ASC)
I2C_ADDR
SCL
SDA
2.2 k
GND
Note: Hardware connections may require additional passive components not shown, see TN1225, Platform Manager 2 Hardware Checklist for more details.
Clock Requirements
The ASC has an internal 8 MHz clock source which is used by the device during startup. Once startup has successfully completed, the ASC will switch to the ASC-I/F system clock signal (WRCLK) for operation. The hardware
management controller provides the WRCLK signal for each ASC in the system. This ensures that the system is
fully synchronized to a common clock source to minimize any differences in timing.
The ASC has a built-in detection circuit for WRCLK loss. If a loss of WRCLK is detected, the ASC will reset itself
and pull RESETb low. The device I/O will return to safe state, as described in the Safe State of Digital Outputs section.
The ASC internal clock signal is made available on the ASCCLK pin of the ASC0 device for use as the system
source clock. This signal is connected internally in the Platform Manager 2 device (see Figure 30), making the
ASCCLK pin a no-connect in Platform Manager 2 systems. In systems using the MachXO2 and external ASC
devices, the ASC0 ASCCLK will be enabled and must be connected to a MachXO2 primary clock input, as shown
in Figure 31. The hardware connection and MachXO2 pin assignment must be made by the user. All other ASC
devices (both optional and mandatory) in the system will disable their ASCCLK output signal and this pin should be
treated as a no connect.
An external 8 MHz clock source can be used as the system clock instead of the ASC0 ASCCLK. In this case, the
ASCCLK output will be disabled, and the external clock should be connected to a PCLK pin on MachXO2 or to the
ASCCLK pin on Platform Manager 2. The user must specify that an external clock source is being used in software.
46
L-ASC10
In-System Programmable
Hardware Management Expander
Reset Requirements
The ASC RESETb pin is used for synchronizing the ASCs with the Platform Manager 2 or MachXO2 FPGA device.
The RESETb pin should not be driven by any external device as this will adversely affect the system operation. A
software reset signal for the internal logic can be created using a PIO pin on the Platform Manager 2 or MachXO2
device.
The external ASCs for a project can be designated as either Mandatory or Optional. The Mandatory or Optional
designation determines how the RESETb pins must be connected and how the system will treat the Reset signal
from each ASC. The Mandatory or Optional designation must be specified in the design software.
A Mandatory ASC is required to be present at system start-up. The RESETb pins for all mandatory ASCs must be
connected to the RESETb pin on the Platform Manager 2 (as shown in Figure 30). The ASC0 device is always considered mandatory (this includes the internal ASC section of Platform Manager 2, which is always designated as
ASC0). If any one of the mandatory ASCs cannot be detected by the hardware management controller, the system
will be held in reset. Any of the mandatory ASCs which experience a critical issue (such as loss of WRCLK signal)
will hold the Reset signal low, keeping the system in reset.
In both MachXO2 and Platform Manager 2 systems, the ASC0_RESETb and other mandatory ASC reset signals
must be connected to a PIO externally, as shown in Figure 30 and Figure 31. This PIO should be assigned to the
ASC0_RSTN signal in the design software.
An Optional ASC is not required to be present at system start-up. This designation can be used for ASCs placed on
plug in modules or optional boards in a system. The RESETb pin of each optional ASC should be connected to a
unique PIO pin on the Platform Manager 2 or Mach XO2 FPGA. Each reset signal is treated individually, so that
only the registers associated with a particular Optional ASC will reset when the reset input is driven low. The rest of
the system, both Mandatory and other Optional ASCs, will continue to operate normally without interruption.
ASC Interface and I2C Connections
The ASC uses two communication links to transfer information between the ASC and the Platform Manager 2 or
MachXO2 FPGA. These are the ASC Interface (ASC-I/F) and I2C bus. These two links are used for different types
of information and both must be connected properly for the system to operate correctly.
The ASC-I/F bus uses three signals: WRCLK, WDAT, and RDAT. The ASC-I/F bus operates at 8 MHz and includes
error checking and reporting capabilities. The ASC-I/F pins on external ASC devices must be connected to three
PIO pins on the Platform Manager 2 or MachXO2 device. These three PIO pins are assigned using the design software. The design software will automatically instantiate the interface for communicating with the ASC devices.
Each ASC device requires its own unique ASC-I/F link, as shown in Figure 30 and Figure 31.
The VCCA pin for an external ASC0 device must be connected to the VCCIO of the I/O bank used for the PIO
assignment of WRCLK, WDAT, RDAT. Care should be taken that the I/O bank used for the ASC-I/F link is not
exposed to significant SSO noise, as this can degrade the performance of the analog monitors. See TN1225, Platform Manager 2 Hardware Checklist for more details.
The I2C bus uses the SDA and SCL pins and operates at 100 to 400 kHz. The user must connect the SDA and SCL
pins on the ASC to the SDA_M/SCL_M pins on the Platform Manager 2 (Figure 30), or the SDA/SCL pins on the
MachXO2 (Figure 31). The Platform Manager 2 also requires connections between the SDA_M/SCL_M and the
SDA_S/SCL_S pins. External pull-up resistors to VCCA are required in all configurations. See the I2C Interface
section for full details.
47
L-ASC10
In-System Programmable
Hardware Management Expander
I2C Interface
I2C is a low-speed serial interface protocol designed to enable communications among a number of devices on a
circuit board. The ASC supports the I2C communications protocol 7-bit addressing. The I2C interface of the ASC is
used for programming by the master FPGA or other system processor. The interface is also used for accessing
measurement and control functions and fault log memory on the device. Figure 32 shows a typical I2C configuration, in which one or more ASC devices are slaved to a MachXO2/Platform Manager 2 FPGA. SDA is used to carry
data signals, while SCL provides a synchronous clock signal. The 7-bit address of the ASC is determined by
EEPROM programming and the resistor setting on the I2C_ADDR pin.
Figure 32. ASC Devices in an I2C System
V+
SDA (DATA)
To Other I2C Devices
(Microcontroller, ASC2
and others)
SCL (CLOCK)
SDA
SDA
SCL
SCL
SDA
ASC2
(I2C SLAVE)
ASC1
(I2C SLAVE)
MachXO2 /
Platform Manager 2
(I2C MASTER)
SCL
In the I2C protocol, the bus is controlled by a single MASTER device at any given time. This master device generates the SCL clock signal and coordinates all data transfers to and from a number of slave devices. The ASC is
designed as an I2C slave. In a multiple ASC system configuration, all ASCs share the same I2C bus. This shared
I2C bus is used by the Mach XO2 or Platform Manager 2 master to program the ASC devices. Each slave device is
assigned a unique address. Any 7-bit address can be assigned to the ASC, however one should note that several
addresses are reserved by the I2C standard and should not be assigned to the ASC to ensure bus compatibility.
These are shown in Table 15.
Table 15. I2C Reserved Slave Device Addresses
Address
R/W bit
I2C Function Description
0000 000
0
General Call Address
0000 000
1
Start Byte
0000 001
X
CBUS Address
0000 010
X
Reserved
0000 011
X
Reserved
0000 1xx
X
HS-mode master code
1111 0xx
1
10-bit addressing
1111 1xx
X
Device ID
48
L-ASC10
In-System Programmable
Hardware Management Expander
The 7-bit address of the ASC device is set based on both a configuration memory parameter and the pin state of
I2C_ADDR (see Figure 33). The 4 MSB of the slave address are programmable and stored in configuration memory. The 4 MSB are common between all ASC devices used in a platform management configuration. The 4 MSB in
all blank ASC devices are set to 1100.
Figure 33. I2C Slave Address Construction
1100
000
Set in Configuration Memory
Common to All ASCs
Set by Resistor at I2C_ADDR
Specified per ASC
The 3 LSB of the slave address are set by connecting the I2C_ADDR pin to ground via a given resistor value. The
seven states of the 3 LSB have a one to one correspondence with the ASC number designation in the platform
management configuration. Table 16 shows the relationship between the resistor values and the 3 LSB of the I2C
Address / ASC device number. Resistors with 1% accuracy should be used to ensure proper address resolution.
Two ASC device numbers do not require a resistor: ASC0 (I2C_ADDR connected directly to ground) and ASC7
(I2C_ADDR connected directly to VCCA).
Table 16. Raddr Value vs. ASC Device Number
3 LSB of I2C Slave Address
ASC Device Number
None (Tie to GND)
000
0
2.2 kΩ
001
1
4.4 kΩ
010
2
7 kΩ
011
3
Raddr Value
10 kΩ
100
4
14 kΩ
101
5
18 kΩ
110
6
None (Tie to VCCA)
111
7
Figure 34 shows an example configuration of the I2C Slave Address. In this example, the ASC Device is ASC2. The
I2C_ADDR pin is tied to ground via a 4.4 kΩ resistor as specified by the value for ASC2 in Table 16. The configuration memory in this example is programmed with the common 4 MSB for all ASC devices in the system, 1100. The
constructed I2C slave address is shown at the bottom of the diagram: 1100 010 (0x62).
Figure 34. I2C Address Resolution Example
Configuration Memory
4MSB = 1100
ASC2
I2C_ADDR
Raddr = 4.4Kohm
Slave Address = 1100 010
49
L-ASC10
In-System Programmable
Hardware Management Expander
The ASC supports a dedicated 8-bit instruction set. These instructions are divided as follows among device programming instructions, measurement and control access, and fault log/user tag memory access. The ASC also
supports configuration memory protection.
The ASC’s I2C interface allows data to be both written to and read from the device. A data write transaction, as
shown in Figure 35, consists of the following operations:
1. Start the bus transaction
2. Transmit the slave address (7 bits) along with a low write bit
3. Transmit the instruction code as described in Table 17 (8 bits)
4. Transmit the first data byte to be written (8 bits). Note some instructions do not include data bytes, while others
support multiple data bytes. For information on which instructions support multiple data bytes, see individual
instruction details
5. Stop the bus transaction
To start the transaction, the master device holds the SCL line high while pulling SDA low. Address, instruction code
and data bits are then transferred on each successive SCL pulse, in consecutive byte frames of 9 SCL pulses. Data
is transferred on the first 8 SCL clocks in each frame, while an acknowledge signal is asserted by the slave device
on the 9th clock in each frame. The first frame contains the 7-bit slave address, with bit 8 held low to indicate a
write operation. The second frame contains the instruction code indicating the type of data to be written. The
remaining frames contain the actual data to be written. The number of allowed or required data frames is determined by the instruction code used and is described in the Instruction Codes section.
Figure 35. I2C Write Operation
SCL
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
SDA
A6
A5
A4
A3
A2
A1
A0
R/W
ACK
C7
C6
C5
C4
C3
C2
C1
C0
ACK
D7
D6
D5
D4
D3
D2
D1
D0
ACK
START
DEVICE ADDRESS (7 BITS)
INSTRUCTION CODE (8 BITS)
DATA BYTE (8 BITS)
OPTIONAL
ADDITIONAL
DATA BYTES
STOP
Note: Shaded Bits Asserted by Slave
See Individual Instruction Descriptions for Data Byte Details
Reading a data byte from the ASC requires two separate bus transactions, as shown in Figure 36. The first transaction writes the device address with write bit, and then the instruction code indicating the type of data to be read.
This transaction typically ends after the second frame since no data is being written to the slave. However, some
instruction codes include additional frames, such as address information for the type of data to be read. See the
Instruction Codes section for more information about the number of allowed or required data frames. No stop condition is issued at the end of the first step, to ensure that the full read operation is completed properly.
The second transaction performs the actual read, beginning with the issuing of a repeated start condition. A
repeated start is a start condition issued by the master which does not follow a stop condition. This prevents the
bus from being released by the master. The first frame contains the 7-bit slave address with the R/W bit held high.
In the second frame, the ASC asserts data out on the bus in response to the SCL signal. Note that the acknowledge signal in the second frame is asserted by the master device and not the ASC. Depending on the instruction
code, the ASC may assert additional data bytes in response to additional SCL frames depending on the instruction
as detailed in the Instruction Codes section. The master completes the transaction by issuing a stop condition.
50
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 36. I2C Read Operation
STEP 1: WRITE INSTRUCTION CODE FOR READ OPERATION
SCL
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
SDA
A6
A5
A4
A3
A2
A1
A0
R/W
ACK
C7
C6
C5
C4
C3
C2
C1
C0
ACK
A7
A6
A5
A4
A3
A2
A1
A0
ACK
START
SLAVE ADDRESS (7 BITS)
OPTIONAL: ADDRESS BYTE (8 BITS)
INSTRUCTION CODE (8 BITS)
STEP 2: READ DATA FROM THAT REGISTER
SCL
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
SDA
A6
A5
A4
A3
A2
A1
A0
R/W
ACK
D7
D6
D5
D4
D3
D2
D1
D0
REPEATED
START
SLAVE ADDRESS (7 BITS)
9
ACK*
DATA BYTE (8 BITS)
Note: Shaded Bits Asserted by Slave
See Individual Instruction Descriptions for Data and Address Byte Details
* After final data byte read, master should NACK before issuing the STOP command
51
OPTIONAL
ADDITIONAL
DATA BYTES
STOP
NO
STOP
ISSUED
L-ASC10
In-System Programmable
Hardware Management Expander
Instruction Codes
The ASC device supports a set of 8-bit instruction codes. These instructions are used to access EEPROM programming functions, shadow register programming functions, measurement and control functions, and User Tag or
Fault Log memories. The instruction space is shown in Table 17. Each set of instructions is described in more detail
in the following sections. Do not read or write to instruction codes marked reserved.
Table 17. I2C Instruction Summary
Instruction Code
0x01
Instruction Name
0x02
READ_ID
0x03
READ_STATUS
0x04
ENABLE_PROG
0x05
ENABLE_USER
0x06-0x24
0x25
0x26-0x30
0x31
RESERVED
WRITE_CFG_REG_wMASK
0x34
READ_ALL_CFG_REG
0x35
LOAD_CFG_REG
TRIM1_CLT_P0_SET
0x42
TRIM2_CLT_P0_SET
0x43
TRIM3_CLT_P0_SET
0x44
TRIM4_CLT_P0_SET
N/A
Closed Loop Trim Setpoint Access
RESERVED
0x51
WRITE_MEAS_CTRL
0x52
READ_MEAS_CTRL
N/A
Measurement and Control Register Access
RESERVED
N/A
ERASE_USER_TAG_EEPROM
0x62
WRITE_USER_TAG_REG
0x63
READ_USER_TAG_REG
0x64
PROG_USER_TAG_EEPROM
0x65
READ_USER_TAG_EEPROM
0x66-0x70
N/A
ASC Configuration Memory Access
RESERVED
0x41
0x61
N/A
ASC Configuration Memory Access
WRITE_CFG_REG
READ_CFG_REG
0x53-0x60
Device Status and Mode Management
RESERVED
0x33
0x45-0x50
N/A
READ_CFG_EEPROM
0x32
0x36-0x40
Instruction Group
RESERVED
User Tag Memory Access
RESERVED
0x71
ERASE_FAULT_EEPROM
0x72
RESERVED
0x73
READ_FAULT_VOLATILE_REG
N/A
Fault Log Memory Access
N/A
Fault Log Memory Access
0x74
READ_FAULT_ENABLE
0x75
READ_FAULT_RECORD_EEPROM
0x76
READ_ALL_FAULT_EEPROM
0x77-0xFF
RESERVED
N/A
52
L-ASC10
In-System Programmable
Hardware Management Expander
Each instruction is described in detail in the following sections. The description includes information about the individual instruction code, the instruction format and any associated write or read addresses or data. The instruction
format uses the following notation:
I2C Instruction Format Key (See Figure 36 for details of each condition or bit):
• S – Start Condition
• A[6:0] – Slave Address
• W – Write Bit (Logic 0)
• A – Acknowledge Bit
• NA – Not Acknowledge Bit
• Sr – Repeated Start Condition
• R – Read Bit (Logic 1)
• P – Stop Bit
• Shaded Bits (A) – Bits asserted by the slave
Device Status and Mode Management
There are several miscellaneous registers from the programming flow which are useful or required for completing
separate operations (such as entering the programming mode to enable the User Tag memory access).
Table 18. Device Status and Mode Management Instruction Codes
Instruction Code
Instruction Name
0x01
RESERVED
0x02
READ_ID
Read/Write
Description
N/A
R
Read the device ID Code
0x03
READ_STATUS
R
Read the ASC Status Register
0x04
ENABLE_PROG
W
Enable the programming mode (correct two
byte key required)
0x05
ENABLE_USER
W
Enable the device user mode
The READ_ID instruction is used to verify that the slave device is an ASC or the ASC section of Platform Manager
2. The device IDCODES are shown in Table 19. The format for the READ_ID instruction is shown in Figure 37.
Figure 37. READ_ID Instruction Format
SLAVE
ADDRESS
S
A[6:0]
SLAVE
ADDRESS
INSTRUCTION
CODE
W
A
0x02
A
Sr
A[6:0]
DEVICE ID
R
A
ID[7:0]
NA
P
Table 19. ASC ID Codes
Device
ID Code
ASC Hardware Management Expander
0x88
ASC Section of LPTM21
0x8A
53
L-ASC10
In-System Programmable
Hardware Management Expander
The READ_STATUS instruction provides readout access to the two byte status register of the ASC. The
READ_STATUS instruction provides information about the status of the ASC fault log memory, the current chip
mode (Programming Mode or User Mode), and the status of the DONE bit of the I2C address resolution and the
configuration memory. The READ_STATUS instruction format is shown in Figure 38. The ASC_Status_Register bit
mapping is shown in Figure 39.
Figure 38. READ_STATUS - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
W
A
0x03
A
Sr
A[6:0]
ASC_STATUS
REGISTER_HI
ASC_STATUS
REGISTER_LO
SLAVE
ADDRESS
INSTRUCTION
CODE
R
A
R[7:0]
A
R[15:8]
NA
P
Figure 39. ASC_Status Register
ASC_STATUS_REGISTER_LO (Read)
DUALBOOT_CRC
_ERROR
CFGARRAY_
DONE
I2CSA_DONE
PROG_MODE
RESERVED
CFG_SHADOW_
REG_REFRESH
RESERVED
ERASE
b7
b6
b5
b4
b3
b2
b1
b0
ASC_STATUS_REGISTER_HI (Read)
PROGRAM
FAULT_UT_
ERASE
FAULT_PROG
FAULT_LOG_
FULL
FAULT_CNT[3]
FAULT_CNT[2]
FAULT_CNT[1]
FAULT_CNT[0]
b15
b14
b13
b12
b11
b10
b9
b8
The individual status bits are described below:
• DUALBOOT_CRC_ERROR – Reset to logic 0 at power up and at the beginning of a dual-boot configuration write
I2C instruction. Logic 1 when a CRC error is encountered during dual-boot configuration.
• CFGARRAY_DONE – Logic 1 if the configuration memory done bit has been programmed (set to 1 at the proper
completion of an EEPROM programming operation)
• I2CSA_DONE – Logic 1 if the chip I2C slave address I2CSADone has been programmed (set to 1 at the proper
completion of an EEPROM programming operation)
• PROG_MODE – Logic 1 if the chip is in programming mode, Logic 0 if the chip is in user mode
• RESERVED
• CFG_SHADOW_REG_REFRESH –Set to Logic 1 if Configuration EEPROM data was copied into corresponding
shadow registers just after a Reset or after the shadow register refresh I2C instruction is given. This bit is cleared
just after the status register is read out.
• ERASE – Logic 1 if any EEPROM Erase operation is in progress
• PROGRAM – Logic 1 if any EEPROM Program operation is in progress
• FAULT_UT_ERASE – Logic 1 if the ASC Fault Log or User Tag memory is currently being erased
• FAULT_PROG – Logic 1 if the ASC Fault Log data is being programmed into Fault Log EEPROM array
• FAULT_LOG_FULL – Logic 1 if all rows of the ASC Fault Log EEPROM have been programmed
• FAULT_CNT [3:0] – 4-bit value that is equal to the last row of ASC Fault Log EEPROM that has been programmed with fault log data. Row 0 up to Row FAULT_CNT have been programmed with Fault Log Data.
54
L-ASC10
In-System Programmable
Hardware Management Expander
The ENABLE_PROG instruction places the ASC into the programming mode. The instruction requires that a specific key code is written along with it in order to ensure that the programming mode is not entered unintentionally.
The ENABLE_PROG instruction should only be used by the Lattice delivered programming algorithms or to write or
erase the User Tag memory. The ASC_PROG_KEY is a two byte value of 0xE53D. The ENABLE_PROG instruction format is shown in Figure 40.
Figure 40. ENABLE_PROG - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x04
PROG_KEY
LOW
A
0x3D
PROG_KEY
HIGH
A
0xE5
A
P
After completing a user tag operation, it is important to exit the programming mode and return to user mode. This
will prevent unintentional programming operations. The ENABLE_USER instruction will return the ASC to the user
mode. The ENABLE_USER instruction format is shown in Figure 41.
Figure 41. ENABLE_USER - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x05
A
P
ASC Configuration Memory Access
The I2C interface is used for programming the ASC device. The ASC device includes an EEPROM configuration
memory which stores the device configuration in non-volatile memory. The ASC device also includes a set of
shadow registers, which are used during runtime by the device to determine operational thresholds, output controls, etc. At power-on reset, the device automatically copies the EEPROM configuration memory to the shadow
registers, provided the EEPROM done bit is set in the ASC Status Register. The EEPROM configuration settings
are automatically generated by the Platform Designer software tool.
The I2C interface unit provides access to both the non-volatile EEPROM memory and the configuration shadow
registers for erase, programming, and verify operations. The EEPROM memory is background programmed. It can
be copied to the configuration shadow registers at the end of programming by an additional I2C instruction. The
EEPROM configuration memory map is automatically generated by the Platform Designer software. The flow and
usage of the EEPROM instructions is handled by the Lattice Diamond Programmer software (for PC-based programming) or the Lattice deployment tool (for programming the device via a tester or an on-board microcontroller
using the I2C embedded solution). Lattice recommends using these software tools to access the EEPROM configuration programming instruction space.
The I2C interface can also be used to re-configure the shadow registers directly. These instructions provide access
to individual voltage monitor thresholds, temperature measurement settings, and other device configuration parameters. Some configuration shadow registers are implemented as master/slave pairs. These shadow registers do not
update operational parameters immediately after I2C configuration writes to the master shadow register. They support an additional load instruction which updates all slave shadow registers from the master shadow registers at
the same time. Other shadow registers are implemented as a single master-only register. These registers update
their operation (or reset the associated circuit) immediately after an I2C configuration write. The configuration memory architecture is shown in Figure 42. The ASC Configuration Registers section details which registers support the
additional load instruction. The configuration registers can be accessed in user mode, although overwriting the registers can be protected through additional device settings. The configuration register access instructions are shown
in Table 20.
55
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 42. Configuration Memory Architecture
To TRIM Circuits
To VMON Circuits
I2C_LOAD_
CFG_REG
Configuration
Shadow Registers
(Master)
Configuration
EEPROM
Configuration Shadow
Registers
(Slave)
Power On
Reset
To IMON Circuits
To HVOUT, OCB, GPIO Circuits
To TRIM Circuits
Configuration
Shadow Registers
(Master-Only)
To TMON Circuits
I2C_READ_CFG_REG
I2C_READ_ALL_CFG_REG
Programming
Algorithms*
I2C_WRITE_CFG_REG
I2C_WRITE_CFG_REG_wMASK
* - EEPROM access algorithms generated by
Lattice Design Software
Table 20. Configuration Register Instruction Codes
Instruction Code
Instruction Name
Read/Write
0x25
READ_CFG_EEPROM
R
Read out the selected configuration EEPROM byte or bytes
Description
0x31
WRITE_CFG_REG
W
Write configuration data byte to
addressed register
0x32
WRITE_CFG_REG_wMASK
W
Write masked configuration data
bits to addressed register
0x33
READ_CFG_REG
R
Read addressed configuration register
0x34
READ_ALL_CFG_REG
R
Read all configuration registers,
starting at address 0x00
0x35
LOAD_CFG_REG
W
Load the slave shadow configuration registers from the I2C master
shadow configuration registers (not
all registers supported, see
Table 21)
The configuration registers and address map are shown in the tables in the ASC Configuration Registers section.
The tables in this section also describe which registers support the LOAD_CFG_REG instruction.
Special configuration memory parameters (such as the Write Protect setting, User Tag / Fault Log mode, and UES
bits) can only be modified in EEPROM. They cannot be modified using configuration register instructions. This
increases the reliability of the device operation.
The READ_CFG_EEPROM instruction is used to readout the contents of an addressed byte or bytes of configuration EEPROM. This instruction will readout the configuration data stored in the EEPROM memory – this is not necessarily the current device configuration. The current device configuration can be readout using the
READ_CFG_REG or READ_ALL_CFG_REG commands. The address map for the configuration EEPROM is the
same as the configuration register map. The READ_CFG_EEPROM instruction is the only mechanism for reading
out the User Electronic Signature (described in Table 69). The READ_CFG_EEPROM is a two-step transaction
operation, as shown in Figure 43. In the first step, a write transaction is performed with the 0x25 instruction, and an
56
L-ASC10
In-System Programmable
Hardware Management Expander
8-bit address code corresponding to a specific memory address (defined in the ASC Configuration Registers section). In the second step, a read transaction is used to read the EEPROM memory contents. The memory address
will auto-increment to support reading multiple bytes in a single transaction. This means a single transaction can
support reading the entire configuration address map (120 bytes), if the starting address of 0x00 is used. A stop
condition will complete the read transaction, this can be issued after any number of bytes have been read.
Figure 43. READ_EEPROM - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x25
A
M_A[7:0]
A
Sr
A[6:0]
DATA
[ADDRESS +1]
DATA
[ADDRESS]
SLAVE
ADDRESS
MEMORY
ADDRESS
R
A
D0[7:0]
A
D1[7:0]
A*
P
Optional: Read up to 120
additional data bytes
* After final data byte read, master should NACK before issuing the STOP command
The WRITE_CFG_REG instruction is used to write configuration data to an addressed register. The instruction format includes an address byte and at least one data byte, as shown in Figure 44. Additional data bytes can be written in a single transaction as the configuration register address will increment automatically. A stop condition will
complete the write transaction, this can be issued after any number of bytes have been written. The
WRITE_CFG_REG instruction should be used with caution, as many of the configuration registers are used to
define multiple device options. In many cases, the WRITE_CFG_REG_wMASK instruction is a more reliable
method for updating a single configuration parameter. For configuration registers which support the
LOAD_CFG_REG instruction, the slave shadow registers will not be updated until the LOAD_CFG_REG instruction is executed. Master-only shadow registers will be updated immediately, and in some cases will reset their circuitry (see the ASC Configuration Registers section).
Figure 44. WRITE_CFG_REG - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
REGISTER
ADDRESS
0x31
A
DATA
[ADDRESS]
R_A[7:0]
A
D0[7:0]
DATA
[ADDRESS + 1]
A
D1[7:0]
A
P
Optional: Write up to 100
additional data bytes
The WRITE_CFG_REG_wMASK instruction is used to write the masked configuration data bits to an addressed
master register. The instruction format includes an address byte and at least one mask byte / data byte pair, as
shown in Figure 45. Additional mask and data byte pairs can be written in a single transaction as the configuration
register address will increment automatically. A stop condition will complete the write transaction, this can be
issued after any number of data and mask pairs have been written. This instruction will not modify the configuration
bits set to 1 in the mask byte. Those configuration bits will keep their current value. Bit locations set to 0 in the mask
byte will be modified by the data byte. For configuration registers which support the LOAD_CFG_REG instruction,
the slave shadow registers will not be updated until the LOAD_CFG_REG instruction is executed. Master-only
shadow registers will be updated immediately, and in some cases will reset their circuitry.
Figure 45. WRITE_CFG__REG_wMASK - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x32
REGISTER
ADDRESS
A
R_A[7:0]
MASK
[ADDRESS]
A
M0[7:0]
DATA
[ADDRESS]
A
D0[7:0]
MASK
[ADDRESS+ 1]
A
P M1[7:0]
DATA
[ADDRESS + 1]
A
D1[7:0]
A
Optional: Write up to 100
additional mask/data byte pairs,
depending on start address
57
P
L-ASC10
In-System Programmable
Hardware Management Expander
Using the WRITE_CFG_REG_wMASK Instruction Format
The WRITE_CFG_REG_wMASK instruction is the preferred instruction for updating a single programmable device
parameter. As an example, the following I2C write transaction can be used to update only the VMON4_A threshold.
The example will update the A_TRIP_FINE to a value of hex 0x0A (binary 001010) See Table 27 for more details.
1. Start the bus transaction.
2. Transmit the device address (7 bits) along with a low write bit.
3. Transmit the 0x32 instruction code (WRITE_CFG_REG_wMASK.)
4. Transmit the 0x1F address byte (VMON4_CFG0 register as defined by Table 27).
5. Transmit 0x3F as the MASK0 byte (only A_TRIP_FINE[1:0] will be modified, B_TRIP_SELECT[5:0] will maintain its current configuration).
6. Transmit the data to be written to the two highest bits of VMON4_CFG0 (0x80 corresponds to
A_TRIP_FINE[1:0] = 10).
7. Transmit 0xF0 as the next mask byte (address will auto-increment to 0x20, the VMON4_CFG1 register). Only
A_TRIP_FINE[5:2] will be modified. Other VMON4_CFG1 parameters will be unchanged.
8. Transmit the data to be written to the four lowest bits of VMON4_CFG1 (0x02 corresponds to
A_TRIP_FINE[5:2] = 0010).
9. Stop the bus transaction.
10. Start an additional bus transaction using the LOAD_CFG_REG instruction (see Figure 48).
The configuration register settings can also be readout over I2C. This is accomplished using the READ_CFG_REG
instruction and the READ_ALL_CFG_REG instruction. The READ_CFG_REG is a two-step transaction operation,
as shown in Figure 46. In the first step, a write transaction is performed with the 0x33 instruction, and an 8-bit
address code corresponding to a specific register address (defined in the ASC Configuration Registers section). In
the second step, a read transaction is used to read the register contents. The register address will auto-increment
to support reading multiple registers in a single transaction. This means a single transaction can support reading
the entire configuration address map (102 bytes), if the starting address of 0x00 is used. A stop condition will complete the read transaction, this can be issued after any number of bytes have been read.
Figure 46. READ_CFG_REG - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x33
A
R_A[7:0]
A
Sr
A[6:0]
DATA
[ADDRESS +1]
DATA
[ADDRESS]
SLAVE
ADDRESS
MEMORY
ADDRESS
R
A
D0[7:0]
A
D1[7:0]
A*
P
Optional: Read up to 101
additional data bytes
* After final data byte read, master should NACK before issuing the STOP command
58
L-ASC10
In-System Programmable
Hardware Management Expander
The READ_ALL_CFG instruction works in a similar way to the READ_CFG_REG. The difference is that the
READ_ALL_CFG instruction always starts at register address 0x00. Multiple data bytes can be read out in a single
transaction, with the register address auto-incrementing after each byte is read. The entire configuration register
memory space can be read out with a single transaction (102 data bytes). A stop condition will complete the read
transaction, this can be issued after any number of bytes have been read. The format for the
READ_ALL_CFG_REG instruction is shown in Figure 47.
Figure 47. READ_ALL_CFG_REG - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
W
A
0x34
DATA
DATA
[ADDRESS = 0x00] [ADDRESS = 0x01]
SLAVE
ADDRESS
INSTRUCTION
CODE
A
Sr
A[6:0]
R
A
D0[7:0]
A
D1[7:0]
A*
P
Optional: Read up to 101
additional data bytes
* After final data byte read, master should NACK before issuing the STOP command
The LOAD_CFG_REG instruction is used to load the data from the I2C master shadow registers to the slave
shadow registers. All the slave shadow registers are loaded at once when the instruction is received. The
LOAD_CFG_REG instruction should be used after WRITE_CFG_REG and WRITE_CFG_REG_wMask updates to
the I2C configuration registers are completed. This instruction is useful for updating multiple parameters which
affect the operation of a single circuit (such as a VMON or IMON), as these parameters are often spread across
multiple configuration addresses. Note that certain configuration registers (such as temperature monitor or trim
profiles) do not support this instruction. These master-only shadow registers are updated immediately by a
WRITE_CFG_REG instruction, they do not require a LOAD_CFG_REG instruction. The format for the
LOAD_CFG_REG instruction is shown in Figure 48.
Figure 48. LOAD_CFG_REG - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x35
A
P
59
L-ASC10
In-System Programmable
Hardware Management Expander
ASC Configuration Registers
The ASC Configuration registers are grouped below by function and shown in the following tables:
• Table 21, Trim Configuration Register Summary
• Table 27, Voltage Monitor Configuration Register Summary
• Table 36, Current Monitor Configuration Register Summary
• Table 42, Temperature Monitor Configuration Register Summary
• Table 50, High Voltage Output Configuration Register Summary
• Table 59, Output Control Block Configuration Register Summary
• Table 64, GPIO Input Configuration Register Summary
• Table 66, Write Protect and User Tag Configuration Register
• Table 69, UES Memory Summary
• Table 70, Reserved Configuration Addresses
The configuration register address space is 8-bits (0x00-0xFF). The registers contain the configuration information
for all the analog blocks in the ASC. These registers are automatically populated with their configuration information at power on reset, either from the ASC EEPROM memory or external memory via Dual Boot algorithm. These
registers should not be confused with the "Measurement and Control" registers described in a later section. The
measurement and control registers are used to read voltage, current, and temperature measurements and are
accessed with a different set of instructions.
Table 21. Trim Configuration Register Summary
Register
Address
Register Name
Bit7
Bit6
Bit5
0x00
Trim1_P1_Lo
Trim1_P1_Set [7:0]
0x01
Trim1_Trim2_P1_Hi
Trim1_P1_Set[11:8]
0x02
Trim2_P1_Lo
Trim2_P1_Set [7:0]
0x03
Trim3_P1_Lo
Trim3_P1_Set [7:0]
0x04
Trim3_Trim4_P1_Hi
Trim3_P1_Set [11:8]
0x05
Trim4_P1_Lo
Trim4_P1_Set [7:0]
0x06
Trim1_P2_Lo
Trim1_P2_Set [7:0]
0x07
Trim1_Trim2_P2_Hi
Trim1_P2_Set[11:8]
0x08
Trim2_P1_Lo
Trim2_P2_Set [7:0]
0x09
Trim3_P2_Lo
Trim3_P2_Set [7:0]
0x0A
Trim3_Trim4_P2_Hi
Trim3_P2_Set [11:8]
0x0B
Trim4_P1_Lo
Trim4_P1_Set [7:0]
0x0C
Trim1_P0_Lo
Trim1_P0_Set [7:0]
0x0D
Trim1_P0_Hi_Cfg
POL
0x0E
Trim2_P0_Lo
Trim2_P0_Set [7:0]
0x0F
Trim2_P0_Hi_Cfg
POL
0x10
Trim3_P0_Low
Trim3_P0_Set [7:0]
0x11
Trim3_P0_Hi_Cfg
POL
0x12
Trim4_P0_Low
Trim4_P0_Set [7:0]
0x13
Trim4_P0_Hi_Cfg
POL
0x14
Trim_CLT_Rate
0x15
Trim_DAC_BPZ
BYP
BYP
BYP
BYP
ATT
ATT
ATT
ATT
Bit4
Bit3
Bit2
Bit1
Bit0
Reconfiguration
Details
Trim2_P1_Set[11:8]
Trim3_P1_Set [11:8]
Master-Only
(Immediate Update)
Trim1_P2_Set[11:8]
Trim3_P2_Set [11:8]
x
Trim1_P0_Set[11:8]
x
Trim2_P0_Set[11:8]
x
Trim3_P0_Set[11:8]
x
Trim4_P0_Set[11:8]
RATE[1:0]
D4_BPZ[1:0] D3_BPZ[1:0] D2_BPZ[1:0] D1_BPZ[1:0]
60
Master/Slave
(LOAD_CFG_REG supported)
L-ASC10
In-System Programmable
Hardware Management Expander
Closed Loop Trim Configuration Registers
The ASC configuration memory specifies the operation of the closed loop trim circuitry, described in the Controlling
Power Supply Output Voltage by Trim and Margin Block section. Each of the configurable parameters, shown in
Table 21, are described in the following section.
Trimx_Py_Set [11:0] (Trim1_P0 … Trim4_P2) – Trim Channel Profile Setpoints 0, 1 and 2
The Trim profile setpoints are configured as 12 bit numbers, where each bit corresponds to 2 mV. The equation
below (which is a reversal of the calculation equation found in the ADC section) describes how to calculate the trim
target.
TRIM_SETPOINT_CODE (12_bits, converted to binary) = ROUND (Target Voltage / 2mV)
Each of the 4 Trim channels supports three separate programmable setpoints, as shown in Table 21. The P1 and
P2 setpoints for each channel do not support the LOAD_CFG_REG instruction and are updated immediately after
being written by I2C instructions. It is not recommended to update these registers during operation. Updating the
trim setpoint is best accomplished using the Closed Loop Trim Register Access instructions.
POL – Polarity
The Polarity setting for each trim channel determines the closed loop trim behavior of trim voltage control versus
output voltage feedback, as shown in Figure 27. The polarity settings are described in Table 22.
Table 22. POL Setting vs Closed Loop Trim Polarity
POL
Closed Loop Trim Polarity
0
Positive
1
Negative
BYP – Bypass
The Bypass setting for each trim channel determines whether the trim output voltage is controlled by the closed
loop trim circuitry or by the stored profile DAC codes, as shown in Figure 26. The bypass settings are described in
Table 23.
Table 23. BYP Setting vs Trim Voltage Source
BYP
Trim Voltage Source
0
Closed Loop Trim Logic
1
Profile DAC Code
ATT – Attenuator Enable
The Attenuator Enable setting for each trim channel determines whether the monitored DC-DC output voltage
needs to be attenuated before ADC measurement, as shown in Figure 10. DC-DC output voltages above 2 V need
to be attenuated. The attenuator settings are described in Table 24.
Table 24. ATT Setting vs Attenuation Value
ATT
Attenuation Value
0
÷ 1 (no attenuation)
1
÷3
61
L-ASC10
In-System Programmable
Hardware Management Expander
RATE[1:0] – Closed Loop Trim Update Rate
The Closed Loop Trim update rate is a common setting for all four trim channels. The available settings are shown
in Table 25.
Table 25. RATE[1:0] Setting vs Closed Loop Trim Update Rate
RATE[1:0]
Update Rate
00
860 µs
01
1.72 ms
10
13.8 ms
11
27.6 ms
Dx_BPZ (DAC1_BPZ … DAC4_BPZ) – DAC Bi-Polar Zero Output Voltage
The DAC Bi-Polar Zero Output Voltage for each channel determines the Trim outputs Bi-Polar Zero voltage as
shown in Figure 28. There are four available settings shown in Table 26.
Table 26. Dx_BPZ[1:0] Setting vs DAC Bi-Polar Zero Output Voltage
Dx_BPZ[1:0]
DAC BPZ Voltage
00
0.6V
01
0.8V
10
1.0V
11
1.25V
62
L-ASC10
In-System Programmable
Hardware Management Expander
Voltage Monitor Configuration Registers
Table 27. Voltage Monitor Configuration Register Summary
Register
Address
Register Name
Bit7
Bit6
Bit5
Bit4
0x16
VMON1_Config0
V1_ATF[1:0] V1_BTF[5:0]
0x17
VMON1_Config1
1
0x18
VMON1_Config2
V1_ATC[3:0]
1
GBP
WM
VMON2_Config0
V2_ATF[1:0] V2_BTF[5:0]
0x1A
VMON2_Config1
1
GBP
WM
0x1B
VMON2_Config2
V2_ATC[3:0]
0x1C
VMON3_Config0
V3_ATF[1:0] V3_BTF[5:0]
0x1D
VMON3_Config1
1
0x1E
VMON3_Config2
V3_ATC[3:0]
1
GBP
WM
VMON4_Config0
V4_ATF[1:0] V4_BTF[5:0]
VMON4_Config1
1
GBP
WM
0x21
VMON4_Config2
V4_ATC[3:0]
0x22
VMON5_Config0
V5_ATF[1:0] V5_BTF[5:0]
0x23
VMON5_Config1
1
0x24
VMON5_Config2
V5_ATC[3:0]
0x25
VMON6_Config0
V6_ATF[1:0] V6_BTF[5:0]
0x26
VMON6_Config1
1
1
GBP
WM
GBP
WM
VMON6_Config2
V6_ATC[3:0]
VMON7_Config0
V7_ATF[1:0] V7_BTF[5:0]
0x29
VMON7_Config1
1
0x2A
VMON7_Config2
V7_ATC[3:0]
GBP
WM
V3_ATF[5:2]
V4_ATF[5:2]
V5_ATF[5:2]
Master/Slave
(LOAD_CFG_REG supported)
V6_ATF[5:2]
V7_ATF[5:2]
V7_BTC[3:0]
VMON8_Config0
V8_ATF[1:0] V8_BTF[5:0]
0x2C
VMON8_Config1
1
GBP
WM
0x2D
VMON8_Config2
V8_ATC[3:0]
0x2E
VMON9_Config0
V9_ATF[1:0] V9_BTF[5:0]
0x2F
VMON9_Config1
1
0x30
VMON9_Config2
V9_ATC[3:0]
V8_ATF[5:2]
V8_BTC[3:0]
GBP
WM
V9_ATF[5:2]
V9_BTC[3:0]
0x31
HVMON_Config0
HV_ATF[1:0] HV_BTF[5:0]
0x32
HVMON_Config1
1
0x33
HVMON_Config2
HV_ATC[3:0]
1
V2_ATF[5:2]
V6_BTC[3:0]
0x2B
1
V1_ATF[5:2]
V5_BTC[3:0]
0x28
1
Reconfiguration Details
V4_BTC[3:0]
0x27
1
Bit0
V3_BTC[3:0]
0x20
1
Bit1
V2_BTC[3:0]
0x1F
1
Bit2
V1_BTC[3:0]
0x19
1
Bit3
GBP
WM
HV_ATF[5:2]
HV_BTC[3:0]
The ASC configuration memory specifies the operation of the voltage monitor (VMON), described in the Voltage
Monitor Inputs section. The voltage monitor (VMON1-VMON9 and HVMON) trip points, glitch filter setting, and window mode are configurable over I2C. The configuration registers are summarized in Table 27.
Vx_ATF[5:0], Vx_ATC[3:0], Vx_BTF[5:0], Vx_BTC[3:0] (V1_ATF … V9_BTC) – Voltage Monitor Fine and
Coarse, A and B Trip Points
Each voltage monitor includes programmable trip points A and B, corresponding to the two comparators for each
voltage monitor input pin. The A and B trip points of the Differential Voltage Monitors (VMON1 - VMON4) are
defined based on the fine and coarse settings shown in Table 28 (for over-voltage monitoring) and Table 29 (for
under-voltage monitoring). The A and B trip points of the Single-Ended Voltage Monitors (VMON5-VMON9) are
defined based on the fine and coarse settings shown in Table 30 (for over-voltage monitoring) and Table 31 (for
under-voltage monitoring). Fine and Coarse settings outside of the table range are prohibited. There is no program-
63
L-ASC10
In-System Programmable
Hardware Management Expander
mable setting for over or under voltage. Based on the type of voltage monitoring, choose the applicable table. For
more details on over and under voltage monitoring, see the Programmable Over-Voltage and Under-Voltage
thresholds discussion in the voltage monitor inputs section. Setting the trip point to the Low-Voltage sense row
(Fine Range 0x21) disables hysteresis for that voltage monitor input for both under and over voltage detection.
Table 28. Trip Point for Over-Voltage Detection (Differential VMON1-VMON4)
Fine Range
Setting
Coarse Range Setting
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0xA
0xB
0x00
0.795
0.947
1.127
1.341
1.589
1.897
2.259
2.677
3.172
3.779
4.848
5.775
0x01
0.790
0.942
1.121
1.334
1.581
1.887
2.247
2.663
3.156
3.759
4.822
5.744
0x02
0.786
0.937
1.115
1.327
1.572
1.876
2.235
2.648
3.139
3.739
4.797
5.713
0x03
0.782
0.931
1.109
1.320
1.564
1.866
2.223
2.634
3.122
3.719
4.771
5.683
0x04
0.778
0.926
1.103
1.313
1.555
1.856
2.211
2.620
3.105
3.699
4.746
5.652
0x05
0.773
0.921
1.097
1.306
1.547
1.846
2.199
2.605
3.088
3.679
4.720
5.621
0x06
0.769
0.916
1.091
1.299
1.538
1.836
2.187
2.591
3.071
3.658
4.694
5.590
0x07
0.765
0.911
1.085
1.291
1.530
1.826
2.175
2.577
3.055
3.638
4.668
5.559
0x08
0.761
0.906
1.079
1.284
1.521
1.816
2.163
2.563
3.038
3.618
4.642
5.529
0x09
0.756
0.901
1.073
1.277
1.513
1.806
2.151
2.548
3.021
3.598
4.616
5.498
0x0A
0.752
0.896
1.067
1.270
1.504
1.796
2.139
2.534
3.004
3.578
4.590
5.468
0x0B
0.748
0.891
1.061
1.263
1.497
1.786
2.127
2.520
2.987
3.558
4.565
5.437
0x0C
0.744
0.886
1.055
1.256
1.488
1.775
2.115
2.505
2.970
3.537
4.539
5.406
0x0D
0.739
0.881
1.049
1.249
1.480
1.765
2.103
2.492
2.953
3.517
4.513
5.375
5.345
0x0E
0.735
0.876
1.043
1.241
1.472
1.755
2.091
2.478
2.936
3.497
4.487
0x0F
0.731
0.871
1.037
1.234
1.463
1.745
2.079
2.464
2.919
3.478
4.462
5.314
0x10
0.727
0.866
1.031
1.227
1.455
1.735
2.066
2.449
2.902
3.458
4.436
5.283
0x11
0.723
0.861
1.025
1.220
1.446
1.725
2.054
2.435
2.885
3.438
4.410
5.252
0x12
0.718
0.856
1.019
1.213
1.438
1.715
2.042
2.421
2.868
3.417
4.384
5.221
0x13
0.714
0.851
1.013
1.206
1.429
1.705
2.030
2.406
2.851
3.397
4.359
5.191
0x14
0.710
0.846
1.007
1.199
1.421
1.695
2.018
2.392
2.835
3.377
4.333
5.160
0x15
0.706
0.841
1.001
1.191
1.412
1.685
2.006
2.378
2.819
3.357
4.307
5.130
0x16
0.701
0.836
0.995
1.184
1.404
1.674
1.994
2.364
2.802
3.337
4.281
5.099
0x17
0.697
0.831
0.989
1.177
1.395
1.664
1.982
2.349
2.785
3.317
4.255
5.068
0x18
0.693
0.826
0.983
1.170
1.387
1.654
1.970
2.335
2.768
3.296
4.229
5.038
0x19
0.689
0.821
0.977
1.163
1.378
1.644
1.958
2.321
2.751
3.276
4.203
5.007
4.976
0x1A
0.684
0.816
0.971
1.156
1.370
1.634
1.946
2.307
2.734
3.256
4.178
0x1B
0.680
0.810
0.965
1.149
1.362
1.624
1.934
2.292
2.717
3.236
4.153
4.945
0x1c
0.676
0.805
0.959
1.141
1.353
1.614
1.922
2.278
2.700
3.216
4.127
4.914
0x1d
0.672
0.800
0.953
1.134
1.345
1.604
1.910
2.264
2.683
3.196
4.101
4.884
0x1e
0.668
0.795
0.947
1.127
1.336
1.594
1.898
2.249
2.666
3.176
4.075
4.853
0.212
0.252
0.300
0.356
0.457
0.545
Low-Voltage Sense
0x21
0.075
0.089
0.106
0.126
0.150
0.178
64
L-ASC10
In-System Programmable
Hardware Management Expander
Table 29. Trip Point for Under-Voltage Detection (Differential VMON1-VMON4)
Fine Range
Setting
0x00
Coarse Range Setting
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0xA
0xB
0.786
0.937
1.115
1.327
1.572
1.876
2.235
2.648
3.139
3.739
4.797
5.713
0x01
0.782
0.931
1.109
1.320
1.564
1.866
2.223
2.634
3.122
3.719
4.771
5.683
0x02
0.778
0.926
1.103
1.313
1.555
1.856
2.211
2.620
3.105
3.699
4.746
5.652
0x03
0.773
0.921
1.097
1.306
1.547
1.846
2.199
2.605
3.088
3.679
4.720
5.621
0x04
0.769
0.916
1.091
1.299
1.538
1.836
2.187
2.591
3.071
3.658
4.694
5.590
0x05
0.765
0.911
1.085
1.291
1.530
1.826
2.175
2.577
3.055
3.638
4.668
5.559
0x06
0.761
0.906
1.079
1.284
1.521
1.816
2.163
2.563
3.038
3.618
4.642
5.529
0x07
0.756
0.901
1.073
1.277
1.513
1.806
2.151
2.548
3.021
3.598
4.616
5.498
0x08
0.752
0.896
1.067
1.270
1.504
1.796
2.139
2.534
3.004
3.578
4.590
5.468
0x09
0.748
0.891
1.061
1.263
1.497
1.786
2.127
2.520
2.987
3.558
4.565
5.437
0x0A
0.744
0.886
1.055
1.256
1.488
1.775
2.115
2.505
2.970
3.537
4.539
5.406
0x0B
0.739
0.881
1.049
1.249
1.480
1.765
2.103
2.492
2.953
3.517
4.513
5.375
0x0C
0.735
0.876
1.043
1.241
1.472
1.755
2.091
2.478
2.936
3.497
4.487
5.345
0x0D
0.731
0.871
1.037
1.234
1.463
1.745
2.079
2.464
2.919
3.478
4.462
5.314
0x0E
0.727
0.866
1.031
1.227
1.455
1.735
2.066
2.449
2.902
3.458
4.436
5.283
0x0F
0.723
0.861
1.025
1.220
1.446
1.725
2.054
2.435
2.885
3.438
4.410
5.252
0x10
0.718
0.856
1.019
1.213
1.438
1.715
2.042
2.421
2.868
3.417
4.384
5.221
0x11
0.714
0.851
1.013
1.206
1.429
1.705
2.030
2.406
2.851
3.397
4.359
5.191
0x12
0.710
0.846
1.007
1.199
1.421
1.695
2.018
2.392
2.835
3.377
4.333
5.160
0x13
0.706
0.841
1.001
1.191
1.412
1.685
2.006
2.378
2.819
3.357
4.307
5.130
0x14
0.701
0.836
0.995
1.184
1.404
1.674
1.994
2.364
2.802
3.337
4.281
5.099
0x15
0.697
0.831
0.989
1.177
1.395
1.664
1.982
2.349
2.785
3.317
4.255
5.068
0x16
0.693
0.826
0.983
1.170
1.387
1.654
1.970
2.335
2.768
3.296
4.229
5.038
0x17
0.689
0.821
0.977
1.163
1.378
1.644
1.958
2.321
2.751
3.276
4.203
5.007
0x18
0.684
0.816
0.971
1.156
1.370
1.634
1.946
2.307
2.734
3.256
4.178
4.976
0x19
0.680
0.810
0.965
1.149
1.362
1.624
1.934
2.292
2.717
3.236
4.153
4.945
0x1A
0.676
0.805
0.959
1.141
1.353
1.614
1.922
2.278
2.700
3.216
4.127
4.914
0x1B
0.672
0.800
0.953
1.134
1.345
1.604
1.910
2.264
2.683
3.196
4.101
4.884
0x1c
0.668
0.795
0.947
1.127
1.336
1.594
1.898
2.249
2.666
3.176
4.075
4.853
0x1d
0.663
0.790
0.941
1.120
1.328
1.584
1.886
2.235
2.649
3.156
4.049
4.822
0x1e
0.659
0.785
0.935
1.113
1.319
1.573
1.874
2.221
2.632
3.136
4.023
4.792
0x21
0.075
0.089
0.106
0.126
0.212
0.252
0.300
0.356
0.457
0.545
Low-Voltage Sense
0.150
0.178
65
L-ASC10
In-System Programmable
Hardware Management Expander
Table 30. Trip Point for Over-Voltage Detection (Single-Ended VMON5-VMON9)
Fine Range
Setting
0x0
Coarse Range Setting
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0xa
0xb
0.799
0.952
1.133
1.347
1.597
1.907
2.270
2.688
3.185
3.794
4.868
5.798
0x1
0.794
0.947
1.126
1.340
1.589
1.897
2.258
2.674
3.168
3.774
4.842
5.767
0x2
0.790
0.942
1.120
1.333
1.580
1.886
2.246
2.659
3.151
3.754
4.816
5.736
0x3
0.786
0.936
1.114
1.326
1.572
1.875
2.234
2.645
3.134
3.734
4.790
5.706
0x4
0.782
0.931
1.108
1.319
1.563
1.865
2.222
2.631
3.117
3.714
4.765
5.675
0x5
0.777
0.926
1.102
1.312
1.555
1.855
2.210
2.616
3.100
3.694
4.739
5.644
0x6
0.773
0.921
1.096
1.305
1.546
1.845
2.198
2.602
3.083
3.673
4.713
5.613
0x7
0.769
0.916
1.090
1.297
1.538
1.835
2.186
2.588
3.067
3.653
4.687
5.582
0x8
0.765
0.911
1.084
1.290
1.529
1.825
2.174
2.574
3.050
3.633
4.661
5.552
0x9
0.760
0.906
1.078
1.283
1.521
1.815
2.162
2.559
3.033
3.613
4.635
5.521
0xa
0.756
0.901
1.072
1.276
1.512
1.805
2.150
2.545
3.016
3.593
4.609
5.489
0xb
0.752
0.896
1.066
1.269
1.504
1.795
2.138
2.531
2.999
3.573
4.584
5.458
0xc
0.748
0.891
1.060
1.262
1.495
1.784
2.125
2.516
2.982
3.552
4.558
5.427
0xd
0.743
0.886
1.054
1.255
1.487
1.774
2.113
2.501
2.965
3.532
4.532
5.396
0xe
0.739
0.881
1.048
1.247
1.479
1.764
2.101
2.487
2.948
3.512
4.506
5.366
0xf
0.735
0.875
1.042
1.240
1.470
1.754
2.089
2.473
2.931
3.491
4.479
5.335
0x10
0.731
0.870
1.036
1.233
1.462
1.744
2.076
2.458
2.914
3.471
4.453
5.304
0x11
0.727
0.865
1.030
1.226
1.453
1.734
2.064
2.444
2.897
3.451
4.427
5.273
0x12
0.722
0.860
1.024
1.219
1.445
1.724
2.052
2.430
2.880
3.430
4.401
5.242
0x13
0.718
0.855
1.018
1.212
1.436
1.714
2.040
2.415
2.863
3.410
4.376
5.212
0x14
0.714
0.850
1.012
1.205
1.428
1.704
2.028
2.401
2.847
3.390
4.350
5.181
0x15
0.710
0.845
1.006
1.197
1.419
1.694
2.016
2.387
2.830
3.370
4.324
5.150
0x16
0.705
0.840
1.000
1.190
1.411
1.683
2.004
2.373
2.813
3.350
4.298
5.119
0x17
0.701
0.835
0.994
1.183
1.402
1.673
1.992
2.358
2.796
3.330
4.272
5.088
0x18
0.697
0.830
0.988
1.176
1.394
1.663
1.980
2.344
2.779
3.309
4.246
5.058
0x19
0.693
0.825
0.982
1.169
1.385
1.653
1.968
2.330
2.762
3.289
4.220
5.027
0x1a
0.688
0.820
0.976
1.162
1.376
1.643
1.956
2.316
2.745
3.269
4.195
4.996
0x1b
0.684
0.814
0.970
1.155
1.368
1.633
1.944
2.301
2.728
3.249
4.169
4.965
0x1c
0.680
0.809
0.964
1.147
1.359
1.622
1.932
2.287
2.711
3.229
4.143
4.934
0x1d
0.676
0.804
0.958
1.140
1.351
1.612
1.920
2.273
2.694
3.209
4.117
4.904
0x1e
0.672
0.799
0.952
1.133
1.342
1.602
1.908
2.258
2.677
3.189
4.091
4.873
0x21
0.080
0.093
0.110
0.132
0.220
0.262
0.310
0.370
0.475
0.565
Low-Voltage Sense
0.155
0.186
66
L-ASC10
In-System Programmable
Hardware Management Expander
Table 31. Trip Point for Under-Voltage Detection (Single-Ended VMON5-VMON9)
Fine Range
Setting
0x0
Coarse Range Setting
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0xa
0xb
0.790
0.942
1.120
1.333
1.580
1.886
2.246
2.659
3.151
3.754
4.816
5.736
0x1
0.786
0.936
1.114
1.326
1.572
1.875
2.234
2.645
3.134
3.734
4.790
5.706
0x2
0.782
0.931
1.108
1.319
1.563
1.865
2.222
2.631
3.117
3.714
4.765
5.675
0x3
0.777
0.926
1.102
1.312
1.555
1.855
2.210
2.616
3.100
3.694
4.739
5.644
0x4
0.773
0.921
1.096
1.305
1.546
1.845
2.198
2.602
3.083
3.673
4.713
5.613
0x5
0.769
0.916
1.090
1.297
1.538
1.835
2.186
2.588
3.067
3.653
4.687
5.582
0x6
0.765
0.911
1.084
1.290
1.529
1.825
2.174
2.574
3.050
3.633
4.661
5.552
0x7
0.760
0.906
1.078
1.283
1.521
1.815
2.162
2.559
3.033
3.613
4.635
5.521
0x8
0.756
0.901
1.072
1.276
1.512
1.805
2.150
2.545
3.016
3.593
4.609
5.489
0x9
0.752
0.896
1.066
1.269
1.504
1.795
2.138
2.531
2.999
3.573
4.584
5.458
0xa
0.748
0.891
1.060
1.262
1.495
1.784
2.125
2.516
2.982
3.552
4.558
5.427
0xb
0.743
0.886
1.054
1.255
1.487
1.774
2.113
2.501
2.965
3.532
4.532
5.396
0xc
0.739
0.881
1.048
1.247
1.479
1.764
2.101
2.487
2.948
3.512
4.506
5.366
0xd
0.735
0.875
1.042
1.240
1.470
1.754
2.089
2.473
2.931
3.491
4.479
5.335
0xe
0.731
0.870
1.036
1.233
1.462
1.744
2.076
2.458
2.914
3.471
4.453
5.304
0xf
0.727
0.865
1.030
1.226
1.453
1.734
2.064
2.444
2.897
3.451
4.427
5.273
0x10
0.722
0.860
1.024
1.219
1.445
1.724
2.052
2.430
2.880
3.430
4.401
5.242
0x11
0.718
0.855
1.018
1.212
1.436
1.714
2.040
2.415
2.863
3.410
4.376
5.212
0x12
0.714
0.850
1.012
1.205
1.428
1.704
2.028
2.401
2.847
3.390
4.350
5.181
0x13
0.710
0.845
1.006
1.197
1.419
1.694
2.016
2.387
2.830
3.370
4.324
5.150
0x14
0.705
0.840
1.000
1.190
1.411
1.683
2.004
2.373
2.813
3.350
4.298
5.119
0x15
0.701
0.835
0.994
1.183
1.402
1.673
1.992
2.358
2.796
3.330
4.272
5.088
0x16
0.697
0.830
0.988
1.176
1.394
1.663
1.980
2.344
2.779
3.309
4.246
5.058
0x17
0.693
0.825
0.982
1.169
1.385
1.653
1.968
2.330
2.762
3.289
4.220
5.027
0x18
0.688
0.820
0.976
1.162
1.376
1.643
1.956
2.316
2.745
3.269
4.195
4.996
0x19
0.684
0.814
0.970
1.155
1.368
1.633
1.944
2.301
2.728
3.249
4.169
4.965
0x1a
0.680
0.809
0.964
1.147
1.359
1.622
1.932
2.287
2.711
3.229
4.143
4.934
0x1b
0.676
0.804
0.958
1.140
1.351
1.612
1.920
2.273
2.694
3.209
4.117
4.904
0x1c
0.672
0.799
0.952
1.133
1.342
1.602
1.908
2.258
2.677
3.189
4.091
4.873
0x1d
0.667
0.794
0.946
1.125
1.334
1.592
1.896
2.244
2.660
3.168
4.065
4.842
0x1e
0.663
0.789
0.940
1.118
1.325
1.581
1.884
2.230
2.643
3.148
4.039
4.811
0x21
0.080
0.093
0.110
0.132
0.220
0.262
0.310
0.370
0.475
0.565
Low-Voltage Sense
0.155
0.186
67
L-ASC10
In-System Programmable
Hardware Management Expander
GBP – Glitch Filter Bypass
Each of the voltage monitors include a glitch filter at each of the trip point comparator outputs as shown in Figure 6.
This glitch filter can be bypassed dependent on the GBP setting shown in Table 32.
Table 32. GBP Setting vs Glitch Bypass Behavior
GBP
Glitch Filter Setting
0
Glitch Filter On
1
Glitch Filter Bypassed
WM – Window Mode
Each of the voltage monitors include a selectable window mode, as described in Table 2. The window mode setting
is shown in Table 33.
Table 33. WM Setting vs Window Mode Value
WM
Window Mode
0
Off
1
On
HV_ATF[5:0], HV_ATC[3:0], HV_BTF[5:0], HV_BTC[3:0] – High Voltage Monitor Fine and Coarse, A and B
Trip Points
The High Voltage Monitor (HVMON) is configured in a similar fashion to the low voltage monitor inputs. The key difference from the low voltage monitor inputs is the trip point table. The HVMON range is up to 13.2 V, as reflected in
Table 34 (Over-Voltage Trip Points) and Table 35 (Under-Voltage Trip Points). Setting the trip point to the Low-Voltage sense row (Fine Range 0x21) disables hysteresis for that voltage monitor input for both under and over voltage
detection.
68
L-ASC10
In-System Programmable
Hardware Management Expander
Table 34. Trip-Point for Over-Voltage Detection (HVMON)
Fine Range
Setting
Coarse Range Setting
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0x0
2.269
2.694
3.193
3.748
4.421
5.207
6.137
7.160
8.382
9.819
11.455 13.218
0xa
0xb
0x1
2.257
2.680
3.176
3.729
4.398
5.179
6.104
7.121
8.337
9.767
11.394 13.147
0x2
2.245
2.666
3.159
3.709
4.374
5.152
6.071
7.083
8.293
9.714
11.333 13.077
0x3
2.233
2.651
3.142
3.689
4.351
5.124
6.039
7.045
8.248
9.662
11.272 13.007
0x4
2.221
2.637
3.125
3.669
4.327
5.096
6.006
7.007
8.204
9.610
11.212 12.936
0x5
2.208
2.623
3.108
3.649
4.304
5.068
5.974
6.969
8.159
9.558
11.151 12.866
0x6
2.196
2.608
3.091
3.629
4.280
5.041
5.941
6.931
8.114
9.505
11.090 12.796
0x7
2.184
2.594
3.074
3.609
4.257
5.013
5.908
6.893
8.070
9.453
11.029 12.725
0x8
2.172
2.580
3.057
3.589
4.233
4.985
5.876
6.855
8.025
9.401
10.968 12.655
0x9
2.160
2.565
3.040
3.569
4.210
4.958
5.843
6.817
7.981
9.349
10.907 12.585
0xa
2.148
2.551
3.023
3.549
4.186
4.930
5.810
6.779
7.936
9.297
10.846 12.515
0xb
2.136
2.537
3.006
3.529
4.163
4.902
5.778
6.741
7.891
9.244
10.785 12.444
0xc
2.124
2.522
2.989
3.509
4.139
4.875
5.745
6.703
7.847
9.192
10.724 12.374
0xd
2.112
2.508
2.972
3.489
4.116
4.847
5.712
6.664
7.802
9.140
10.663 12.304
0xe
2.100
2.494
2.955
3.469
4.092
4.819
5.680
6.626
7.758
9.088
10.602 12.233
0xf
2.088
2.479
2.938
3.449
4.069
4.791
5.647
6.588
7.713
9.035
10.541 12.163
0x10
2.076
2.465
2.921
3.429
4.045
4.764
5.614
6.550
7.669
8.983
10.480 12.093
0x11
2.064
2.451
2.904
3.410
4.021
4.736
5.582
6.512
7.624
8.931
10.419 12.022
0x12
2.052
2.436
2.887
3.390
3.998
4.708
5.549
6.474
7.579
8.879
10.358 11.952
0x13
2.040
2.422
2.870
3.370
3.974
4.681
5.517
6.436
7.535
8.826
10.298 11.882
0x14
2.027
2.408
2.853
3.350
3.951
4.653
5.484
6.398
7.490
8.774
10.237 11.811
0x15
2.015
2.393
2.836
3.330
3.927
4.625
5.451
6.360
7.446
8.722
10.176 11.741
0x16
2.003
2.379
2.819
3.310
3.904
4.598
5.419
6.322
7.401
8.670
10.115 11.671
0x17
1.991
2.365
2.803
3.290
3.880
4.570
5.386
6.284
7.356
8.618
10.054 11.601
0x18
1.979
2.350
2.786
3.270
3.857
4.542
5.353
6.246
7.312
8.565
9.993
11.530
0x19
1.967
2.336
2.769
3.250
3.833
4.515
5.321
6.207
7.267
8.513
9.932
11.460
0x1a
1.955
2.322
2.752
3.230
3.810
4.487
5.288
6.169
7.223
8.461
9.871
11.390
0x1b
1.943
2.307
2.735
3.210
3.786
4.459
5.255
6.131
7.178
8.409
9.810
11.319
0x1c
1.931
2.293
2.718
3.190
3.763
4.431
5.223
6.093
7.134
8.356
9.749
11.249
0x1d
1.919
2.279
2.701
3.170
3.739
4.404
5.190
6.055
7.089
8.304
9.688
11.179
0x1e
1.907
2.264
2.684
3.150
3.716
4.376
5.157
6.017
7.044
8.252
9.627
11.108
0x21
0.220
0.260
0.308
0.361
0.593
0.692
0.810
0.949
1.108
1.280
Low-Voltage Sense
0.425
0.504
69
L-ASC10
In-System Programmable
Hardware Management Expander
Table 35. Trip-Point for Under-Voltage Detection (HVMON)
Fine Range
Setting
Coarse Range Setting
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0x0
2.245
2.666
3.159
3.709
4.374
5.152
6.071
7.083
8.293
9.714
11.333 13.077
0xa
0xb
0x1
2.233
2.651
3.142
3.689
4.351
5.124
6.039
7.045
8.248
9.662
11.272 13.007
0x2
2.221
2.637
3.125
3.669
4.327
5.096
6.006
7.007
8.204
9.610
11.212 12.936
0x3
2.208
2.623
3.108
3.649
4.304
5.068
5.974
6.969
8.159
9.558
11.151 12.866
0x4
2.196
2.608
3.091
3.629
4.280
5.041
5.941
6.931
8.114
9.505
11.090 12.796
0x5
2.184
2.594
3.074
3.609
4.257
5.013
5.908
6.893
8.070
9.453
11.029 12.725
0x6
2.172
2.580
3.057
3.589
4.233
4.985
5.876
6.855
8.025
9.401
10.968 12.655
0x7
2.160
2.565
3.040
3.569
4.210
4.958
5.843
6.817
7.981
9.349
10.907 12.585
0x8
2.148
2.551
3.023
3.549
4.186
4.930
5.810
6.779
7.936
9.297
10.846 12.515
0x9
2.136
2.537
3.006
3.529
4.163
4.902
5.778
6.741
7.891
9.244
10.785 12.444
0xa
2.124
2.522
2.989
3.509
4.139
4.875
5.745
6.703
7.847
9.192
10.724 12.374
0xb
2.112
2.508
2.972
3.489
4.116
4.847
5.712
6.664
7.802
9.140
10.663 12.304
0xc
2.100
2.494
2.955
3.469
4.092
4.819
5.680
6.626
7.758
9.088
10.602 12.233
0xd
2.088
2.479
2.938
3.449
4.069
4.791
5.647
6.588
7.713
9.035
10.541 12.163
0xe
2.076
2.465
2.921
3.429
4.045
4.764
5.614
6.550
7.669
8.983
10.480 12.093
0xf
2.064
2.451
2.904
3.410
4.021
4.736
5.582
6.512
7.624
8.931
10.419 12.022
0x10
2.052
2.436
2.887
3.390
3.998
4.708
5.549
6.474
7.579
8.879
10.358 11.952
0x11
2.040
2.422
2.870
3.370
3.974
4.681
5.517
6.436
7.535
8.826
10.298 11.882
0x12
2.027
2.408
2.853
3.350
3.951
4.653
5.484
6.398
7.490
8.774
10.237 11.811
0x13
2.015
2.393
2.836
3.330
3.927
4.625
5.451
6.360
7.446
8.722
10.176 11.741
0x14
2.003
2.379
2.819
3.310
3.904
4.598
5.419
6.322
7.401
8.670
10.115 11.671
0x15
1.991
2.365
2.803
3.290
3.880
4.570
5.386
6.284
7.356
8.618
10.054 11.601
0x16
1.979
2.350
2.786
3.270
3.857
4.542
5.353
6.246
7.312
8.565
9.993
11.530
0x17
1.967
2.336
2.769
3.250
3.833
4.515
5.321
6.207
7.267
8.513
9.932
11.460
0x18
1.955
2.322
2.752
3.230
3.810
4.487
5.288
6.169
7.223
8.461
9.871
11.390
0x19
1.943
2.307
2.735
3.210
3.786
4.459
5.255
6.131
7.178
8.409
9.810
11.319
0x1a
1.931
2.293
2.718
3.190
3.763
4.431
5.223
6.093
7.134
8.356
9.749
11.249
0x1b
1.919
2.279
2.701
3.170
3.739
4.404
5.190
6.055
7.089
8.304
9.688
11.179
0x1c
1.907
2.264
2.684
3.150
3.716
4.376
5.157
6.017
7.044
8.252
9.627
11.108
0x1d
1.895
2.250
2.667
3.130
3.692
4.348
5.125
5.979
7.000
8.200
9.566
11.038
0x1e
1.883
2.236
2.650
3.110
3.669
4.321
5.092
5.941
6.955
8.148
9.505
10.968
0x21
0.220
0.260
0.308
0.361
0.593
0.692
0.810
0.949
1.108
1.280
Low-Voltage Sense
0.425
0.504
70
L-ASC10
In-System Programmable
Hardware Management Expander
Current Monitor Configuration Registers
The ASC configuration memory defines the operation of the current monitor (IMON1/HIMON) circuitry, described in
the Theory of Operation section. The low and high voltage current monitor trip points, glitch filter setting, and window mode are configurable over I2C. The IMON1 (low voltage) also includes a Low-Side bit, which configures the
low-side sense setting on IMON1.
The configuration registers are described in Table 36.
Table 36. Current Monitor Configuration Register Summary
Register
Address
Register Name
0x34
IMON1_Config0
0x35
IMON1_Config1
0x36
HIMON_Config0
0x37
HIMON_Config1
Bit7
Bit6
Bit5
Bit4
FAST_TH[2:0]
A_TH[1:0]
GBP
B_TH[1:0]
FAST_TH[2:0]
A_TH[1:0]
GBP
B_TH[1:0]
Bit3
Bit2
Bit1
Bit0
WM
LSS
0
0
A_GAIN[1:0] B_GAIN[1:0]
WM
X
0
0
Reconfiguration Details
Master/Slave
(LOAD_CFG_REG supported)
A_GAIN[1:0] B_GAIN[1:0]
A_TH[1:0], B_TH[1:0], A_GAIN[1:0], B_GAIN[1:0] – Threshold and Gain Setting for A and B Comparators
The A and B current monitor trip points are defined by the combination of the threshold and gain settings. Table 37
shows the trip point settings for both the IMON1 and HIMON current monitor circuits.
Table 37. Current Monitor Trip Points (Differential Voltage)
A_TH/B_TH[1:0]
GAIN[1:0]
00
(GAIN = 100V/V)
01
(GAIN = 50V/V)
10
(GAIN = 25V/V)
11
(GAIN = 10V/V)
00
8 mV
15.5 mV
30.5 mV
75 mV
01
10.5 mV
20.5 mV
40.5 mV
100 mV
10
14.5 mV
28.5 mV
56.5 mV
140 mV
11
20 mV
39 mV
77 mV
190 mV
GBP – Glitch Filter Bypass
Each of the current monitors include a glitch filter at each of the trip point comparator outputs as shown in Figure 8.
This glitch filter can be bypassed dependent on the GBP setting shown in Table 38.
Table 38. GBP Setting vs Glitch Bypass Behavior
GBP
Glitch Filter Setting
0
Glitch Filter On
1
Glitch Filter Bypassed
WM – Window Mode
Each of the current monitors include a selectable window mode, as described in Table 5. The window mode setting
is shown in Table 39.
Table 39. WM Setting vs Window Mode Value
WM
Window Mode
0
Off
1
On
71
L-ASC10
In-System Programmable
Hardware Management Expander
LSS – Low Side Sense Mode
The IMON1 current monitor includes a low side sense mode, as shown in Figure 8. The low side sense settings are
shown in Table 40.
Table 40. LSS Setting vs Low Side Sensing Mode
LSS
Low Side Sense Mode
0
Disabled
1
Enabled
FAST_TH[2:0] - Fast Comparator Threshold
The fast trip point for both IMON1 and HIMON is set according to the FAST_TH[2:0] code. Table 41 shows the fast
trip point settings vs the FAST_THRESH code for both IMON1 and HIMON current monitor circuits.
Table 41. Fast Current Monitor Trip Points (Differential Voltage)
FAST_TH[2:0]
Trip Point
000
50 mV
001
100 mV
010
150 mV
011
200 mV
100
250 mV
101
300 mV
110
400 mV
111
500 mV
72
L-ASC10
In-System Programmable
Hardware Management Expander
Temperature Monitor Configuration Registers
Table 42. Temperature Monitor Configuration Register Summary
Register
Address
0x38
Register Name
TMON1_Config0
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Reconfiguration Details
Ideality_Code[13:6]
0x39
TMON1_Config1
Ideality_Code[5:0]
0x3A
TMON1_Config2
Off[8:1]
0x3B
TMON1_Config3
Th_A[8:2]
0x3C
TMON1_Config4
Th_B[8:3]
X
Off[0]
Th_A[1:0]
0x3D
TMON1_Config5
X
0x3E
TMON1_Config6
FilterA[3:0]
0x3F
TMON1_Config7
X
HystA[6:0]
0x40
TMON1_Config8
X
HystB[6:0]
0x41
TMON2_Config0
Ideality_Code[13:6]
0x42
TMON2_Config1
Ideality_Code[5:0]
0x43
TMON2_Config2
Off[8:1]
0x44
TMON2_Config3
Th_A[8:2]
FLT
Th_B[2:0]
Cfg[1:0]
Off[0]
TMON2_Config4
Th_B[8:3]
0x46
TMON2_Config5
X
0x47
TMON2_Config6
FilterA[3:0]
0x48
TMON2_Config7
X
HystA[6:0]
0x49
TMON2_Config8
X
HystB[6:0]
0x4A
TMONint_Config0
Ideality_Code[13:6]
0x4B
TMONint_Config1
Ideality_Code[5:0]
0x4C
TMONint_Config2
Off[8:1]
0x4D
TMONint_Config3
Th_A[8:2]
0x4E
TMONint_Config4
Th_B[8:3]
X
AVE[1:0]
FilterB[3:0]
0x45
X
Cfg[1:0]
Th_A[1:0]
FLT
AVE[1:0]
Th_B[2:0]
Master-Only
(TMON circuit resets after
each time configuration
update)
FilterB[3:0]
Cfg[1:0]
Off[0]
Th_A[1:0]
0x4F
TMONint_Config5
X
0x50
TMONint_Config6
FilterA[3:0]
FLT
0x51
TMONint_Config7
X
HystA[6:0]
0x52
TMONint_Config8
X
HystB[6:0]
AVE[1:0]
Th_B[2:0]
FilterB[3:0]
The temperature monitor circuit (TMON) configuration registers can be updated over I2C. The definition and function of these parameters is described in the Temperature Monitor Inputs section. There are nine configuration registers per TMON channel (TMON1, TMON2, and TMON_int). The diode ideality factor, transducer configuration,
temperature offset, A and B monitor characteristics (threshold, filter, hysteresis) and measurement averaging and
fault behavior are all configurable according to the format in Table 42. A description of how to calculate each
parameter follows the register format. The temperature monitor circuit will reset each time a configuration parameter is updated over I2C.
Ideality_Code[13:0] - Ideality Factor Setting
The Temperature Monitor inputs support a programmable ideality factor (emission coefficient) for interfacing to different remote transistor diodes. The programmable ideality factor is calculated based on a 14-bit code. The allowed
range of ideality factors is 0.9 to 2.0, values outside this range are not allowed. Calculating the code for a given ideality factor is done using the following calculation:
Ideality_Code (14 bits, converted to binary) = ROUND (4572 / ideality factor)
73
L-ASC10
In-System Programmable
Hardware Management Expander
Table 43 shows some common ideality factors and their corresponding codes.
Table 43. Ideality Factor vs Ideality_Code Setting
Ideality_Code[13:0]
Ideality Factor
0x08EE
2.0000
---------
0x11B6
1.0083
0x11B7
1.0082
0x11B8
1.0079
---------
0x11C8
1.0044
0x11C9
1.0042
0x11CA
1.0039
---------
0x11D9
1.0007
0x11DA
1.0004
0x11DB
1.0002
0x11DC
1.0000
0x11DD
0.9998
0x11DE
0.9996
0x11DF
0.9993
---------
0x13D8
0.9000
Cfg[1:0] - Temperature Monitor Diode Configuration
As described in the Temperature Monitor Input section, the TMON supports different transistor-based diode configurations for connection to the ASC Temperature Monitors. The two bit value Tran_cfg[1:0], corresponds to the supported configurations as shown in Table 44.
Table 44. Temperature Monitor Diode Configuration Settings
Cfg[1:0]
Diode Configuration
00
TMON disabled
01
Beta Compensated PNP
10
Differential PNP or NPN
11
Single-Ended (Not recommended)
Off[8:0] - Temperature Monitor Offset
The TMON supports a 9-bit programmable temperature offset, which is applied to the temperature measurement
for both readout and the A and B monitor comparison. The programmable offset range is from –64 oC to 63.75 oC,
with a resolution of 0.25 oC. The offset is stored as a 2’s complement number, with the 9th bit as the signed bit.
Table 45 shows the settings associated with several different offset temperatures.
74
L-ASC10
In-System Programmable
Hardware Management Expander
Table 45. Temperature Monitor Offset Settings
Off[8:0]
Offset Temperature oC
0x0FF
63.75
0x0FE
63.50
-------------------------
0x002
0.50
0x001
0.25
0x000
0.00
0x1FF
–0.25
0x1FE
–0.50
------------------------
0x101
–63.75
0x100
–64.00
Th_A[8:0], Th_B[8:0] - Comparator Thresholds for A and B alarms
The TMON includes two individually programmable comparators, TMONA and TMONB. The 9-bit alarm thresholds
range for each of these monitors is –64 oC to 155 oC, with a resolution of 1 oC. The thresholds are stored as 2’s
complement numbers, with the 9th bit as the signed bit. Values above 155 oC or below –64 oC are not valid threshold settings. Table 46 shows the settings associated with several different threshold temperatures.
Table 46. Temperature Monitor Thresholds Settings
Th_A / Th_B[8:0]
Threshold Temperature oC
0x09B
155
0x09A
154
-------------------------
0x002
2
0x001
1
0x000
0
0x1FF
–1
0x1FE
–2
------------------------
0x1C1
–63
0x1C0
–64
FLT - Fault Reading Setting
The TMON circuit includes open and short fault detection circuitry for the remote diode channels. (The fault detect
is not applicable for the internal temperature monitor, TMON_INT). The 1-bit programmable fault setting determines the measurement readout behavior of both open and short faults. The readout values compared to the fault
setting is shown in Table 47.
Table 47. Temperature Monitor Fault Setting
FLT
Short Condition Reading
Open Condition Reading
°C
Code
°C
Code
0
255.75
0x3FF
–255.75
0x401
1
–255.75
0x401
255.75
0x3FF
75
L-ASC10
In-System Programmable
Hardware Management Expander
AVE[1:0] - Average Filter Coefficient
The TMON temperature measurement can be read out over I2C. The TMON circuit includes a programmable exponential averaging filter that is applied before the measurement readout. The Average parameter can be programmed to three different averaging coefficients, as shown in Table 48.
Table 48. Temperature Monitor Measurement Average Settings
AVE[1:0]
Coefficient
00
1
01
8
10
16
11
N/A
FilterA[3:0] / FilterB[3:0] - Monitor Alarm Filter
The TMONA and TMONB comparators each support programmable monitor alarm filters. The depth of the alarm
filter can be programmed between 1 and 16, based on the Filter[3:0] setting. The relationship between the filter
code and the filter depth is given by the following equation:
DEPTH = Filter[3:0] + 1
HystA[3:0] / HystB[3:0] - Temperature Monitor Hysteresis
The TMONA and TMONB comparators each support programmable temperature hysteresis. The 7-bit hysteresis
range for each of these monitors is –64 oC to 63 oC, with a resolution of 1 oC. (The negative hysteresis range should
be applied to over-temperature comparisons, while the positive hysteresis should be applied to under-temperature
comparisons.) The hysteresis settings are stored as 2’s complement numbers, with the 7th bit as the signed bit.
Table 49 shows the settings associated with several different hysteresis temperatures.
Table 49. Temperature Monitor Hysteresis Settings
Temperature Hysteresis oC
Hyst[6:0]
0x3F
63
0x3E
62
-----------------
0x02
2
0x01
1
0x00
0
0x7F
–1
0x7E
–2
-----------------
0x41
–63
0x40
–64
76
L-ASC10
In-System Programmable
Hardware Management Expander
High Voltage Output (HVOUT) Configuration Registers
Table 50. High Voltage Output Configuration Register Summary
Register
Address
Register Name
Bit7
OCB
Bit6
1
Bit5
Bit4
I_SRC[1:0]
Bit3
Bit2
0x53
HVOUT1_Config0
0x54
HVOUT1_Config1
SW
FR
OD
0x55
HVOUT2_Config0
OCB
1
I_SRC[1:0]
I_SNK[1:0]
0x56
HVOUT2_Config1
SW
FR
OD
DUTY[3:0]
0x57
HVOUT3_Config0
OCB
1
I_SRC[1:0]
0x58
HVOUT3_Config1
SW
FR
OD
0x59
HVOUT4_Config0
OCB
1
I_SRC[1:0]
I_SNK[1:0]
0x5A
HVOUT4_Config1
SW
FR
OD
DUTY[3:0]
X
I_SNK[1:0]
Bit1
Bit0
Reconfiguration Details
VPP[1:0]
DUTY[3:0]
X
X
I_SNK[1:0]
VPP[1:0]
VPP[1:0]
Master/Slave
(LOAD_CFG_REG supported)
DUTY[3:0]
X
VPP[1:0]
The High Voltage Output pins (HVOUT) configuration registers can be updated over I2C. The definition and function
of these parameters is described in the High Voltage Outputs section. There are two configuration registers per
HVOUT (HVOUT1, HVOUT2, HVOUT3, HVOUT4). The open-drain/charge pump setting, charge pump voltage,
source and sink current, switched/static mode, and switched mode duty cycle and frequency are all configurable
according to the format in Table 50. A description of how to calculate each parameter follows the register format.
OCB - Output Control Block Source
The OCB parameter is used to select the control signal source for the HVOUT pin from either the Output Control
Block (OCB) or the ASC-I/F. Table 51 shows the available settings.
Table 51. OCB Setting vs HVOUT Source Selection
OCB
HVOUT Source
0
ASC-I/F Signal
1
OCB
I_SRC[1:0] - HVOUT Source Current
The I_SRC[1:0] setting is used to choose between the four supported source currents for the HVOUT in charge
pump mode. The available choices are shown in Table 52.
Table 52. HVOUT Source Current Settings
I_SRC[1:0]
Output Source Current
00
12.5 uA
01
25 uA
10
50 uA
11
100 uA
I_SNK[1:0] - HVOUT Sink Current
The I_SNK[1:0] setting is used to choose between the four supported sink currents for the HVOUT in charge pump
mode. The available choices are shown in Table 53.
77
L-ASC10
In-System Programmable
Hardware Management Expander
Table 53. HVOUT Sink Current Settings
I_SNK[1:0]
Output Sink Current
00
100 uA
01
250 uA
10
500 uA
11
3000 uA
VPP[1:0] - Charge Pump Output Voltage Settings
The VPP[1:0] setting is used to choose between the four programmable output voltage levels for the HVOUT in
charge pump mode. The available choices are shown in Table 54.
Table 54. HVOUT Output Voltage Settings
VPP[1:0]
Output Voltage
00
6V
01
8V
10
10V
11
12V
SW - Switched Output Setting
The SW parameter configures the HVOUT pin for either static drive mode (on or off) or switched mode (either
switched at the programmed frequency and duty, or off). Table 55 shows the available settings.
Table 55. SW Setting vs HVOUT Mode
SW
HVOUT Mode
0
On/Off
1
Switched
FR - Output Frequency Select (Switched Mode Only)
The FR parameter configures the output frequency of the HVOUT when the device is placed in switched mode.
Table 56 shows the available settings.
Table 56. FR Setting vs HVOUT Output Frequency (Switched Mode only)
FR
Frequency
0
31.25 kHz
1
15.625 kHz
OD - Open Drain Output Mode Setting
The OD parameter is used to configure the output mode of the device. Table 57 shows the available settings.
Table 57. OD Setting vs HVOUT Output Mode
OD
HVOUT Output Mode
0
Charge-Pump Mode
1
Open-Drain Mode
DUTY[3:0] - Duty Cycle Selection (Switched Mode Only)
The Duty_Cycle[3:0] setting is used to choose between the sixteen programmable duty cycles for the HVOUT in
switched mode. The available choices are shown in Table 58.
78
L-ASC10
In-System Programmable
Hardware Management Expander
Table 58. HVOUT Switched Output Duty Cycle Settings
Duty_Cycle[3:0]
Duty Cycle%
0x0
6.25%
0x1
12.5%
0x2
18.75%
0x3
25%
0x4
31.25%
0x5
37.55%
0x6
43.75%
0x7
50.00%
0x8
56.25%
0x9
62.50%
0xA
68.75%
0xB
75.00%
0xC
81.25%
0xD
87.50%
0xE
93.75%
0xF
50.00%
79
L-ASC10
In-System Programmable
Hardware Management Expander
Output Control Block Configuration Registers
Table 59. Output Control Block Configuration Register Summary
Register
Address
Register Name
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
0x5B
OCB_Config0
GPIO3_src[3:0]
GPIO2_src[2:0]
0x5C
OCB_Config1
HVOUT2_src[3:0]
HVOUT1_src[3:0]
0x5D
OCB_Config2
HVOUT4_src[3:0]
HVOUT3_src[3:0]
0x5E
OCB_Config3
X
Bit0
Reconfiguration Details
X
Master/Slave
IM_HCM_CTRL[2:0] HI_HCM_CTRL[2:0] (LOAD_CFG_REG supported)
0x5F
OCB_Config4
X
X
V6_HCM_CTRL[2:0] V5_HCM_CTRL[2:0]
0x60
OCB_Config5
X
HI_T
H4i
H3i
H2i
H1i
G3i
G2i
The Output Control Block (OCB) configuration registers can be updated over I2C. The definition and function of
these parameters is described in the “Output Control Block” section. There are 6 total configuration registers for the
output control block. The settings in the six registers define the operation of the output control block output muxes,
the hysteretic control muxes, and the dynamic threshold management. Registers 0x5B-0x5D define the out control
muxes according to the format shown in Table 59.
OUTPUT_src[3:0] - Output Channel Source Signal Select
The output control source for each of the six OCB based outputs is defined by the four bit _src[3:0] code. The outputs selected by each code are shown in Table 60.
Table 60. Output Control Block – Output Source Signals
OUTPUT_src[3:0]
Source Signal
0x0
ASC-I/F
0x1
I2C
0x2
GPIO5
0x3
GPIO6
0x4
RESERVED
0x5
GPIO8
0x6
GPIO9
0x7
GPIO10
0x8
HIMON_F
0x9
IMON1_F
0xA
VMON_4A
0xB
VMON_9A
0xC
HIMON_HCM
0xD
IMON1_HCM
0xE
VMON5_HCM
0xF
VMON6_HCM
80
L-ASC10
In-System Programmable
Hardware Management Expander
HCM_CTRL - Hysteretic Mux Configuration for IMON1, HIMON, VMON6 and VMON5
Registers 0x5E and 0x5F define the control signal inputs for the 4 Hysteretic Control Muxes (HCM). The register
format is shown in Table 59. The control signals selected by the _HCM_CTRL[2:0] code are shown in Table 61.
Table 61. Output Control Block – Hysteretic Control Mux Settings
HCM_CTRL[2:0]
ASC-I/F Source Signal
000
GPIO2
001
GPIO3
010
HVOUT1
011
HVOUT2
100
HVOUT3
101
HVOUT4
110
N/A
111
N/A
H4i / H3i / H2i / H1i/ G3i / G2i - Output Invert Control
The OCB outputs can be inverted with respect to their control signals. As shown in Table 59, the register 0x60
defines the programmable invert option for each of the outputs.The invert setting parameter is shown in Table 62.
Table 62. H4i … G2i Setting vs OCB Output Behavior
H4i / H3i / H2i / H1i/ G3i / G2i
OCB Output
0
Normal
1
Inverted
HI_T - HIMON_A Threshold Source
Register 0x60 also defines the programmable threshold source select for the HIMON circuit. The threshold source
can be selected as either the configuration memory or the ASC-I/F, as shown in Table 63.
Table 63. HI_T Setting vs HIMONA Threshold Source
HI_T
HIMONA Threshold Source
0
Configuration Memory
1
ASC-I/F
81
L-ASC10
In-System Programmable
Hardware Management Expander
GPIO Input Configuration Registers
Table 64. GPIO Input Configuration Register Summary
Register
Address
Register Name
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
0x62
GPIO_Config0
X
G4in
X
G3in
X
G2in
X
G1in
0x63
GPIO_Config1
X
G8in
X
X
X
G6in
X
G5in
0x64
GPIO_Config2
X
X
X
X
X
G10in X
G9in
Reconfiguration Details
Master/Slave
(LOAD_CFG_REG supported)
The GPIO pins can be configured as input or output. The GPIO configuration registers can be updated over I2C.
The registers at addresses 0x62, 0x63, and 0x64 include single configuration bit for each of the GPIO. When the
device is configured as an input, the GPIO pin is put into a Hi-Z state and a weak pulldown is enabled. The input
setting is described in Table 65. The input status can still be read at the pin, regardless of the Gxin setting. The format for registers 0x62, 0x63, and 0x64 is shown in Table 64.
Table 65. Gxin Setting vs GPIO Input Setting
Gxin
GPIO Setting
0
Output – Weak Pulldown Disabled
1
Input – Weak Pulldown Enabled
Write Protect and User Tag Configuration Register
Table 66. Write Protect and User Tag Configuration Register
Register
Address
Register Name
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
0x66
WRITEPROTECT_USERTAG
X
X
X
X
X
UT_EN
Bit1
Bit0
WP[1:0]
Reconfiguration
Details
Read Only
The Write Protect and User Tag modes are defined by the bit settings in register 0x66 (shown in Table 66). This
register cannot be written using the configuration register commands. It can only be overwritten in the EEPROM
memory.
UT_EN - User Tag Enable
The UT_EN bit configures the device for either User Tag Memory mode or Fault Logging mode, as described in
Table 67. The User Tag and Fault Log features are described in more details in the Fault Logging and User Tag
Memory section
Table 67. UT_EN vs Fault Log / User Tag Mode
UT_EN
Fault Log / User Tag Mode
0
Fault Log Enabled / User Tag Disabled
1
User Tag Enabled / Fault Log Disabled
WP[1:0] - Write Protect Setting
The write protect setting bits are defined in Table 68. The write protect function is described in detail later in the I2C
Write Protection section.
82
L-ASC10
In-System Programmable
Hardware Management Expander
Table 68. Write Protect Settings
WP[1:0]
Write Protect Settings
00
No protection
01
No protection
10
Protection based on GPIO1 level
11
I2C write disabled
User Electronic Signature (UES) Registers
Table 69. UES Memory Summary
Register
Address
Register Name
Bit7
Bit6
0x70
UES0
UES[7:0]
0x71
UES1
UES[15:8]
0x72
UES2
UES[23:16]
0x73
UES3
UES[31:24]
0x74
UES4
UES[39:32]
0x75
UES5
UES[47:40]
0x76
UES6
UES[55:48]
0x77
UES7
UES[63:56]
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
Reconfiguration Details
EEPROM Read Only
The ASC includes a User Electronic Signature feature in the EEPROM memory of the device. This consists of 64
bits that can be configured by the user to store unique data such as ID codes, revision numbers, or inventory control data. The UES code can only be written and readout using the EEPROM memory access commands. The UES
storage format is shown in Table 69.
Reserved Configuration Addresses
The configuration memory map includes several reserved addresses, which should not be read or written to. The
reserved addresses are shown in Table 70 below.
Table 70. Reserved Configuration Addresses
Register
Address
Register
Name
Bit7
Bit6
Bit5
Bit4
Bit3
0x61
RESERVED
RESERVED
0x65
RESERVED
RESERVED
0x67-0x6F
RESERVED
RESERVED
0x78-0xFF
RESERVED
RESERVED
83
Bit2
Bit1
Bit0
Reconfiguration
Details
Do not read or write to
these addresses
L-ASC10
In-System Programmable
Hardware Management Expander
Closed Loop Trim Register Access
The Trim and Margin block provides for I2C access to write closed loop trim profile 0 target values for each Trim
channel on-chip as shown in Table 71. The 12 bits of each closed trim setpoint register can be updated and read
back atomically using the dedicated instructions below.
Table 71. Closed Loop Trim Access Instructions
Instruction Code
Instruction Name
Read/Write
Description
0x41
TRIM1_CLT_P0_SET
R/W
Update and readback of TRIM1 closed loop
trim profile 0 setpoint register[11:0]
0x42
TRIM2_CLT_P0_SET
R/W
Update and readback of TRIM2 closed loop
trim profile 0 setpoint register[11:0]
0x43
TRIM3_CLT_P0_SET
R/W
Update and readback of TRIM3 closed loop
trim profile 0 setpoint register[11:0]
0x44
TRIM4_CLT_P0_SET
R/W
Update and readback of TRIM4 closed loop
trim profile 0 setpoint register[11:0]
The format for these instructions is shown in Figure 49 below.
Figure 49. TRIMx_CLT_P0_SET - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x4x
TRIM HIGH
BYTE
TRIM LOW
BYTE
A
D[7:0]
A
D[11:8]
A
Sr
A[6:0]
TRIM HIGH
BYTE
TRIM LOW
BYTE
SLAVE
ADDRESS
R
A
D[7:0]
A
D[11:8]
NA P
The new trim target will be latched in the hardware at the completion of this sequence.
The Trim targets are 12-bit numbers where each bit corresponds to 2 mV. See Closed Loop Trim Configuration
Registers for details on calculating the trim target voltage.
Measurement and Control Register Access
The measurement and control section of the ASC is accessed via two different I2C instructions. The
WRITE_MEAS_CTRL instruction is used to write the measurement selection for voltage and current measurements, the selection for reading the monitor status, and the control selection for the output control block. The
READ_MEAS_CTRL is used to read the measurement result selected by the WRITE_MEAS_CTRL instruction.
The instructions are used to access the register set shown in Table 72. The instructions use the register addresses
in Table 72 and follow the format shown in Figure 50 for WRITE_MEAS_CTRL and Figure 51 for
READ_MEAS_CTRL.
Figure 50. WRITE_MEAS_CTRL - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x51
DATA
[ADDRESS]
REGISTER
ADDRESS
A
R_A[7:0]
A
D[7:0]
84
A
P
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 51. READ_MEAS_CTRL - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x52
A
R_A[7:0]
A
Sr
A[6:0]
DATA
[ADDRESS +1]
DATA
[ADDRESS]
SLAVE
ADDRESS
REGISTER
ADDRESS
R
A
D0[7:0]
A
D1[7:0]
A*
P
Optional: Read up to 8
additional data bytes
* After final data byte read, master should NACK before issuing the STOP command
The measurement and control register address map is shown in Table 72. These register are used to read voltage and current measurements from the ADC, read temperature measurements from the TMON circuit, and control I/Os configured for I2C control. These registers should not be confused with the configuration registers, which
are accessed with a different set of instructions and comprise a completely separate 8-bit address space.
Table 72. Measurement and Control Register Overview
Register
Address
0x00
Register Name
adc_mux
Read/Write
R/W
Description
Value after POR
ADC Attenuator and SEL[4:0]
0000 0000
0x01
adc_value_low
R
ADC Result [4:0] and status
0000 0000
0x02
adc_value_high
R
ADC Result [12:5]
0000 0000
0x03
imon_average_ctrl
R/W
Average Control [3:0]
0000 0000
0x04
imon_average_select
R/W
IMON MUX[1:0]
0000 0000
0x05
imon_average_result_low
R
IMON moving average [7:0]
0000 0000
0x06
imon_average_result_high
R
IMON moving average [9:8]
0000 0000
0x07
monitor_select
R/W
Monitor Select[3:0]
0000 0000
0x08
monitor_ record
R
Monitor Record[7:0]
0000 0000
HVOUT1-4 and GPIO2-3 control
0000 0000
TMON_1 Measurement [15:8]
1110 0000
0x09-0x6F
RESERVED
0x70
output_control_block
0x71-0x7F
RESERVED
0x80
tmon_meas_1_high
R/W
R
0x81
tmon_meas_1_low
R
TMON_1 Measurement [7:5]
0000 0000
0x82
tmon_meas_2_high
R
TMON_2 Measurement [15:8]
1110 0000
0x83
tmon_meas_2_low
R
TMON_2 Measurement [7:5]
0000 0000
0x84
tmon_meas_int_high
R
TMON_int Measurement [15:8]
1110 0000
1
0x85
tmon_meas_int_low
R
TMON_int Measurement [7:5]
0000 0000
0x86
tmon_stat_a1
R
TMON_A Status [2:0]
0000 0000
0x87
tmon_stat_b
R
TMON_B Status [2:0]
0000 0000
0x88-0xFF
RESERVED
1. Any READ_MEAS_CTRL command which reads addresses 0x85 or 0x86 as the final data byte must be followed by an additional
READ_MEAS_CTRL command of a different address (such as 0x70) before issuing any other I2C read command.
85
L-ASC10
In-System Programmable
Hardware Management Expander
The registers shown in Figure 52 are provided for interfacing to the ADC.
Figure 52. ADC Registers
0x00 – ADC_MUX (Read/Write)
ATTEN
0
0
SEL4
SEL3
SEL2
SEL1
SEL0
b7
b6
b5
b4
b3
b2
b1
b0
0x01 – ADC_VALUE_LOW (Read)
D4
D3
D2
D1
D0
Pending
Active
Done
b7
b6
b5
b4
b3
b2
b1
b0
0x02 – ADC_VALUE_HIGH (Read)
D12
D11
D10
D9
D8
D7
D6
D5
b7
b6
b5
b4
b3
b2
b1
b0
To perform an A/D conversion, one must set the input attenuator and channel selector. For VMON input voltage
conversions, two input ranges may be set using the attenuator, 0-2.048 V and 0-5.9 V. For conversion of the
HVMON input voltage, the available attenuator ranges are 0-8.192 V and 0-13.2 V. These settings are shown in
Table 73.
Table 73. ADC Input Attenuator Control
VMON1-VMON9
ATTEN(ADC_MUX.b7)
HVMON
Resolution
Full Scale Range
Resolution
Full Scale Range
0
2 mV
0-2.048 V
8mV
0-8.192
1
6 mV
0-5.9 V
16mV
0-13.2
The input selector may be set to monitor any of the VMON input voltages, the VCCA supply voltage, or the IMON
differential voltages. The selectable input channels are shown in Table 74. Do not read or write to ADC_MUX selections not shown in the table.
Table 74. ADC Input Selection
SEL[4:0]
(ADC_MUX Selection)
Input Channel
0x00
VMON1
0x01
VMON2
0x02
VMON3
0x03
VMON4
0x04
VMON5
0x05
VMON6
0x06
VMON7
0x07
VMON8
0x08
VMON9
0x09
HVMON
0x0C
VCCA
0x10
IMON1
0x13
HIMON
86
L-ASC10
In-System Programmable
Hardware Management Expander
Writing a value to the ADC_MUX register using the WRITE_MEAS_CTRL instruction to set the input attenuator
and selector will automatically initiate a conversion. The PENDING bit will be set to 1 when a conversion is
requested but not yet active. The ACTIVE bit will be set to 1 when the requested conversion is the active conversion. When the conversion is in process, the DONE bit (ADC_VALUE_LOW.b0) will be reset to 0. When the conversion is complete, this bit will be set to 1. When the conversion is complete, the result may be read out of the ADC by
performing two I2C read operations using the READ_MEAS_CTRL instruction; one for ADC_VALUE_LOW, and
one for ADC_VALUE_HIGH. It is recommended that the I2C master load a second conversion instruction only after
the completion of the current conversion operation (Waiting for the DONE bit to be set to 1). The example flow
below shows the necessary instructions to complete an ADC read.
Voltage Monitor ADC Readout Over I2C
1. Perform an I2C Write Operation with Instruction 0x51, Register Address 0x00, and the ADC Channel and Attenuator setting from Table 74. This will initiate the ADC conversion.
2. Perform an I2C Read Operation with Instruction 0x52, Register Address 0x01 to check that the DONE bit is set.
Repeat if Register 0x01, bit 0 is not set to 1. Read ADC Data[4:0] for ADC low byte.
3. Perform an I2C Read Operation with Instruction 0x052, Register Address 0x02 to read ADC Data [12:5] for
ADC high byte
The Current Monitor (IMON1 and HIMON) averaging measurement hardware is also accessed through the I2C
interface. The IMON1/HIMON averaging is controlled by dedicated hardware and is managed separately from the
single conversion IMON1/HIMON access through the ADC registers. The IMON1/HIMON averaging registers are
shown in Figure 53.
Figure 53. IMON Average Control Registers
0x03 – IMON_AVG_CTRL (Read/Write)
0
0
HIMON
AVG_EN
0
0
IMON1
AVG_EN
SMPL_
INT_1
SMPL_
INT_0
b7
b6
b5
b4
b3
b2
b1
b0
0x04 – IMON_AVG_SELECT (Read/Write)
0
0
0
0
0
0
SEL1
SEL0
b7
b6
b5
b4
b3
b2
b1
b0
0x05 – IMON_AVG_RESULT_LOW (Read)
D7
D6
D5
D4
D3
D2
D1
D0
b7
b6
b5
b4
b3
b2
b1
b0
0x06 – IMON_AVG_RESULT_HIGH (Read)
0
0
0
0
0
0
D9
D8
b7
b6
b5
b4
b3
b2
b1
b0
To perform a moving average read, first enable the moving average for the given channel in the IMON_AVG_CTRL
register. When the averaging is enabled the averaging hardware will begin to compute a binary exponential
weighted moving average, as shown below:
CurrentMeas  x 
7
CurrentAve  x  = ---------------------------------------------- + CurrentAve  x – 1   --8
8
87
L-ASC10
In-System Programmable
Hardware Management Expander
The IMON_AVG_CTRL register is used to enable the averaging operation and set the sample period of the averaging. The HIMON and IMON1 averaging operations are enabled independently by setting the HIMON_AVG_EN and
IMON1_AVG_EN respectively. Setting these bits to 1 enables the 1/8 moving averaging for that input channel. The
SMPL_PER[1:0] is used to select the sampling interval from the values shown in Table 75.
Table 75. IMON Average Sample Interval Values
SMPL_INT[1:0]
Sample Interval
00
1 ms
01
2 ms
10
4 ms
11
8 ms
Once the averaging is enabled, the IMON_AVG_SELECT register is used to select between the HIMON and
IMON1 average values for readout (see Table 76).
Table 76. Selected IMON Average Readout Channel
SELECT[1:0]
Channel
00
IMON1
01
Not Used
10
Not Used
11
HIMON
After writing to the IMON_AVG_SELECT register, the selected channels 10-bit moving average can be read out of
the IMON_AVG_RESULT_LOW and IMON_AVG_RESULT_HIGH registers. The value in the IMON_AVG_SELECT
register will remain active until overwritten by another I2C instruction (or power on reset). The updated 10-bit moving average for the previously selected channel can be readout from the result registers without re-writing the
SELECT register.
Current Monitor Moving Average Readout Over I2C
1. Perform an I2C Write Operation with Instruction 0x51, Register Address 0x03, and enable the HIMON averaging and configure the sampling period. This will enable the HIMON averaging. See Table 75 and Table 76.
2. Moving average results are available immediately based on limited samples. Waiting additional sample periods
ensures that the averaging filter has time to settle. After enough time has elapsed, perform an I2C Write Operation with Instruction 0x51, Register Address 0x04, and select the HIMON channel for readout.
3. Perform an I2C Read Operation with Instruction 0x052, Register Address 0x05 to read
IMON_AVG_RESULT_LOW[7:0] for HIMON low byte.
4. Perform an I2C Read Operation with Instruction 0x052, Register Address 0x06 to read
IMON_AVG_RESULT_HIGH[9:8] for HIMON high byte.
The status of the voltage, current, and temperature monitor alarms, as well as the GPIO input status, can be read
out over I2C. Access to the alarm signals is controlled by the MONITOR_SELECT register. To read out the alarm or
GPIO status over I2C, write the applicable selection to the MONITOR_SELECT register as shown in Table 77. After
writing the corresponding value to the MONITOR_SELECT, you can read the monitor signal status from the
MONITOR_RECORD register. These registers are shown in Figure 54.
The MONITOR_SELECT also includes a valid bit. This bit is set to 1 once the MONITOR_RECORD register
includes the monitor signals selected in the MONITOR_SELECT register. The monitor signals are refreshed much
faster than the I2C access time, so normally the valid bit will read as 1. If the device is in safe state and ASC-I/F
communication has not started properly, the valid bit will read as 0. The MONITOR_RECORD register will continue
to include the latest status of the specified alarm signals, as specified in the MONITOR_SELECT register.
88
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 54. Monitor Signal Access Registers
0x07 – MONITOR_SELECT (Read/Write)
Valid
0
0
0
SEL3
SEL2
SEL1
SEL0
b7
b6
b5
b4
b3
b2
b1
b0
0x08 – MONITOR_RECORD (Read)
D7
D6
D5
D4
D3
D2
D1
D0
b7
b6
b5
b4
b3
b2
b1
b0
The register map of the monitor data is shown in Table 77 below. An example for how to read out selected data is
shown after the table.
Table 77. MONITOR_RECORD Byte Selection
MONITOR_RECORD[7:0]
MONITOR_
SELECT
[3:0]
D7
0x0
0
0x1
AGOOD
GPIO10
GPIO9
GPIO8
X
GPIO6
GPIO5
GPIO4
0x2
GPIO3
GPIO2
GPIO1
HVOUT4
HVOUT3
HVOUT2
HVOUT1
HIMON_b
D6
D5
D4
D3
D2
D1
D0
0
0
1
X
1
Fault_Log_ Full Fault_Log_Busy
0x3
HIMON_a
IMON1_b
IMON1_a
HVMON_b
HVMON_a
VMON9_b
VMON9_a
VMON8_b
0x4
VMON8_a
VMON7_b
VMON7_a
VMON6_b
VMON6_a
VMON5_b
VMON5_a
VMON4_b
0x5
VMON4_a
VMON3_b
VMON3_a
VMON2_b
VMON2_a
VMON1_b
VMON1_a
TMON2_b
0x6
TMON2_a
TMON1_b
TMON1_a
TMONint_b TMONint_a
1
0
1
Monitor Record Readout Over I2C
1. Perform an I2C Write Operation with Instruction 0x51, Register Address 0x07, and write the selected data byte
for readout. This will populate the MONITOR_RECORD register, Address 0x08, with the latest sampled data of
the chosen bits as described in Table 77.
2. Perform an I2C Read Operation with Instruction 0x52, Register Address 0x08 to read the selected Monitor
Record.
The output signals for HVOUT1-4 and GPIO2-3 can be controlled via I2C instruction, dependent on their Output
Control Block configuration. The OUTPUT_CONTROL_BLOCK register (shown in Figure 55) is used to set the I2C
control input to the Output Control Block. Outputs which are not configured for I2C control will ignore the setting in
the I2C register. See the Output Control Block section for more details.
Figure 55. Output Control Block Register
0x70 – OUTPUT_CONTROL_BLOCK (Read/Write)
0
0
HVOUT4
HVOUT3
HVOUT2
HVOUT1
GPIO3
GPIO2
b7
b6
b5
b4
b3
b2
b1
b0
Several registers are provided for accessing the temperature monitor measurements. Each temperature monitor
channel has a TMON_MEAS_CHx_LO and TMON_MEAS_CHx_HI register for accessing the 11-bit temperature
reading (shown in Figure 56). Provided the temperature monitor is enabled, these registers are updated automatically with the latest temperature reading. The update rate of the temperature reading is dependent on the number
of channels enabled (see the Temperature Monitor section for more details).
89
L-ASC10
In-System Programmable
Hardware Management Expander
The temperature measurement hardware will latch its latest reading after the TMON_MEAS_CHx_HIGH byte is
read over I2C. This will ensure that the corresponding TMON_MEAS_CHx_LOW byte is from the same measurement as the TMON_MEAS_CHx_HIGH byte. The HIGH byte should be read first in the I2C transaction, followed by
the LOW byte. This will ensure the two bytes are from the same measurement reading.
Figure 56. Temperature Monitor Measurement Registers
0x80 – TMON_MEAS_CH1_HIGH (Read)
D10
D9
D8
D7
D6
D5
D4
D3
b7
b6
b5
b4
b3
b2
b1
b0
0x81 – TMON_MEAS_CH1_LOW (Read)
D2
D1
D0
0
0
0
0
0
b7
b6
b5
b4
b3
b2
b1
b0
0x82 – TMON_MEAS_CH2_HIGH (Read)
D10
D9
D8
D7
D6
D5
D4
D3
b7
b6
b5
b4
b3
b2
b1
b0
0x83 – TMON_MEAS_CH2_LOW (Read)
D2
D1
D0
0
0
0
0
0
b7
b6
b5
b4
b3
b2
b1
b0
0x84 – TMON_MEAS_INT_HIGH (Read)
D10
D9
D8
D7
D6
D5
D4
D3
b7
b6
b5
b4
b3
b2
b1
b0
0x85 – TMON_MEAS_INT_LOW (Read)
D2
D1
D0
0
0
0
0
0
b7
b6
b5
b4
b3
b2
b1
b0
The format of the 11-bit temperature measurement is shown in Table 78 along with some example values. The
measurement format is 2-complement, with bit D10 used as the sign bit. The measurement resolution is 0.25 oC
per bit. Temperature monitor circuits which are reset or disabled will always readout –64oC.
Any READ_MEAS_CTRL command which reads addresses 0x85 or 0x86 as the final data byte must be followed
by an additional READ_MEAS_CTRL command of a different address (such as 0x70) before issuing any other I2C
read command.
90
L-ASC10
In-System Programmable
Hardware Management Expander
Table 78. Temperature Measurement Data Format
D[10:0]
Measured Temperature (oC)
0x3FF
160.00*
0x26C
155.00
0x26B
154.75
-------------------------
0x002
0.50
0x001
0.25
0x000
0.00
0x7FF
–0.25
0x7FE
–0.50
------------------------
0x701
–63.75
0x700
–64.00*
Note: Measurements above 160 oC will limit to 0x3FF. There is no lower limit, although the TMON accuracy is
unguaranteed below –64 oC.
The temperature monitor alarm signals are also available to be read out over I2C directly. The A comparator alarm
signals for each temperature monitor can be read out from the TMON_STAT_A register while the B comparator
alarm signals can be read out from the TMON_STAT_B. The register format is shown in Figure 57.
Figure 57. Temperature Monitor Status Registers
0x86 – TMON_STAT_A (Read)
0
0
0
0
0
TMONINT_A
TMON2_A
TMON1_A
b7
b6
b5
b4
b3
b2
b1
b0
0x87 – TMON_STAT_B (Read)
0
0
0
0
0
TMONINT_B
TMON2_B
TMON1_B
b7
b6
b5
b4
b3
b2
b1
b0
Any READ_MEAS_CTRL command which reads addresses 0x85 or 0x86 as the final data byte must be followed
by an additional READ_MEAS_CTRL command of a different address (such as 0x70) before issuing any other I2C
read command.
91
L-ASC10
In-System Programmable
Hardware Management Expander
User Tag Memory Access
The I2C interface is used to access the User Tag memory feature of the ASC. The User Tag memory block consists
of a 7 byte User Tag register, a programming hardware block, and a 16 row x 7 byte EEPROM memory. The User
Tag memory block architecture is shown in Figure 58, along with the I2C access instructions.
The User Tag feature cannot be used when the ASC Fault Log is enabled. These features use the same memory
array and only one of the two features can be enabled at a given time. The User Tag instructions shown below are
only applicable for accessing the memory in User Tag mode. Access to the memory in Fault Log Mode should follow the Fault Log instructions detailed in the next section.
Table 79 shows the User Tag access instructions. The instructions are used to access either the User Tag register
or the User Tag EEPROM memory block. Accessing the User Tag memory requires that the ASC is placed into programming mode (see the ENABLE_PROG instruction). The format for each instruction is in the section that follows.
Table 79. User Tag Memory Access Instructions
Instruction
Code
0x61
Instruction Name
Read/Write
Description
ERASE_USER_TAG_EEPROM
W
Erase the User Tag EEPROM array
0x62
WRITE_USER_TAG_REG
W
Write to the User Tag data register
0x63
READ_USER_TAG_REG
R
Read out the contents of the User Tag data register
0x64
PROG_USER_TAG_EEPROM
W
Program the selected row of EEPROM bits with the
tag data register
0x65
READ_USER_TAG_EEPROM
R
Read out the selected row of User Tag EEPROM bits
Figure 58. User Tag Memory Architecture with I2C Instruction Access
USER TAG EEPROM
USER TAG REGISTER
READ_USER_TAG_EEPROM
(ROW_ADDR[7:4])
WRITE_USER_TAG_REG
(BYTE0-BYTE7)
7 BYTES
16 ROWS x
7 BYTES
Program Row
READ_USER_TAG_REG
(BYTE0-BYTE7)
PROG_USER_TAG_EEPROM
(ROW ADDR[7:4])
ERASE_USER_TAG_EEPROM
The ERASE_USER_TAG_EEPROM instruction is used to erase the entire User Tag EEPROM array. The User Tag
can only be erased as a full block. A row must be erased prior to programming it. The instruction format for
ERASE_USER_TAG_EEPROM is shown in Figure 59.
Figure 59. ERASE_USER_TAG_EEPROM - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x61
A
P
The User Tag EEPROM is programmed in a two-step process. First the data which is to be programmed is written
into the User Tag register space, as shown in Figure 60. Up to 7 bytes (known as a data “row”) can be written into
the User Tag register space in a single write transaction. The WRITE_USER_TAG_REG instruction is used for writing the User Tag register space.
92
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 60. WRITE_USER_TAG_REG - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x62
DATA
BYTE_0
A
DATA
BYTE_1
D0[7:0]
A
D1[7:0]
A
P
Optional: Write up to 6
additional data bytes
The READ_USER_TAG_REG instruction is used to read out the User Tag register bytes as shown in Figure 61. Up
to 7 bytes can be read out from the User Tag register space in a single read transaction. The bytes are read back in
order from byte 0 to byte 6.
Figure 61. READ_USER_TAG_REG - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
W
A
0x63
A
Sr
A[6:0]
DATA
BYTE_1
DATA
BYTE_0
SLAVE
ADDRESS
INSTRUCTION
CODE
R
A
D0[7:0]
A
D1[7:0]
A*
P
Optional: Read up to 6
additional data bytes
* After final data byte read, master should NACK before issuing the STOP command
The second step of the User Tag programming is writing to the EEPROM from the User Tag registers. This is
accomplished using the PROGRAM_USER_TAG_EEPROM instruction. The data in the User Tag registers is copied by the programming block to the EEPROM row specified by the R_A[7:4] bits in the data byte as shown in
Figure 62. The 4-bit code corresponds to Row 0 to Row 15 in the User Tag EEPROM memory block, as shown in
the User Tag block diagram in Figure 58.
Figure 62. PROG_USER_TAG_EEPROM - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x64
ROW
ADDRESS*
A
R_A[7:0]
A
P
Note: The Row Address R_A[7:0] contains the 4-bit address code in bits [7:4]. Bits [3:0] are always zero.
The READ_USER_TAG_EEPROM I2C instruction provides the mechanism to readback data stored in the User Tag
memory. The READ_USER_TAG_EEPROM is a two step read transaction operation shown in Figure 63. In the
first step, a write transaction is performed with the 0x65 instruction, and a 4-bit address code [7:4]. The address
code corresponds to Row 0 to Row 15 as shown in the User Tag block diagram in Figure 58. In the second step,
the row can be read out in 7 bytes, from byte 0 to byte 6, using a read transaction. The row address will auto-increment to support reading multiple rows in a single transaction. This means a single transaction can support reading
the entire user tag array, if the starting address of Row 0 is used. A stop condition will complete the read transaction, this can be issued after any number of rows and bytes have been read.
Figure 63. READ_USER_TAG_EEPROM - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x65
A
R_A[7:0]
A
Sr
A[6:0]
DATA BYTE1
[ROW_ADDR]
DATA BYTE0
[ROW_ADDR]
SLAVE
ADDRESS
ROW
ADDRESS*
R
A
D0[7:0]
A
D1[7:0]
A*
P
Optional: Read 6 additional bytes for complete record,
Read 112 data bytes (16 rows by 7 bytes) for the entire
fault log memory.
* After final data byte read, master should NACK before issuing the STOP command
93
L-ASC10
In-System Programmable
Hardware Management Expander
User Tag Access Example
This example describes the steps necessary to program 7 Data Bytes to Row 4 of the EEPROM array:
1. Perform an I2C Write with the ENABLE_PROG instruction (0x04), with the 2-byte key code 0xE53D. This will
place the chip in programming mode, a required step for User Tag access.
2. (Optional) Perform an I2C Write with the ERASE_USER_TAG_EEPROM instruction (0x61). This is only
required if data has already been written to Row 4.
3. Perform an I2C Write with the WRITE_USER_TAG_REG instruction (0x62), with the 7 data bytes to be written.
4. Optional) Perform an I2C Read with the READ_USER_TAG_REG instruction (0x63) to confirm that the 7 Data
Bytes were properly written the USER_TAG_REGISTER.
5. Perform an I2C Write with the PROGRAM_USER_TAG_EEPROM instruction (0x64), with an R_A[0x40], row
address 4. This copies the data from the USER_TAG_REG into Row 4 of the USER_TAG_EEPROM array.
6. (Optional) Perform an I2C Read with the READ_USER_TAG_EEPROM instruction (0x65), with an address of
0x04. You can use this operation to verify the EEPROM programming.
7. Perform an I2C Write with the ENABLE_USER instruction (0x05). This operation will place the ASC back in
User Mode, in order to prevent accidental programming access.
94
L-ASC10
In-System Programmable
Hardware Management Expander
Fault Log Memory Access
The ASC includes a fault logging block. The fault logging block consists of fault recording hardware, a volatile memory register which holds one 7 byte fault log record, a programming block, and a 16 row by 7 byte EEPROM memory for fault record storage. The fault logging block, including I2C access instructions is shown in Figure 64. The
fault logging block is described in detail in the fault log section.
The ASC Fault Log cannot be used when the user tag feature is enabled. These features use the same memory
array and only one of the two features can be enabled at a given time. The Fault Log instructions shown below are
only applicable for accessing the memory in Fault Log mode. Access to the memory in User Tag Mode should follow the User Tag instructions detailed in the previous section.
Table 80 shows the Fault Log access instructions. The instructions are used to read out or erase either the fault log
register or the fault log EEPROM memory block. The format for each instruction is in the section that follows.
Writing fault logs to the EEPROM memory is triggered by the ASC-I/F. Faults can be recorded in either the fault logging register or in the EEPROM (for more details see the Fault Log Section). The fault log recording hardware has
priority access to the fault log EEPROM memory, and needs to be disabled via the READ_FAULT_ENABLE
instruction prior to accessing the fault log via I2C. The fault log recording process also takes precedence over the
reconfiguration/programming of the device. If a fault log record process is active, the device will reject reconfiguration requests. You can avoid that scenario by executing the READ_FAULT_ENABLE instruction prior to starting the
reconfiguration process.
The fault log instructions are summarized in Table 80 below, with individual instruction details in the following section.
Table 80. Fault Log Access Instructions
Instruction Code
Instruction Name
Read/Write
Description
0x71
ERASE_FAULT_EEPROM
0x73
READ_FAULT_VOLATILE_REG
0x74
READ_FAULT_ENABLE
0x75
READ_FAULT_RECORD_EEPROM
R
Read out the selected record of Fault Log
Array EEPROM bits
0x76
READ_ALL_FAULT_EEPROM
R
Reads out all records of the Fault Log
EEPROM Array
95
W
Erase the entire fault log memory
R
Read the fault log volatile register contents
R/W
Disables the fault log recording hardware
and enables the ERASE and READ instructions
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 64. Fault Log Memory Block with I2C Access Instructions
ASC-I/F-Fault_Log_Mode
FAULT LOG EEPROM
FAULT LOG REGISTER
I2C_READ_ALL_FAULT_EEPROM
ASC-I/F-Fault_Log_Trigger
16 ROWS x
7 BYTES
RECORD COPY TO
EEPROM*
7 BYTES
I2C_READ_FAULT_RECORD_EEPROM
(RECORD ADD[7:4])
ASC-I/F-Fault_Log_USER
ASC-I/F
Fault_Log_Full
I2C_READ_
FAULT_ENABLE
ASC-I/F
Fault_Log_Busy
I2C_ERASE_FAULT_EEPROM
I2C_READ_FAULT_
VOLATILE_REG
* - Fault Log record programming number is automatically incremented each time a fault log is recorded in the memory.
The next programming row is recorded in the status register, accessed by the READ_STATUS I2C command.
The ERASE_FAULT_EEPROM instruction is used to erase the entire fault log EEPROM record storage. The ASC
must be in programming mode in order to execute this instruction (See the PROGRAM_MODE instruction). The
READ_FAULT_ENABLE instruction must also have been sent to the ASC in order to disable recording of new
faults. The format for the ERASE_FAULT_EEPROM is shown in Figure 65 below.
Figure 65. ERASE_FAULT_EEPROM - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x71
A
P
The READ_FAULT_VOLATILE_REG instruction is used to read back the contents of the fault logging register. The
7 bytes are read back in order from Byte 0 to Byte 7. The READ_FAULT_ENABLE instruction must have been sent
to the ASC in order to disable recording of new faults, prior to executing a READ_FAULT_VOLATILE_REG instruction. The format is shown in Figure 66.
Figure 66. READ_FAULT_VOLATILE_REG - I2C Instruction Format
S
A[6:0]
W
A
0x73
A
Sr
A[6:0]
DATA
BYTE_1
DATA
BYTE_0
SLAVE
ADDRESS
INSTRUCTION
CODE
SLAVE
ADDRESS
R
A
D0[7:0]
A
D1[7:0]
A*
P
Optional: Read up to 6
additional data bytes
* After final data byte read, master should NACK before issuing the STOP command
The READ_FAULT_ENABLE instruction is used to disable the fault log recording hardware, and to enable the readback and erase of the fault logging memory block and fault log register. The READ_FAULT_ENABLE instruction is
a write instruction with readback. The first transaction is a write transaction, as shown in Figure 67 below. The
Address Byte with W=0 is sent, followed by the 0x74 instruction byte, followed by a keycode value of 0xAC. This
key code is required to enable reading out or erasing of faults and disable fault recording. Sending any other keycode will disable reading and enable fault recording. Sending an incorrect keycode is the mechanism used to reenable fault log recording without resetting the device.
The second transaction is a read transaction, with the Address Byte with R=1 sent, followed by a readback of the
Fault Log Status Register. The Fault Log status register is described in Figure 68.
96
L-ASC10
In-System Programmable
Hardware Management Expander
Figure 67. READ_FAULT_ENABLE - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x74
A
FAULT
STATUS_REG
SLAVE
ADDRESS
FAULT READ
ENABLE KEY
0xAC
A
Sr
A[6:0]
R
A
R[7:0]
NA
P
Figure 68. Fault Log Status Register
Fault Log Status Register (Read Only)
REQ[1]
REQ[0]
EN[1]
EN[0]
0
0
0
0
b7
b6
b5
b4
b3
b2
b1
b0
The Fault Log status register is a read-only register which indicates the status of the fault log hardware. The register bits indicate whether reading of fault logs is enabled or disabled. The possible readout combinations of the register are shown in Table 81.
Table 81. Fault Log Status Details
REQ[1]
REQ[0]
EN[1]
EN[0]
0
0
0
0
ASC device is in safe state, or ERASEFAULT operation is active
0
0
1
1
Fault Logging is active, reading faults is disabled
1
1
0
0
Future fault logging is disabled and fault log read enable is requested.
Reading fault logs will be enabled pending completion of in progress fault
log recording or other EEPROM erase/program operation on-chip
1
1
1
1
Reading of fault logs via I2C is now enabled. Fault log recording is disabled
All other values
Fault Log Status
Invalid reading
The READ_FAULT_RECORD_EEPROM instruction provides the mechanism to readback fault log records stored
in the EEPROM memory. The READ_FAULT_RECORD_EEPROM is a two-step read transaction instruction, as
shown in Figure 69. In the first step, a write transaction is performed with the 0x75 instruction, and a 4-bit address
code [7:4]. The address code corresponds to fault log record 0 to 15, as shown in the fault log block diagram in
Figure 69. In the second step, the fault log record can be read out in 7 bytes, from byte 0 to byte 6, using a read
transaction. The record address will auto-increment to support reading multiple records in a single transaction. A
stop condition will complete the read transaction, this can be issued after any number of rows and bytes have been
read.The fault record is organized according to Table 14, in the Fault Logging section. This means a single transaction can support reading the all 15 fault log memory records, if the starting address of Record 0 is used.
The READ_FAULT_RECORD_EEPROM instruction will be ignored if the READ_FAULT_ENABLE instruction has
not been used to disable active fault recording.
Figure 69. READ_FAULT_RECORD_EEPROM - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
INSTRUCTION
CODE
W
A
0x75
A
R_#[7:0]
A
Sr
A[6:0]
DATA BYTE1
[RECORD#]
DATA BYTE0
[RECORD#]
SLAVE
ADDRESS
RECORD*
NUMBER
R
A
D0[7:0]
A
D1[7:0]
A**
P
Optional: Read 6 additional bytes for
complete record, Read 112 data bytes
(16 rows by 7 bytes) for the entire
fault log memory, depending on
starting row
*The Record Number R_#[7:0] contains the 4-bit record number code in bits [7:4]. Bits [3:0] are always zero.
** After final data byte read, master should NACK before issuing the STOP command
97
L-ASC10
In-System Programmable
Hardware Management Expander
The READ_ALL_FAULT_EEPROM is similar to the READ_FAULT_RECORD_EEPROM instruction and provides
an alternative mechanism for reading back fault log records stored in EEPROM memory. The
READ_ALL_FAULT_EEPROM instruction always starts the readback at Record 0 and does not support requesting
an individual fault log record request. During the read transaction, shown in step 2 of Figure 70, fault log row 0 can
be read out in 7 bytes. The row address will auto-increment to allow reading out the entire fault log array in a single
transaction. A stop condition will complete the read transaction, this can be issued after any number of rows and
bytes have been read. The READ_ALL_FAULT_EEPROM instruction will be ignored if the READ_FAULT_ENABLE
instruction has not been used to disable active fault recording.
Figure 70. READ_ALL_FAULT_EEPROM - I2C Instruction Format
SLAVE
ADDRESS
S
A[6:0]
W
A
0x76
DATA BYTE0
[RECORD # = 0]
SLAVE
ADDRESS
INSTRUCTION
CODE
A
Sr
A[6:0]
R
A
D0[7:0]
DATA BYTE1
[RECORD # = 0]
A
D1[7:0]
A*
P
Optional: Read 6 additional bytes for
complete record, Read 112 data bytes
(16 rows by 7 bytes) for the entire
fault log memory.
* After final data byte read, master should NACK before issuing the STOP command
Fault Log Memory Readout Example
This example describes the steps necessary to read the fault log EEPROM array over I2C. Note that the device
must be in fault logging mode or it will not respond to these instructions.
1. Perform an I2C Write with the READ_FAULT_ENABLE instruction (0x74), with the 1-byte key code 0xAC. Complete the READ_FAULT_ENABLE operation by reading back the Fault Log Status Register. Repeat this operation until the Fault Log Status register reads as 0xF0 (Fault Log Reading is Enabled). When reading is enabled,
fault log recording will be disabled.
2. Perform an I2C Read with the READ_STATUS instruction (0x03). The ASC_STATUS_REGISTER_LO[7:4] bits
(FAULT_CNT[3:0]) are equal to the number of fault log records which have been written to the EEPROM memory array by the recording hardware. ASC_STATUS_REGISTER_LO[3] (FAULT_LOG_FULL) is set to 1 when
all sixteen records have been used for fault logging.
3. Perform an I2C READ with the READ_ALL_FAULT_EEPROM instruction (0x76). Read out the fault logs starting at Record 0, Byte 0. Continue reading data until you reach the last populated fault record (given by
FAULT_CNT[3:0] in step 3), byte 6.
4. Perform an I2C Write with the READ_FAULT_ENABLE instruction (0x74), with any keycode besides 0xAC. This
disables fault log I2C access and returns the device to fault log recording mode. Repeat this operation until the
Fault Log Status register reads as 0x00 (Fault Log Recording is Enabled).
Fault Log Memory Erase Example
This example describes the steps necessary to erase the fault log EEPROM array. Note that the device must be in
fault logging mode or it will not respond to these instructions.
1. Perform an I2C Write with the ENABLE_PROGRAM instruction (0x04), with the 2-byte key code 0xE53D. This
will place the chip in programming mode, a required step to erase the fault log EEPROM array.
2. Perform an I2C Write with the READ_FAULT_ENABLE instruction (0x74), with the 1-byte key code 0xAC. Complete the READ_FAULT_ENABLE operation by reading back the Fault Log Status Register. Repeat this operation until the Fault Log Status register reads as 0xF0 (Fault Log Reading is Enabled).
3. Perform an I2C Write with the ERASE_FAULT_EEPROM instruction (0x71). This will erase the fault log
EEPROM memory.
98
L-ASC10
In-System Programmable
Hardware Management Expander
4. Perform an I2C Write with the READ_FAULT_ENABLE instruction (0x74), with any keycode besides 0xAC. This
disables fault log I2C access and return the device to fault log recording mode. Repeat this operation until the
Fault Log Status register reads as 0x00 (Fault Log Recording is Enabled).
5. Perform an I2C Write with the ENABLE_USER instruction (0x05). This operation places the ASC back in User
Mode in order to prevent accidental programming access.
I2C Write Protection
The ASC includes multiple protection mechanisms to prohibit accidental or incorrect access to the active device
configuration. The active device configuration access protections are set during the initial programming of the
device (also described in Table 68). There are three possible protection modes:
• I2C Configuration Write Enabled – The ASC configuration parameters can be freely overwritten by I2C commands
• I2C Configuration Write Disabled – The ASC configuration parameters cannot be overwritten by I2C instructions
• I2C Configuration Write Controlled by GPIO1 Pin State – The ASC configuration parameters can only be overwritten by I2C instructions when GPIO1 is pulled high by an external device (FPGA or Microcontroller)
These protection modes control the configuration access by the following I2C instructions: WRITE_CFG_REG,
WRITE_CFG_REG_wMASK, and TRIMx_CLT_P0_SET. This protection does not prevent EEPROM access
instructions. EEPROM access is protected by the ENABLE_PROG_MODE instruction and instruction key.
Figure 71 shows the typical configuration for working in the “Configuration Write Controlled by GPIO1 pin State”
protection mode.
Figure 71. I2C Write Protect by GPIO1
VDD
I2C_SDA
I2C_SDA
2
Platform I C_SCL
Manager 2
GPIO1
I2C_SCL
ASC1
PIOx
GPIO1
2
I C Handler pulls PIOx high prior to
executing a configuration command
I2C_SDA
I2C_SCL
ASC2
GPIO1
The ASC device will still provide ACK bits in I2C write transmissions, even when the configuration write is disabled
(by either the GPIO1 state or configuration setting). Even though the device presents ACK bits, the configuration
memory will not be overwritten.
When using Write Protect by GPIO1 with WRITE_CFG_REG or WRITE_CFG_REG_wMASK, the GPIO1 signal
should be asserted before transmission of the 7-bit slave address. It should be de-asserted after the STOP or
RESTART signaling that marks the end of the write access. For TRIMx_CLT_P0_SET access, the GPIO1 signal
should be asserted before transmission of the 7-bit slave address of the write phase. It should be de-asserted during or after the transmission of the slave address at the start of the readback phase (See the Closed Loop Trim
Register Access section for more details).
99
L-ASC10
In-System Programmable
Hardware Management Expander
Pin Descriptions
48-Pin QFN
Pin Type
VMON1
Pin Function
26
Analog Input
Voltage Monitor Input
Description
VMON1GS
25
Analog Input
Voltage Monitor Input Ground Sense
VMON2
28
Analog Input
Voltage Monitor Input
VMON2GS
27
Analog Input
Voltage Monitor Input Ground Sense
VMON3
30
Analog Input
Voltage Monitor Input
VMON3GS
29
Analog Input
Voltage Monitor Input Ground Sense
VMON4
32
Analog Input
Voltage Monitor Input
VMON4GS
31
Analog Input
Voltage Monitor Input Ground Sense
VMON5
34
Analog Input
Voltage Monitor Input
VMON6
35
Analog Input
Voltage Monitor Input
VMON7
36
Analog Input
Voltage Monitor Input
VMON8
37
Analog Input
Voltage Monitor Input
VMON9
38
Analog Input
Voltage Monitor Input
HIMONP
17
Analog Input
12V Current Monitor Input Source
HIMONN_HVMON
18
Analog Input
12V Current Monitor Input Return / Voltage Monitor Input
IMON1P
19
Analog Input
Low Voltage Current Monitor Input source
IMON1N
20
Analog Input
Low Voltage Current Monitor Input return
TMON1P
21
Analog Input
Temperature Monitor Input source
TMON1N
22
Analog Input
Temperature Monitor Input return
TMON2P
23
Analog Input
Temperature Monitor Input source
TMON2N
24
Analog Input
GPIO1
44
Digital I/O
Digital Input/ Open Drain Output, reset Low
GPIO2
45
Digital I/O
Digital Input/ Open Drain Output, reset Low
GPIO3
46
Digital I/O
Digital Input/ Open Drain Output, reset Low
GPIO4
47
Digital I/O
Digital Input/ Open Drain Output, reset Low
GPIO5
48
Digital I/O
Digital Input/ Open Drain Output, reset Low
GPIO62
1
Digital I/O
Digital Input/ Open Drain Output, reset Low
GPIO8
2
Temperature Monitor Input return
11
Digital I/O
Digital Input/ Open Drain Output, reset Hi-Z
GPIO9
12
Digital I/O
Digital Input/ Open Drain Output, reset Hi-Z
GPIO10
13
Digital I/O
Digital Input/ Open Drain Output, reset Low
HVOUT1
2
Analog/Digital Out
Current Source/ Open Drain Output, reset Low
HVOUT2
3
Analog/Digital Out
Current Source/ Open Drain Output, reset Low
HVOUT3
9
Analog/Digital Out
Current Source/ Open Drain Output, reset Low
HVOUT4
10
Analog/Digital Out
Current Source/ Open Drain Output, reset Low
TRIM1
39
Analog Output
Trim DAC Output, reset Hi-Z
TRIM2
40
Analog Output
Trim DAC Output, reset Hi-Z
TRIM3
41
Analog Output
Trim DAC Output, reset Hi-Z
TRIM4
42
Analog Output
Trim DAC Output, reset Hi-Z
RESETb
1
43
Digital I/O
SCL
15
Digital Input
Device reset (Active Low)
SDA
14
Digital I/O
I2C_ADDR
16
Analog Input
Resistor Input to set I2C address low bits
ASCCLK
7
Digital Output
8 MHz ASC Clock Output (Tristate) CMOS
RDAT
5
Digital Output
ASC Interface Data signal
WDAT
4
Digital Input
ASC Interface Data Signal
Slave I2C Serial Clock input
Slave I2C Serial Data, Bi-directional pin
100
L-ASC10
In-System Programmable
Hardware Management Expander
48-Pin QFN
Pin Type
WRCLK
Pin Function
6
Digital Input
VCCA
33
Power
8
Power
49
Power
GND
Description
ASC Interface Clock signal
Main Power Supply
Exposed die pad is the device ground
1. Do not connect any external drivers (push buttons, switches, or other devices) to the RESETb pins. See the Reset section for more information.
2. GPIO7 is not bonded out.
101
L-ASC10
In-System Programmable
Hardware Management Expander
TRIM4
TRIM3
TRIM2
TRIM1
VMON9
VMON8
42
41
40
39
38
37
7
RESETb
ASCCLK
43
6
GPIO1
WRCLK
GPIO2
RDAT
44
WDAT
GPIO3
3
45
HVOUT2
46
2
GPIO4
HVOUT1
47
1
GPIO5
GPIO6
48
Device Pinout
36
VMON7
35
VMON6
34
VMON5
4
33
VCCA
5
32
VMON4
31
VMON4GS
30
VMON3
49 - GND (EXPOSED DIE PAD)
ASC
48-PIN QFN
21
22
23
24
TMON1P
TMON1N
TMON2P
TMON2N
VMON1GS
20
25
IMON1P
12
IMON1N
GPIO9
19
VMON1
18
26
HIMONN_HVMON
11
17
GPIO8
HIMONP
VMON2GS
16
27
15
10
SCL
HVOUT4
I2C_ADDR
VMON2
14
VMON3GS
28
SDA
29
9
13
8
GPIO10
VCCA
HVOUT3
102
L-ASC10
In-System Programmable
Hardware Management Expander
Package Diagram
48-Pin QFN (Dimensions in mm)
BOTTOM VIEW
TOP VIEW
SIDE VIEW
SYMBOL
A
NOTES: UNLESS OTHERWISE SPECIFIED
1.
2.
MIN.
NOM.
MAX.
0.80
0.90
1.00
0.02
0.05
DIMENSIONS AND TOLERANCES
PER ANSI Y14.5M.
A1
ALL DIMENSIONS ARE IN MILLIMETERS.
D
EXACT SHAPE AND SIZE OF THIS
FEATURE IS OPTIONAL.
D2
DIMENSION b APPLIES TO PLATED
TERMINAL AND IS MEASURED BETWEEN
0.15 AND 0.30 mm FROM TERMINAL TIP.
E2
5.30
b
0.15
0.00
A3
0.2 REF
7.0 BSC
5.30
E
APPLIES TO EXPOSED PORTION OF TERMINALS.
103
5.50
7.0 BSC
e
L
5.40
5.40
5.50
0.20
0.25
0.50 BSC
0.35
0.40
0.45
L-ASC10
In-System Programmable
Hardware Management Expander
Part Number Description
L-ASC10-1 SG48 I
Operating Temperature Range
I = Industrial
Device Family
Number of Rails
Package
SG48 = 48-pin Halogen-Free Package
Performance Grade
1 = Standard
Ordering Information
Halogen-Free Packaging
Part Number
L-ASC10-1SG48I
Package
Pins
Halogen-Free QFN
48
For Further Information
For more information on the Platform Manager 2 family of devices, consult the Platform Manager 2 family datasheet and technical notes on the Lattice website
• DS1043, Platform Manager 2 Family Data Sheet.
• TN1225, Platform Manager 2 Hardware Checklist
• Platform Designer User Guide
Technical Support Assistance
e-mail:
[email protected]
Internet: www.latticesemi.com
Revision History
Date
Version
Section
2
May 2016
1.6
I C Interface
April 2015
1.5
Multiple
Theory of Operation
Change Summary
Updated Measurement and Control Register Access section to
address restrictions on READ_MEAS_CTRL command with
addresses 0x85 and 0x86.
Deleted all references to LPTM20.
Updated System Connections section.
Modified the following figures to clarify I2C_ADDR pin usage:
— Figure 30, System Connections - ASC and Platform Manager 2
— Figure 31, System Connections - ASC and MachXO2
October 2014
1.4
I2C Interface
Updated ASC Configuration Registers section.
Updated Polarity bit setting in Table 22, POL Setting vs Closed
Loop Trim Polarity.
I2C Interface
Updated Device Status and Mode Management section.
Revised Figure 38, READ_STATUS - I2C Instruction Format.
Package Diagram
Updated 48-Pin QFN (Dimensions in mm) diagram.
104
L-ASC10
In-System Programmable
Hardware Management Expander
Date
Version
Section
May 2014
01.3
—
DC and Switching
Characteristics
Multiple
Change Summary
Data sheet status changed from preliminary to final.
Specifications populated with characterization results.
Added ASC-I/F Timing section.
Renamed IMON to IMON1.
Updated ASC-IF TRIM control signal names.
Theory of Operation
Removed IMON Hysteresis feature.
Expanded Output Control Block section.
Updated System Connections section.
I2C Interface
Corrected error in ADC Input Selection table for IMON1 and
HIMON SEL bits.
Updated VMON and IMON tables with final device trip points.
March 2014
01.1
01.2
December 2013
01.0
DS and Switching
Characteristics
Added preliminary ESD Performance section.
Corrected formatting error on Page 27. Moved footnote after Figure 24, ASC Margin/Trim Block.
Preliminary release.
105