Edit online

HCL 获取 ADC 数据

3 Mar 2025
Read time: 2 minute(s)

本节介绍了 HCL 模块的 ADC 数据获取方式及其工作流程。

HCL 可通过以下工作方式获取 ADC 数据:

双触发信号控制模式

在双触发信号控制模式 (HCL_SIG_TRG_EN = 0x0)下:
  • EPWM_ADC_CVRA 仅负责 HCL 的 AXI0 的电流采集。

  • EPWM_ADC_CVRB 仅负责 HCL 的 AXI1 的电流采集。

这意味着需要两个队列来完成双轴(AXI0 和 AXI1)的电流采集需求。

  1. 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 相电流。
  2. 当 ADC0/1 的队列完成节点 0 的数据采样后,将数据直接传送到 HCL 的 U 相和 V 相电流端口,触发 HCL 算法进行计算。

  3. 在应用 HCL 时,软件需要配置队列,将 U 相电流采集映射到 ADC0 的实时队列节点 0,将 V 相电流采集映射到 ADC1 的实时队列节点 0。



1. 单轴模式下 HCL、ADC、EPWM_ADC_CVRA/B 的控制时序关系


2. 双轴模式下 HCL、ADC、EPWM_ADC_CVRA/B 的控制时序关系

单触发信号控制模式

在单触发信号控制模式下,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 电流环计算。