3.1.7 Pulse Control Register x (x = 0, 1, 2)

Three pulses can be generated simultaneously: PULSE0_CTRL is used to control the pulse output from PD17, PULSE1_CTRL is used to control the pulse output from PD18, and PULSE2_CTRL is used to control the pulse output from PD19. IPC interrupts are triggered at each pulse: IPC_PULSEx.
Name: PULSEx_CTRL
Property: Read-Write

Bit 3130292827262524 
 PCx_ENABLE PCx_DETENT[1:0] PCx_ACC_HOLDPCx_OVERRIDEPCx_POLARITY 
Access R/WR/WR/WR/WR/WR/W 
Reset 000000 
Bit 2322212019181716 
     PCx_TYPE[3:0] 
Access R/WR/WR/WR/W 
Reset 0000 
Bit 15141312111098 
 PCx_WIDTH[15:8] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 76543210 
 PCx_WIDTH[7:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bit 31 – PCx_ENABLE Output Pulse Enable

Used to enable or disable pulse functionality. For short-term disable of pulses, use the PC_OVERRIDE control bit.
ValueDescription
0x0 Pulse output disabled, inactive level determined by PULSE_POLARITY
0x1 Pulse output enabled

Bits 29:28 – PCx_DETENT[1:0] Total Absolute Values for P and Q values

When creating P and Q accumulator totals of multiple phases, this option allows taking the absolute values of each phase before adding to make the total. This is used to primarily ignore direction of energy delivered or generated for pulse generation.
ValueNameDescription
0x0 NET Pulses generated based on (energy delivered – energy generated): Individual sign of each channel’s P and Q is taken into account when creating total P and Q accumulator sums.
0x1 ABSOLUTE Pulses generated based on (energy delivered + energy generated): The absolute value of each phase’s P and Q is used when creating the total P and Q accumulator sums.
0x2 DELIVERED Pulses generated based on (delivered only): Only positive values (energy delivered) of each phase’s P and Q are used when creating the total P and Q accumulator sums, with negative values (energy generated) being ignored.
0x3 GENERATED Pulses generated based on (generated only): Only negative values (energy generated) of each phase’s P and Q are used when creating the total P and Q accumulator sums, with positive values (energy delivered) being ignored.

Bit 26 – PCx_ACC_HOLD Pulse Accumulation Hold Control

ValueDescription
0x0 Pulse accumulation registers continue to increment even if pulse generation is temporarily disabled.
0x1 Pulse accumulation is held static. All incremental quantities normally used for pulse determination are discarded.

Bit 25 – PCx_OVERRIDE Pulse Override Control

Use to temporarily disable pulse generation. While disabled, pulse accumulation functions as selected with the PC_ACC_HOLD control bit.
ValueDescription
0x0 Pulse generation functions as normal
0x1 Pulse generation is temporarily disabled

Bit 24 – PCx_POLARITY Pulse Polarity

ValueDescription
0x0 Output pulse is low with width set by K_WIDTH, followed by an inactive level of high
0x1 Output pulse is high with width set by K_WIDTH, followed by an inactive level of low

Bits 19:16 – PCx_TYPE[3:0] Pulse Type Selection

Types described as “all phases” are based on all active phases: [A,B,C]. Types described as “S” use only the synthesized voltage channel, phase: [S] if available.
ValueNameDescription
0x0 P_T Watt-hours, total all phases, fundamental + harmonics.
0x1 P_T_F Watt-hours, total all phases, fundamental only.
0x2 Q_T Var-hours, total all phases, fundamental + harmonics.
0x3 Q_T_F Var-hours, total all phases, fundamental only.
0x4 I_T Amp-squared-hours, total all phases, fundamental + harmonics.
0x5 I_T_F Amp-squared-hours, total all phases, fundamental only.
0x6 S_T VA-hours, total all phases, fundamental + harmonics. It is computed by multiplying Irms by Vrms.
0x7 S_T_F VA-hours, total all phases, fundamental only. It is computed by multiplying Irms (fundamental) by Vrms (fundamental).
0x8 S2_T VA-hours, total all phases. It is computed as the square root of (P2+Q2).
0x9-0xF Reserved

Bits 15:0 – PCx_WIDTH[15:0] Pulse Width

The granularity for pulse width is in units of 2.1552 µs, corresponding to a clock rate of 464 kHz. The peripheral clock was incremented to 7.424 MHz in version 3.1.00, but the granularity of the pulse width does not change to assure compatibility with previous versions.

PCx_WIDTH = PULSE_WIDTH[sec] x 464000

For example, for a desired pulse width of 750 µs, the computation for the value PCx_WIDTH will be:

There is a limitation on the maximum frequency of pulse occurrence: the pulse period duration cannot exceed the sum of the pulse width plus an additional 500 microseconds.

For example, if the pulse width is set at 500 microseconds, the maximum pulse frequency that can be attained is 1 kHz. On the other hand, if the pulse width is reduced to 50 microseconds, the pulse frequency can increase to a maximum of 1.818 kHz.