HCL 获取 ADC 数据
3 Mar 2025
Read time: 2 minute(s)
本节介绍了 HCL 模块的 ADC 数据获取方式及其工作流程。
双触发信号控制模式
在双触发信号控制模式 (HCL_SIG_TRG_EN = 0x0)下:
-
EPWM_ADC_CVRA 仅负责 HCL 的 AXI0 的电流采集。
-
EPWM_ADC_CVRB 仅负责 HCL 的 AXI1 的电流采集。
这意味着需要两个队列来完成双轴(AXI0 和 AXI1)的电流采集需求。
-
EPWM 模块产生 EPWM_ADC_CVRA 和 EPWM_ADC_CVRB 信号:
-
对于 ADC:EPWM_ADC_CVRA 和 EPWM_ADC_CVRB 信号分别用于触发 ADC0/1 的队列 Q1 和 Q2。
-
对于 HCL:
- EPWM_ADC_CVRA 触发 AXI0 电流环计算,所需数据来自 ADC0/1 的队列 Q1。当
EPWM_ADC_CVRA 信号被触发时,启动 ADC0/1 的队列 Q1 进行电流数据采集,这些数据用于
HCL 的 AXI0 电流环计算。
- ADC0 的队列 Q1 节点 0 的数据作为 HCL 的 AXI0 的 U 相电流。
- ADC1 的队列 Q1 节点 0 的数据作为 HCL 的 AXI0 的 V 相电流。
- EPWM_ADC_CVRB 触发 AXI1 电流环计算,所需数据来自 ADC0/1 的队列 Q2。当
EPWM_ADC_CVRB 信号触发时,启动 ADC0/1 的队列 Q2 进行电流数据采集,这些数据用于 HCL
的 AXI1 电流环计算。
- ADC0 的队列 Q2 节点 0 的数据作为 HCL 的 AXI1 的 U 相电流。
- ADC1 的队列 Q2 节点 0 的数据作为 HCL 的 AXI1 的 V 相电流。
- EPWM_ADC_CVRA 触发 AXI0 电流环计算,所需数据来自 ADC0/1 的队列 Q1。当
EPWM_ADC_CVRA 信号被触发时,启动 ADC0/1 的队列 Q1 进行电流数据采集,这些数据用于
HCL 的 AXI0 电流环计算。
-
-
当 ADC0/1 的队列完成节点 0 的数据采样后,将数据直接传送到 HCL 的 U 相和 V 相电流端口,触发 HCL 算法进行计算。
-
在应用 HCL 时,软件需要配置队列,将 U 相电流采集映射到 ADC0 的实时队列节点 0,将 V 相电流采集映射到 ADC1 的实时队列节点 0。

单触发信号控制模式
在单触发信号控制模式下,EPWM_ADC_CVRA 或 EPWM_ADC_CVRB 中的一个信号负责同时采集 HCL 的 AXI0 和 AXI1 的电流。这意味着单个队列可以完成双轴(AXI0 和 AXI1)的电流采集需求。
单轴控制如下:

- EPWM_ADC_CVRA 或 EPWM_ADC_CVRB 中的任意一个信号用于触发 ADC 模块进行电流采集。
- 该信号会启动 ADC 模块的一个队列(例如 Q1),并采集所需的电流数据。
双轴控制如下:

- HCL 的 AXI0 和 AXI1 的电流采集配置到同一个 ADC 队列中。
- 采集到的数据会分别用于 HCL 的 AXI0 和 AXI1 电流环计算。