Edit online

Hardware Current Loop (HCL)

3 Mar 2025
Read time: 2 minute(s)
硬件电流环 (Hardware Current Loop, HCL) 是一种将伺服电机控制中的电流环算法硬件化的技术。与传统的软件电流环相比,HCL 提供了显著的性能优势,包括:
  • 释放更多的 CPU 资源,从而提升系统整体性能。
  • 确保电流环计算不被中断,显著提高电流环的带宽和实时性。

特性说明

  • 支持基本的电流环算法:包括 Clarke 变换、Park 变换、防积分饱和 PID、反 Park 变换、SVPWM 等。
  • 支持高级补偿算法:如死区补偿、电压补偿、交叉解耦、反电势补偿、位置补偿和过调制补偿。
  • 提供多种工作模式:Mode0 电流开环模式、Mode1 电流闭环模式、Mode2 正常工作模式。
  • 支持断续点工作模式,灵活地支持用户不同的算法需求。
  • 兼容正交编码器和绝对值编码器
  • 支持双轴电流环计算
  • 支持 SDFM 接口的外部 ADC 的电流采集

硬件电流环框图



1. 硬件电流环框图
硬件电流环框图中展示了 HCL 电流环算法的一次计算工作流程:
  • 从 EPWM 触发 ADC0/1 各自队列的第 1 点采集电机的 U 相电流和 V 相电流开始,同时 HCL 获取电流数据和位置数据(通过 QEP 或绝对值编码器接口 )。
  • 在获取数据后,HCL 依次进行 Clarke 变换、Park 变换、PID 计算、反 Park 变换和 SVPWM,最终完成一次的电流环算法。更新后的 PWM 占空比数据自动填写入对应 EPWM 模块的寄存器中。
由于硬件电流环需要其它硬件资源的配合,在使用 HCL 时需使能和配置相关硬件资源:
  • 使能 ADC0/1,并配置队列进行相电流的采样转换。

  • 选择 QEP、TA_IF、BIS_IF 或 EDAT_IF 中的任意一种编码器方式,用于获取位置数据。

  • EPWM 需使能 HCL 自动更新占空比功能。

  • CORDIC 模块使能,由于 HCL 需要触发 CORDIC 自动进行三角函数运算。

硬件电流环计算的频率是跟随 EPWM 中 EPWM_ADC_CVRA /B 触发信号,每次触发信号触发一次 ADC0/1 的采样转换、一次的编码器位置读取、一次的电流环计算和一次对 PWM 占空比更新。

实时控制外设互联图——HCL



HCL 单轴控制


single_axi_logic1

2. HCL 单轴控制时序图

HCL 单轴控制时序图所示,EPWM_ADC_CVRA 触发 ADC0 和 ADC1 进行 U 相和 V 相电流数据的采样转换(U 相和 V 相电流是安排在 ADC0/1 的队列中的第一个点)。在 ADC0/1 的第一个采样点完成转换后,HCL 自动读取 ADC 的数据,并且触发 HCL 进行一次电流环的计算。HCL 电流环计算完成后,PWM 的占空比结果硬件自动更新到 EPWM 模块中。

HCL 双轴控制

硬件电流环的双轴控制方式支持两种类型:
  • 双触发控制,如下图所示,通过 EPWM_ADC_CVRA 和 EPWM_ADC_CVRB 这两个触发信号,分别控制两轴的电机进行算法计算。

    dual_axi_logic1

    3. HCL 双触发控制双轴电机时序示例
  • 单触发控制,即只需要单个触发信号控制两轴的电机进行算法计算,如下图所示,可以通过 EPWM_ADC_CVRA 触发两轴的电机控制。


    4. HCL 单触发控制双轴电机时序示例