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 的电流采集
硬件电流环框图
硬件电流环框图中展示了 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 单轴控制

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 这两个触发信号,分别控制两轴的电机进行算法计算。
图 3. HCL 双触发控制双轴电机时序示例 - 单触发控制,即只需要单个触发信号控制两轴的电机进行算法计算,如下图所示,可以通过 EPWM_ADC_CVRA 触发两轴的电机控制。
图 4. HCL 单触发控制双轴电机时序示例