Max78630+Ppm Rev1
Max78630+Ppm Rev1
Max78630+Ppm Rev1
DATA SHEET
Single Converter
Measurement
Voltage Front End UART
Processor
Sensors
Digital Host
MUX ADC RAM SPI I/O Controller
Current
Sensors
FLASH I2C
MAX78630+PPM
For pricing, delivery, and ordering information, please contact Maxim Direct at 19-6679; Rev 1; 11/13
1-888-629-4642, or visit Maxim Integrated’s website at www.maximintegrated.com.
MAX78630+PPM Data Sheet
Table of Contents
2 Rev 1
MAX78630+PPM Data Sheet
Rev 1 3
MAX78630+PPM Data Sheet
Electrical Specifications
ABSOLUTE MAXIMUM RATINGS
(All voltages with respect to ground.)
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress
ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational
sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect
device reliability.
4 Rev 1
MAX78630+PPM Data Sheet
Performance Specifications
Note that production tests are performed at room temperature.
Supply Current
PARAMETER CONDITIONS MIN TYP MAX UNITS
V3P3D and V3P3A Current Normal operation, V3P3 = 8.1 10.3 mA
(Compounded) 3.3V
Crystal Oscillator
PARAMETER CONDITIONS MIN TYP MAX UNITS
XIN to XOUT Capacitance (Note 1) 3 pF
XIN 5
Capacitance to GNDD (Note 1) pF
XOUT 5
Note 1: Guaranteed by design; not subject to test.
Internal RC Oscillator
PARAMETER CONDITIONS MIN TYP MAX UNITS
Nominal Frequency 20.000 MHz
V3P3 = 3.0V, 3.6V;
Accuracy temperature = -40°C to ±1.5 ±1.75 %
+85°C
Rev 1 5
MAX78630+PPM Data Sheet
6 Rev 1
MAX78630+PPM Data Sheet
Timing Specifications
Reset
PARAMETER CONDITIONS MIN TYP MAX UNITS
Reset Pulse Fall Time (Note 1) 1 µs
Reset Pulse Width (Note 1) 5 µs
SSB
t SPILead t SPIcyc t SPILag
SPCK
t SPIW t SPIEV t SPIW
t SPISCK t SPIDIS
SDO MSB OUT LSB OUT
t SPISU t SPIH
Rev 1 7
MAX78630+PPM Data Sheet
SDA
tICF
tSCH tSCL
SCL
tSTS
tICR tICF
tSTH Repeat tSPS
Start Stop
Condition Condition
Stop Start
8 Rev 1
MAX78630+PPM Data Sheet
Pin Configuration
RES2
RES1
AV1
AV3
AV2
AI3
AI2
AI1
32 31 30 29 28 27 26 25
GNDA 1 24 V3P3A
DIO15 2 23 RESET
IFC0/DIO8 3
MAX78630+PPM 22 IFC1/DIO9
(32-Pin)
AL4/DIO7 4 21 AL5/DIO10
DIO14 5 20 AL1/DIO0
(Top)
AL3/ADDR1/DIO6 6 19 SGNV1/DIO11
SGNV3/DIO13 7 18 SPCK/ADDR0/DIO1
SSB/DIR/SCL/DIO5 8 17 SDI/RX/SDAI/DIO2
9 10 11 12 13 14 15 16
SDO/TX/SDAO/DIO3
XOUT
GNDD
GNDD
XIN
SGNV2/DIO12
AL2/DIO4
V3P3D
Rev 1 9
MAX78630+PPM Data Sheet
Notes:
1) IFC0 and IFC1 pins are sampled at power-on to select the communication peripheral as follows:
IFC0 = 0 to select SPI; IFC1 = X (Don’t Care)
IFC0 = 1, IFC1 =0 to select UART/RS485; IFC1 = 1 to select I2C
10 Rev 1
MAX78630+PPM Data Sheet
Package Information
For the latest package outline information and land patterns (footprints), go to
www.maximintegrated.com/packages. Note that a “+”, “#”, or “-” in the package code indicates RoHS
status only. Package drawings may show a different suffix character, but the drawing pertains to the
package regardless of RoHS status.
Rev 1 11
MAX78630+PPM Data Sheet
IC Block Diagram
The following is a block diagram of the hardware resources available on the MAX78630+PPM.
AV1
AV2
AV3
AI2
AI1
AI3
MUX
RC
ADC VBIAS
2.5v
GEN
OSC TEMP REG.
SENSE
MUX
IO
UART
TIMERS
16 AL2
RESET AL4
FLASH AL5
CE DATA
INFO. 4Kx16
RAM
BLOCK PROGRAM
512x24
V3P3D MEMORY
DIO!!
…
GNDD …
DIO!%
12 Rev 1
MAX78630+PPM Data Sheet
Clock Management
The device can be clocked by oscillator circuitry that relies on an external crystal or, as a backup source,
by a trimmed internal RC oscillator. The internal RC oscillator provides an accurate clock source for
UART baud rate generation.
The chip hardware automatically handles the clock sources logic and distributes the clock to the rest of
the device. Upon reset or power-on, the device will utilize the internal RC oscillator circuit for the first 1024
clock cycles, allowing the external crystal adequate time to start-up. The device will then automatically
select the external clock, if available. It will also automatically switch back to the internal oscillator in the
event of a failure with the external oscillator. This condition is also monitored by the processor and
available to the user in the STATUS register.
The MAX78630+PPM external clock circuitry requires a 20.000MHz crystal. The circuitry includes two
18pF ceramic capacitors. The figure below shows the typical connection of the external crystal. This
oscillator is self biasing and therefore an external resistor should NOT be connected across the crystal.
18pF
XIN
20.000MHz
XOUT
18pF
MAX78630+PPM
An external 20MHz system clock signal can also be utilized instead of the crystal. In this case, the
external clock should be connected to the XOUT pin while the XIN pin should be connected to GNDD.
Alternatively, if no external crystal or clock is utilized, the XOUT pin should be connected to GNDD and
the XIN pin left unconnected.
Rev 1 13
MAX78630+PPM Data Sheet
Once initiated, the reset mode persists until the RESET is set high and the reset timer times out (4096
clock cycles). At the completion of the reset sequence, the internal reset is released and the processor
begins executing from address 0.
If not used, the RESET pin can be connected either directly or through a pull-up resistor to V3P3D
supply. A simple connection diagram is shown below.
V3P3 V3P3
V3P3D V3P3D
10KΩ
RESET RESET
Manual
1nF
Reset Switch
GNDD GNDD
14 Rev 1
MAX78630+PPM Data Sheet
Analog Inputs
Up to six external sensors can be connected to the MAX78630+PPM. The full-scale signal level that can
be applied to any analog input pin with respect to V3P3A is ±250 mVpk. Considering a sinusoidal AC
waveform, the maximum RMS voltage applied to the inputs pins is:
250𝑚𝑉𝑝𝑘
rmsMAX = = 176.78mVrms
√2
Voltage Inputs
Three single-ended input pins (AVA, AVB and AVC) can be connected to external voltage sensors.
The figure below shows example signal conditioning circuits for a voltage input in both isolated (via
voltage transformers) and non-isolated (via a resistor divider circuit) cases. Complete system diagrams
for wye- and a delta-connected three-phase system are shown in the Applications Examples section of
this document. Consult application notes for more information on component selection and PCB design
considerations.
Vx Vx
MAX78630+PPM MAX78630+PPM
Phase Phase
Voltage Or Line
Voltage
AVx AVx
V3P3
V3P3A
V3P3A
V3P3
NEUTRAL Vy or NEUTRAL
a) Non-isolated b) Isolated
Current Inputs
Similarly, three single-ended input pins (AIA, AIB and AIC) can be connected to external current sensors.
The figure on the following page shows example signal conditioning circuits for a current input. One
diagram each is shown for measurement via a resistive shunt (a), a current transformer (b) and a
Rogowski coil (c). The latter requires the user to enable the built-in digital integrator and implement a low
pass filter. Complete system diagrams for wye- and a delta-connected three-phase system are shown in
the Applications Examples section of this document. Consult application notes for more information on
component selection and PCB design considerations.
Rev 1 15
MAX78630+PPM Data Sheet
Vx a) Isolated (CT)
V3P3
V3P3A
Burden
MAX78630+PPM
Vy or NEUTRAL
Vx b) Non-isolated
V3P3A
AIx
Phase Load
V3P3
MAX78630+PPM
NEUTRAL Shunt
V3P3A
Digital
Integrator
Phase AIx Load
MAX78630+PPM
Vy or NEUTRAL
16 Rev 1
MAX78630+PPM Data Sheet
Voltage Reference
The device includes an on-chip precision band-gap voltage reference that incorporates auto-zero
techniques as well as production trims to minimize errors caused by component mismatch and drift. The
voltage reference is digitally compensated over temperature.
Communication Interfaces
The MAX78630+PPM includes three communication interface options: UART, SPI, and I2C. Since the I/O
pins are shared, only one mode is supported at a time. Interface configuration and address pins are
sampled at power-on or reset to determine which interface will be active and to set device addresses.
Rev 1 17
MAX78630+PPM Data Sheet
A set of input (write), output (read) and read/write registers are provided to allow access to calculated
data and alarms and to configure the device. The input (write) registers values can be saved into flash
memory through a specific command. The values saved into flash memory will be loaded in these
registers at reset or power-on as defaults.
Measurement Interface
The MAX78630+PPM incorporates a flexible measurement interface for simplified integration into any
system. This section describes the configuration and signal conditioning of the analog inputs.
Mux Control
ADC Results
PRECISION
AIA REFERENCE S0
SINC3 S1
AVA
DECIMATOR
S2
AIB ∆Σ Measurement
S3
MODULATOR Processor
AVB S4
S5
AIC CROSS-
POINT
AVC FADC
18 Rev 1
MAX78630+PPM Data Sheet
Register Description
V1_OFFS Voltage Input AV1 Offset Calibration
V2_ OFFS Voltage Input AV2 Offset Calibration
V3_ OFFS Voltage Input AV3 Offset Calibration
I1_OFFS Current Input AI1 Offset Calibration
I2_ OFFS Current Input AI2 Offset Calibration
I3_ OFFS Current Input AI3 Offset Calibration
Alternatively, the user can enable an integrated High Pass Filter (HPF) to dynamically update the offset
registers every accumulation interval. During each accumulation interval (or low-rate cycle) the HPF
calculates the median or DC average of each input. Adjustable coefficients determine what portion of the
measured offset is combined with the previous offset value.
The HPF_COEF_I and HPF_COEF_V registers contain signed fixed point numbers with a usable range
of 0 to 1.0-LSB (negative values are not supported). By default, they are initialized to 0.5 (0x400000)
meaning the new offset value will come from ½ of the measured offset and ½ will come from the previous
offset value. Setting them to 1.0 (0x7FFFFF) causes the entire measured offset to be applied to the offset
register enabling lump-sum offset removal. Setting them to zero disables any dynamic update of the
offset registers by the HPF. The HPF coefficients apply to all three channels (current or voltage).
Register Description
HPF_COEF_I HPF coefficient for AIA, AIB and AIC current inputs
HPF_COEF_V HPF coefficient for AVA, AVB and AVC voltage inputs
Using the offset calibration routine will automatically set the filter coefficients to zero to disable the HPF.
Enabling the software integrator will automatically disable the HPF and offset correction.
Gain Correction
The system (sensors) and the MAX78630+PPM device inherently have gain errors that can be corrected
by using the gain registers. These registers can be directly accessed and modified by an external host
processor or automatically updated by an integrated self calibration routine.
Rev 1 19
MAX78630+PPM Data Sheet
Input gain registers are signed fixed-point numbers with the binary point to the left of bit 21. They are set
to 1.0 by default and have a usable range of 0 to 4.0-LSB (negative values are not supported). The gain
equation for each input X can be described as Y=gain*X.
Register Description
V1_GAIN Voltage Input AV1 Gain Calibration.
V2_GAIN Voltage Input AV2 Gain Calibration
V3_GAIN Voltage Input AV3 Gain Calibration.
I1_GAIN Current Input AI1 Gain Calibration
I2_GAIN Current Input AI2 Gain Calibration
I3_GAIN Current Input AI3 Gain Calibration
Setting the Temperature Compensation (TC) bit in the Command Register allows the firmware to further
adjust the system gain based on measured die temperature. Die temperature offset is typically calibrated
by the user during the calibration stage. Die temperature gain is set to a factory default value for most
applications, but can be adjusted by the user.
Register Description
T_OFFS Die Temperature Offset Calibration.
T_GAIN Die Temperature Slope Calibration. Set by factory.
Phase Compensation
Phase compensation registers are used to compensate for phase errors or time delays between the
voltage input source and respective current source that are introduced by the off-chip sensor circuit. The
user configurable registers are signed fixed point numbers with the binary point to the left of bit 21. Values
are in units of high rate (2.7kHz) sample delays so each integer unit of delay is 370µs with a total possible
delay of ±4 samples (approximately ±32° at 60Hz).
Register Description
PHASECOMP1 Phase (delay) compensation for input current AI1
PHASECOMP2 Phase (delay) compensation for input current AI2
PHASECOMP3 Phase (delay) compensation for input current AI3
20 Rev 1
MAX78630+PPM Data Sheet
The VDELTA bit must be set whenever the voltage sensors measure phase voltages (line-to-neutral), but
the load is connected in a Delta configuration. The MAX78630+PPM then computes line-to-line voltages
from the inputs and uses those for all other computations.
The VPHASE setting determines how many voltage sensors are present, and in which phases. If three
sensors are used, these bits should be set to zero. If two sensors are used, settings 01, 10 and 11
indicate the phase with no voltage sensor. This phase will then be computed such that VA+VB+VC
equals to zero. Note that using two voltage sensors is not recommended in Wye-connected systems, as
the above equation may not necessarily be true.
The INV_AVx bits instruct the MAX78630+PPM to invert every sample of the corresponding voltage input,
before performing any other computations based on the VDELTA and VPHASE settings.
The Applications Examples section provides the required settings for the different configurations.
Rev 1 21
MAX78630+PPM Data Sheet
HPF_COEF_V
CONFIG:
V1_OFFS V1_GAIN PHASECOMP1 INV_AVx , VDELTA , VPHASE
Delay
AV1 HPF X
Compensation VA
Delay
AV3 HPF X
Compensation VC
22 Rev 1
MAX78630+PPM Data Sheet
The IPHASE setting determines how many line current sensors are present, and for which phases. If
three sensors are used, these bits should be set to zero. If two sensors are used, settings 01, 10 and 11
indicate the phase without a line current sensor. The current for this phase will then be computed
according to the INEUTRAL and VDELTA settings. If VDELTA is cleared and IN can be assumed to be
zero, the current is computed such that IA+IB+IC = 0. If VDELTA is set, the current in this phase is the
difference between the two other currents (INEUTRAL must be cleared in these two cases).
When the INEUTRAL bit is set, a sensor in the neutral conductor replaces one of the three line current
sensors. IN is directly measured from a sensor placed in the neutral conductor and the MAX78630+PPM
calculates the current for the input with no line current sensor, such that IA+IB+IC = IN (IPHASE cannot
be 00).
The Applications Examples section provides the required settings for different configurations.
Rev 1 23
MAX78630+PPM Data Sheet
Pre-amp
By default, the full-scale signal that can be applied to the current inputs is V3P3A ±250mVpk
(176.78mVRMS). This setting provides the widest dynamic range and is recommended for most
applications.
For applications requiring a much lower value shunt resistor, an optional pre-amplifier with an 8x gain is
included for the current inputs. The maximum input signal that can be applied to the current inputs in this
case is ±31.25mVpk.
CONFIG:
HPF_COEF_I EN_ROGx
CONFIG:
I1_OFFS I1_GAIN INEUTRAL , IPHASE,VDELTA
HPF
AI1 S/W Integrator
X IA
I2_OFFS I2_GAIN
Compute “missing”
AI2 HPF
X
Current IB
S/W Integrator
Use Sensor in
Neutral Conductor
I3_OFFS I3_GAIN
HPF
AI3 S/W Integrator
X IC
24 Rev 1
MAX78630+PPM Data Sheet
Low rate results, updated at a user configurable rate (also referred to as accumulation interval), are
typically used and more suitable for most applications. The FRAME register is a counter that increments
every accumulation interval. A data ready indicator in the STATUS register indicates when new data is
available. Optionally, this indicator can be made available as a signal on one of the five Alarm output pins.
The high rate samples in one accumulation interval are averaged to produce a low-rate result, increasing
their accuracy and repeatability. Low rate results include RMS voltages and currents, frequency, power,
energy, and power factor. The accumulation interval can be based on a fixed number of ADC samples or
locked to the incoming line voltage cycles.
If Line Lock is disabled, the accumulation interval defaults to a fixed time interval defined by the number
of samples defined in the SAMPLES register (default of 540 samples or 0.2 seconds).
When the Line-Lock bit in the Command Register is set, and a valid AC voltage signal is present, the
actual accumulation interval is stretched to the next positive zero crossing of the reference line voltage
after the defined number of samples has been reached. If there is not a valid AC signal present and line
lock is enabled, there is a 100 sample timeout implemented that would limit the accumulation interval to
SAMPLES+100.
The DIVISOR register records the actual duration (number of high rate samples) of the last low rate
interval whether or not Line-Lock is enabled.
Zero-crossing detection and line frequency for the purpose of determining the accumulation interval are
derived from a composite signal 𝑉𝑍𝐶 = 𝑉𝐴 − 0.5 ∙ 𝑉𝐵 − 0.25 ∙ 𝑉𝐶. For a three-phase system, this signal
oscillates at the line frequency as long as any of the three voltages is present.
Power Factors are reported as binary fixed-point number, with a range of -2 to +2 less one LSB (format
S.22). Frequency data is reported as binary fixed-point number, with a range of 0 to +256Hz less one LSB
(format S.16). Temperature data has a fixed scaling with a range of -16384°C to +16384°C less one LSB
(format S.10). Energy data scaling is described in a different section of this document.
Nonvolatile registers (IFSCALE and VFSCALE) are provided for storing the real-world current and voltage
levels that apply to the full-scale register readings for any given board design. Any host application can
then format the measurement results to any data format as needed. The usage of these nonvolatile
scratchpad registers is user defined and their content has no effect on the internal operations of the
device.
Rev 1 25
MAX78630+PPM Data Sheet
Calibration
The MAX78630+PPM provides integrated calibration routines to modify gain and offset coefficients. The
user can setup and initiate a calibration routine through the Command Register. On a successful
calibration, the command bits are cleared in the Command Register, leaving only the system setup bits.
In case of a failed calibration, the bit in the Command Register corresponding to the failed calibration is
left set. When in calibration mode, the line-lock bit should be set for best results.
The calibration routines will write the new coefficients to the relevant registers. The user can then save
the new coefficients into flash memory as defaults using the flash access command in the Command
Register.
See the Command Register section for more information on using commands.
Initially, the value of the gain is set to unity for the selected channels. RMS values are then calculated on
all inputs and averaged over the number of measurement cycles set by the CALCYCS register. The new
gain is calculated by dividing the appropriate Target register value by the averaged measured value. The
new gain is then written to the select Gain registers unless an error occurred.
Note that there is only one V_TARGET register for voltages. It is possible to calibrate multiple or all
voltage channels simultaneously, if and only if the same RMS voltage value is applied to each
corresponding input. Analogous considerations apply to the current channels, which are calibrated via the
I_TARGET register.
Offset Calibration
To calibrate offset, all signals should be removed from all analog inputs although it is possible to do the
calibration in the presence of AC signals. In the command, the user also specifies which channel(s) to
calibrate. Target registers are not used for Offset calibration.
During the calibration process, each input is accumulated over the entire calibration interval as specified
by the CALCYCS register. The result is divided by the total number of samples and written to the
appropriate offset register, if selected in the calibration command. Using the Offset Calibration command
will set the respective HPF coefficients to zero thereby fixing the offset registers to their calibrated values.
The T_GAIN gain register is set by the factory and not updated with this routine.
26 Rev 1
MAX78630+PPM Data Sheet
Note that the VDELTA and VPHASE settings in the CONFIG register affect how the instantaneous and
averaged values are computed as described in the Voltage Input Configuration section.
Additionally, an AC voltage frequency measurement is also available and is updated every 64 line cycles.
RMS Voltage
The MAX78630+PPM reports true RMS measurements for each input. An RMS value is obtained by
performing the sum of the squares of instantaneous values over a time interval (accumulation interval)
and then performing a square root of the result after dividing by the number of samples in the interval.
Instantaneous
Voltage (Vx) N-1
Vx2 Vx2_SUM
X ∑ N Vx_RMS
n=0
Line Frequency
This output is a measurement of the fundamental frequency of the AC voltage source. It is derived from a
composite signal and therefore applies to all three phases (it is a single reading per device).
Rev 1 27
MAX78630+PPM Data Sheet
Note that the INEUTRAL and IPHASE settings in the CONFIG register affect how the instantaneous and
averaged values are computed as described in the Current Input Configuration section.
Peak Current
This output is a capture of the largest magnitude instantaneous current load sample.
Instantaneous
ABS MAX maximum Ix_PEAK
Current (Ix)
RMS Current
The MAX78630+PPM reports true RMS measurements for current inputs. The RMS current is obtained
by performing the sum of the squares of the instantaneous voltage samples over the accumulation
interval and then performing a square root of the result after dividing by the number of samples in the
interval.
An optional “RMS offset” for the current channels can be adjusted to reduce errors due to noise or system
offsets (crosstalk) exhibited at low input amplitudes. Full-scale values in the IxRMS_OFFS registers are
squared and subtracted from the accumulated/divided squares. If the resulting RMS value is negative,
zero is used.
Instantaneous IxRMS_OFF2
Current
N-1
Ix Ix2 Ix2_SUM If |x|< 0
X ∑ N − x
y=0
y Ix_RMS
n=0
28 Rev 1
MAX78630+PPM Data Sheet
The MAX78630+PPM monitors the deviation of any phase from the average value. It generates an alarm
if the deviation exceeds user programmable threshold; V_IMB_MAX for voltages and I_IMB_MAX for
currents.
The thresholds are expressed as binary full-scale units with a value range of 0.0 to 1.0 less one LSB
(S.23 format). 1.0 thus corresponds to 100% imbalance.
1.5 23
VIMBMAX = int � ∙ 2 � = 125,829 = 0x1EB85
100
Rev 1 29
MAX78630+PPM Data Sheet
Power Calculations
This section describes the detailed flow of power calculations in the MAX78630+PPM. The table below
lists the available measurement results for AC power.
Note that the voltage and current configuration settings in the CONFIG register affect the physical
meaning of the computed power results. The Applications Examples section provides further details on
these results.
The value in the Px_OFFS register is the “Power Offset” for the power calculations. Full-scale values in
the Px_OFFS register are subtracted from the magnitude of the averaged active power. If the resulting
active power value results in a sign change, zero watts are reported
SIGN
Instantaneous
Values
N-1
Px_
If |x|< 0
Vx X Px ∑ SUM N ABS − x
y=0
y X WATT_x
n=0
Ix
Px_OFFS
30 Rev 1
MAX78630+PPM Data Sheet
SIGN
Instantaneous
Values
N-1
Qx_
VQx If |x|< 0
Vx Quadrature
Delay
X Qx ∑ SUM N ABS − x
y=0
y X VAR_x
n=0
Ix
Qx_OFFS
Ix_RMS X VA_x
Vx_RMS
WATT_x
PF_x =
VA_x
Totals of active power, reactive power, apparent power and power factor
The total power results in a three-phase system depend on how the AC source, the load and the sensors
are configured. As an example, in Wye connected systems, the totals are computed as the sum of all
three per-phase results. In many Delta configurations, the total power is the sum of two “per-phase”
results only, and the third per-phase result must be ignored. The MAX78630+PPM requires a setting to
indicate how the totals are to be computed. The PPHASE bits in the CONFIG register serve this purpose.
Rev 1 31
MAX78630+PPM Data Sheet
When PPHASE is not 00, the MAX78630 will compute the totals of two phases only, as is typically done
when only line currents are available in a Delta-connected load. In such cases, the total apparent power
is correctly scaled by a factor of √3�2. In order to prevent overflows, all totals are computed as averages
and must be multiplied by two by the host.
When PPHASE is equal to 00, all totals are computed as averages and must be multiplied by three by the
host.
Total Apparent
Total Active Power Total Reactive Power
PPHASE Power
WATT_T = VAR_T = VA_T =
WATT_T
PF_T =
VA_T
Specific examples and the required settings are further described in the Applications Examples section.
32 Rev 1
MAX78630+PPM Data Sheet
The HARM register is used to select the single harmonic to extract. This input register is set by default to
0x000001 selecting the first harmonic (also known as the fundamental frequency). This setting provides
the user with fundamental result and the total harmonic distortion (THD) of the harmonics
By setting the value in the HARM register to a higher harmonic, the fundamental result registers will
contain measurement results of the selected harmonic. The harmonics result registers will report the
measurement of the remaining harmonics. For any given accumulation interval, the magnitude of
measurement result IA_RMS would be the sum of IFUND_A and IHARM_A.
Rev 1 33
MAX78630+PPM Data Sheet
Energy Calculations
Energy calculations are included in the MAX78630+PPM to minimize the traffic on the host interface and
simplify system design. Low rate power measurement results are multiplied by the number of samples
(register DIVISOR) to calculate the energy in the last accumulation interval. Energy results are summed
together until a user defined “bucket size” is reached. For every bucket of energy is reached, the value in
the energy counter register is incremented by one.
All energy counter registers are low rate 24-bit output registers that contain values calculated over
multiple accumulation intervals. Both import (positive) and export (negative) results are provided for active
and reactive energy.
Register Description
WHA_POS
WHB_POS Positive Active Energy Counter, per phase
WHC_POS
WHA_NEG
WHB_NEG Negative Active Energy Counter, per phase
WHC_NEG
VARHA_POS
VARHB_POS Positive Reactive Energy Counter, per phase
VARHC_POS
VARHA_NEG
VARHB_NEG Negative Reactive Energy Counter, per phase
VARHC_NEG
Energy results are cleared upon any power down or reset and can be manually cleared by the external
host using the REN bit in the COMMAND register. The CYCLES register can be used to detect device
resets (loss of energy data) or to track time between energy reads.
34 Rev 1
MAX78630+PPM Data Sheet
The units should be set large enough to keep the accumulators and counters from overflowing too
quickly. To increment the energy counters in watt-hours for example, the value in BUCKET should be
equal to the number of seconds in an hour (3600) multiplied by the Sample Rate (2.7kS/s) and divided by
Full-Scale Watts (VSCALE x ISCALE).
Full-Scale Watts is defined by the sensors being used (see the Scaling Registers section). As an
example, if the voltage sources are 400Vpk at full scale (VSCALE) and the currents are 30Apk at full
scale (ISCALE), then full-scale watts would be 12000 (VSCALE x ISCALE). The bucket value can be
saved to flash memory as the register default.
Examples:
For the ISCALE and VSCALE values given above, a:
1. Watt-hour bucket equals to 3600*2700/ (400*30) = 810. The hexadecimal value that must be
written to the BUCKET register is, after shifting 24 bits (multiplying by 223) to the left to align with
the integer part: BUCKET = 0x00032A.000000
2. kilo-Watt-hour bucket equals to 3600*2700/ (400*30/1000) = 810000. The hexadecimal value that
must be written to the BUCKET register is, after shifting 24 bits (multiplying by 224) to the left to
align with the integer part: BUCKET = 0x0C5C10.000000
Rev 1 35
MAX78630+PPM Data Sheet
Min/Max Tracking
The MAX78630+PPM provides a set of output registers for tracking the minimum and/or maximum values
of up to eight (8) different low rate measurement results over multiple accumulation intervals . The user
can select which measurements to track through an address table. The values in MM_ADDR# are word
addresses for all host interfaces and can be saved to flash memory by the user as the register defaults.
Results are stored in RAM and cleared upon any power down or reset and can be cleared by the host
using the RTRK bit in the COMMAND register.
*NOTE: When using Rogowski coils, restriction on the use of MIN/MAX functionality apply. For each
current input with a Rogowski coil sensor, one of the MIN/MAX registers 5, 6 and 7 cannot be used to
track minima and maxima. See the Register Locations section for more details.
36 Rev 1
MAX78630+PPM Data Sheet
The firmware computes the following indicator to detect whether the voltage falls below the threshold.
𝑉𝑆𝐴𝐺_𝐼𝑁𝑇−1
If VSAGX becomes negative, the firmware sets the VX_SAG bit for the corresponding phase in the
STATUS register. If VX_SAG is enabled in a MASK register, the corresponding AL pin will also be
asserted low. If the VX_SAG bit is set in the STICKY register, then the alarm bit will remain set and any
unmasked AL pin will remain low until the VX_SAG alarm is cleared via the STATUS_CLEAR register or
the MAX78630+PPM is reset. If the VX_SAG bit is cleared in the STICKY register, then the alarm bit will
be automatically cleared and any unmasked AL pin set high as soon as the indicator VSAGX is greater than
the programmable threshold.
The sag detection can be used to monitor or record the quality of the power line or utilize the sag alarm
pin to notify external devices (for example a host microprocessor) of a pending power-down. The external
device can then enter a power-down mode (for example saving data or recording the event) before a
Power outage. The figure below shows a SAG event and how the alarm bit is set by the firmware (in the
case of the STICKY register bit cleared).
VSAG_LIM
VSAG_INT
Example:
Set the detection interval to one-half of a line cycle (60Hz line frequency).
𝑇𝑙𝑖𝑛𝑒
𝑓𝑠𝑎𝑚𝑝𝑙𝑒 2700
𝑉𝑆𝐴𝐺_𝐼𝑁𝑇 = 2 � 1 = = = 22
2𝑓𝑙𝑖𝑛𝑒 2 ∙ 60
𝑓𝑠𝑎𝑚𝑝𝑙𝑒
Rev 1 37
MAX78630+PPM Data Sheet
Alarm Monitoring
Low rate alarm conditions are determined every accumulation interval. If results for Die Temperature, AC
Frequency, or RMS Voltage exceeds or drops below user configurable thresholds, then a respective
alarm bit in the STATUS register is set. For RMS Current results, a maximum threshold is provided for
detecting over current conditions with the load. For Power Factor results, a minimum threshold is
provided.
Register Description
T_MAX Threshold value which Temperature must exceed to trigger alarm.
T_MIN Threshold value which Temperature must drop below to trigger alarm.
F_MAX Threshold value which Frequency must exceed to trigger alarm.
F_MIN Threshold value which Frequency must drop below to trigger alarm.
VRMS_MAX Threshold value which RMS Voltage must exceed to trigger alarm.
VRMS_MIN Threshold value which RMS Voltage must drop below to trigger alarm.
IRMS_MAX Threshold value which RMS current must exceed to trigger alarm.
PF_MIN Threshold value which power factor must drop below to trigger alarm.
Imbalance of the three voltages and three currents is monitored and reported via dedicated alarm bits if
they exceed respective maximum threshold V_IMB_MAX and I_IMB_MAX. Refer to the Current and
Voltage Imbalance section or details.
Register Description
Percentage Threshold value which Voltage Imbalance must exceed to
V_IMB_MAX
trigger alarm.
Percentage Threshold value which Current Imbalance must exceed to
I_IMB_MAX
trigger alarm.
The STATUS register also provides Sag voltage alarms. A configurable RMS voltage threshold and
selectable Interval is provided as described below and in the Voltage Sag Detection section.
Register Description
VSAG_LIM Threshold value (in RMS) which voltage must go below to trigger a Sag alarm.
Interval (in samples) over which the voltage must be below the threshold. Should
VSAG_INT
be set in increments of half cycles (i.e. 22 samples per half cycle at 60Hz).
38 Rev 1
MAX78630+PPM Data Sheet
Status Registers
The STATUS register is used to monitor the status of the device and user configurable alarms. All other
registers mentioned in this section share the same bit descriptions.
The STICKY register determines which alarm/status bits are sticky and which track the current status of
the condition. Each alarm bit defined as sticky will (once triggered) hold its alarm status until the user
clears it using the STATUS_RESET register. Any sticky bit not set will allow the respective status bit to
clear when the condition clears.
The STATUS_SET and the STATUS_RESET registers allow the user to force status bits on or off
respectively without fear of affecting unintended bits. A bit set in the STATUS_SET register will set the
respective bit in the STATUS register and a bit set in the STATUS_RESET register will clear it.
STATUS_SET and STATUS_RESET are both cleared after the status bit is set or reset.
The following table lists the bit mapping for the all status related registers.
Rev 1 39
MAX78630+PPM Data Sheet
Digital IO Functionality
The DIO_STATE register contains the current status of the DIOs. The user can use this register to read
the state of a DIO (if configured as an input) or control the state of the DIO (if configured as an output).
NOTE: Some pins are used as serial interface pins and may not be capable of user control. During reset,
all DIOs are configured as inputs.
Interface configuration pins (IFC0, IFC1) and address pins (MP6/ADDR1, SPCK/ADDR0) are input pins
sampled at the end of a reset to select the serial host interface and set device addresses (for I2C and
UART modes). If the IFC0 pin is low, the device will operate in the SPI mode. Otherwise, the state of IFC1
and the ADDR# pins determine the operating mode and device address.
These pins MUST remain configured as an input if directly connecting to GND/V3P3D. Otherwise, it
is recommended to use external pull-up or pull-down resistors accordingly.
40 Rev 1
MAX78630+PPM Data Sheet
DIO Direction
The DIO_DIR register sets the direction of the pins, where “1” is input and “0” is output. The same bit
definition as in the DIO_STATE register is used. If a DIO defined as an input is unconnected, internal pull-
ups will assert the respective DIO bit in the DIO_STATE register.
DIO Polarity
DIOs configured as outputs are by default active LOW. The logic “0” state is ON. This can be modified
using the DIO_POL register using the same bit definition as the DIO_STATE register. Any corresponding
bit set in the DIO_POL register will invert the same DIO output so that it becomes active high.
Alarm Pins
The MAX78630+PPM provides five MASK registers for signaling the status of any STATUS bit to one of
five Alarm (ALx) DIO pins. These MASK registers have the same bit mapping as the STATUS register.
The user must first enable the respective ALx pin as an output before the DIO can be driven to its active
state.
Pin Name Register Description
AL1 MASK1
AL2 MASK2 A combination of a bit set in both the STATUS
AL3 MASK3 register and a MASK register causes the assigned
AL4 MASK4 ALx pin to be activated (default active-low).
AL5 MASK5
Rev 1 41
MAX78630+PPM Data Sheet
Command Register
The Command Register is located at address 0x00. Use this register to perform specific tasks such as
saving coefficients and nonvolatile register defaults into flash memory. It also allows initiation of
integrated calibration routines.
Normal Operation
The general settings command allows the user to enable functions such as Line Lock mode etc.
Calibration Command
The Calibration Command starts the calibration process for the selected inputs. It is assumed that
appropriate input signals and target values are applied. When a gain calibration process completes, bits
23:17 are cleared along with bits associated with channels that calibrated successfully. When an offset
calibration completes, 23:17 are cleared but the corresponding offset bits will remain set.
Note
During calibration, the “line-lock” bit should be set for best results.
42 Rev 1
MAX78630+PPM Data Sheet
Examples:
1) Calibrate gains of voltage and current of Phase A, with the “line-lock” bit set.
Start Command: COMMAND = 0xCA.4830
Successful Calibration: COMMAND is reset to 0x00.0030
Calibration of current failed: COMMAND is reset to 0x00.0830
2) Calibrate gains of all three voltages, with the “line-lock” bit set
Start Command: COMMAND = 0xCB.C030
Successful Calibration: COMMAND is reset to 0x00.0030
Calibration of voltages B and C failed: COMMAND is reset to 0x01.8030
Note that the LL bit (5) in this command will be stored into flash memory as well, so the desired behavior
must be included.
After execution of this command, The MAX78630+PPM resets the COMMAND register bits [23:8] to zero.
Example:
Save all current settings to flash memory, to make then permanent. Operation after the next reset
should be with LL bit set and TC cleared.
COMMAND = 0xAC.C230
After execution of this command, The MAX78630+PPM resets the COMMAND register to
0x00.0030.
Rev 1 43
MAX78630+PPM Data Sheet
Configuration Register
A CONFIG register is provided for system settings, such as sensor configuration, current sensor type,
power computations and hardware gains.
44 Rev 1
MAX78630+PPM Data Sheet
Application Examples
The MAX78630+PPM supports various three-phase topologies via appropriate setting of the CONFIG
register. This section describes connection diagrams, firmware settings and output data. In the system
diagrams the following convention is used:
Note: this section is intended to show combinations of configurations and sensors and to describe the
settings and operation of the MAX78630+PPM. This list is not exhaustive
Rev 1 45
MAX78630+PPM Data Sheet
LOAD A
Neutral Neutral
LO
AD
B
AD
C
LO
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630+PPM
Power (P, Q, S)
VA*IA VB*IB VC*IC all three
computed from:
46 Rev 1
MAX78630+PPM Data Sheet
LOAD A
Neutral Neutral
LO
AD
B
AD
C
LO
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630+PPM
Power (P, Q, S)
VA*IA VB*IB VC*IC all three
computed from:
Rev 1 47
MAX78630+PPM Data Sheet
LOAD A
Neutral Neutral
LO
AD
B
AD
C
LO
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630+PPM
Line-To-Neutral
Voltages VA VB VC --- ---
Voltages
IN =
IC =
Currents IA IB measured --- Phase currents
IN – IA - IB
from AIC
Power (P, Q, S)
VA*IA VB*IB VC*IC --- all three
computed from:
48 Rev 1
MAX78630+PPM Data Sheet
LOAD A
Shunt A
Neutral Neutral
Shunt B Shunt C
LOAD B LOAD C
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630+PPM
Line-To-Neutral
Voltages VA VB VC ---
Voltages
Power (P, Q, S)
VA*IA VB*IB VC*IC all three
computed from:
Rev 1 49
MAX78630+PPM Data Sheet
V3P3A
B B
C C
V3P3A
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630
IB =
Currents IA -IC --- Line currents
IA + IC
Per-phase powers
Power (P, Q, S) --- VAB*IA +
VAB*IA -VBC*IC cannot be determined,
computed from: (not needed) VCB * IC
only total power
50 Rev 1
MAX78630+PPM Data Sheet
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630
VAC =
Voltages VAB VCB --- Line-To-Line Voltages
VAB– VCB
IB =
Currents IA IC --- Line currents
- IC – IA
Rev 1 51
MAX78630+PPM Data Sheet
A A
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630
VAC =
Voltages VAB VCB --- Line-To-Line Voltages
– VAB - VCB
IB =
Currents IA IC --- Line currents
– IA - IC
52 Rev 1
MAX78630+PPM Data Sheet
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630
Rev 1 53
MAX78630+PPM Data Sheet
LO
B
A-
AD
AD
C-
LO
A
LOAD B-C
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630
Power (P, Q, S)
VAB*IAB VBC*IBC VCA*ICA all three
computed from:
54 Rev 1
MAX78630+PPM Data Sheet
LO
B
A-
AD
AD
C
LO
-A
LOAD B-C
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630
VAC =
Voltages VAB VCB --- Line-To-Line Voltages
VAB - VCB
Power (P, Q, S)
VAB*IAB VAC*IAC VCB*ICB all three
computed from:
Rev 1 55
MAX78630+PPM Data Sheet
Neutral
B B
C C
V3P3A
GNDA
AV3
AV2
AV1
AI2
AI1
AI3
MAX78630
IB =
Currents IA -IC --- Line currents
IA + IC
Per-phase powers
Power (P, Q, S) --- VAB*IA +
VAB*IA -VBC*IC cannot be determined,
computed from: (not needed) VCB * IC
only total power
56 Rev 1
MAX78630+PPM Data Sheet
Register Access
All user registers are contained in a 256 word (24-bits each) area of the on-chip RAM and can be
accessed through the UART, SPI, or I2C interfaces. These registers are byte-addressable via the UART
interface and word-addressable via the SPI, and I2C interfaces.
These registers consist of read (output), write (input), and read/write in the case of the Command
Register. Writing to reserved registers or to unspecified memory locations could result in device
malfunction or unexpected results.
Data Types
The input and output registers have different data types, depending on their assignment and functions.
The notation used indicates whether the number is signed, unsigned, or bit-mapped and the location of
the binary point.
INT Indicates a 24-bit integer with a range of 0 to 16777215 typically used for counters or
Boolean registers with 24 independent bit values.
S Indicates a signed fixed point value.
. Indicates a fixed point number.
nn Indicates the number of bits to the right of the binary point.
Example: S.21 is a 24-bit signed fixed-point number with 21 fraction bits to the right of the binary
point and a range of -4.0 to 4-2-21
Bit Position 23 22 21 . 20 19 18 17 … 2 1 0
Bit Multiplier Sign bit
21 20 2-1 2-2 2-3 2-4 … 2-19 2-20 2-21
(-22)
Max Value 0 1 1 1 1 1 1 1 1 1 1
Min Value 1 0 0 0 0 0 0 0 0 0 0
Rev 1 57
MAX78630+PPM Data Sheet
Register Locations
Use Word addresses for I2C and SPI interfaces and Byte addresses for the SSI (UART) protocol.
Nonvolatile (NV) register defaults are indicated with a ‘Y’. All other registers are initialized as described in
the Functional Description.
Word Byte
Addr Addr Register Type NV Description
(hex) (hex)
0 0 COMMAND INT Y Selects modes, functions, or options
1 3 FW_VERSION INT Hardware and firmware version
2 6 CONFIG INT Y Selects input configuration
Minimum high-rate samples per accumulation
3 9 SAMPLES INT Y
interval
4 C DIVISOR INT Actual samples in previous accumulation interval
5 F CYCLE INT High-rate sample counter
6 12 FRAME INT Low-rate sample counter
7 15 STATUS INT Alarm and device status bits
8 18 STATUS_CLEAR INT Used to reset alarm/status bits
9 1B STATUS_SET INT Used to set/force alarm/status bits
A 1E MASK1 INT Y Alarm/status mask for AL1 output pin
B 21 MASK2 INT Y Alarm/status mask for AL2 output pin
C 24 MASK3 INT Y Alarm/status mask for AL3 output pin
D 27 MASK4 INT Y Alarm/status mask for AL4 output pin
E 2A MASK5 INT Y Alarm/status mask for AL5 output pin
F 2D STICKY INT Y Alarm/status bits to hold until cleared by host
10 30 DIO_STATE INT State of DIO pins
11 33 DIO_DIR INT Y Direction of DIO pins. 1=Input ; 0=Output
12 36 DIO_POL INT Y Polarity of DIO pins. 1=Active High ; 0=Active Low
13 39 CALCYCS INT Y Number of calibration cycles to average
14 3C HPF_COEF_I S.23 Y Current input HPF coefficient. Positive values only
15 3F HPF_COEF_V S.23 Y Voltage input HPF coefficient. Positive values only
16 42 PHASECOMP1 S.21 Y Phase compensation (±4 samples) for AV1 input
17 45 PHASECOMP2 S.21 Y Phase compensation (±4 samples) for AV2 input
18 48 PHASECOMP3 S.22 Y Phase compensation (±4 samples) for AV3 input
19 4B HARM INT Y Harmonic Selector, default: 1 (fundamental)
High order address bits for I2C and UART
1A 4E DEVADDR INT Y
interfaces
1B 51 BAUD INT Y Baud rate for UART interface
1C 54 I1_GAIN S.21 Y Current Gain Calibration.Positive values only
1D 57 I2_GAIN S.21 Y Current Gain Calibration.Positive values only
1E 5A I3_GAIN S.21 Y Current Gain Calibration.Positive values only
1F 5D V1_GAIN S.21 Y Voltage Gain Calibration. Positive values only
20 60 V2_GAIN S.21 Y Voltage Gain Calibration. Positive values only
58 Rev 1
MAX78630+PPM Data Sheet
Word Byte
Addr Addr Register Type NV Description
(hex) (hex)
21 63 V3_GAIN S.21 Y Voltage Gain Calibration. Positive values only
22 66 I1_OFFS S.23 Y Current Offset Calibration
23 69 I2_OFFS S.23 Y Current Offset Calibration
24 6C I3_OFFS S.23 Y Current Offset Calibration
25 6F V1_OFFS S.23 Y Voltage Offset Calibration
26 72 V2_OFFS S.23 Y Voltage Offset Calibration
27 75 V3_OFFS S.23 Y Voltage Offset Calibration
28 78 T_GAIN Y Temperature Slope Calibration
29 7B T_OFFS Y Temperature Offset Calibration
2A 7E VSAG_INT INT Y Voltage sag detect interval (high-rate samples)
2B 81 V_IMB_MAX S.23 Y Voltage imbalance alarm limit. Positive values only
2C 84 I_IMB_MAX S.23 Y Current imbalance alarm limit. Positive values only
2D 87 VA S.23 Instantaneous Voltage
2E 8A VB S.23 Instantaneous Voltage
2F 8D VC S.23 Instantaneous Voltage
30 90 VA_RMS S.23 RMS Voltage
31 93 VB_RMS S.23 RMS Voltage
32 96 VC_RMS S.23 RMS Voltage
33 99 VT_RMS S.23 RMS Voltage average (Total / 3)
34 9C VFUND_A S.23 Fundamental Voltage
35 9F VFUND_B S.23 Fundamental Voltage
36 A2 VFUND_C S.23 Fundamental Voltage
37 A5 VHARM_A S.23 Harmonic Voltage
38 A8 VHARM_B S.23 Harmonic Voltage
39 AB VHARM_C S.23 Harmonic Voltage
Calibration Target for Voltages. Positive values
3A AE V_TARGET S.23 Y
only
3B B1 VRMS_MIN S.23 Y Voltage lower alarm limit. Positive values only
3C B4 VRMS_MAX S.23 Y Voltage upper alarm limit. Positive values only
3D B7 VSAG_LIM S.23 Y RMS Voltage Sag threshold. Positive values only
3E BA IA S.23 Instantaneous Current
3F BD IB S.23 Instantaneous Current
40 C0 IC S.23 Instantaneous Current
RMS Current dynamic offset adjust. Positive
41 C3 IARMS_OFF S.23 Y
values only
RMS Current dynamic offset adjust. Positive
42 C6 IBRMS_OFF S.23 Y
values only
RMS Current dynamic offset adjust. Positive
43 C9 ICRMS_OFF S.23 Y
values only
44 CC IA_PEAK S.23 Peak Current
Rev 1 59
MAX78630+PPM Data Sheet
Word Byte
Addr Addr Register Type NV Description
(hex) (hex)
45 CF IB_PEAK S.23 Peak Current
46 D2 IC_PEAK S.23 Peak Current
47 D5 IA_RMS S.23 RMS Current
48 D8 IB_RMS S.23 RMS Current
49 DB IC_RMS S.23 RMS Current
4A DE IT_RMS S.23 RMS Current average (Total / 3)
4B E1 IFUND_A S.23 Fundamental Current
4C E4 IFUND_B S.23 Fundamental Current
4D E7 IFUND_C S.23 Fundamental Current
4E EA IHARM_A S.23 Harmonic Current
4F ED IHARM_B S.23 Harmonic Current
50 F0 IHARM_C S.23 Harmonic Current
51 F3 IRMS_MAX S.23 Y Current upper alarm limit. Positive values only
Calibration Target for Currents. Positive values
52 F6 I_TARGET S.23 Y
only
53 F9 QFUND_A S.23 Fundamental Reactive Power
54 FC QFUND_B S.23 Fundamental Reactive Power
55 FF QFUND_C S.23 Fundamental Reactive Power
56 102 QHARM_A S.23 Harmonic Reactive Power
57 105 QHARM_B S.23 Harmonic Reactive Power
58 108 QHARM_C S.23 Harmonic Reactive Power
Reactive Power dynamic offset adjust. Positive
59 10B QA_OFFS S.23 Y
values only
Reactive Power dynamic offset adjust. Positive
5A 10E QB_OFFS S.23 Y
values only
Reactive Power dynamic offset adjust. Positive
5B 111 QC_OFFS S.23 Y
values only
Active Power dynamic offset adjust. Positive
5C 114 PA_OFFS S.23 Y
values only
Active Power dynamic offset adjust. Positive
5D 117 PB_OFFS S.23 Y
values only
Active Power dynamic offset adjust. Positive
5E 11A PC_OFFS S.23 Y
values only
5F 11D WATT_A S.23 Active Power
60 120 WATT_B S.23 Active Power
61 123 WATT_C S.23 Active Power
62 126 VAR_A S.23 Reactive Power
63 129 VAR_B S.23 Reactive Power
64 12C VAR_C S.23 Reactive Power
65 12F VA_A S.23 Apparent Power
66 132 VA_B S.23 Apparent Power
67 135 VA_C S.23 Apparent Power
60 Rev 1
MAX78630+PPM Data Sheet
Word Byte
Addr Addr Register Type NV Description
(hex) (hex)
68 138 WATT_T S.23 Active Power average (Total / 3)
69 13B VAR_T S.23 Reactive Power average (Total / 3)
6A 13E VA_T S.23 Apparent Power average (Total / 3)
6B 141 IFSCALE INT Y Scratch register (see Scaling Registers section)
6C 144 VSCALE INT Y Scratch register (see Scaling Registers section)
6E 14A PFUND_A S.23 Fundamental Power
6F 14D PFUND_B S.23 Fundamental Power
70 150 PFUND_C S.23 Fundamental Power
71 153 PHARM_A S.23 Harmonic Power
72 156 PHARM_B S.23 Harmonic Power
73 159 PHARM_C S.23 Harmonic Power
74 15C VAFUNDA Fundamental Volt Amperes
75 15F VAFUNDB Fundamental Volt Amperes
76 162 VAFUNDC Fundamental Volt Amperes
77 165 PFA S.22 Power Factor
78 168 PFB S.22 Power Factor
79 16B PFC S.22 Power Factor
7A 16E PF_T S.22 Total Power Factor
7B 171 PF_MIN S.22 Y Power Factor lower alarm limit
7C 174 TEMPC S.10 Chip Temperature (Celsius°)
7D 177 T_TARGET S.10 Y Temperature calibration target
7E 17A T_MIN S.10 Y Temperature Alarm Lower Limit
7F 17D T_MAX S.10 Y Temperature Alarm Upper Limit
80 180 FREQ S.16 Line Frequency
81 183 F_MIN S.16 Y Frequency Alarm Lower Limit
82 186 F_MAX S.16 Y Frequency Alarm Upper Limit
83 189 MIN0 Minimum Recorded Value 1
84 18C MIN1 Minimum Recorded Value 2
85 18F MIN2 Minimum Recorded Value 3
86 192 MIN3 Minimum Recorded Value 4
87 195 MIN4 Minimum Recorded Value 5
Minimum Recorded Value 6
88 198 MIN5
(reserved when EN_ROGA =1)
Minimum Recorded Value 7
89 19B MIN6
(reserved when EN_ROGB =1)
Minimum Recorded Value 8
8A 19E MIN7
(reserved when EN_ROGC =1)
8B 1A1 MAX0 Maximum Recorded Value 1
8C 1A4 MAX1 Maximum Recorded Value 2
8D 1A7 MAX2 Maximum Recorded Value 3
Rev 1 61
MAX78630+PPM Data Sheet
Word Byte
Addr Addr Register Type NV Description
(hex) (hex)
8E 1AA MAX3 Maximum Recorded Value 4
8F 1AD MAX4 Maximum Recorded Value 5
Maximum Recorded Value 6
90 1B0 MAX5
(reserved when EN_ROGA =1)
Maximum Recorded Value 7
91 1B3 MAX6
(reserved when EN_ROGB =1)
Maximum Recorded Value 8
92 1B6 MAX7
(reserved when EN_ROGC =1)
93 1B9 MMADDR0 INT Y Min/Max Monitor address 1
94 1BC MMADDR1 INT Y Min/Max Monitor address 2
95 1BF MMADDR2 INT Y Min/Max Monitor address 3
96 1C2 MMADDR3 INT Y Min/Max Monitor address 4
97 1C5 MMADDR4 INT Y Min/Max Monitor address 5
98 1C8 MMADDR5 INT Y Min/Max Monitor address 6
99 1CB MMADDR6 INT Y Min/Max Monitor address 7
9A 1CE MMADDR7 INT Y Min/Max Monitor address 8
9B 1D1 BUCKET INT Y Energy Bucket Size – Low word
9C 1D4 BUCKET INT Y Energy Bucket Size – High word
9F 1DD WHA_POS INT Received Active Energy Counter
A2 1E6 WHA_NEG INT Delivered Active Energy Counter
A5 1EF WHB_POS INT Received Active Energy Counter
A8 1F8 WHB_NEG INT Delivered Active Energy Counter
AB 201 WHC_POS INT Received Active Energy Counter
AE 20A WHC_NEG INT Delivered Active Energy Counter
B1 213 VARHA_POS INT Reactive Energy Leading Counter
B4 21C VARHA_NEG INT Reactive Energy Lagging Counter
B7 225 VARHB_POS INT Reactive Energy Leading Counter
BA 22E VARHB_NEG INT Reactive Energy Lagging Counter
BD 237 VARHC_POS INT Reactive Energy Leading Counter
C0 240 VARHC_NEG INT Reactive Energy Lagging Counter
Bit 23 is a sticky register with status of any SPI
C1 243 SYSSTAT INT
Errors
62 Rev 1
MAX78630+PPM Data Sheet
Serial Interfaces
All user registers are contained in a 256 word (24-bits each) area of the on-chip RAM and can be
accessed through the UART, SPI, or I2C interfaces. While access to a single byte is possible with some
interfaces, it is highly recommended that the user access words (or multiple words) of data with each
transaction.
Only one interface can be active at a time. The interface selection pins are sampled at the end of a reset
sequence to determine the operating mode.
UART Interface
The device implements a simple serial interface (SSI) protocol on the UART interface that features:
The default configuration is 38400 baud, 8-bit, no-parity, 1 stop-bit, no flow control. The value in the
BAUD register determines the baud rate to be used. Example: To select a 9600 baud rate, the user writes
a decimal 9600 to the BAUD register. The new rate will not take effect immediately. It must be saved to
flash and will take effect at the next reset. The maximum BAUD value is limited to 115200.
RS-485 Support
The SSB/DIR/SCL pin is used to drive an RS-485 transceiver output enable or direction pin. The
implemented protocol supports a full-duplex 4-wire RS-485 bus.
A
ROUT
SDI/RX/SDAI RS-485 BUS
B
REN
SSB/DIR/SCL
4.7K DEN
A
MAX78630+PPM DIN
RS-485 BUS
B
SDO/TX/SDAO
Rev 1 63
MAX78630+PPM Data Sheet
A device address of 'FF' is not supported. DEVADDR [23:6] bit are not used and must be set to 1.
Device Address
7 6 5 4 3 2 1 0
SSI ID =
DEVADDR Register bit 5:0 Device Address +1
DIO6/ADDR1 Pin
DIO1/ADDR0 Pin
Each target must have a unique SSI ID. Zero is not a valid SSI ID for a target device as it is used by the
host to de-select all target devices.
With both address pins low on the MAX78630+PPM, the SSI ID defaults to 1 and is the “Selected” device
following a reset. This configuration is intended for single target (point-to-point) systems that do not
require the use of device addressing or selecting targets.
In multi-point systems, the master will typically de-select all target devices by selecting SSI ID #0. The
master must then select the target with a valid SSI ID and get an acknowledgement from the slave before
setting the target’s register address pointer and performing read or write operations. If no target is
selected, no reply is sent. The SSB/DIR/SCL pin is asserted while the device is selected. The sequence
of operation is shown in the following diagram.
Select Target
Device
Set Register
Address Pointer
Read/Write
Commands
De-Select
Target Device
64 Rev 1
MAX78630+PPM Data Sheet
Master Packets
Master packets always start with the 1-byte header (0xAA) for synchronization purposes. The master then
sends the byte count of the entire packet (up to 255 byte packets) followed by the payload (up to 253
bytes) and a 1-byte modulo-256 checksum of all packet bytes for data integrity checking.
The payload can contain either a single command or multiple commands if the target is already selected.
It can also include device addresses, register addresses, and data. All multi-byte payloads are sent and
received least-significant-byte first.
Users only need to implement commands they actually need or intend to use. For example, only one
address command is required – either 0xA1 for systems with 8 address bits or less or 0xA3 for systems
with 9 to 16 address bits. Likewise, only one write, read, or select target command needs to be
implemented. Select Target is not needed in systems with only one target.
Rev 1 65
MAX78630+PPM Data Sheet
Device Selection
PAYLOAD
0xCF Command SSI ID
PAYLOAD
0xE0 Command 0x1E (30 bytes)
After each read or write operation, the internal address pointer is incremented to point to the address that
followed the target of the previous read or write operation.
66 Rev 1
MAX78630+PPM Data Sheet
Slave Packets
The type of slave packet depends upon the type of command from the master device and the successful
execution by the slave device. Standard replies include “Acknowledge” and “Acknowledge with Data”.
ACKNOWLEDGE
without data
If no data is expected from the slave or there is a fail code, a single byte reply is sent. If a successfully
decoded command is expected to reply with data, the slave sends a packet format similar to the master
packet where the header is replaced with a Reply Code and the payload contains the read data.
Failure to decode a host packet will cause the selected target to send a fail code (0xB0 – 0xBF)
acknowledgement depending on mode of failure. Masters wishing to simplify could accept any
unimplemented fail code as a Negative Acknowledge.
If no target is selected or the condition of a received packet is uncertain, no reply is sent. Timeouts can
also occur when data is corrupt or no target is selected. The master should implement the appropriate
timeout control logic after approximately 50 byte times at the current baud rate. When a first reply byte is
received, the master should check to see if it is an SSI header or an Acknowledge. If so, the timeout timer
is reset, and each subsequent receive byte will also reset the timer. If no byte is received within the
timeout interval, the master can expect the slave timed out and re-send a new command.
Rev 1 67
MAX78630+PPM Data Sheet
SPI Interface
The MAX78630+PPM SPI can be configured as slave only. Once the SPI interface is activated, it utilizes
the following pins:
SSB: Slave select (SS) is an input and active low signal that must remain low during the entire
transaction
SCK: Serial Data Clock (SCK) input
SDO: Master Input/Slave Output (MISO), serial data output
SDI: Master Output/Slave Input (MOSI), serial data input
SCK
MSB 6 5 4 3 2 1 LSB
SDI (Master Output)
MSB 6 5 4 3 2 1 LSB
SDO (Master Input)
SPI Protocol
The SPI allows access to the read and write registers. The first byte that the master needs to transmit to
the MAX78630+PPM (slave) is the control byte. The control byte allows setting the number of words to be
transferred and the most significant bits of the register address:
ADDR7 and ADDR6 bits select bit 7 and 6 of the 8-bit register address to be accessed by the following
data transactions. The read and write register are contained in a 256 words (24-bit) area of the on-chip
RAM.
NBRACC[3:0] represents the number of words (3-bytes) accesses to be performed by subsequent data
transactions. The actual number of data addresses accessed per data transaction is NBRACC + 1. For
single address access, the field is set at 0. NBRACC is reset to 0 when the operation (multiple reads or
writes) is completed. NBRACC must be set to a non-zero value prior to each multiple word transaction.
68 Rev 1
MAX78630+PPM Data Sheet
The second byte determines the direction of the transfer and the higher bits of the address. After that,
data bytes are shifted in or out depending on the content of the first two control bytes. The complete
transaction is structured as follows:
Rev 1 69
MAX78630+PPM Data Sheet
The timing of the transaction can be organized in different ways depending on the host capabilities. The
above transaction can be a succession of bytes as shown in the diagram below. Those bytes are carried
by a continuously active SCK, with eight clock periods per byte.
SDI Byte 1: Control Byte 2: Addr & Ctrl Byte 3: Data[23:16] Byte 4: Data[15:8] Byte 5: Data[7:0]
HiZ
SDO
SSB
The host also has the possibility to space out the bytes transmitted. In such a case, SCK is inactive
during the “in-between-bytes” gap, as illustrated below. Note that the figure shows two gaps, one between
the configuration and the data transactions and another between bytes within the data transaction. The
placement of those gaps is strictly for the purpose of illustrating the concept.
SDI Byte 1: Control Byte 2: Addr & Ctrl Byte 3: Data[23:16] Byte 4: Data[15:8] Byte 5: Data[7:0]
HiZ
SDO
SSB
70 Rev 1
MAX78630+PPM Data Sheet
I2C Interface
The MAX78630+PPM has an I2C interface available at the SDAI, SDAO, and SCL pins. The interface
supports I2C slave mode with a 7-bit address and operates at a data rate up to 400 kHz. The figure below
shows two possible configurations. Configuration A is the standard configuration. The double pin for SDA
also allows for isolated configuration B.
V3P3 or 5VDC
5VDC
SDAi
V3P3 or 5VDC
SDA
SDA
SDAi
V3P3 or 5VDC I2C_GND
SDAo
SDAo
5VDC
SCK
SCK
SCK
SCK
6 5 4 3 2 1 0
MP6/ADDR1 Pin
SPCK/ADDR0 Pin
Rev 1 71
MAX78630+PPM Data Sheet
Bus Characteristics
• A data transfer may be initiated only when the bus is not busy.
• During data transfer, the data line must remain stable whenever the clock line is HIGH. Changes in
the data line while the clock line is HIGH will be interpreted as a START or STOP condition.
Bus Conditions:
• Bus not Busy (I): Both data and clock lines are HIGH indicating an Idle Condition.
• Start Data Transfer (S): a HIGH to LOW transition of the SDA line while the clock (SCL) is HIGH
determines a START condition. All commands must be preceded by a START condition.
• Stop Data Transfer (P): a LOW to HIGH transition of the SDA line while the clock (SCL) is HIGH
determines a STOP condition. All operations must be ended with a STOP condition.
• Data Valid: The state of the data line represents valid data when, after a START condition, the data
line is stable for the duration of the HIGH period of the clock signal. The data on the line must be
changed during the LOW period of the clock signal. There is one clock pulse per bit of data. Each
data transfer is initiated with a START condition and terminated with a STOP condition.
• Acknowledge (A): Each receiving device, when addressed, is obliged to generate an acknowledge
after the reception of each byte. The master device must generate an extra clock pulse, which is
associated with this Acknowledge bit. The device that acknowledges has to pull down the SDA line
during the acknowledge clock pulse in such a way that the SDA line is stable LOW during the HIGH
period of the acknowledge-related clock pulse. Of course, setup and hold times must be taken into
account. During reads, a master must signal an end of data to the slave by not generating an
Acknowledge bit on the last byte that has been clocked out of the slave. In this case, the slave
(MAX78630+PPM) will leave the data line HIGH to enable the master to generate the STOP
condition.
SDA MSB
9 9
SCL 1 2 7 8 ACK
ACK
Device Addressing
A control byte is the first byte received following the START condition from the master device.
The control byte consists of a seven bit address and a bit (LSB) indicating the type of access (0=write;
1=read).
DEVICE ADDRESS
LSB MSB
S X X X X X X X R/W ACK
READ/WRITE
START BIT
ACKNOWLEDGE
72 Rev 1
MAX78630+PPM Data Sheet
Write Operations
Following the START (S) condition from the master, the device address (7-bits) and the R/W bit (logic low
for write) are clocked onto the bus by the master. This indicates to the addressed slave receiver that the
register address will follow after it has generated an acknowledge bit (A) during the ninth clock cycle.
Therefore, the next byte transmitted by the master is the register address and will be written into the
address pointer of the MAX78630+PPM. After receiving another acknowledge (A) signal from the
MAX78630+PPM, the master device will transmit the data byte(s) to be written into the addressed
memory location. The data transfer ends when the master generates a stop (P) condition. This initiates
the internal write cycle. The example below shows a 3-byte data write (24-bit register write).
Upon receiving a STOP (P) condition, the internal register address pointer will be incremented. The write
access can be extended to multiple sequential registers. The figure below shows a single transaction with
multiple registers written sequentially.
REGISTER (n) REGISTER (n+1) REGISTER (n+2) REGISTER (n+x)
Rev 1 73
MAX78630+PPM Data Sheet
Read Operations
Read operations are initiated in the same way as write operations with the exception that the R/W bit of
the control byte is set to one. There are two basic types of read operations: current address read and
random read.
Current Address Read: the MAX78630+PPM contains an address counter that maintains the address of
the last register accessed, internally incremented by one when the stop bit is received. Therefore, if the
previous read access was to register address n, the next current address read operation would access
data from address n + 1.
Upon receipt of the control byte with R/W bit set to one, the MAX78630+PPM issues an acknowledge (A)
and transmits the eight bit data byte. The master will not acknowledge the transfer, but generates a STOP
condition to end the transfer and the MAX78630+PPM will discontinue the transmission.
Random Read: random read operations allow the master to access any register in a random manner. To
perform this operation, the register address must be set as part of the write operation. After the address is
sent, the master generates a start condition following the acknowledge response. This sequence
completes the write operation. The master should issue the control byte again this time, with the R/W bit
set to 1 to indicate a read operation. The MAX78630+PPM will issue the acknowledge response, and
transmit the data. At the end of the transaction the master will not acknowledge the transfer and generate
a STOP condition.
S
S Device Address 0 S Register Address (n) Device Address 1 Data Data Data S
R
0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
S A A S A A A N
T C C T C C C O
A K K A K K K
R R A
T T C
K
This read operation is not limited to 3 bytes but can be extended until the register address pointer
reaches its maximum value.
74 Rev 1
MAX78630+PPM Data Sheet
Ordering Information
PART TEMP RANGE PIN-PACKAGE TOP MARK
MAX78630+PPM/D00 -40°C to +85°C 32 TQFN EMP
MAX78630+PPM/D00T -40°C to +85°C 32 TQFN EMP
+Denotes a lead(Pb)-free/RoHS-compliant package.
T = Tape and reel.
Contact Information
For more information about the MAX78630+PPM or other Maxim Integrated products, go to:
www.maximintegrated.com/support.
Rev 1 75
MAX78630+PPM Data Sheet
Revision History
REVISION REVISION PAGES
DESCRIPTION
NUMBER DATE CHANGED
0 4/13 Initial release —
1 11/13 Updated register map and SPI Slave Select description 58, 62, 68
76 Rev 1
Maxim Integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim Integrated product. No circuit
patent licenses are implied. Maxim Integrated reserves the right to change the circuitry and specifications without notice at any time. The parametric
values (min and max limits) shown in the Electrical Characteristics table are guaranteed. Other parametric values quoted in this data sheet are
provided for guidance.
Maxim Integrated 160 Rio Robles, San Jose, CA 95134 USA 1-408-601-1000
© 2013 Maxim Integrated Products, Inc. Maxim Integrated and the Maxim Integrated logo are trademarks of Maxim Integrated Products, Inc.