92 #include "ti_msp_dl_config.h" 101 #define FOC_CURR_ADC0_INST (ADC0_INST) 103 #define FOC_CURR_ADC1_INST (ADC1_INST) 106 #define FOC_ADC0_INST (ADC0_INST) 108 #define FOC_ADC1_INST (ADC1_INST) 111 #define ADC0_IDX_0 (ADC0_ADCMEM_0) 113 #define ADC0_IDX_1 (ADC0_ADCMEM_1) 115 #define ADC0_IDX_2 (ADC0_ADCMEM_2) 117 #define ADC1_IDX_0 (ADC1_ADCMEM_0) 119 #define ADC1_IDX_1 (ADC1_ADCMEM_1) 121 #define ADC1_IDX_2 (ADC1_ADCMEM_2) 125 #define FOC_CURR_ADC0_IDX_0 (ADC0_ADCMEM_0) 127 #define FOC_CURR_ADC0_IDX_1 (ADC0_ADCMEM_1) 129 #define FOC_CURR_ADC0_IDX_2 (ADC0_ADCMEM_2) 131 #define FOC_CURR_ADC1_IDX_0 (ADC1_ADCMEM_0) 133 #define FOC_CURR_ADC1_IDX_1 (ADC1_ADCMEM_1) 135 #define FOC_CURR_ADC1_IDX_2 (ADC1_ADCMEM_2) 142 #define FOC_CAPTURE_IPD_INST (CAPTURE_INST) 144 #define FOC_CAPTURE_IPD_IDX (DL_TIMER_CC_0_INDEX) 146 #define FOC_CAPTURE_IPD_LOAD_VALUE (CAPTURE_INST_LOAD_VALUE) 148 #define FOC_CAPTURE_IRQN (CAPTURE_INST_INT_IRQN) 150 #define FOC_IPD_EVENT_CH (CAPTURE_INST_SUB_0_CH) 153 #define FG_OUTPUT_ENABLE 155 #ifdef FOC_GPIO_OUT_PORT 157 #define DRV8329_NSLEEP_PORT FOC_GPIO_OUT_PORT 160 #define DRV8329_NSLEEP_PORT FOC_GPIO_OUT_NSLEEP_PORT 164 #define DRV8329_NSLEEP_PIN FOC_GPIO_OUT_NSLEEP_PIN 167 #define FOC_PWMA0_U_IDX (GPIO_PWMA0_C0_IDX) 169 #define FOC_PWMA0_V_IDX (GPIO_PWMA0_C1_IDX) 171 #define FOC_PWMA0_W_IDX (GPIO_PWMA0_C2_IDX) 174 #define FOC_PWMA0_U_B_IDX (DL_TIMER_CC_3_INDEX) 176 #define FOC_PWMA0_V_B_IDX (DL_TIMER_CC_4_INDEX) 178 #define FOC_PWMA0_W_B_IDX (DL_TIMER_CC_5_INDEX) 180 #define FOC_ADC_TRIG_0_IDX (DL_TIMER_CC_0_INDEX) 182 #define FOC_ADC_TRIG_1_IDX (DL_TIMER_CC_1_INDEX) 185 #define FOC_CURR_ADC_INSTANCE (ADC1_INST) 188 #define ADC_FIRST_IDX (DL_ADC12_MEM_IDX_0) 190 #define ADC_SECOND_IDX (DL_ADC12_MEM_IDX_1) 193 #define FOC_ADC_ISR_INST (ADC0_INST) 195 #define FOC_ADC_MEM_RES_LOAD DL_ADC12_IIDX_MEM3_RESULT_LOADED 198 #define ADC_DC_CURRENT_CH (DL_ADC12_INPUT_CHAN_14) 202 #define FOC_ADC_VOLT_DC_INST (ADC0_INST) 204 #define ADC_VOLT_DC_IDX (ADC0_ADCMEM_1) 207 #define ADC_VOLTAGE_U_INST (ADC0_INST) 209 #define ADC_VOLTAGE_V_INST (ADC0_INST) 211 #define ADC_VOLTAGE_W_INST (ADC0_INST) 214 #define ADC_VOLTAGE_U_IDX (ADC0_ADCMEM_0) 216 #define ADC_VOLTAGE_V_IDX (ADC0_ADCMEM_2) 218 #define ADC_VOLTAGE_W_IDX (ADC0_ADCMEM_3) 221 #define ADC_VOLTAGE_U_CH (DL_ADC12_INPUT_CHAN_0) 223 #define ADC_VOLTAGE_V_CH (DL_ADC12_INPUT_CHAN_1) 225 #define ADC_VOLTAGE_W_CH (DL_ADC12_INPUT_CHAN_5) 233 #define FOC_CAPTURE_IPD_INST (CAPTURE_INST) 235 #define FOC_CAPTURE_IPD_IDX (DL_TIMER_CC_0_INDEX) 237 #define FOC_CAPTURE_IPD_LOAD_VALUE (CAPTURE_INST_LOAD_VALUE) 239 #define FOC_CAPTURE_IRQN (CAPTURE_INST_INT_IRQN) 241 #define FOC_IPD_EVENT_CH (CAPTURE_INST_SUB_0_CH) 243 #ifndef __CURRENT_SINGLE_SHUNT 246 #define FOC_PWMA0_U_IDX (GPIO_PWMA0_C0_IDX) 248 #define FOC_PWMA0_V_IDX (GPIO_PWMA0_C1_IDX) 250 #define FOC_PWMA0_W_IDX (GPIO_PWMA0_C2_IDX) 252 #define FOC_PWMA0_ADC_TRIG_IDX (GPIO_PWMA0_C3_IDX) 255 #define FOC_PWMA0_ADC_TRIG_UP_EVENT (DL_TIMERA_EVENT_CC3_UP_EVENT) 257 #define FOC_PWMA0_ADC_TRIG_DN_EVENT (DL_TIMERA_EVENT_CC3_DN_EVENT) 260 #define FOC_ADC_ISR_INST (ADC0_INST) 262 #define FOC_ADC_MEM_RES_LOAD DL_ADC12_IIDX_MEM1_RESULT_LOADED 265 #define ADC1_CURRENT_U_CH (DL_ADC12_INPUT_CHAN_14) 267 #define ADC1_CURRENT_V_CH (DL_ADC12_INPUT_CHAN_13) 269 #define ADC0_CURRENT_W_CH (DL_ADC12_INPUT_CHAN_4) 274 #define FOC_PWMA0_U_IDX (GPIO_PWMA0_C2_IDX) 276 #define FOC_PWMA0_V_IDX (GPIO_PWMA0_C3_IDX) 278 #define FOC_PWMA0_W_IDX (GPIO_PWMA0_C1_IDX) 281 #define FOC_PWMA0_U_B_IDX (DL_TIMER_CC_5_INDEX) 283 #define FOC_PWMA0_V_B_IDX (DL_TIMER_CC_0_INDEX) 285 #define FOC_PWMA0_W_B_IDX (DL_TIMER_CC_4_INDEX) 287 #define FOC_ADC_TRIG_0_IDX (DL_TIMER_CC_0_INDEX) 289 #define FOC_ADC_TRIG_1_IDX (DL_TIMER_CC_1_INDEX) 292 #define FOC_ADC_ISR_INST ADC0_INST 294 #define FOC_ADC_MEM_RES_LOAD DL_ADC12_IIDX_MEM0_RESULT_LOADED 297 #define ADC0_DC_CURRENT_CH (DL_ADC12_INPUT_CHAN_3) 299 #define ADC1_DC_CURRENT_CH (DL_ADC12_INPUT_CHAN_3) 303 #define FOC_ADC_VOLT_DC_INST (ADC0_INST) 305 #define ADC_VOLT_DC_IDX (ADC0_ADCMEM_1) 308 #define ADC_VOLTAGE_U_INST (ADC0_INST) 310 #define ADC_VOLTAGE_V_INST (ADC0_INST) 312 #define ADC_VOLTAGE_W_INST (ADC0_INST) 315 #define ADC_VOLTAGE_U_IDX (ADC0_ADCMEM_0) 317 #define ADC_VOLTAGE_V_IDX (ADC0_ADCMEM_2) 319 #define ADC_VOLTAGE_W_IDX (ADC0_ADCMEM_3) 322 #define ADC_VOLTAGE_U_CH (DL_ADC12_INPUT_CHAN_0) 324 #define ADC_VOLTAGE_V_CH (DL_ADC12_INPUT_CHAN_1) 326 #define ADC_VOLTAGE_W_CH (DL_ADC12_INPUT_CHAN_5) 333 #ifdef FOC_GPIO_OUT_PORT 335 #define DRV8316_SPI_NSCS_PORT FOC_GPIO_OUT_PORT 338 #define DRV8316_SPI_NSCS_PORT FOC_GPIO_OUT_NSCS_PORT 342 #define DRV8316_SPI_NSCS_PIN FOC_GPIO_OUT_NSCS_PIN 345 #define FOC_CAPTURE_IPD_INST (CAPTURE_INST) 347 #define FOC_CAPTURE_IPD_IDX (DL_TIMER_CC_0_INDEX) 349 #define FOC_CAPTURE_IPD_LOAD_VALUE (CAPTURE_INST_LOAD_VALUE) 351 #define FOC_CAPTURE_IRQN (CAPTURE_INST_INT_IRQN) 353 #define FOC_IPD_EVENT_CH (CAPTURE_INST_SUB_0_CH) 356 #define FOC_PWMA0_U_IDX (GPIO_PWMA0_C0_IDX) 358 #define FOC_PWMA0_V_IDX (GPIO_PWMA0_C1_IDX) 360 #define FOC_PWMA0_W_IDX (GPIO_PWMA0_C2_IDX) 362 #define FOC_PWMA0_ADC_TRIG_IDX (GPIO_PWMA0_C3_IDX) 365 #define FOC_PWMA0_ADC_TRIG_UP_EVENT (DL_TIMERA_EVENT_CC3_UP_EVENT) 367 #define FOC_PWMA0_ADC_TRIG_DN_EVENT (DL_TIMERA_EVENT_CC3_DN_EVENT) 370 #define FOC_ADC_ISR_INST (ADC0_INST) 372 #define FOC_ADC_MEM_RES_LOAD DL_ADC12_IIDX_MEM1_RESULT_LOADED 375 #define FOC_ADC_VOLT_DC_INST (ADC0_INST) 377 #define ADC_VOLT_DC_IDX (ADC0_ADCMEM_2) 380 #define ADC1_CURRENT_U_CH (DL_ADC12_INPUT_CHAN_13) 382 #define ADC1_CURRENT_V_CH (DL_ADC12_INPUT_CHAN_14) 384 #define ADC0_CURRENT_V_CH (DL_ADC12_INPUT_CHAN_12) 386 #define ADC0_CURRENT_W_CH (DL_ADC12_INPUT_CHAN_2) 389 #define ADC_VOLTAGE_U_INST (ADC0_INST) 391 #define ADC_VOLTAGE_V_INST (ADC0_INST) 393 #define ADC_VOLTAGE_W_INST (ADC0_INST) 396 #define ADC_VOLTAGE_U_IDX (ADC0_ADCMEM_0) 398 #define ADC_VOLTAGE_V_IDX (ADC0_ADCMEM_1) 400 #define ADC_VOLTAGE_W_IDX (ADC0_ADCMEM_3) 403 #define ADC_VOLTAGE_U_CH (DL_ADC12_INPUT_CHAN_0) 405 #define ADC_VOLTAGE_V_CH (DL_ADC12_INPUT_CHAN_1) 407 #define ADC_VOLTAGE_W_CH (DL_ADC12_INPUT_CHAN_5) 416 #define FOC_CAPTURE_IPD_INST (CAPTURE_INST) 418 #define FOC_CAPTURE_IPD_IDX (DL_TIMER_CC_0_INDEX) 420 #define FOC_CAPTURE_IPD_LOAD_VALUE (CAPTURE_INST_LOAD_VALUE) 422 #define FOC_CAPTURE_IRQN (CAPTURE_INST_INT_IRQN) 424 #define FOC_IPD_EVENT_CH (CAPTURE_INST_SUB_0_CH) 427 #define FOC_PWMA0_U_IDX (GPIO_PWMA0_C2_IDX) 429 #define FOC_PWMA0_V_IDX (GPIO_PWMA0_C3_IDX) 431 #define FOC_PWMA0_W_IDX (GPIO_PWMA0_C1_IDX) 433 #define FOC_PWMA0_ADC_TRIG_IDX (GPIO_PWMA0_C0_IDX) 436 #define FOC_PWMA0_ADC_TRIG_UP_EVENT (DL_TIMERA_EVENT_CC0_UP_EVENT) 438 #define FOC_PWMA0_ADC_TRIG_DN_EVENT (DL_TIMERA_EVENT_CC0_DN_EVENT) 441 #define FOC_ADC_ISR_INST (ADC0_INST) 443 #define FOC_ADC_MEM_RES_LOAD DL_ADC12_IIDX_MEM1_RESULT_LOADED 446 #define FOC_ADC_VOLT_DC_INST (ADC1_INST) 448 #define ADC_VOLT_DC_IDX (ADC1_ADCMEM_2) 451 #define ADC0_CURRENT_U_CH (DL_ADC12_INPUT_CHAN_3) 453 #define ADC0_CURRENT_V_CH (DL_ADC12_INPUT_CHAN_1) 455 #define ADC1_CURRENT_V_CH (DL_ADC12_INPUT_CHAN_2) 457 #define ADC1_CURRENT_W_CH (DL_ADC12_INPUT_CHAN_1) 460 #define ADC_VOLTAGE_U_INST (ADC1_INST) 462 #define ADC_VOLTAGE_V_INST (ADC0_INST) 464 #define ADC_VOLTAGE_W_INST (ADC1_INST) 467 #define ADC_VOLTAGE_U_IDX (ADC1_ADCMEM_0) 469 #define ADC_VOLTAGE_V_IDX (ADC0_ADCMEM_0) 471 #define ADC_VOLTAGE_W_IDX (ADC1_ADCMEM_1) 474 #define ADC_VOLTAGE_U_CH (DL_ADC12_INPUT_CHAN_6) 476 #define ADC_VOLTAGE_V_CH (DL_ADC12_INPUT_CHAN_7) 478 #define ADC_VOLTAGE_W_CH (DL_ADC12_INPUT_CHAN_5) Measure voltage structure.
Definition: measure.h:317
uint32_t gateDriverGetFaultStatus(void)
Gets gate driver fault status.
void HAL_GD_ReadDCVBusVoltage(HAL_MEASURE_VOLTAGE_T *pVoltage)
Reads DC bus voltage.
custom gate driver Module
uint32_t gateDrivernFaultReport
Extern gate driver fault report.
DRV8329_H gate driver Module.
DRV8323 gate driver Module.
void HAL_currentReconstruction(HAL_MEASURE_CURRENT_T *pCurrent, MC_SECTOR_TYPES sector)
Reconstruct phase current from bus current.
void gateDriverCSACalib(void)
Calibrates gate driver CSA.
void HAL_GD_ReadVoltages(HAL_MEASURE_VOLTAGE_T *pVoltage)
Read phase voltage from gate driver.
Measure current structure.
Definition: measure.h:244
uint16_t gateDriverRegRead(int16_t regAddr)
Reads any gate driver register, used for testing spi communication.
void gateDriverFaultResponse(HV_DIE_EEPROM_INTERFACE_T *pGateDriverConfig)
Response to any occurred fault.
HAL interface for FOC Module.
void gateDriverClearFault(void)
Clears gate driver fault.
MC_SECTOR_TYPES
Sector types.
Definition: mcLib.h:183
void gateDriverOffsetCalibReset(void)
Calibrates gate driver CSA offset reset.
DRV8316 gate driver Module.
CURRENT_SHUNT_TYPES
HAL measurement types.
Definition: measure.h:132
uint32_t gateDriverFaultAction
Extern gate driver fault action.
void gateDriverInit(void)
Initializes gate drive module.
void gateDriverParamsUpdate(HV_DIE_EEPROM_INTERFACE_T *pGateDriverConfig)
Updates gate driver parameters.
void HAL_GD_ReadCurrents(HAL_MEASURE_CURRENT_T *pCurrent)
Read Current from gate driver.
void gateDriverOffsetCalibSet(void)
Calibrates gate driver CSA offset.
void HAL_GD_ConfigureVoltageChannels(void)
Configure phase voltage channels.
void gateDriverConfig(void)
Initializes gat driver register configuration.
void HAL_GD_ConfigureCurrentChannels(CURRENT_SHUNT_TYPES currentShunt)
Configure phase current channels.