JAJSST7 January 2024 MCF8315C-Q1
PRODUCTION DATA
Table 6-58 lists the memory-mapped registers for the Algorithm_Control registers. All register offset addresses not listed in Table 6-58 should be considered as reserved locations and the register contents should not be modified.
Offset | Acronym | Register Name | Section |
---|---|---|---|
ECh | ALGO_DEBUG1 | Algorithm Control Register | Section 6.8.4.1 |
EEh | ALGO_DEBUG2 | Algorithm Control Register | Section 6.8.4.2 |
F0h | CURRENT_PI | Current PI Controller used | Section 6.8.4.3 |
F2h | SPEED_PI | Speed PI controller used | Section 6.8.4.4 |
F4h | DAC_1 | DAC1 Control Register | Section 6.8.4.5 |
F6h | DAC_2 | DAC2 Control Register | Section 6.8.4.6 |
Complex bit access types are encoded to fit into small table cells. Table 6-59 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 |
ALGO_DEBUG1 is shown in Figure 6-88 and described in Table 6-60.
Return to the Summary Table.
Algorithm control register for debug
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
OVERRIDE | DIGITAL_SPEED_CTRL | ||||||
W-0h | W-0h | ||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
DIGITAL_SPEED_CTRL | |||||||
W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
CLOSED_LOOP_DIS | FORCE_ALIGN_EN | FORCE_SLOW_FIRST_CYCLE_EN | FORCE_IPD_EN | FORCE_ISD_EN | FORCE_ALIGN_ANGLE_SRC_SEL | FORCE_IQ_REF_SPEED_LOOP_DIS | |
W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
FORCE_IQ_REF_SPEED_LOOP_DIS | |||||||
W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | OVERRIDE | W | 0h | Use to control the reference input mode.
If OVERRIDE = 1b, speed command can be written by the user through I2C interface.
0h = Reference input based on SPEED_MODE 1h = Reference input based on DIGITAL_SPEED_CTRL |
30-16 | DIGITAL_SPEED_CTRL | W | 0h | If OVERRIDE = 1b or SPEED_MODE = 10b, then reference input is from DIGITAL_SPEED_CTRL |
15 | CLOSED_LOOP_DIS | W | 0h | Use to disable closed loop
0h = Enable closed loop 1h = Disable closed loop, motor commutation in open loop |
14 | FORCE_ALIGN_EN | W | 0h | Force align state
0h = Disable force align state, device comes out of align state if MTR_STARTUP is selected as ALIGN or DOUBLE ALIGN 1h = Enable force align state, device stays in align state if MTR_STARTUP is selected as ALIGN or DOUBLE ALIGN |
13 | FORCE_SLOW_FIRST_CYCLE_EN | W | 0h | Force slow first cycle
0h = Disable force slow first cycle state, device comes out of slow first cycle state if MTR_STARTUP is selected as SLOW FIRST CYCLE 1h = Enable force slow first cycle state, device stays in slow first cycle state if MTR_STARTUP is selected as SLOW FIRST CYCLE |
12 | FORCE_IPD_EN | W | 0h | Force IPD
0h = Disable force IPD state, device comes out of IPD state if MTR_STARTUP is selected as IPD 1h = Enable force IPD state, device stays in IPD state if MTR_STARTUP is selected as IPD |
11 | FORCE_ISD_EN | W | 0h | Force ISD enable
0h = Disable force ISD state, device comes out of ISD state if ISD_EN is set 1h = Enable force ISD state, device stays in ISD state if ISD_EN is set |
10 | FORCE_ALIGN_ANGLE_SRC_SEL | W | 0h | Force align angle state source
0h = Force align angle defined by ALIGN_ANGLE 1h = Force align angle defined by FORCED_ALIGN_ANGLE |
9-0 | FORCE_IQ_REF_SPEED_LOOP_DIS | W | 0h | Sets IQ ref (% of BASE_CURRENT) when speed loop is disabled If SPEED_LOOP_DIS = 1b, then Iq_ref is control using IQ_REF_SPEED_LOOP_DIS iqRef = (FORCE_IQ_REF_SPEED_LOOP_DIS /500) * BASE_CURRENT if FORCE_IQ_REF_SPEED_LOOP_DIS < 500 (FORCE_IQ_REF_SPEED_LOOP_DIS - 1024)/500 * BASE_CURRENT if FORCE_IQ_REF_SPEED_LOOP_DIS > 512 Valid values are 0 to 500 and 512 to 1000 |
ALGO_DEBUG2 is shown in Figure 6-89 and described in Table 6-61.
Return to the Summary Table.
Algorithm control register for debug
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | RESERVED | RESERVED | CURRENT_LOOP_DIS | FORCE_VD_CURRENT_LOOP_DIS | |||
R-0h | R-0h | R-0h | W-0h | W-0h | |||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
FORCE_VD_CURRENT_LOOP_DIS | |||||||
W-0h | |||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
FORCE_VQ_CURRENT_LOOP_DIS | |||||||
W-0h | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
FORCE_VQ_CURRENT_LOOP_DIS | MPET_CMD | MPET_R | MPET_L | MPET_KE | MPET_MECH | MPET_WRITE_SHADOW | |
W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | W-0h | |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31 | RESERVED | R | 0h | Reserved |
30-28 | RESERVED | R | 0h | Reserved |
27 | RESERVED | R | 0h | Reserved |
26 | CURRENT_LOOP_DIS | W | 0h | Use to control the FORCE_VD_CURRENT_LOOP_DIS and FORCE_VQ_CURRENT_LOOP_DIS.
If CURRENT_LOOP_DIS = '1', Current loop and speed loop is disabled
0h = Enable current loop 1h = Disable current loop |
25-16 | FORCE_VD_CURRENT_LOOP_DIS | W | 0h | Sets Vd when current and speed loops are disabled If CURRENT_LOOP_DIS = 1b, then Vd is control using FORCE_VD_CURRENT_LOOP_DIS mdRef = (FORCE_VD_CURRENT_LOOP_DIS /500) if FORCE_VD_CURRENT_LOOP_DIS < 500 (FORCE_VD_CURRENT_LOOP_DIS - 1024)/500 if FORCE_VD_CURRENT_LOOP_DIS > 512 Valid values: 0 to 500 and 512 to 1000 |
15-6 | FORCE_VQ_CURRENT_LOOP_DIS | W | 0h | Sets Vq when current and speed loops are disabled If CURRENT_LOOP_DIS = 1b, then Vq is control using FORCE_VQ_CURRENT_LOOP_DIS mqRef = (FORCE_VQ_CURRENT_LOOP_DIS /500) if FORCE_VQ_CURRENT_LOOP_DIS < 500 (FORCE_VQ_CURRENT_LOOP_DIS - 1024)/500 if FORCE_VQ_CURRENT_LOOP_DIS > 512 Valid values: 0 to 500 and 512 to 1000 |
5 | MPET_CMD | W | 0h | Initiates motor parameter measurement routine when set to 1b |
4 | MPET_R | W | 0h | Enables motor resistance measurement during motor parameter measurement routine
0h = Disables motor resistance measurement during motor parameter measurement routine 1h = Enable motor resistance measurement during motor parameter measurement routine |
3 | MPET_L | W | 0h | Enables motor inductance measurement during motor parameter measurement routine
0h = Disables motor inductance measurement during motor parameter measurement routine 1h = Enable motor inductance measurement during motor parameter measurement routine |
2 | MPET_KE | W | 0h | Enables motor BEMF constant measurement during motor parameter measurement routine
0h = Disables motor BEMF constant measurement during motor parameter measurement routine 1h = Enable motor BEMF constant measurement during motor parameter measurement routine |
1 | MPET_MECH | W | 0h | Enables motor mechanical parameter measurement during motor parameter measurement routine
0h = Disables motor mechanical parameter measurement during motor parameter measurement routine 1h = Enable motor mechanical parameter measurement during motor parameter measurement routine |
0 | MPET_WRITE_SHADOW | W | 0h | Write measured parameters to shadow register when set to 1b |
CURRENT_PI is shown in Figure 6-90 and described in Table 6-62.
Return to the Summary Table.
Current PI controller used
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
CURRENT_LOOP_KI | CURRENT_LOOP_KP | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | CURRENT_LOOP_KI | R | 0h | 10-bit register for current loop Ki Same scaling as CURR_LOOP_KI |
15-0 | CURRENT_LOOP_KP | R | 0h | 10-bit register for current loop Kp Same scaling as CURR_LOOP_KP |
SPEED_PI is shown in Figure 6-91 and described in Table 6-63.
Return to the Summary Table.
Speed PI controller used
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SPEED_LOOP_KI | SPEED_LOOP_KP | ||||||||||||||||||||||||||||||
R-0h | R-0h | ||||||||||||||||||||||||||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-16 | SPEED_LOOP_KI | R | 0h | 10-bit register for speed loop Ki Same Scaling as SPD_LOOP_KI |
15-0 | SPEED_LOOP_KP | R | 0h | 10-bit register for speed loop Kp Same Scaling as SPD_LOOP_KP |
DAC_1 is shown in Figure 6-92 and described in Table 6-64.
Return to the Summary Table.
DAC1 Control Register
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | DACOUT1_ENUM_SCALING | DACOUT1_SCALING | |||||
R-0h | W-8h | W-8h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
DACOUT1_SCALING | DACOUT1_UNIPOLAR | DACOUT1_VAR_ADDR | |||||
W-8h | W-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DACOUT1_VAR_ADDR | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-21 | RESERVED | R | 0h | Reserved |
20-17 | DACOUT1_ENUM_SCALING | W | 8h | Multiplication Factor for DACOUT1 Algorithm variable extracted from the address contained in DACOUT1_VAR_ADDR multiplied with 2DACOUT1_ENUM_SCALING. DACOUT1_ENUM_SCALING comes into effect only if DACOUT1_SCALING is zero |
16-13 | DACOUT1_SCALING | W | 8h | Scaling factor for DACOUT1
Algorithm variable extracted from the address contained in DACOUT1_VAR_ADDR scaled with DACOUT1_SCALING / 8. Actual voltage depends on DACOUT1_UNIPOLAR.
If DACOUT1_UNIPOLAR = 1b, 0V == 0pu of algorithmVariable * DACOUT1_SCALING / 8, 3V == 1pu of algorithmVariable * DACOUT1_SCALING / 8
If DACOUT1_UNIPOLAR = 0b, 0V == -1pu of algorithmVariable * DACOUT1_SCALING / 8, 3V == 1pu of algorithmVariable * DACOUT1_SCALING / 8
0h = Treated s Enum with max value being 31 1h = 1 / 8 2h = 2 / 8 3h = 3 / 8 4h = 4 / 8 5h = 5 / 8 6h = 6 / 8 7h = 7 / 8 8h = 8 / 8 9h = 9 / 8 Ah = 10 / 8 Bh = 11 / 8 Ch = 12 / 8 Dh = 13 / 8 Eh = 14 / 8 Fh = 15 / 8 |
12 | DACOUT1_UNIPOLAR | W | 0h | Configures output of DACOUT1
If DACOUT1_UNIPOLAR = 1, 0V == 0pu of algorithmVariable * DACOUT1_SCALING / 16, 3V == 1pu of algorithmVariable * DACOUT1_SCALING / 16
If DACOUT1_UNIPOLAR = 0, 0V == -1pu of algorithmVariable * DACOUT1_SCALING / 16, 3V == 1pu of algorithmVariable * DACOUT1_SCALING / 16
0h = Bipolar (Offset of 1.5 V) 1h = Unipolar (No Offset) |
11-0 | DACOUT1_VAR_ADDR | R/W | 0h | 12-bit address of variable to be monitored |
DAC_2 is shown in Figure 6-93 and described in Table 6-65.
Return to the Summary Table.
DAC2 Control Register
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
RESERVED | |||||||
R-0h | |||||||
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
RESERVED | DACOUT2_ENUM_SCALING | DACOUT2_SCALING | |||||
R-0h | W-X | W-8h | |||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
DACOUT2_SCALING | DACOUT2_UNIPOLAR | DACOUT2_VAR_ADDR | |||||
W-8h | W-0h | R/W-0h | |||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DACOUT2_VAR_ADDR | |||||||
R/W-0h | |||||||
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
31-23 | RESERVED | R | 0h | Reserved |
22-19 | DACOUT2_ENUM_SCALING | W | X | Multiplication Factor for DACOUT2 Algorithm Variable extracted from the address contained in DACOUT2_VAR_ADDR multiplied with 2DACOUT2_ENUM_SCALING. DACOUT2_ENUM_SCALING comes into effect only if DACOUT2_SCALING is zero |
18-15 | DACOUT2_SCALING | W | 8h | Scaling factor for DACOUT2
Algorithm Variable extracted from the address contained in DACOUT2_VAR_ADDR scaled with DACOUT2_SCALING / 8. Actual voltage depends on DACOUT2_UNIPOLAR.
If DACOUT2_UNIPOLAR = 1, 0V == 0pu of algorithmVariable * DACOUT2_SCALING / 8, 3V == 1pu of algorithmVariable * DACOUT2_SCALING / 8
If DACOUT2_UNIPOLAR = 0, 0V == -1pu of algorithmVariable * DACOUT2_SCALING / 8, 3V == 1pu of algorithmVariable * DACOUT2_SCALING / 8
0h = Treated s Enum with max value being 31 1h = 1 / 8 2h = 2 / 8 3h = 3 / 8 4h = 4 / 8 5h = 5 / 8 6h = 6 / 8 7h = 7 / 8 8h = 8 / 8 9h = 9 / 8 Ah = 10 / 8 Bh = 11 / 8 Ch = 12 / 8 Dh = 13 / 8 Eh = 14 / 8 Fh = 15 / 8 |
14 | DACOUT2_UNIPOLAR | W | 0h | Configures output of DACOUT2
If DACOUT2_UNIPOLAR = 1, 0V == 0pu of algorithmVariable * DACOUT2_SCALING / 16, 3V == 1pu of algorithmVariable * DACOUT2_SCALING / 16
If DACOUT2_UNIPOLAR = 0, 0V == -1pu of algorithmVariable * DACOUT2_SCALING / 16, 3V == 1pu of algorithmVariable * DACOUT2_SCALING / 16
0h = Bipolar (Offset of 1.5 V) 1h = Unipolar (No Offset) |
13-0 | DACOUT2_VAR_ADDR | R/W | 0h | 14-bit address of variable to be monitored |