V93XX Datasheet: Specifications Are Subject To Change Without Notice
V93XX Datasheet: Specifications Are Subject To Change Without Notice
Datasheet
Revision
When the RSTN pin remains low for a certain period of time, the chip will
Open the input short circuit function of voltage channel and current channel
Modify the function description of UPERIOD and IPERIOD from half cycle
short circuit
Modify the description of RCL clock intervals as determined time, and the
Revision ................................................................................................................................... 2
Table List................................................................................................................................ 10
2. Registers..................................................................................................................... 24
Figure 7-1 Structure of an 11-Bit data byte (from LSB to MSB) ................................................... 113
Figure 7-2 command frame for broadcast writing operation ........................................................ 114
Figure 7-6 Communication protocol for block reading operation .................................................. 121
Figure 8-2 Communication protocol for SPI read operation ......................................................... 127
Figure 8-3 Communication protocol for 4 wire SPI mode ............................................................ 129
Figure 11-2 Over-voltage and under-voltage/Over-current and under-current detect ..................... 141
Table 2-4 UART transmitting data 1bit count value (0x70, SYS_BAUDCNT1) ................................... 34
Table 2-5 UART receiving data 8bit count value (0x71, SYS_BAUDCNT8) ........................................ 35
Table 2-25 Voltage/ Current/ Measurement Signal (M) RMS Register .............................................. 83
Table 7-2 Structure of Data Byte (B7:B0) From Master MCU to V93XX on Broadcast Operation ....... 114
Table 7-3 Structure of Data Byte (B7:B0) From Master MCU to V93XX on Read Operation .............. 116
Table 7-4 Structure of Data Byte (B7:B0) From V93XX to Master MCU on read Operation ............... 117
Table 7-5 Structure of Data Byte (B7:B0) From Master MCU to V93XX on Write Operation .............. 118
Table 7-6 Structure of Data Byte (B7:B0) From V93XX to Master MCU on Write Operation .............. 120
Table 7-7 Structure of Data Byte (B7:B0) From Master MCU to V93XX on block reading Operation .. 121
Table 7-8 Structure of Data Byte (B7:B0) From V93XX to Master MCU on block reading Operation .. 123
Table 8-2 Structure of Data Byte (B7:B0) From Master MCU to V93XX on write Operation .............. 126
Table 8-3 Structure of Data Byte (B7:B0) From Master MCU to V93XX on read Operation ............... 127
Table 8-4 Structure of Data Byte (B7:B0) From V93XX to Master MCU on read Operation ............... 127
The V93XX is a single-phase metering chip which supports the total-wave and fundamental-wave of
various modes and supports various power grids to monitor events. Furthermore, the waveform data
can be transmitted via DMA by SPI protocol, or storage locally through the waveform buffer.
Main Power: 3.3 V power supply, voltage input range 2.6 V to 3.6 V.
Low-power design: the typical consumption in normal operation is about 2.6 mA.
Metering Features:
➢ 3 independent oversampling ∑/∆ ADCs: one of the ADC (channel A) can measure voltage, the
Supports the requirements of IEC 62053-21:2020/ IEC 62053-22:2020 and IEC 62053-
23:2020.
Less than 0.1% error in active energy metering over a dynamic range of 5000:1
Less than 0.2% error in reactive energy metering over a dynamic range of 5000:1
Less than 0.5% error in current/voltage RMS over a dynamic range of 5000:1.
➢ DC signals measurement
Supports detection for over-current, over-voltage, under-current, under-voltage, voltage dip, and
voltage swell
Current input: current shunt resistor, CT, Hall cell, and TMR supportive
Operating Temperature:
-40~+105 °C (V9340T)
Px Px CTI 32KIN
Signal Wave
upload RCH
monitor
by SPI Clock Controller
RCL
ROM
RAM SPI
IA
Metrology Host
System
IB AFE DSP MCU
Controller
3-ch ADC
U
UART
Energy
Energy
upload
CF
by UART
V93XX
Px CF1/CF2 Px
A1/SPCSN
RX/MOSI
A0/SPCK
TX/MISO
32KIN
RSTN
P2
P3
P5
P6
P0
P1
24
23
22
21
20
19
18
17
16
15
14
13
V9381
10
11
12
1
9
IBP
IAN
IBN
VSS
IAP
CTI
DVCC
VREF
NC
UP
UN
VDD
DVCC
VDD
CTI
RX
NC
TX
P2
P3
16
15
14
13
12
11
10
9
V9360
1
8
IBN
UN
IBP
UP
IAN
IAP
VSS
REF
8
V9340
1
4
VDD
UP
IAP
IAN
TX/RX
DVCC
VSS
REF
8
5
V9340T
1
4
VDD
UP
IAP
IAN
Pin No.
Mnemonic Type Description
V9381 V9360 V9340/V9340T
2 16 NC Floating
capacitor.
1.3. Parameters
Unless otherwise specified, the data are based on the test results of TA = 25 ℃, VDD = 3.3 V.
Frequency Measurement
Range 40 70 Hz
Error 0.01 Hz
Analog Input
ADC
DC Offset 10 mV
On-chip Reference
ppm/°
Temperature Coefficient 10 30
C
Power Supply
Power-Down Detection
2.6 2.8 3.05 V
Threshold
Current 35 mA
CTI
Logic Input RX
CLK.
Unless otherwise specified, the data are based on the test results of TA = 25 ℃, VDD = 3.3 V. Operating
circumstance exceeding Absolute Maximum Ratings may cause permanent damage to the device.
All register will be reset to default value which are hexadecimal when V93XX is in the reset state.
There are four kinds of reset conditions, including power on reset (POR) external pin reset, global
DSP_CFG_CALI_PA R/W 0x25 To set gain calibration for the active power A. 0x00000000
DSP_CFG_DC_PA R/W 0x26 To set offset calibration for the active power A. 0x00000000
DSP_CFG_CALI_QA R/W 0x27 To set gain calibration for Reactive power A. 0x00000000
DSP_CFG_DC_QA R/W 0x28 To set offset calibration for Reactive power A. 0x00000000
DSP_CFG_CALI_PB R/W 0x29 To set gain calibration for Active power B. 0x00000000
DSP_CFG_CALI_QB R/W 0x2B To set gain calibration for Reactive power B. 0x00000000
DSP_CFG_DC_QB R/W 0x2C To set offset calibration for Reactive power B. 0x00000000
DSP_CFG_CALI_RMS
R/W 0x2D To set gain calibration for Voltage RMS. 0x00000000
U
DSP_CFG_RMS_DCU R/W 0x2E To set offset calibration for Voltage RMS. 0x00000000
DSP_CFG_CALI_RMSI
R/W 0x2F To set gain calibration for Current RMS A. 0x00000000
A
DSP_CFG_RMS_DCIA R/W 0x30 To set offset calibration for Current RMS A. 0x00000000
DSP_CFG_CALI_RMSI
R/W 0x31 To set gain calibration for Current RMS B. 0x00000000
B
DSP_CFG_RMS_DCIB R/W 0x32 To set offset calibration for Current RMS B. 0x00000000
A
DSP_CFG_PHC R/W 0x33 0x00000000
[26:16]= phase error calibration value for
-766~767.
DSP_CFG_DCU R/W 0x34 To set the DC calibration for the voltage channel. 0x00000000
register 0 (0x02,DSP_CTRL0).
DSP_SWELL_THL R/W 0x57 To set the lower threshold for the voltage swell. 0x00000000
DSP_SWELL_THH R/W 0x58 To set the upper threshold for the voltage dip. 0x00000000
DSP_DIP_THL R/W 0x59 To set the lower threshold for the voltage dip. 0x00000000
DSP_DIP_THH R/W 0x5A To set the upper threshold for the voltage dip. 0x00000000
to read address.
DAT_SWELL_CNT R/C 0x6A Effective as 24bit. Writing any value into this 0
DAT_DIP_CNT R/C 0x6B Effective as 24bit. Writing any value into this 0
by V93XX.
SYS_IOCFGX1 R/W 0x7E Output configuration register for P4, P5 and P6. 0
When power-on reset (POR), RSTN pin reset, RX reset, or global software reset occurs, all analog control
registers will be reset to the default value. The default value in the following tables of this section are in
format of hexadecimal.
The address range of Analog Control Register is 0x00~0x01 which all is readable and writable. Also, all
1: Reserved
12 Reserved 0 The bit must hold its default value for proper operation.
1: Normal
1: Normal
Default
Bit Description
Value
31:30 ADCKSEL[1:0] 0 The options of clock frequency divider rate for the ADC
Default
Bit Description
Value
00: ×1
01: ×2
10: ×1/4
11: ×1/2
23 Reserved 0 The bit must hold its default value for proper operation.
0: enable
22 RCCLK_PD 0
1: disable
21:15 Reserved 0 These bits must hold its default value for proper operation.
000: 4
001: 1
011: 16
100/101/110/111: prohibited
Default
Bit Description
Value
0: 8
1: 4
000: 32
001: 16
011: 1
100~111: prohibited
7 XRST_PD 0 0: enable
1: disable
6:5 Reserved 0 These bits must hold its default value for proper operation.
Bandgap circuit.
00: 0 ppm
4:3 RESTL[1:0] 0
01: -58 ppm
Default
Bit Description
Value
000: 0 ppm
001: +7 ppm
111: -7 ppm
When power-on reset (POR), RSTN pin reset, RX reset, or global software reset occurs, all system control
registers will be reset to the default value. The default value in the following tables of this section are in
format of hexadecimal.
In the V93XX, the mainly functions of System Control Register is controlling interface, interrupt, RAM,
and IO output. SYS_INTEN (0x73) controls enable interruption, SYS_INTSYS (0x72) is interrupted status
register. Bit[4: 0] of SYS_MISC (0x75) are used for configuring the interface operation, interrupting pin
output whether reverse, whether turn off the energy accumulator when power down and whether turn
off the energy accumulator when in wrong calibration. SYS_RAMADDR (0x77) is controlling internal RAM
Table 2-4 UART transmitting data 1bit count value (0x70, SYS_BAUDCNT1)
31:14 - - - Reserved.
13:0 BAUDCNT1 R This register stores the system clock count value of
Table 2-5 UART receiving data 8bit count value (0x71, SYS_BAUDCNT8)
31:17 - - - Reserved.
16:0 BAUDCNT8 R This register stores the system clock count value of the
31:30 - - - Reserved.
overflow interrupt
happened
Write 0: no effects
overflow interrupt
happened
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
write 0: no effects
18:17 Reserved - - -
than 20 ms)
write 0: no effects
Write 0: no effects
Write 0: no effects
happened
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
Write 0: no effects
be triggered.
Write 0: no effects
measurement.
Write 0: no effects
overflow
29 EGY2OV R/W 0
0: disable interrupt
1: enable interrupt
overflow
28 EGY1OV R/W 0
0: disable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
0: disable interrupt
1: enable interrupt
1: enable interrupt
updating.
3 CURPOWER_UPD R/W 0
0: disable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
1: enable interrupt
31 - - - Reserved
1: happened
1: happened
1: happened
1: happened
1: happened
1: happened
1: happened
1: happened
1: power on reset
2: external reset
22:20 RST_SOURCE R -
3: RX low-level voltage reset
4: software reset
accumulator 2.
19 CRP_OUT2 R 0
0: start
1: power-creep
accumulator 1.
18 CRP_OUT1 R 0
0: start
1: power-creep
Channel B.
17 SBCREEP R -
0: start
1: power-creep
Channel B.
16 QBCREEP R -
0: start
1: power-creep
Channel B.
15 PBCREEP R -
0: start
1: power-creep
power Channel A.
14 SACREEP R -
0: start
1: power-creep
Channel A.
13 QACREEP R -
0: start
1: power-creep
Channel A.
12 PACREEP R -
0: start
1: power-creep
1: negative
1: negative
1: negative
1: negative
7 - - - Reserved
6 HSEFAIL R 0 0: normal
1: abnormal
4 RAMINITIAL 0 0: failed
1: finished
3 PHSDONE 0 0: failed
1: finished
2 PD R 0 happens.
leaking.
2.5%.
1: checksum incorrect
5 BIST_EGY_EN R/W 0 When RAM self-test has error, force the energy
0: enable
1: disable
0: enable
1: disable
0: enable
1: disable
1: disable
communication.
Bit[5:3] Bit[2:0]
0 0 High impedance.
3 4 Power-down interruption.
5 7 All interruption.
While the IO interface is not configured (i.e. all zero), output is high impedance.
⬧ 1st type interruption: current zero-crossing interruption, voltage zero-crossing interruption, high-
⬧ 2nd type interruption: waveform refreshes interruption, instantaneous RMS refresh interruption,
average RMS refreshes interruption, instantaneous power value refresh interruption, average power
value refreshes interruption, waveform storage finish interruption, waveform storage overflow
voltage interruption, voltage channel over-voltage interruption, voltage dip interruption and voltage
swell interruption.
⬧ 4th type interruption: SPI communicating error interruption, UART communicating error interruption,
interruption, reference error interruption, CTI external input clock error interruption and RAM self-
31:24 Reserved 0 These bits must hold its default value for proper operation.
When power-on reset (POR), RSTN pin reset, RX reset, or global software reset occurs, all metering
control registers will be reset to the default value. The default value in the following tables of this section
All the metering control registers need to be configuration verification and self-checking.
DSP_DAT_FRQ.
29:28 FRQ_SEL R/W 0 01: line frequency test value of 1 cycle (the default
11: Reserved
1: enable
1: by power value
filter.
17 PQ_HPFSEL R/W 0
0: pass
1: not pass
pass filter:
16 FUND_HPFSEL R/W 0
0: pass
1: not pass
high-pass filter:
15 RMSU_HPFSEL R/W 0
0: pass
1: not pass
1: not pass
pass filter:
13 RMSIB_HPFSEL R/W 0
0: pass
1: not pass
1: 2 times
00: 40 ms
10: 320 ms
11: 640 ms
00: 40 ms
10: 320 ms
11: 640 ms
3, 4, and 5: Reserved.
7:4 DSP_MODE R/W 0
6: 64 sampling points per cycle by DSP at 3.2768
3 - - 0 Reserved
0: enable
1: disable
23 EGY_CLK_SEL R/W 0 stable time around 107 μs when CLK switch over.
0: 204.8 KHz
1: 32.768 KHz
0: disable
7, and 8 is 20ms.
7, and 8 is 40 ms.
1: enable
22 LCF_ACC R/W 0
To write “0” into the bit31 of the DSP_CTRL0, the
accumulate.
accumulate.
21 PGA_U R/W 0 0: X1
1: X4
1: current channel IB
event)
event)
baud rate.
1: enable
0: disable
1: enable.
1: reverse polarity
1: enable.
1: reverse polarity
0: disable
1: enable.
0: disable
1: enable
0: 80 ms
2: 20 ms
3: 10 ms
0: Normal mode
2: 8x faster
3: 16x faster
0: power accumulation
accumulation
accumulating.
0: disable
1: enable
accumulating.
28 B_SEL4 R/W 0
0: disable
1: enable
accumulating sum;
For each signal type choices which feed into the energy
accumulator 4.
0: power accumulation
2: constant accumulation
accumulation
accumulating.
21 A_SEL3 R/W 0
0: disable;
1: enable
accumulating.
20 B_SEL3 R/W 0
0: disable
1: enable
For each signal type choices which feed into the energy
accumulator 3.
2: constant accumulation
accumulation
accumulating.
13 A_SEL2 R/W 0
0: disable
1: enable
accumulating.
12 B_SEL2 R/W 0
0: disable
1: enable
For each signal type choices which feed into the energy
accumulator 2.
0: power accumulation
2: constant accumulation
accumulation
accumulating.
5 A_SEL1 R/W 0
0: disable
1: enable
accumulating.
4 B_SEL1 R/W 0
0: disable
1: enable
For each signal type choices which feed into the energy
accumulator 1.
0: power accumulation
accumulation
accumulating.
29 A_SEL8 R/W 0
0: disable
1: enable
accumulating.
28 B_SEL8 R/W 0
0: disable
1: enable
For each signal type choices which feed into the energy
0: power accumulation
accumulation
accumulating
21 A_SEL7 R/W 0
0: disable
1: enable
accumulating
20 B_SEL7 R/W 0
0: disable
1: enable
17:16 PROCMODE7 R/W 0 For each signal type choices which feed into the energy
accumulator 7.
0: power accumulation
accumulation
accumulating.
13 A_SEL6 R/W 0
0: disable
1: enable
accumulating.
12 B_SEL6 R/W 0
0: disable
1: enable
For each signal type choices which feed into the energy
accumulator 6.
0: power accumulation
accumulation
accumulating.
5 A_SEL5 R/W 0
0: disable
1: enable
accumulating.
4 B_SEL5 R/W 0
0: disable
1: enable
For each signal type choices which feed into the energy
accumulator 5.
0: half cycle
1: 1 cycle
2: 2 cycles
3: 4 cycles
cycle.
0: 1 time
1: 2 times
63: 64 times
0: half cycle
1: 1 cycle
2: 2 cycles
3: 4 cycles
0: 1 time
1: 2 times
63: 64 times
15:10 Reserved These bits must hold its default value for proper operation.
3 Reserved 0 The bit must hold its default value for proper operation.
3: disable
0: disable
1: enable
1: enable
1: enable
1: enable
1: enable
1: enable
1: enable
1: enable
1: enable
0: 1 cycle
1: 2 cycles
2: 3 cycles
……
15: 16 cycles
0: no
1: yes
0: no
1: yes
0: no
1: yes
1: even parity
1: positive
1: positive
1: enable by manual
2: stop by manual
3: reserved
manual stop.
stops.
be opened.
When power-on reset (POR), RSTN pin reset, RX reset, or global software reset occurs, all metering
120 ms.
32-bit DC value of Current
0x24 DSP_DAT_DCIB R
Complement Code channel B.
32-bit Instantaneous
0x0E DSP_DAT_RMS0U R
Complement Code RMS of voltage.
By default, the
32-bit Instantaneous
0x0F DSP_DAT_RMS0IA R updating time is 10
Complement Code RMS of current A.
ms; stable time is
Instantaneous 30 ms.
32-bit
0x10 DSP_DAT_RMS0IB R RMS of current
Complement Code
B.
Average RMS of
Voltage for 10 or
32-bit
0x1E DSP_DAT_RMSU_AVG R 12 cycles (chose
Complement Code
by line
frequency.)
Average RMS of
Current IA for 10
32-bit
0x1F DSP_DAT_RMSIA_AVG R or 12 cycles
Complement Code
(chose by line
frequency.)
Average RMS of
Current IB for 10
32-bit
0x20 DSP_DAT_RMSIB_AVG R or 12 cycles
Complement Code
(chose by line
frequency.)
value*4.
0x3C EGY_OUT1L R/W 32-bit Unsigned Energy accumulator 1 accumulating low bit.
0x3D EGY_OUT1H R/W 32-bit Unsigned Energy accumulator 1 accumulating high bit
0x40 EGY_OUT2L R/W 32-bit Unsigned Energy accumulator 2 accumulating low bit.
0x41 EGY_OUT2H R/W 32-bit Unsigned Energy accumulator 2 accumulating high bit
0x61 DSP_PHS_STT R/W 32-bit Unsigned Enable phase measurement once for
writing operation.
and B.
and B.
When power-on reset (POR), RSTN pin reset, RX reset, or global software reset occurs, all calibration
registers will be reset to the default value. The default value in the following tables of this section are in
format of hexadecimal.
Default
Address Register R/W Format Value Description
Value
Default
Address Register R/W Data Format Description
Value
Default
Address Register R/W Data Format Description
Value
Default
Address Register R/W Data Format Description
Value
energy accumulator.
to 36 digits.
Default
Address Register R/W Data Format Description
Value
Default Data
Address Register R/W Description
Value Format
(0x02,DSP_CTRL0)
2;
Default
Address Register R/W Data Format Description
Value
DSP_CFG_CALI_PB R/W 0x29 To set gain calibration for Active power B. 0x00000000
DSP_CFG_DC_PB R/W 0x2A To set offset calibration for Active power B. 0x00000000
DSP_CFG_CALI_QB R/W 0x2B To set gain calibration for Reactive power B. 0x00000000
DSP_CFG_CALI_RMSU R/W 0x2D To set gain calibration for Voltage RMS. 0x00000000
DSP_CFG_RMS_DCU R/W 0x2E To set offset calibration for Voltage RMS. 0x00000000
DSP_CFG_CALI_RMSIA R/W 0x2F To set gain calibration for Current RMS A. 0x00000000
DSP_CFG_RMS_DCIA R/W 0x30 To set offset calibration for Current RMS A. 0x00000000
DSP_CFG_CALI_RMSIB R/W 0x31 To set gain calibration for Current RMS B. 0x00000000
DSP_CFG_RMS_DCIB R/W 0x32 To set offset calibration for Current RMS. 0x00000000
DSP_CFG_PHC R/W 0x33 [10:0]= phase error calibration value for 0x0000000
channel A
channel B.
(0x02,DSP_CTRL0).
cleared.
• 3.3V single main power supply, the voltage input range: 2.6~3.6V
• The power supply of the internal digital circuit comes from the Digital main power circuit
(DVCCLDO)
• The power supply of the oscillator circuit comes from 3.3V main power
Ana log
Oscil lat or
circu its
VDD
0.1 μF
Po wer sup ply
PO R
mon it or mon it or
mon it or
DVCCL DO DVCC
V93XX integrates an internal power-down detection circuit to supervise the voltage on pin “VDD” all the
time. When the voltage on the pin “VDD” is lower than 2.8V (±7%), the power-down interrupt would be
VDD
2.8V(±7%)
PDN flag
CF(Px)
INT(Py)
V93XX integrates an on-chip LDO (DVCCLDO) and supplies voltage for digital circuit. This circuit could
output stable voltage with the power supply (VDD) has ripple noise. It is recommended to decouple the
pin DVCC externally with a ≥4.7μF capacitor in parallel with a 0.1μF capacitor. LDO is always on work.
The DVCCLDO has a driving capability of 35 mA. When the load current on the digital circuits is less than
35 mA, the DVCCLDO outputs stable voltage. When the load current is higher than 35mA, the output
The internal power-on reset circuit supervises the output voltage on “DVCCLDO” all the time. When the
output voltage is lower than 1.3V, POR reset signal will be generated and force the chip into the reset
state. When the output voltage is higher than 1.3V, the reset signal will be released, and the chip will
In the V93XX, the Bandgap circuit outputs a reference voltage and bias current, about 1.21V with a
typical temperature coefficient of 10 ppm/˚C, for ADCs and the 6.5 MHz RC oscillator. By default, the
Bandgap circuit was enabled. This circuit consumes about 0.09 mA (typical).
Users can configure RESTL<1:0> (Bit[4:3]) and REST<2:0> (Bit[2:0]) of analog control register (0x01,
ANA_CTRL1) to adjust the temperature coefficient of Bandgap circuit to cancel the temperature
1) Assume the current settings of relative bits are REST<2:0>=’010’ and RESTL<1:0>=’00’, which
2) Measure meter errors in high and low temperature conditions. For example, this meter has 0
error at 20℃, and the measuring errors are 0.6% at 80℃ and -0.4% at -40℃ respectively. Then
3) As measured error is minus two times of Reference temperature coefficient error, to compensate
a -83 ppm error, an additional +41.5 ppm of Bandgap REF temperature coefficient adjustment is
needed. Taking the initial +14 ppm setting into consideration, the actual adjustment should be
+55.5 ppm. According to the lookup table of RESTL<1:0> and REST<2:0>, user should set
register RESTL<1:0> to ‘11’ and REST<2:0> to ‘000’, whose combination equals to a +56 ppm
Attention: For the adjustment of Reference temperature parameters would influence the basic error;
therefore, when customers designed each new product, please first confirm the temperature parameter
A temperature coefficient drift of x in the Bandgap circuit results in a drift of -2x in the measurement
error.
Default
Register Bit Description
Value
circuit.
RESTL<1:0>
00: 0 ppm
circuit
ANA_CTRL1
000: 0 ppm
001: +7 ppm
111: -7 ppm
The on-chip RC oscillator circuit and the external input clock provide clocks for the V93XX:
An external 6.5536 MHz of the pins “CTI”, “CLK1”. After the frequency divider, SDIV, controlled by
DSP_MODE (Bit<7:4>, Table 2-18 Metering Control Register 0 (0x02, DSP_CTRL0)). This clock
source for all digital block uses. After the frequency divider, ADIV, controlled by ADCKSEL
(Bit25<31:30>, analog control register, 0x01, ANA_CTRL1). This clock source for ADC uses. After
POR, RSTN pin reset, RX reset, or global software reset, this oscillator circuit starts to run
automatically.
On-chip 6.5 MHz (The deviation is within ±20% from chip to chip for mass production. The
temperature deviation from -40~85 degree for each specific chip is less than ±5%.) RC oscillator
generates the clock, “CLK2”. When the CTI external input clock was disabled, it would be an optional
clock source for digital block uses. This circuit can be disabled.
On-chip 32 KHz (±50%) RC oscillator generates the clock,” CLK3”. This clock source for IO ports
filter use. This circuit keeps on working until the system is powered off.
External CLK (32768 Hz), input from X32KIN pin. This clock source for low-speed energy
accumulator uses. The clock source of energy accumulator would be controlled by EGY_CLK_SEL
(bit23, metering control register 1 (Table 2-19 Metering Control Register 2 (0x03, DSP_CTRL1))).
As mentioned above, the relationship between the 4 clocks source as the shown below:
Energy
CLK4
accumulator
X32KIN(32.768kHz)
clock
CLK3
IO ports filter
32kHz(±50%) RC
Default
Register Bit Description
Value
1: disable
Bit[22] 0: enable
0
RCCLK_PD 1: disable
1.25%
Bit[31:30] 00: ×1
0
ADCKSEL<1:0> 01: ×2
10: ×1/4
11: ×1/2
3, 4, and 5: Reserved.
2-19 Metering needs the stable time around 107 us when CLK
Bit23
Control Register 2 0 switch over. Please disable CF before it is stable.
(0x03, EGY_CLK_SEL
0: 204.8 KHz
DSP_CTRL1))
1: 32768 Hz
Users can input 6.5536 MHz clock in CTI pin. CLK1 clock is provided for V93XX for system, metering
VMA, ADC, UART/ SPI interface and energy module. If the CTI pin does not have external clock, the
system automatically uses the RCH clock (CLK2 clock) for V93XX for system, metering VMA, ADC, UART/
The V93XX has an internal high-frequency 6.5 MHz RC oscillator (The deviation is within ±20% from chip
to chip for mass production. The temperature deviation from Celsius -40~85 degree for each specific
Under the metering mode, when CTI external input clock error, the circuit will automatically turn on and
After POR, RSTN pin reset, RX reset, or global software reset, this circuit and Bandgap circuit will be
working automatically.
V93XX the low-frequency RC oscillator can generate a 32 KHz (±50%) RC clock (CLK3) to drive the IO
ports filter (RSTN/ RX/ A0/ A1 pin) for using the signal input.
The external can inject a 32768 Hz frequency clock into the X32KIN pin of V93XX to provide CLK4 clock
Software Reset Control Write “0x4572BEAF” to the register to reset the system and all circuit is
In V93XX, the internal power-on reset circuit supervises the output voltage on “DVCCLDO” all the time.
When the output voltage is lower than 1.3 V, the reset signal will be generated and force the chip into
the reset state. When the output voltage is higher than 1.3 V, the reset signal will be released, and the
When a POR event occurs, the bit “RST_SOURCE” (Bit[22:20], 0x74, SYS_STS) will be reset to
“0b001”.
In the reset state, the master MCU and the VMA metering architecture cannot access RAM. When the
chip exits from the reset state, RAM will implement the self-checking in about 1.25 ms. If there is no
In the reset state, the UART/SPI serial interface is idle. The UART/SPI serial interface starts to run
1.3 V
VSS
When the output voltage on DVCCLDO is
higher th an 1.3 V, the reset signal will be
released an d th e chi p will exit from the reset
500 μs
state in 500 μs.
Internal reset
signal
Reset state
RAM
self-checking
RAM access 1.25 ms
When the output voltage on
DVCCLDO is higher t han 1.3 V,
RAM can be accessed in about 1.75
1.75 ms ms.
UART/SPI
communication
In V93XX, the external reset circuit supervises the status on pin “RSTN” all the time. When the input
on pin “RSTN” must be driven low for at least 2 ms to force the chip into the reset state. Pull to the
logic high, and 900μs later the chip will exit from the reset state and get back to the Default State.
When a RSTN event occurs, the bit “RST_SOURCE” (Bit[22:20], 0x74, SYS_STS) will be reset to
“0b010”.
In the reset state, the master MCU and the VMA metering architecture cannot access RAM. When the
chip exits from the reset state, RAM will implement the self-checking in about 1.25 ms. If there is no
In the reset state, the UART/ SPI serial interface is idle. The UART/SPI serial interface starts to run
RAM
self-checking
RAM access 1.25 ms
//
When the input on pin RSTN is
2.15 ms pulled high, RAM can be accessed
in 2.15 ms.
UART/SPI
communication
6.4. RX Reset
In the UART mode, when the “RX/ MOSI” pin continuously inputs a low level of 92.5 ms to force the
chip into the reset state. Pull to the logic high, and 900 μs later the chip will exit from the reset state
In the SPI mode, when the “RX/ MOSI” pin and “A1/ SPCSN” pin continuously inputs a low level of
92.5 ms and fed a clock source on pin “A0/ SPCK” which the frequency above the 50 Hz, then force
the chip into the reset state. Pull to the logic high, and 900 μs later the chip will exit from the reset state
When the “RX” reset occurs, the bit “RST_SOURCE” (Bit[22:20], 0x74, SYS_STS) will be reset to
“0b011”.
In the reset state, the master MCU and the VMA metering architecture cannot access RAM. When the
chip exits from the reset state, RAM will implement the self-checking in about 1.25 ms. If there is no
In the reset state, the UART/SPI serial interface is idle. The UART/SPI serial interface starts to run
RAM
self-checking
RAM access 1.25 ms
//
When the input on pin RX is
2.15 ms pulled high, RAM can be accessed
in 2.15 ms.
UART
communication
92.5 ms
RAM
self-checking
RAM access 1.25 ms
//
When the input on pin RX is
2.15 ms pulled high, RAM can be accessed
in 2.15 ms.
UART
communicatio
n
In V93XX, writing of “0x4572BEAF” in the register “SYS_SFTRST” (0x6C) can force the chip into the
Reset State, and the chip will exit and get back to Default State in 650 μs.
When the global software reset occurs, the bit “RST_SOURCE” (Bit[22:20], 0x74, SYS_STS) will be
reset to “0b100”.
In the Reset State, the master MCU and the VMA metering architecture cannot access RAM. When the
chip exits from the Reset State, RAM will implement the self-checking in about 1.25ms. If there is no
In the Reset State, the UART serial interface is idle. The UART serial interface starts to run immediately
Internal reset
signal
Reset state
500 μs RAM
RAM access self-checking
1.25 ms
//
UART
communication
7.1. Overview
V93XX supports two communication modes, UART and SPI, which can switch between SPI communication
and UART communication without using external hardware jumper. After POR reset, RSTN reset, RX reset
or soft reset, V93XX uses UART communication by default. If you want to communicate by SPI, you must
Support multi-machine mode, that is, when the output data port is idle, it is a high resistance state. Up
to 4 V93XX share a single data bus via physical addresses A0 and A1.
The data byte received and transmitted via the UART serial interface of the V93XX is composed of 11
bits, including 1-bit start bit (logic low), 8-bit data bits, 1-bit odd parity bit and 1-bit stop bit (logic high),
as shown in the following figure. When the V93XX sends command, the least significant bit and least
START B0 B1 B2 B3 B4 B5 B6 B7 P STOP
UART protocol is a half-duplex protocol. The end of the send command for 1ms later, then V93XX would
upload data.
UART supports 1200bps to 19200bps baud rate and it can self-adapting the baud rate which received
from the first frame header. The baud rate will also be fine-tuned through the following communication.
If the baud rate of communication has a large change, it needs rerunning the baud rate self-adapting.
V93XX also has the command for continually writing or broadcast writing. This mode can save the
Under the following conditions, the UART transmission will be aborted and back to IDLE state.
--V93XX no response
Batch writes to register for multiple V93XX devices via broadcast writing by master MCU. This mode can
save the parameter configurable time. The figure below is the command frame for broadcast writing
operation.
From HEADER Data 0 Data 0 Data 0 Data 0 Data N Data N Data N Data N
Host 0x7D
CMD1 CMD2
Byte 0 Byte 1 Byte 2 Byte 3
CKSUM 0 ... Byte 0 Byte 1 Byte 2 Byte 3
CKSUM N
From
V93XX No response
Table 7-2 Structure of Data Byte (B7:B0) From Master MCU to V93XX on Broadcast Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
1 HEADER 0 1 1 1 1 1 0 1
writing (N)
Data 0
4 “Bit[7:0]” of the target data write into register (address D0)
Byte 0
Data 0
5 “Bit[15:8]” of the target data write into register (address D0)
Byte 1
Data 0
6 “Bit[23:16]” of the target data write into register (address D0)
Byte 2
Data 0
7 “Bit[31:24]” of the target data write into register (address D0)
Byte 3
Checksum 0. Add the above 4 target data bytes (Data 0 Byte 0~3), CMD1, and
CMD2, invert the sum, and then add it to “0x33” to obtain the checksum. The
… … …
Data N
5xN+4 “Bit[7:0]” of the target data write into register (address DN=D0+N)
Byte 0
Data N
5xN+5 “Bit[15:8]” of the target data write into register (address DN=D0+N)
Byte 1
Data N
5xN+6 “Bit[23:16]” of the target data write into register (address DN=D0+N)
Byte 2
Data N
5xN+7 “Bit[31:24]” of the target data write into register (address DN=D0+N)
Byte 3
Checksum N. Add the above 4×(N+1) target data bytes (Data 0~N Byte 0~3),
CMD1, and CMD2, invert the sum, and then add it to “0x33” to obtain the
0 Byte 2 + Data 0 Byte 3 + ….. + Data N Byte 0 + Data N Byte 1 + Data N Byte
2 + Data N Byte 3)
*X could be 0 or 1.
If the length N equals to 0 on broadcast writing operation, master MCU only sends first 8 bytes of
From HEADER
CMD1 CMD2 CKSUM
Host 0x7D
From
Data 0 Data 0 Data 0 Data 0
V93XX CKSUM
Byte 0 Byte 1 Byte 2 Byte 3
Table 7-3 Structure of Data Byte (B7:B0) From Master MCU to V93XX on Read Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
1 HEADER 0 1 1 1 1 1 0 1
operation
Checksum. Add the above CMD1 and CMD2, invert the sum, and then add it to
4 CKSUM
“0x33” to obtain the checksum. The equation is as below:
* X could be 0 or 1.
Table 7-4 Structure of Data Byte (B7:B0) From V93XX to Master MCU on read Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
Data 0
1 “Bit[7:0]” of the target data read from register (address D0)
Byte 0
Data 0
2 “Bit[15:8]” of the target data read from register (address D0)
Byte 1
Data 0
3 “Bit[23:16]” of the target data read from register (address D0)
Byte 2
Data 0
4 “Bit[31:24]” of the target data read from register (address D0)
Byte 3
… … …
Data N
4xN+1 “Bit[7:0]” of the target data read from register (address DN=D0+N)
Byte 0
Data N
4xN+2 “Bit[15:8]” of the target data read from register (address DN=D0+N)
Byte 1
Data N
4xN+3 “Bit[23:16]” of the target data read from register (address DN=D0+N)
Byte 2
Data N
4xN+4 “Bit[31:24]” of the target data read from register (address DN=D0+N)
Byte 3
Checksum. Add the above 4×(N+1) target data bytes (Data 0~N Byte 0~3,
comes from V93XX), CMD1, and CMD2(comes from MCU), invert the sum, and
4xN+5 CKSUM
then add it to “0x33” to obtain the checksum. The equation is as below:
*X could be 0 or 1.
If the length N equals to 0 on read operation, V93XX only sends 5 bytes of response frame to master
MCU.
From HEADER Data 0 Data 0 Data 0 Data 0 Data N Data N Data N Data N
Host 0x7D
CMD1 CMD2
Byte 0 Byte 1 Byte 2 Byte 3
CKSUM 0 ... Byte 0 Byte 1 Byte 2 Byte 3
CKSUM N
From CKSUM
V93XX
Table 7-5 Structure of Data Byte (B7:B0) From Master MCU to V93XX on Write Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
1 HEADER 0 1 1 1 1 1 0 1
operation
Data 0
4 “Bit[7:0]” of the target data write into register (address D0)
Byte 0
Data 0
5 “Bit[15:8]” of the target data write into register (address D0)
Byte 1
Data 0
6 “Bit[23:16]” of the target data write into register (address D0)
Byte 2
Data 0
7 “Bit[31:24]” of the target data write into register (address D0)
Byte 3
Checksum 0. Add the above 4 target data bytes (Data 0 Byte 0~3), CMD1, and
CMD2, invert the sum, and then add it to “0x33” to obtain the checksum. The
… … …
Data N
5xN+4 “Bit[7:0]” of the target data write into register (address DN=D0+N)
Byte 0
Data N
5xN+5 “Bit[15:8]” of the target data write into register (address DN=D0+N)
Byte 1
Data N
5xN+6 “Bit[23:16]” of the target data write into register (address DN=D0+N)
Byte 2
Data N
5xN+7 “Bit[31:24]” of the target data write into register (address DN=D0+N)
Byte 3
Checksum N. Add the above 4×(N+1) target data bytes (Data 0~N Byte 0~3),
5xN+8 CKSUM N CMD1, and CMD2, invert the sum, and then add it to “0x33” to obtain the
0 Byte 2 + Data 0 Byte 3 + ….. + Data N Byte 0 + Data N Byte 1 + Data N Byte
2 + Data N Byte 3)
*X could be 0 or 1.
If the length N equals to 0 on broadcast writing operation, master MCU only sends first 8 bytes of
Table 7-6 Structure of Data Byte (B7:B0) From V93XX to Master MCU on Write Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
Checksum (comes from V93XX). Used to verify that the write operation was
successful.
If CKSUM and CKSUM N (comes from master MCU) was equal, this time write
1 CKSUM
operation was succeeded.
If CKSUM and CKSUM N (comes from master MCU) was not equal, this time
In order to facilitate the user to read the required data at one time and improve communication
efficiency, V93XX provides address mapping function: The user maps the address of the data item that
needs to be continuously operated to the address register, so that the user can perform the block read
The block reading operation can start from any position in the mapped address register. If the address
plus the number of reads exceeds the buffer size, the read is started from the beginning. For example,
10 data are read from the 13th mapping address, and after the 16th address, the data of 6 addresses
Address mapping
15
Register address X-2
Register address X-1
Register address X
Feature:
--Support block reading operation by address mapping from 1~16 addresses that are not
consecutive.
From HEADER
CMD1 CMD2 CKSUM
Host 0x7D
From
Data 0 Data 0 Data 0 Data 0
V93XX CKSUM
Byte 0 Byte 1 Byte 2 Byte 3
Table 7-7 Structure of Data Byte (B7:B0) From Master MCU to V93XX on block reading Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
1 HEADER 0 1 1 1 1 1 0 1
reading operation
reading operation
registers of SYS_BLKX_ADDR
operation as below:
3 CMD2 X* X* X* X*
1: stored address ADDR4 in the Bit7~0 of
the SYS_BLK1_ADD
of the SYS_BLK1_ADD
of the SYS_BLK1_ADD
of the SYS_BLK1_ADD
the SYS_BLK2_ADD
4 CKSUM Checksum. Add the above CMD1 and CMD2, invert the sum, and then add it to
*X could be 0 or 1.
Table 7-8 Structure of Data Byte (B7:B0) From V93XX to Master MCU on block reading Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
Data 0
1 “Bit[7:0]” of the target data read from register (address ADDRM)
Byte 0
Data 0
2 “Bit[15:8]” of the target data read from register (address ADDRM)
Byte 1
Data 0
3 “Bit[23:16]” of the target data read from register (address ADDRM)
Byte 2
Data 0
4 “Bit[31:24]” of the target data read from register (address ADDRM)
Byte 3
… … …
Data N
4xN+1 “Bit[7:0]” of the target data read from register (address ADDRM+N)
Byte 0
Data N
4xN+2 “Bit[15:8]” of the target data read from register (address ADDRM+N)
Byte 1
Data N
4xN+3 “Bit[23:16]” of the target data read from register (address ADDRM+N)
Byte 2
Data N
4xN+4 “Bit[31:24]” of the target data read from register (address ADDRM+N)
Byte 3
Checksum. Add the above 4×(N+1) target data bytes (Data 0~N Byte 0~3,
4xN+5 CKSUM comes from V93XX), CMD1, and CMD2(comes from MCU), invert the sum, and
Byte 2 + Data 0 Byte 3 + ….. + Data N Byte 0 + Data N Byte 1 + Data N Byte
2 + Data N Byte 3)
*X could be 0 or 1.
If the length N equals to 0 on read operation, V93XX only sends 5 bytes of response frame to master
MCU.
8.1. Overview
V93XX supports two communication modes, UART and SPI, which can switch between SPI communication
and UART communication without using external hardware jumper. After POR reset, RSTN reset, RX reset
or soft reset, V93XX uses UART communication by default. If you want to communicate by SPI, you must
Support multi-machine communication mode, that is, when the output data port is idle, it is a high-
resistance state. Through SPICSN chip selection signal support multiple V93XX to share a data bus.
The SPI interface of V93XX is a standard 4-wire or 3-wire SPI interface. 4-wire SPI mode must have a
50μs interval between every 2 read and write operations. 3-wire SPI mode has been low at chip select
pin. When the V93XX sends command, the least significant byte and most significant bit always are
When SPI reading register, the maximum speed can be 1/4 of system CLK; when reading RAM, the
maximum speed can be 1/16 of system CLK. When the MCU reads the RAM or register of V93XX, if
V93XX does not get the data in time, V93XX will send the wrong checksum byte to the MCU.
The RAM address range is 0x11~0x38, 0x43~0x54, 0x68, and 0x69. The remaining addresses are
registers.
Before performing SPI read and write, it needs to write 0x5A7896B4 to the 0x7F addresses. If it does
SPI overtime mechanism: During communication, the time between the rising edges of every 2 SPCK
communication
Re-initialize SPI
3 V93XX reset happens. No
interface
After the write operation is completed, V93XX will not return a valid response to the MCU. It needs to
read back the value of the register to confirm the success of the write operation.
From
V93XX
Table 8-2 Structure of Data Byte (B7:B0) From Master MCU to V93XX on write Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
Data
2 “Bit[7:0]” of the target data write into register
Byte 0
Data
3 “Bit[15:8]” of the target data write into register
Byte 1
Data
4 “Bit[23:16]” of the target data write into register
Byte 2
Data
5 “Bit[31:24]” of the target data write into register
Byte 3
Checksum 0. Add the above 5 target data bytes (Data Byte 0~3) and CMD1,
6 CKSUM invert the sum, and then add it to “0x33” to obtain the checksum. The
equation is as below:
CKSUM = 0x33 + ~(CMD + Data Byte 0 + Data Byte 1 + Data Byte 2 + Data
Byte 3)
From
CMD
Host
Table 8-3 Structure of Data Byte (B7:B0) From Master MCU to V93XX on read Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
2 -*
3 -* MCU generates 40 clocks is used for receiving 5 bytes of response frame sent
4 -* back by V93XX.
6 -*
Table 8-4 Structure of Data Byte (B7:B0) From V93XX to Master MCU on read Operation
Order Byte B7 B6 B5 B4 B3 B2 B1 B0
When the MCU sends a CMD to the V93XX, the data received by the MCU doesn’t
1 -*
have to be concerned.
Data
2 “Bit[7:0]” of the target data read from register
Byte 0
Data
3 “Bit[15:8]” of the target data read from register
Byte 1
Data
4 “Bit[23:16]” of the target data read from register
Byte 2
Data
5 “Bit[31:24]” of the target data read from register
Byte 3
Checksum. Add the above 4 target data bytes (Data Byte 0~3, comes from
V93XX) and CMD1 (comes from MCU), invert the sum, and then add it to “0x33”
CKSUM = 0x33 + ~(CMD + Data Byte 0 + Data Byte 1 + Data Byte 2 + Data
Byte 3)
The default communication interface of V93XX is UART. If it wants to initialize the SPI communication
interface, it needs to write 0x5A7896B4 to the 0x7F address, that is, the MCU must sends the following
CMD Data Byte 0 Data Byte 1 Data Byte 2 Data Byte 3 CKSUM
Because of the SPI write operation, V93XX will not send a valid response to the MCU. After writing
0x5A7896B4 to the 0x7F address to complete the SPI interface initialization, it cannot directly confirm
whether the initialization is valid. It is recommended to read any readable register and check if the
checksum byte is correct to confirm that the SPI interface initialization process is completed correctly.
After POR, RSTN pin reset, RX reset, or global software reset occurs, the SPI interface is reset and the
V93XX is restored to the UART communication interface. After that, the initialization process of SPI
-- SPI interface initialization must be performed after POR, RSTN pin reset, RX reset, or global
-- Chip select pin must be pulled back high after each read or write operation
SPICSN
SPICLK
SPIMOSI {1'b0, ADDR[6:0]} Data Byte 0 Data Byte 1 Data Byte 2 Data Byte 3 Check Sum
} write mode
SPIMISO
-- SPI interface initialization must be performed after POR, RSTN pin reset, RX reset, or global
-- The clock pin must be pulled low for at least 400μs before each read or write operation
SPICSN
(Always low) >400μs
SPICLK
SPIMOSI {1'b0, ADDR[6:0]} Data Byte 0 Data Byte 1 Data Byte 2 Data Byte 3 Check Sum
} write mode
SPIMISO
SPIMOSI {1'b0, ADDR[6:0]}
} read mode
SPIMISO Data Byte 0 Data Byte 1 Data Byte 2 Data Byte 3 Check Sum
9.1. Overview
Metering DSP are mainly used in calculating total-wave active power, fundamental-wave active power,
total/ fundamental-wave reactive power, total-wave apparent power, total-wave RMS and
fundamental-wave RMS; also provides power grid events to detect and waveform storage functions.
The energy accumulator can flexible configuration, providing 2 high-speed energy accumulators and 6
9.2. Features
--Support 1 voltage channel and 2 current channels metering at the same time
--Provide 2 configurable fundamental-wave channels which can calculate power and RMS of
fundamental-wave.
--Provide the average RMS of 10 or 12 cycles which used in voltage flicker detection.
--Support to determine the power-creep, voltage swell or dip, over or under- voltage and over or
under- current.
BIAS DC
LPF
UP
UN
APGA ADC LPF - HPF
T ota l v ol ta ge
wav eform
Fund. volta ge
wav eform
LPF
DC
BIAS LPF
DC
BIAS LPF
IB
ADC - T ota l Current b
MUX
Temp. Sensor
T ota l v ol ta ge Freq.
wav eform Measurement
BPF
T ota l v ol ta ge
wav eform
T ota l Current a
wav eform RMS Calculation
T ota l Currentb
wav eform
T ota l v ol ta ge Inst.
wav eform Total
T ota l Current a Watta
wav eform Avg.
T ota l v ol ta ge Inst.
wav eform Total
T ota l Current b Wattb
wav eform Avg.
T ota l v ol ta ge
wav eform
Fund. Currenta
wav eform
T ota l v ol ta ge
wav eform
Fund. Inst.
Watta Avg.
Fund. volta ge
wav eform
MUX
Fund. Inst.
RMS Avg.
IA and IB error correction values are combined in complement form and written into the error correction
V93XX supports frequency measurement, which is stored in the grid frequency register (0x21,
DSP_DAT_FRQ). Users need to configure the bandpass filter coefficient according to different DSP_MODE
(Table 2-18 Metering Control Register 0 (0x02, DSP_CTRL0) ). For details, please refer to the bandpass
filter coefficient register (Table 2-41 Bandpass Filter Register (0x37, DSP_CFG_BPF)).
The user accumulates the number of cycles and the DSP_MODE configuration frequency constant through
the FRQ_SEL configuration frequency test of the metering control register 0 (0x02, DSP_CTRL0).
RQ_SEL wave_cnt
0 16
2 64
0x08 1600
Metering chip supports voltage phase and current phase measurement. The operation principle is,
master MCU sends command to register DSP_PHS_STT (0x5f) and sets to 1 via UART/SPI interface.
After the metering chip is decoded as a phase measurement command, it starts to use the 6.4 KHz for
sampling frequency (When DSP_MODE is 0, 1, 2, the sampling frequency of voltage signal used for
phase testing is 6.4 KHz. When DSP_MODE is 6 and 7, the sampling frequency of voltage signal used
for phase testing is 3.2 KHz) to counting. Until positive zero-crossing events happened, it stops
counting. This counting value will write into the voltage phase register DSP_PHS_U (0x62) and current
phase register DSP_PHS_I (0x65). It also records two voltage sampling values before and after the
positive zero-crossing DSP_PHS_UN (0x63), DSP_PHS_UP (0x64) and two current sampling values
before and after the zero-crossing DSP_PHS_IN (0x66), DSP_PHS_IP (0x67). User can obtain better
Active power, reactive power, and apparent power support the power-creep function. See Table 2-32
Power-creep Threshold Register. When the instantaneous active power/reactive power/apparent power
of the channel A and the channel B are higher than the upper threshold, the startup state is entered.
When the instantaneous active power/reactive power/apparent power of the channel A and the channel
The user can check whether the instantaneous active power/reactive power/apparent power is in the
power-creep state by Bit17~Bit12 of the SYS_STS system status register description (0x74, SYS_STS).
V93XX waveform data can be transferred through DMA, or stored locally through waveform buffer.
10.1.1. Overview
The V93XX supports the DMA mode for data transmission and sends up to 3 original waveform data to
the external MCU through the SPI interface host mode. The user can set the active waveform upload
through the metering control register 5 (0x07, DSP_CTRL5), and configure the active waveform data
upload IO port P0~P6 through IO configuration register 0 (0x7D, SYS_IOCFG0) and IO configuration
The number of sampling points per cycle of the DMA transmission data is related to DSP_MODE (Bit[7:4])
of DSP_CTRL0 (Table 2-18 Metering Control Register 0 (0x02, DSP_CTRL0)); the number of channels is
related to Bit10~8 of DSP_CTRL5 (0x07, DSP_CTRL5). Its relationship is shown in the following table:
The number of waveform transmission Sampling points (related to DSP_MODE) Baud Rate
3 64 409.6 KHz
2 64 409.6 KHz
1 64 204.8 KHz
The V93XX transmits the original waveform of the signal to the peripheral device via the DMA SPI
interface. The SPI polarity and phase are configurable. When the polarity is 0 and the phase is 0, the
DSCS
DSCK
DSDO D21 D21 D21 D20 D19 D18 D17 D16 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 A2 A1 A0 0 0 0 C
Transmission mode: The transmission of 32-bit data is completed at one time. The format of the data
Bit Contents
29:8 The original waveform of 22-bit for each channel ADC signal source.
7 0
6 0: no
1: yes
5 0: no
1: yes
4 0: no
1: yes
3:1 000
After the waveform buffer function is enabled, the waveform data is stored in the RAM, supporting
single-channel waveform data storage and dual-channel waveform data simultaneous storage mode. If
the waveform buffer of three channels is enabled at the same time, the channel IB is invalid. The user
can configure the waveform buffer and start and end condition selection by metering control register 5
(0x07, DSP_CTRL5). After the waveform buffer configuration is completed, the user can check whether
the waveform buffer is completed by the WAVE_STORE of the system interrupt status register (0x72,
SYS_INTSTS). After completion, the user can obtain waveform buffer data by repeatedly reading the
waveform data register (0x69, DAT_WAVE), and it can read up to 309 data every time.
IA IADATA2n+1 IADATA2n
IB IBDATA2n+1 IBDATA2n
U UDATA2n+1 UDATA2n
The V93XX supports zero-crossing detection for voltage channel and current channel (the zero-crossing
channel can be selected as the channel IA or channel IB by Bit20 of Metering Control Register 1 (Table
2-19 Metering Control Register 2 (0x03, DSP_CTRL1)). The zero-crossing direction can be selected by
Bit19~Bit18 of the metering control register 1 (0x03, DSP_CTRL1). When the voltage/current channel
signal has a zero-crossing event, the voltage zero-crossing flag USIGN/current zero-crossing flag ISIGN
of the system interrupt status register (0x72, SYS_INTSTS) is set to 1. The user needs to write 1 to clear.
When the voltage/current zero-crossing interrupt output is enabled, USIGN/ISIGN of the system
interrupt enable register (0x73, SYS_INTEN) is set to 1. To configure the voltage/current zero-crossing
Register 1 (0x7E, SYS_IOCFG1). The output level of pin Px is automatically inverted according to the
output level of pin Px is automatically inverted according to the voltage/current zero-crossing status in
real time. Each time a zero-crossing event occurs, the IO port is inverted once.
The following figure is configured to enable the zero-crossing interrupt output. When the zero-crossing
detection mode is selected as the negative zero-crossing point, the USIGN/ISIGN flag bit, the zero-
crossing interrupt output, and the zero-crossing output square wave waveform.
Voltage/current signal
USIGN/ISIGN_Flag bit
Px
Py
The V93XX can be programmed to indicate voltage swell/dip. See Table 2-33 Voltage Swell or Dip
Threshold Register.
When the voltage RMS value is above the upper limit of the voltage swell threshold, the voltage swell
status bit (USWELL of the SYS_STS system status register (0x74, SYS_STS)) is set to 1. At the same
time, the voltage swell flag (USWELL of the system interrupt status register (0x72, SYS_INTSTS)) is set
When the voltage RMS value is lower than the lower limit of the voltage swell threshold, the voltage swell
status bit (USWELL of the SYS_STS system status register description (0x74, SYS_STS)) is restored to
0.
When the voltage RMS value is lower than the lower limit of the voltage dip threshold, the voltage dip
status bit (UDIP of the SYS_STS system status register (0x74, SYS_STS)) is set to 1. At the same time,
the voltage dip flag (UDIP of the system interrupt status register (0x72, SYS_INTSTS)) is set to 1, and
When the voltage RMS value is higher than the high limit of the voltage dip threshold, the voltage dip
status bit (UDIP of the SYS_STS system status register description (0x74, SYS_STS)) is restored to 0.
DAT_SWELL_CNT/DAT_DIP_CNT, and the half wave is in units. 24Bit is valid. Write any value to this
The voltage swell interrupt flag and voltage dip interrupt flag can be configured by configuring the IO
port output. See Table 2-14 IO Configuration Register 0 (0x7D, SYS_IOCFGX0) and Table 2-16 IO
under-current
PEAK
Threshold of
over-voltage/current
Threshold of
under-voltage/current
voltage of channel IA, and over-voltage/under-voltage of channel IB. See Table 2-34 Fast detection
Threshold Register. The user can enable the detection for over-voltage/under-voltage of channel U, over-
and FFIBEN of metering control register 4 (Table 2-22 Metering Control Register 4 (0x06, DSP_CTRL4)).
The detection source supports high-pass filters and by-pass. The over-voltage or under-voltage/over-
2) Each ADC waveform monitor has two thresholds: upper threshold (over-voltage, over-current); lower
3) Exceeding the upper limit threshold sample points: For example, if the set value is 4, it means that if
more than 4 of the half cycle sampling points exceed the upper limit threshold, the half cycle waveform
4) Exceeding the upper threshold half-cycle number: For example, if the set value is 2, it means that if
two consecutive half-cycles are exceeding the upper limit, an over-voltage or over-current event is
considered to occur.
5) Below the lower limit threshold sample points: For example, if the set value is 4, it means that if low
than or equal to 4 of the half cycle sampling points exceed the low limit threshold, the half cycle waveform
6) below the lower threshold half-cycle number: For example, if the set value is 2, it means that if two
consecutive half-cycles are below the lower limit, an over-voltage or over-current event is considered to
occur.
7) When the event occurs, the flag bit is generated. The user can check the system status bit (SYS_STS
system status register (0x74, SYS_STS)) and the flag bit (system interrupt status register (0x72,
SYS_INTSTS)).
8) The corresponding event flag can be configured by interrupt enable and IO port output.
9) Response time: When the half-wave number is set to 1 and enabled or disabled the high-pass filter,
the response time is 10 ms, that is, when the input signal exceeds the threshold, the event interrupt can
B_SE
PB L1
M
A_SE
QA Power L1
No
Load B_SE
U CF
QB L1
X Counter
PWRTH1 1
SA A_SE
L1 M 0
<0 Energy CF
SB B_SE
L1
U X
Accumulator Generator CF1
1 1
X ABS CF
SEL
PROCMODE1 CF2
A_SE TYPE_SEL1
RMSIA L1 Energy
No Load
B_SE
RMSIB L1 1
Constant1
A_SE
CH1 L1 Energy
Module 1
B_SE
CH2 L1
Energy
Module 2
Energy
Module 3
Energy
Module 4
Energy
Module 5
Energy
Module 6
Energy
Module 7
Energy
Module 8
The V93XX has eight energy accumulators, including two high-speed energy accumulators and six low-
speed energy accumulators. Each energy accumulators have four accumulation modes: power
accumulation, current RMS accumulation, constant accumulation, and configurable fundamental channel
accumulation.
The power accumulation is enabled by the channel an accumulation (A_SEL) and the channel B
accumulation (B_SEL), which can realize only accumulating channel A power, only accumulating channel
B power, and accumulating A and B power. Power can be selected for active power, reactive power and
The current accumulation is enabled by the channel An accumulation (A_SEL) and the channel B
accumulation (B_SEL), which can realize only accumulating channel IA RMS, only accumulating channel
or RMSIA-RMSIB).
The constant accumulation is not affected by enabling the A/B channel accumulation.
The power accumulation is enabled by the channel an accumulation (A_SEL) and the channel B
accumulation (B_SEL), which can realize only accumulating channel A power, only accumulating channel
B power, and accumulating A and B power. Power can be selected for active power, reactive power and
channel accumulation switch, which can realize only accumulating fundamental channel 1 data,
accumulating only fundamental channel 2 data, accumulating fundamental channel 1 plus accumulating
fundamental channel 2.
There are four types of data operation that are accumulated for each input energy accumulator. Taking
the active power of two channels as an example, the operation method is as follows.
0: The energy accumulator only accumulates positive numbers. Only accumulate data with PA+PB>0.
1: The energy accumulator only accumulates negative numbers (in this case, the actual accumulated
value is a positive value of the original value conversion). Only data with PA+PB<0 (abs (PA+PB)) is
3: The energy accumulator accumulates the absolute value. Accumulate abs (PA+PB)
To enable high-speed energy accumulator 1, it needs to configure CALCEN1 (Bit[6]) in DSP_CTRL1 (Table
2-19 Metering Control Register 2 (0x03, DSP_CTRL1)). To enable high-speed energy accumulator 2, it
needs to configure CALCEN2 (Bit[7]) in DSP_CTRL1. The default accumulative acceleration of the high-
speed energy accumulator is 204.8 KHz, and 32768 Hz can also be selected by the energy accumulator
The six low-speed energy accumulators are enabled by DGY_LC_EN (Bit[15]) in DSP_CTRL1 (Table 2-19
Metering Control Register 2 (0x03, DSP_CTRL1)). The default accumulated acceleration is 50 Hz.
DSP_CTRL0 (Table 2-18 Metering Control Register 0 (0x02, DSP_CTRL0)) and LCF_ACC (Bit[22]) in
DSP_CTRL1.
When CURDAT_RATE=0:
LCF_ACC=1, the accumulation period of the energy buckets 3, 4, and 5 is 10 ms, and the energy buckets
⚫ When CURDAT_RATE=0:
LCF_ACC=1, the accumulation period of the energy accumulators 3, 4, and 5 is 10 ms, and the
⚫ When CURDAT_RATE=1:
LCF_ACC=1, the accumulation period of the energy accumulators 3, 4, and 5 is 20 ms, and the
12.3. CF Output
V93XX supports 2 channels of CF. The CF output is configured by the Meter Control Register 1 (Table
2-19 Metering Control Register 2 (0x03, DSP_CTRL1)) to select the IO port output.
CF supports source selection. It can be selected from the energy accumulator 1 or the energy
accumulator 2.
CF supports polarity selection, pulse width selection, and accelerated weak-signal calibration.
Refer to the description of CF in Metering Control Register 1 (0x03, DSP_CTRL1) for details.
Energy accumulator anti-creep threshold. When anti-creep energy accumulator exceeds the
EGY_CRPTH and high-speed energy accumulator not exceeds the EGY_PWRTH, the accumulating value
There is a power-creep energy accumulating register for energy accumulator 1 and 2, which they have
User should configure threshold for the power-creep threshold register (EGY_CRPTH) and energy
accumulator register reaches the value of EGY_CRPTH first, the energy accumulating register will be
cleared, and system enter the power-creep status. When the accumulating value of energy
accumulating register reaches the value of EGY_PWRTH, the power-creep energy register will be
The actual bit width of register EGY_CRPTH is 32bit. The register contents will be padded with 0s
automatically in the 4 least significant bits when the power-creep calculated. It would be calculated
User can judge whether in power-creep status through SYS_STS (BIT19, BIT18) .
Active data uploading interface can configure pins, P0/ P1/ P2/ P3/ P4/ P5/ P6, to be the active data
2. Interface configuration: 11-bit transmission (start bit + 8 data bit + parity bit + stop bit)
Communication baud rate: SPI communication data rate is 4800, it also can operate at 9600. UART
communication data rate is same as present baud rate, also double the present baud rate.
To enable the function of double baud rate if BIT17 setting to 1 at the metering control register 1 (Table
3. Communication time interval: 20 ms/ 40 ms (the same to instantaneous power refresh time)
data. Total accumulate 8 bytes and reverse them, then plus 0x33 to obtain the checksum.
13.1. Overview
The V93XX provides up to seven signal outputs, and seven output signals are used to map the internal
output sources.
The seven signal output ports can be configured as CF output, energy upload interface, waveform active
upload DMA channel interface, zero-crossing square wave and four types of interrupt output. The signal
output port can be set to output a single signal, or it can be set to output certain types of interrupt
signals. See Table 2-14 IO Configuration Register 0 (0x7D, SYS_IOCFGX0) and Table 2-16 IO
1st type interruption: current zero-crossing interruption, voltage zero-crossing interruption, high-
2nd type interruption: waveform refreshes interruption, instantaneous RMS refresh interruption,
average RMS refreshes interruption, instantaneous power value refresh interruption, average power
value refreshes interruption, waveform storage finish interruption, waveform storage overflow
voltage interruption, voltage channel over-voltage interruption, voltage dip interruption and voltage
swell interruption.
4th type interruption: SPI communicating error interruption, UART communicating error interruption,
interruption, reference error interruption, CTI external input clock error interruption and RAM self-
Description:
and select the output polarity. When the output period is less than twice the CF output pulse width, CF
is output at a duty cycle of 50%. For example, if the output width is 80 ms and the output period is less
than 160 ms, it will be output according to the duty cycle of 50%.
2) Using the UART protocol when the TX output for energy upload.
3) When used as the interrupt event output port, the output port defaults to low level output. If the
event occurs, it outputs a high level until the user clears the event flag bit, and the output state returns
4) When used as a zero-crossing square wave output, the output port defaults to a low-level output.
If configured as a positive zero-crossing, the IO port flips when the signal transitions from a negative
5) When used as a DMA output port, the SPI protocol is required, and the user is required to select
8.40
8.20
8.00
Unit:mm
1.05
0.75
0.20
0.15
1.25 BSC
24 13
5.50
8.00
7.80
7.60
5.30
5.10
1 12
0~8°
0.37
0.65BSC
0.29
1.75
0.80
1.85
1.65
0.85
0.75
2.00 MAX
0.25
0.05
A
A
θ3
A X
A1
h θ4 E 5.84 6.24
E1 3.84 4.04
D 9.90 10.10
L 0.40 0.70
e 1.27TYP
θ2 L
b 0.36 0.46
L1
E1
b1 0.36 0.46
E
b c 0.2TYP
c1 0.2TYP
“X” b1
θ1 8°TYP
θ2 8°TYP
θ3 4°TYP
c1
c
θ4 15°TYP
1 2 3 e
8 A-A
Index Area (0.25D+0.75E)
A3
Symbol MIN NOM MAX
R1 A 1.35 1.55 1.75
A2 R
A
L2
A3 0.50 0.60 0.70
B θ2 θ b 0.38 - 0.51
A1
e b