ZHDU069 March 2026 MSPM0G1507 , MSPM0G1519 , MSPM0G3507 , MSPM0G3519
表 8-10 展示了 sensorless-foc_DRV8316_LP_MSPM0G3507 工程的默认映射关系。
| 板层 | HAL 层 | SysConfig 配置 | ||
|---|---|---|---|---|
| SysConfig 层 | ||||
| 电路板连接 | ADC 通道数 | ADC 存储器 | HAL 层宏 | |
| A 相电流 | A0_3 | A0_MEM0 A0_MEM1 A1_MEM0 A1_MEM0 | ADC0_CURRENT_U_CH | 初始化 ADC0/ADC1 的存储器 0/1。通道选择无关紧要,因为 FOC 应用会在运行时根据 HAL 层的宏来动态覆盖通道设置。 |
| B 相电流 1 | A0_2 | ADC0_CURRENT_V_CH | ||
| B 相电流 2 | A1_2 | ADC1_CURRENT_V_CH | ||
| C 相电流 | A1_1 | ADC1_CURRENT_W_CH | ||
| 总线电压 | A1_3 | A1_MEM2 | FOC_ADC_VOLT_DC_INST ADC_VOLT_DC_IDX | 将 ADC1 通道 3 分配至存储器 2。 |
| A 相电压 | A1_6 | A1_MEM0 | ADC_VOLTAGE_U_INST ADC_VOLTAGE_U_IDX ADC_VOLTAGE_U_CH | 如果运行 ISD 函数,则不会在 SysConfig 中初始化,而在 FOC 应用中动态初始化。 |
| B 相电压 | A0_7 | A0_MEM0 | ADC_VOLTAGE_V_INST ADC_VOLTAGE_V_IDX ADC_VOLTAGE_V_CH | |
| C 相电压 | A1_5 | A1_MEM1 | ADC_VOLTAGE_W_INST ADC_VOLTAGE_W_IDX ADC_VOLTAGE_W_CH | |
| ADC 中断 | 不适用 | A0_MEM1 | FOC_ADC_ISR_INST | 利用加载的 MEM1 结果初始化 ADC0 中断配置。 |
| FOC_ADC_MEM_RES_LOAD | ||||
FOC 应用会针对不同模式动态修改 ADC 通道和 ADC 存储器结果寄存器映射。在 ISD 模式下,FOC 应用使用 ADC0 MEM0 和 ADC1 MEM0/1 存储采样的相电压。在其他模式下,FOC 应用使用 ADC0 MEM0/1 和 ADC1 MEM0/1 存储采样的相电流。表 8-11 展示了 FOC 应用使用的 Drv8316_focHalInterface.c 文件中的 API。
| FOC API | HAL 层宏 | 说明 |
|---|---|---|
| HAL_GD_ConfigureVoltageChannels() | ADC_VOLTAGE_X_INST ADC_VOLTAGE_X_IDX ADC_VOLTAGE_X_CH | 将相电压通道 (X_CH) 映射到 ADC 实例 (X_INST) 的特定 ADC MEM (X_IDX)。 X = U / V / W。 |
| HAL_GD_ReadVoltages() | ADC_VOLTAGE_U_INST ADC_VOLTAGE_U_IDX | 从 ADC 实例 (X_INST) 的 ADC MEM (X_IDX) 读取相电压。 X = U / V / W。 |
| HAL_GD_ConfigureCurrentChannels() | ADC0_CURRENT_X_CH | 将相电流通道 (X_CH) 映射到硬编码的 ADC 实例和 ADC 存储器。 X = U / V / W。 |
| HAL_GD_ReadCurrents() | 不适用 | 从 ADC 实例的硬编码 ADC 存储器读取相电流。 |
| HAL_GD_ReadDCVBusVoltage() | FOC_ADC_VOLT_DC_INST ADC_VOLT_DC_IDX | 从 ADC 实例的预定义 ADC 存储器读取总线电压。 |
以下章节将介绍用户硬件不遵循 SDK 工程默认映射时的流程。