1. 课程导入

在电机驱动、数字电源、储能变流器、伺服控制等场景中,控制器需要在极短时间内完成“采样—计算—输出”的闭环。传统MCU方案受限于中断响应、串行执行和PWM更新周期,往往难以同时满足高采样率、低延迟与多路并行控制的需求。FPGA凭借并行结构、可定制时序和纳秒级响应能力,成为高速电流闭环控制的重要实现平台。本课程围绕“电流采样链路如何设计、闭环算法如何映射到FPGA、系统如何验证与优化”三条主线展开,帮助学习者建立从模拟信号到数字控制输出的完整工程认知。

一、学习目标:从“能跑”到“可控、可测、可复现”

本课程不是单纯讲解FPGA语法,而是以电流采样与闭环控制为工程载体,训练以下能力:

  • 链路认知:理解分流电阻/霍尔传感器、信号调理、ADC、FPGA采样时序、坐标变换、电流环、PWM更新之间的信号流与时间关系。
  • 时序设计:能够根据ADC转换时间、串行/并行接口时序、PWM载波周期,规划采样触发点与闭环计算窗口。
  • 算法映射:将Clarke/Park变换、PI调节器、SVPWM或SPWM等算法拆解为可并行、可流水化的FPGA数据通路。
  • 定点实现:掌握Q格式、位宽规划、饱和截断、舍入策略,避免溢出与精度不足导致的闭环振荡。
  • 验证与排障:利用ILA、逻辑分析仪、DAC观测、阶跃响应和频响测试,定位采样偏置、相位延迟、时序违例等问题。
核心目标可以概括为一句话:在确定的PWM周期内,用确定的延迟完成确定的电流采样与闭环计算,并让结果可观测、可复现、可优化。

二、核心概念:采样、闭环与FPGA并行性

电流采样通常包括三个关键环节:传感(分流电阻、霍尔、电流互感器)、调理(放大、滤波、偏置、共模抑制)、量化(ADC采样保持与转换)。对于三相电机控制,常见做法是在PWM下桥臂导通或母线电流可观测点触发ADC,以获得相电流信息。采样时刻若与开关噪声重叠,会直接引入误差,因此“何时采”与“采什么”同样重要。

闭环控制的核心是反馈误差的快速修正。以电流环为例,控制器在每个PWM周期内读取电流反馈,与给定值比较,经PI调节器输出电压指令,再通过调制器生成新的占空比。若采样、计算、更新之间存在较大延迟,闭环带宽和相位裕度都会下降。FPGA的优势在于:ADC接口、滤波、坐标变换、PI运算、PWM生成可以并行或流水执行,从而把总延迟压缩到微秒级甚至更低。

需要特别区分两个概念:采样率决定反馈信息的更新速度,闭环更新率决定控制动作的刷新频率。二者可以相同,也可以不同。例如ADC以2 MSPS连续采样,而电流环以20 kHz更新;也可以让电流环与PWM同频,在每个载波周期完成一次采样与更新。课程后续会围绕不同架构展开对比。

三、整体框架:从模拟前端到功率级

下图给出本课程贯穿始终的系统框架。左侧是模拟采样链路,中间是FPGA内部的数据通路与控制算法,右侧是PWM输出与功率级,底部是时钟、复位与调试观测。图中同时标出了关键时间节点:ADC触发、转换完成、闭环计算、PWM更新。

FPGA电流采样与高速闭环控制整体框架 模拟采样前端 分流电阻 / 霍尔传感器 放大 · 滤波 · 偏置调理 ADC 采样保持与量化 数字码流 FPGA 内部数据通路与控制算法 ADC接口与采样时序 触发 · 对齐 · 去偏置 数字滤波与标定 滑动平均 · 增益校正 Clarke / Park 变换 三相 → αβ → dq 电流环 PI 调节器 定点 · 抗饱和 · 限幅 反Park与调制计算 SVPWM / SPWM PWM生成与死区 载波 · 比较 · 保护 时钟管理 · 复位同步 · ILA在线观测 时序约束 · 跨时钟域处理 · 触发捕获 PWM 功率级与执行机构 三相逆变桥 电机 / 负载 电流反馈回路 电流反馈:功率级 → 传感器 → 调理 → ADC → FPGA 关键时间节点: ADC触发 转换完成 闭环计算 PWM更新 下一周期

从图中可以看出,FPGA并不是孤立地“做算法”,而是处在模拟世界与功率世界之间,承担高速时序协调与并行计算的双重角色。任何一个环节的延迟或误差,都会在闭环中表现为相位滞后、电流纹波或控制精度下降。

四、典型应用场景与参数差异

不同应用对采样与闭环的要求差异很大。下表列出四类典型场景,帮助学习者在后续章节中建立“按需设计”的判断依据。

应用场景 典型PWM频率 电流环更新率 关键挑战
永磁同步电机伺服 10–20 kHz 10–20 kHz 低相位延迟、dq轴解耦、弱磁与过调制
数字电源Buck/Boost 100 kHz–1 MHz 100 kHz–1 MHz 窄脉冲采样、ADC孔径抖动、环路稳定性
储能PCS变流器 5–20 kHz 5–20 kHz 多路电流同步、并网谐波、保护响应
多轴运动控制 20–50 kHz 20–50 kHz 多轴并行、资源复用、同步触发与通信
学习建议:先明确目标应用的PWM周期与允许延迟,再反推ADC采样时刻、计算流水级数和PWM更新方式。不要先写代码再补时序,否则后期很难收敛。

五、常见误区与复盘思路

初学者在FPGA电流闭环中常遇到以下问题:

  1. 只关注算法,不关注采样时刻。在开关管动作瞬间采样,会引入大量噪声,导致电流波形毛刺和PI输出抖动。
  2. 忽略ADC转换时间与流水线延迟。若在PWM周期末尾才启动ADC,计算和更新可能来不及,实际闭环延迟超过一个周期。
  3. 定点位宽规划不足。PI积分器溢出或坐标变换中间结果截断,会造成稳态误差或极限环振荡。
  4. 缺少在线观测手段。没有ILA或DAC观测点,只能靠“猜”定位问题,调试效率极低。
  5. 跨时钟域处理随意。ADC接口时钟、控制时钟、PWM时钟不同源时,未做同步或握手,导致偶发采样错位。
排障优先级建议:先确认采样时刻与ADC数据对齐,再检查定点位宽与饱和策略,最后优化PI参数与调制方式。顺序颠倒会浪费大量时间。

本课程后续将按照“采样链路设计→FPGA时序与接口→坐标变换与PI定点实现→PWM生成与保护→闭环联调与性能评估”的路径逐步展开。每一章都会给出可综合的代码结构、关键参数和验证方法,帮助你把概念转化为可运行的FPGA工程。