JAJSSE7 November 2023 DRV8214
PRODUCTION DATA
Table 8-47 lists the memory-mapped registers for the DRV8214_CTRL registers. All register offset addresses not listed in Table 8-47 should be considered as reserved locations and the register contents should not be modified.
Offset | Acronym | Register Name | Section |
---|---|---|---|
Eh | REG_CTRL0 | Regulation control registers (1/3). | Section 8.6.3.1 |
Fh | REG_CTRL1 | Regulation control registers (2/3). | Section 8.6.3.2 |
10h | REG_CTRL2 | Regulation control registers (3/3). | Section 8.6.3.3 |
11h | RC_CTRL0 | Ripple Counting Control Registers - (1/9). | Section 8.6.3.4 |
12h | RC_CTRL1 | Ripple Counting Control Registers - (2/9). | Section 8.6.3.5 |
13h | RC_CTRL2 | Ripple Counting Control Registers - (3/9). | Section 8.6.3.6 |
14h | RC_CTRL3 | Ripple Counting Control Registers - (4/9). | Section 8.6.3.7 |
15h | RC_CTRL4 | Ripple Counting Control Registers - (5/9). | Section 8.6.3.8 |
16h | RC_CTRL5 | Ripple Counting Control Registers - (6/9). | Section 8.6.3.9 |
17h | RC_CTRL6 | Ripple Counting Control Registers - (7/9). | Section 8.6.3.10 |
18h | RC_CTRL7 | Ripple Counting Control Registers - (8/9). | Section 8.6.3.11 |
19h | RC_CTRL8 | Ripple Counting Control Registers - (9/9). | Section 8.6.3.12 |
Complex bit access types are encoded to fit into small table cells. Table 8-48 shows the codes that are used for access types in this section.
Access Type | Code | Description |
---|---|---|
Read Type | ||
R | R | Read |
Write Type | ||
W | W | Write |
Reset or Default Value | ||
-n | Value after reset or the default value |
REG_CTRL0 is shown in Table 8-49.
Return to the Summary Table.
Set features like Soft Start/Stop, speed scaling factor, etc.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-6 | RSVD | R/W | 0h | Reserved. |
5 | EN_SS | R/W | 1h | Used to enable/disable soft start/stop. 1b: Target motor voltage or speed is soft-started and soft-stopped over the duration of tINRUSH time. 0b: Soft-start/stop feature is disabled. Refer to Section 8.3.7.3 for further explanation. |
4-3 | REG_CTRL | R/W | 0h | Selects the current regulation scheme (fixed off-time or cycle-by-cycle) or motor speed and voltage regulation. 00b: Fixed Off-Time Current Regulation. 01b: Cycle-By-Cycle Current Regulation. 10b: Motor speed is regulated. Ripple counting must be enabled in this mode by setting EN_RC to 1b. 11b: Motor voltage is regulated. Refer to Section 8.3.4.2 for further explanation. |
2 | PWM_FREQ | R/W | 1h | Sets the PWM frequency when bridge control is configured by INx bits (I2C_BC=1b). 0b: PWM frequency is set to 50kHz. 1b: PWM frequency is set to 25kHz. |
1-0 | W_SCALE | R/W | 3h | Scaling factor that helps in setting the target ripple speed. 00b: 16 01b: 32 10b: 64 11b: 128 Refer to Section 8.3.7.2.2 for further explanation. |
REG_CTRL1 is shown in Table 8-50.
Return to the Summary Table.
Set the target motor voltage and speed.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-0 | WSET_VSET | R/W | FFh | Sets the target motor voltage or ripple speed. A detailed explanation is provided in Section 8.3.7.2.1. |
REG_CTRL2 is shown in Table 8-51.
Return to the Summary Table.
Set the duty cycle and cut-off frequency for output voltage filtering.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-6 | OUT_FLT | R/W | 0h | Programs the cut-off frequency of the output voltage filtering. 00b: 250Hz 01b: 500Hz 10b: 750Hz 11b: 1000Hz For best results, choose a cut-off frequency equal to a value at least 20 times lower than the PWM frequency. Eg, if you PWM at 20kHz, OUT_FLT=11b (1000Hz) is sufficient. |
5-0 | EXT_DUTY | R/W | 0h | Available when using external bridge control (I2C_BC=0b). DUTY_CTRL must be set to 1b. Speed and voltage regulation modes are inactive in this case. User can program the desired duty cycle in the EXT_DUTY bits. The range of duty cycle is 0% (000000b) to 100% (111111b). |
RC_CTRL0 is shown in Table 8-52.
Return to the Summary Table.
Set various functions for RC including enable/disable.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7 | EN_RC | R/W | 1h | Enable/Disable Ripple Counting. 0b: Disable 1b: Enable |
6 | DIS_EC | R/W | 0h | Enable/Disable the Error Correction module. 0b: Error Correction is enabled. 1b: Error Correction is disabled. Please note that this is different from the EC_PULSE_DIS described earlier. |
5 | RC_HIZ | R/W | 0h | 0b: H-bridge stays enabled when RC_CNT exceeds threshold. 1b: H-bridge is disabled (High-Z) when RC_CNT exceeds threshold. |
4-3 | FLT_GAIN_SEL | R/W | 1h | Filter input scaling factor. This factor scales the
magnitude of current ripples for ease of detection and algorithmic calculation by the Ripple Counter. The options are: 00b: 2 01b: 4 10b: 8 11b: 16 Refer to Section 8.3.6.1.6 for further explanation. |
2-0 | CS_GAIN_SEL | R/W | 0h | Used to select the current mirror gain, AIPROPI. Settings are as follows: 000b: 4 A 001b: 2 A 010b: 1 A 011b: 0.5 A 1X0b: 0.25 A 1X1b: 0.125 A Refer to Section 8.3.4.1 for further explanation. |
RC_CTRL1 is shown in Table 8-53.
Return to the Summary Table.
Threshold for ripple counting.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-0 | RC_THR | R/W | FFh | Lower 8 bits of the 10-bit RC_THR Register. Threshold level to compare against the RC_CNT based on the expected time of motor actuation. Ripple counting threshold = RC_THR x RC_THR_SCALE |
RC_CTRL2 is shown in Table 8-54.
Return to the Summary Table.
Set values of various scaling parameters.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-6 | INV_R_SCALE | R/W | 1h | Scaling factor for the INV_R parameter. 00b: INV_R_SCALE = 2 01b: INV_R_SCALE = 64 10b: INV_R_SCALE = 1024 11b: INV_R_SCALE = 8192 Refer to Section 8.3.6.1.2 for further explanation. |
5-4 | KMC_SCALE | R/W | 3h | Scaling factor for KMC parameter. 00b: KMC_SCALE = 24 x 28 01b: KMC_SCALE = 24 x 29 10b: KMC_SCALE = 24 x 212 11b: KMC_SCALE = 24 x 213 Refer to Section 8.3.6.1.3 for further explanation. |
3-2 | RC_THR_SCALE | R/W | 3h | Scaling factor for RC_THR. 00b: RC_THR_SCALE = 2 01b: RC_THR_SCALE = 8 10b: RC_THR_SCALE = 16 11b: RC_THR_SCALE = 64 |
1-0 | RC_THR_9:8 | R/W | 3h | Upper two bits of the 10-bit RC_THR Register. Threshold level to compare against RC_CNT based on the expected time of motor actuation. Ripple counting threshold = RC_THR x RC_THR_SCALE |
RC_CTRL3 is shown in Table 8-55.
Return to the Summary Table.
Set the INV_R parameter.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-0 | INV_R | R/W | 32d | User input based on motor coil resistance. INV_R = INV_R_SCALE / Motor Resistance. Must not be set to 0. Refer to Section 8.3.6.1.1 for further explanation. |
RC_CTRL4 is shown in Table 8-56.
Return to the Summary Table.
Set the KMC parameter.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-0 | KMC | R/W | 163d | Represents a proportional value of the motor back emf constant. KMC = (KV) / NR)*KMC_SCALE. Refer to Section 8.3.6.1.4 for further explanation. |
RC_CTRL5 is shown in Table 8-57.
Return to the Summary Table.
Set the filter damping constant.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-4 | FLT_K | R/W | 6d | Bandpass filter 1/Q factor. Sets the bandwidth of the bandpass filter. Recommended value is the default value: 6d. Refer to Section 8.3.6.1.5 for further explanation. |
3-0 | RSVD | R/W | 0h | Reserved |
RC_CTRL6 is shown in Table 8-58.
Return to the Summary Table.
Disable the Error Correction pulses for Ripple Counting.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7 | EC_PULSE_DIS | R/W | 0h | Disable the Error Correction Pulses. Differs from the EN_EC bit described previously.
0b: Error correction is always enabled. 1b: Error correction will stop giving pulses under certain conditions described in Section 8.3.6.1.11. |
6-4 | T_MECH_FLT | R/W | 4h | This parameter determines the cut-off frequency of a low pass filter at the output of the ripple counter to control the response time of the ripple counter to match the intertia of the mechanical system. Increase this value to for a slower response and decrease it for a faster response. |
3-2 | EC_FALSE_PER | R/W | 1h | Sets the window during which the error corrector classifies a current ripple as an extra ripple. 00b: 20% 01b: 30% 10b: 40% 11b: 50% |
1-0 | EC_MISS_PER | R/W | 1h | Sets the window during which the error corrector adds a missed ripple. 00b: 20% 01b: 30% 10b: 40% 11b: 50% |
RC_CTRL7 is shown in Table 8-59.
Return to the Summary Table.
Set the proportional constant in PI control loop.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-5 | KP_DIV | R/W | 1h | Used to select a division value for calculating the actual proportional constant for the PI control loop. Actual proportional constant = KP/KP_DIV. Settings are as follows: 000b: 32 001b: 64 010b: 128 011b: 256 100b: 512 101b: 16 110b: 1 |
4-0 | KP | R/W | 1h | Represents the PI loop KP constant. This is not the actual proportional constant that is fed into the gain block of the PI control loop. Rather, the actual proportional constant can be calculated using this value of the KP register. Actual Proportional Constant = KP/KP_DIV. For example, if actual proportional constant is 0.0625, then KP can be set to 1 (00001b), and KP_DIV can be set to 16 (corresponds to 101b), hence, Actual proportional constant = 1/16 = 0.0625. |
RC_CTRL8 is shown in Table 8-60.
Return to the Summary Table.
Set the integral constant in PI control loop.
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-5 | KI_DIV | R/W | 1h | Used to select a division value for calculating the actual integral constant for the PI control loop. Actual integral constant = KI/KI_DIV. Settings are as follows: 000b: 32 001b: 64 010b: 128 011b: 256 100b: 512 101b: 16 110b: 1 |
4-0 | KI | R/W | 1h | Represents the PI loop KI constant. This is not the actual integral constant that is fed into the gain block of the PI control loop. Rather, the actual integral constant can be calculated using this value of the KI register. Actual Integral Constant = KI/KI_DIV. For example, if actual integral constant is 0.90625, then KI can be set to 29 (11101b), and KI_DIV can be set to 32 (corresponds to 000b), hence, Actual integral constant = 29/32 = 0.90625. |