电机控制(Motor Control)
本质与导读
本质 电机控制本质上是一个高速多环实时控制问题——在每个 50 μs 的 PWM 周期内,必须完成三相电流采样、坐标变换、PI 调节、SVPWM 计算、死区补偿,最终向逆变器输出六路 PWM 信号。控制算法(FOC)的精妙之处在于用两次旋转坐标变换,把三相交流的耦合解耦问题,变成了两个独立直流量的 PI 控制——这与直流电机的直觉完全一致,却在物理上完全不同。
1. 核心问题:为什么电机控制这么难
1.1 电机控制 deep topic 速查表
按 FOC / SVPWM / 位置感知 / 调制 / 拓扑 / 安全 6 类列主要 wiki 深度页 + 相关页:
| 阶段 | 主题 | 主 deep / 页 | 一句话作用 |
|---|---|---|---|
| FOC 算法 | FOC 原理 | FOC | Clarke + Park 变换 / d-q 解耦 / PI 控制器 |
| FOC 算法 | DTC vs FOC | DTC vs FOC | 直接转矩控制 vs 矢量控制 · 工程权衡 |
| PI 调节 | PI tuning 方法论 | PI Tuning | 三环带宽 + Zigler-Nichols + 实测 + 仿真 |
| SVPWM 调制 | SVPWM 原理 | SVPWM Modulation | 6 扇区 + 8 矢量 + 母线利用率 |
| SVPWM 调制 | SVPWM 深度 | SVPWM Deep | 扇区判断 + 驻留时间 + 死区补偿 |
| 位置感知 | Resolver 综述 | Resolver / RDC | resolver + R/D 转换 + plausibility |
| 位置感知 | Resolver 解码深度 | Resolver Decode deep | sin/cos 解算 + Type-II loop + 误差源 |
| 位置感知 | Resolver vs Encoder vs Sensorless | Resolver vs Encoder vs Sensorless | 3 种方案精度 / 鲁棒性 / 成本对比 |
| 位置感知 | Sensorless 观测器 | Observers Sensorless | EMF 观测 / 高频注入 / 低速难点 |
| 电机拓扑 | 轴向磁通电机 | Axial Flux Motor | 高转矩密度 · 紧凑结构 · 应用场景 |
| 功能安全 | 扭矩安全 | Torque Safety · 扭矩合理性检查 SM | STO / SS1 / SLS · ASIL D 主驱关键 SM |
→ 系统级架构 + 控制环 + 硬件平台 + 功能安全:见 §1-8 完整展开。
1.2 PMSM 的本质挑战
直流有刷电机的换向由机械电刷完成,磁场方向自动保持与转子正交,无需外部控制。但永磁同步电机(PMSM / IPMSM)没有电刷——控制器必须精确知道转子位置,并实时生成与之同步的旋转磁场。如果磁场与转子位置偏差超过 90°,转矩就会反向,电机失控。
PMSM 的数学模型(d-q 坐标系):
其中 是永磁体磁链, 是极对数,、 是 d/q 轴电感。对于表面贴装 PMSM(SPM),,转矩退化为 ——转矩完全由 决定,与直流电机的 完全类比。
1.3 三环控制层级与带宽约束
电机控制用三环嵌套实现"位置→速度→电流"逐级闭环——每环带宽 10× 嵌套关系(电流 1kHz、速度 100Hz、位置 10Hz)。这条带宽分离决定了 ADC 采样率和 PWM 频率要求。
电机控制系统由三个嵌套控制环组成,带宽从内到外递减。
带宽规则:每个外环的带宽不能超过内环的 1/5~1/10,否则外环会在内环还没建立响应时就发出超调指令,导致系统不稳定。
实时约束:电流环必须在一个 PWM 周期内(20 kHz → 50 μs)完成全部计算。在这 50 μs 内,MCU 需要:
- 触发 ADC 采样三相电流(< 1 μs)
- Clarke + Park 变换(< 1 μs)
- 两个 PI 控制器计算(< 1 μs)
- 逆 Park 变换 + SVPWM 扇区判断 + 占空比计算(< 3 μs)
- 更新 PWM 比较寄存器(< 1 μs)
- 死区补偿(< 1 μs)
总计约 8~15 μs,留给中断响应和其他任务的时间不足 35 μs。这解释了为什么汽车电机控制 MCU 必须有专用硬件加速单元(GTM、eMIOS)而不能依赖通用定时器。
2. FOC(磁场定向控制)原理
2.1 为什么需要 FOC
没有 FOC 的最简单控制方式是六步换向(6-step commutation):根据霍尔传感器的 3 位信号选择 6 种开关状态。这种方式在每 60° 电气角才切换一次,转矩波动高达 ±15%,且磁场方向与转子正交关系无法保证,效率低。
FOC 的核心思想是在旋转坐标系(d-q 轴)里操作:将三相交流量变换到与转子磁场同步旋转的坐标系,使磁场分量()和转矩分量()解耦,分别用独立的 PI 控制器控制。
2.2 Clarke 变换:三相 → 静止两相
将三相电流 (, , ) 变换为静止 αβ 坐标系:
(等幅值变换,假设 ,可用两相推算第三相)
矩阵形式(等幅值):
αβ 坐标系是静止的——α 轴固定在 a 相绕组轴线方向,β 轴超前 90°。变换后 、 仍然是正弦量(对于三相平衡系统),只是从三个量变成了两个正交量。
2.3 Park 变换:静止两相 → 旋转 d-q
将静止 αβ 量变换到与转子磁场同步旋转的 d-q 坐标系,θ 为转子电气角度:
矩阵形式:
物理意义:
在 d-q 坐标系中,稳态时 和 都是直流量,PI 控制器可以实现零稳态误差,这正是 FOC 解耦的优雅之处。
2.4 完整 FOC 控制框图
FOC 完整框图串起 6 个核心模块——Clarke、Park、PI(d/q)、SVPWM、逆 Park、Park。每个模块都有具体数学公式和实时性要求。下图给出标准框图。
2.5 解耦前馈补偿
理想 PI 控制假设 d/q 轴完全独立,但方程中存在交叉耦合项,下表列出两轴互相串扰的来源:
| 方程 | 耦合项 | 含义 |
|---|---|---|
| q 轴对 d 轴的干扰 | ||
| d 轴对 q 轴的干扰 |
高性能控制器会在 PI 输出后加入前馈解耦补偿:
在高速(ω 大)或大电流场景,不加解耦补偿会导致 d/q 轴电流相互串扰,电流环带宽显著下降。
3. SVPWM(空间矢量脉宽调制)
3.1 SVPWM vs SPWM:直流母线利用率
SPWM(正弦脉宽调制)将三相正弦参考信号与三角载波比较,最大输出相电压峰值为 ,对应线-线电压峰值 、线-线基波 RMS 。注意 是 SVPWM 的线-线 RMS 上限,不是 SPWM——两者上限勿混。
SVPWM 通过注入零序分量(三次谐波),将直流母线利用率提高约 15%:
提升比:。
这意味着同样的母线电压,SVPWM 能驱动更大转速的电机,或在相同转速下减小电流(降低铜损)。
3.2 8 个电压矢量与 6 个扇区
三相逆变器 6 个开关有 8 种合法状态,产生 8 个电压矢量。下表列出每个矢量的上桥臂状态、幅值与方向,其中 V0/V7 为零矢量,V1–V6 为有效矢量:
| 矢量 | 上桥臂 (A,B,C) | 幅值 | 方向 |
|---|---|---|---|
| V0 | (0,0,0) | 0 | 零矢量 |
| V1 | (1,0,0) | 0° | |
| V2 | (1,1,0) | 60° | |
| V3 | (0,1,0) | 120° | |
| V4 | (0,1,1) | 180° | |
| V5 | (0,0,1) | 240° | |
| V6 | (1,0,1) | 300° | |
| V7 | (1,1,1) | 0 | 零矢量 |
6 个有效矢量将 αβ 平面分成 6 个 60° 扇区,目标电压矢量 由相邻两个有效矢量 、 和零矢量合成:
3.3 扇区判断和驻留时间计算(以扇区 I 为例)
扇区 I: 在 0°~60° 之间,用 V1(0°)和 V2(60°)合成。
其中 为 PWM 周期, 为直流母线电压。
最小 THD 开关序列(对称采样,每个 PWM 周期对称分配):
V0(T0/4) → V1(T1/2) → V2(T2/2) → V7(T0/2) → V2(T2/2) → V1(T1/2) → V0(T0/4)
这种对称排列使三相 PWM 波形关于周期中点对称,谐波分量主要集中在开关频率整数倍,有利于滤波。
3.4 死区效应与补偿
为防止上下桥臂直通,每次开关切换时必须插入死区时间 (典型值 300 ns~2 μs)。死区引入的电压误差:
死区误差的方向与相电流极性有关:
- :实际占空比比参考值低,输出电压偏低
- :实际占空比比参考值高,输出电压偏高
补偿方法:检测相电流极性,在参考占空比上叠加补偿量:
D_comp = \begin{cases} + t_dead/T_s, i_phase > 0
- t_dead/T_s, i_phase < 0 \end{cases}
实际实现中需要在电流过零附近加迟滞或滤波,防止过补偿震荡。
3.5 过调制
当 幅值超过内切圆半径()进入六边形区域时,进入过调制(Overmodulation)。过调制分两个阶段:
- 过调制 I(MI 0.907~0.952): 轨迹部分超出六边形,通过限幅维持扇区约束,谐波增加
- 过调制 II(MI 0.952~1.0):完全进入六步换向,THD 最大,但直流母线利用率 100%
汽车驱动通常在正常工况避免过调制 II,但弱磁区域可能进入过调制 I。
4. 位置传感器
4.1 旋转变压器(Resolver)
旋转变压器是汽车主驱电机的主流位置传感方案。工作原理:初级绕组输入高频激励(5~10 kHz 正弦波),转子旋转导致两个正交次级绕组的互感系数按 sin(θ) 和 cos(θ) 变化:
通过旋转变压器数字转换器(RDC,如 AD2S1210)解调得到数字角度和速度。
RDC 解调原理(跟踪型):内部产生预估角度 φ,计算误差信号 ,PLL 环路驱动 φ 跟踪 θ,稳态时 φ = θ。
优点:
缺点:
- 需要激励电路和 RDC 芯片,电路复杂
- 激励频率影响精度(相位迟后需补偿)
- 成本较高
4.2 霍尔传感器
三个霍尔传感器按 120° 间隔安装,检测转子磁极极性,输出 3 位数字信号(000~111 中 6 个有效状态)。每 60° 电气角度切换一次,提供粗略的换向信号,用于六步换向控制。
精度:60° 分辨率(电气角),对于 4 极对数电机对应 15° 机械角 应用:低成本无刷直流电机(BLDC)驱动,EPS 早期方案,风扇/泵等 限制:无法支持高性能 FOC,开关瞬间位置误差大,高速时换向滞后
4.3 增量编码器
光电或磁性增量编码器输出 A/B 正交脉冲(通常还有 Z 零点脉冲)。分辨率由 PPR(每转脉冲数)决定,典型值 1000~10000 PPR,经 4 倍频后达 4000~40000 计数/转。
精度:高(< 0.1° 机械角,取决于 PPR) 限制:
- 需要启动时原点回零(上电不知道绝对位置)
- 光学编码器不耐高温、振动、油污
- 多用于工业伺服,汽车主驱少用
4.4 无传感器控制(Sensorless)
无传感器控制根据电压电流推算转子位置,无需物理传感器:
反电动势(Back-EMF)观测器(适用于中高速):
转子旋转产生反电动势 ,。通过观测器从电压电流方程中提取 e_α、e_β,进而计算 。低速时 Back-EMF 信号太小,信噪比差,精度恶化。
高频注入(HF Injection)(适用于零速和低速):
向 d 轴叠加高频电压信号(0.5~2 kHz),利用 IPMSM 的 d/q 轴电感差异()产生的高频电流响应中提取凸极信息,解调得到转子位置。仅适用于具有明显凸极比()的 IPMSM。
4.5 传感器方案对比
4.5.1 先看精度、低速能力和环境耐受
第一张表回答的是“能不能在这类工况里稳定测到转子位置”,所以先看分辨率、低速可用性和温度振动耐受。
| 特性 | 旋变 | 霍尔 | 编码器 | 无传感器 |
|---|---|---|---|---|
| 角度分辨率 | 12~16bit | 60°电气角 | 12~16bit | 中高速<1° |
| 低速/零速 | 好 | 好 | 好 | 差; 需HF注入 |
| 高温耐受 | 150°C | 125°C | 70~85°C | N/A |
| 振动耐受 | 极强 | 强 | 弱光学/强磁 | N/A |
4.5.2 再看成本、ASIL 能力和应用落点
第二张表回答的是“值不值得上”,也就是把单件成本、冗余能力和典型落地场景并排比较。
| 特性 | 旋变 | 霍尔 | 编码器 | 无传感器 |
|---|---|---|---|---|
| 成本 | 高 | 低 | 中 | 低; 算法复杂 |
| ASIL能力 | ASIL D双通道 | 难达ASIL D | 需冗余 | 难达ASIL D |
| 典型应用 | 汽车主驱; EPS | BLDC风扇 | 工业伺服 | 低成本变频 |
| 启动特性 | 立即绝对位置 | 立即粗略 | 需回零 | 需特殊策略 |
5. 弱磁控制(Field Weakening)
5.1 为什么需要弱磁控制
电机运行时转子永磁体产生反电动势(Back-EMF),幅值随转速线性增加:
当转速升高到 Back-EMF 接近直流母线电压时,逆变器输出电压已无法再驱动更多电流进入电机,转矩下降,无法进一步提速。这个临界点称为基速(Base Speed)。
弱磁区(转速 > 基速)的做法是注入负 电流,主动削弱转子磁链:
等效磁链降低后,相同转速下的 Back-EMF 下降,逆变器重新获得电压裕量,可以继续升速——代价是电机总电流增大( 占用了电流容量),转矩和效率下降。
5.2 MTPA 与 MTPV 策略
MTPA(Maximum Torque Per Ampere):在基速以下,寻找在给定定子电流幅值 约束下使转矩最大的 、 组合。
对于 SPM(),MTPA 对应 ,全部电流用于产生转矩。
对于 IPM(),磁阻转矩分量 非零,MTPA 最优点 (利用磁阻提升转矩),最优角:
MTPV(Maximum Torque Per Voltage):在深弱磁区,电压约束紧,寻找在给定电压幅值约束下使转矩最大的工作点。MTPV 轨迹与电流圆交点确定最大可用转矩。
5.3 约束边界图(ASCII)
电机控制5 个约束共同定义可工作区——电流极限、电压极限、最大转速、温度极限、机械应力。任一约束被破都会损坏电机或控制器。
在 d-q 电流平面中,电机工作点同时受两个约束。电压约束(电压椭圆方程):
随转速 ω 升高,椭圆收缩。工作点沿 MTPA 曲线运行直到触碰电压椭圆,然后沿电压椭圆向 − 方向滑动(弱磁),直到 MTPV 轨迹(深弱磁极限)。
6. 电机控制硬件平台
6.1 MCU 核心需求
电机控制 MCU 核心需求 6 项——多路 PWM、多路 ADC、专用定时器、DMA、浮点 FPU、ASIL 安全机制。这 6 项决定了主驱必须用 32-bit 实时 MCU(TC4x/RH850/S32K3)而不是 SoC。
| 需求 | 具体要求 | 原因 |
|---|---|---|
| 快速ADC | <1μs; 12~16bit | PWM周期内完成采样 |
| 同步ADC触发 | 与PWM中点同步 | 避免纹波误差 |
| 硬件PWM死区 | 分辨率<10ns | 软件死区不够精确 |
| 三相互补PWM | 6路PWM+2路门禁 | 一键触发STO |
| 计算能力 | FOC<15μs@20kHz | 需DSP指令或FPU |
| RDC接口 | SIN-COS模拟输入 | EDSADC或SINC滤波 |
FOC 对 MCU 的硬件需求远比普通 MCU 高,如上表所示。
6.2 主流平台对比
6.2.1 先看 MCU 内核与关键外设
第一张表聚焦的是“这颗控制器能不能把 FOC 跑起来”,所以只比较内核、PWM、ADC 和旋变接口这些硬能力。
| MCU | 内核 | 关键外设 |
|---|---|---|
| Infineon TC38x | TriCore 1.8 三核 | GTM; 4路ADC; EDSADC旋变 |
| TI F28379D | C28x DSP+CLA | ePWM 12路; eQEP; 4组ADC |
| Renesas RH850/C1x | G3M | TAUD/TAUJ定时器 |
| NXP S32K344 | M7@160MHz+FPU | eMIOS 3×24; EQDC编码器 |
| ST STM32G4 | M4+FPU+DSP | HRTIM 184ps; CORDIC |
6.2.2 再看定位与生态备注
第二张表回答的是“这颗 MCU 更适合什么项目边界”,把车规等级、软件生态和典型搭配一起放回工程语境。
| MCU | 定位 | 备注 |
|---|---|---|
| Infineon TC38x | 汽车主驱/EPS | ASIL D; GTM独立PWM |
| TI F28379D | 工业伺服+汽车辅驱 | CLA并行FOC |
| Renesas RH850/C1x | 汽车主驱 | 日系主流; 配RAA271004 |
| NXP S32K344 | 汽车辅驱/副驱 | 配GD3162; AUTOSAR |
| ST STM32G4 | 工业伺服+家电 | CORDIC加速变换 |
6.3 AURIX TC38x 电机控制外设详解
AURIX TC38x 专为电机控制设计的外设组合——GTM(电机定时器,12 路)、EDSADC(高速 ADC,过采样)、HSCT(高速 CAN-FD)。这套外设让 TC38x 可以跑满 100kHz+ 控制环。
TC38x 的 GTM(Generic Timer Module)是专为电机控制设计的硬件定时器子系统,独立于 CPU 运行。EDSADC(Enhanced Direct-Sampling Sigma-Delta ADC)直接连接旋转变压器的 SIN/COS 输出,内部实现 SINC 滤波和相位补偿,无需外部 RDC 芯片。这是 AURIX 在汽车电机控制中的核心竞争力之一。
7. 功能安全(STO/SS1/SLS)
7.1 安全功能概述
电机驱动安全功能按是否需要受控减速分两类——STO/SOS 直接断转矩或锁零速,SS1/SS2/SLS 先受控再断电。这套分类来源于 IEC 61800-5-2,在 ISO 26262 体系下通过 ASIL 分解实现等价。
| 安全功能 | 含义 | ASIL |
|---|---|---|
| STO Safe Torque Off | 立即切断转矩; 自由滑行 | D |
| SS1 Safe Stop 1 | 受控减速后触发STO | C/D |
| SS2 Safe Stop 2 | 受控减速后保持零速 | D |
| SLS Safely Limited Speed | 监控速度; 超限触发STO | C |
| SOS Safe Operating Stop | 保持零速; 轴锁定 | C |
IEC 61800-5-2(变速驱动功能安全)定义了多个电机驱动安全功能,汽车领域(ISO 26262)通过 ASIL 分解实现等价要求(如上表)。
7.2 STO:安全转矩断开
STO 靠双通道独立切断栅极驱动信号——通道 1 切断高侧使能、通道 2 切断低侧使能,任一通道失效另一通道仍能保证转矩归零。这条是 ASIL D 必需的硬件冗余路径。
STO 是最基本也是最重要的安全功能。STO 激活后,电机相电流在几毫秒内因反电动势自然衰减至零(无能量注入)。STO 不等于机械制动——电机轴仍然可以自由旋转,只是没有受控转矩。如果需要阻止轴旋转,需要叠加机械抱闸(用于 SOS/SS2)。
7.3 SS1:安全停止 1
SS1 是"先减速再断转矩"——触发后先按斜坡受控减速,监控减速进度,正常达阈值或超时/超速都会落入 STO。这条避免了 STO 的突然机械冲击。
SS1 在 STO 的基础上增加受控减速阶段:
SS1 适用于需要避免突然停机导致机械冲击的场景(机器人关节、EPS 转向)。
7.4 SLS:安全限速
SLS 持续监控电机速度,当速度超过设定阈值时触发 STO,其实现要素如下表,每一条都服务于"超速即安全停机"的目标:
| 实现要素 | 说明 |
|---|---|
| 独立速度监控路径 | 与主控 MCU 隔离,通常在安全 MCU 或专用逻辑 |
| 速度信息来源 | 旋转变压器 / 编码器(与主控共享但诊断独立) |
| 阈值可配置 | 通过 SPI 或硬件跳线,视 ASIL 要求而定 |
| 响应时间 < 安全时间 | 与 FMEA 危害分析结果对齐 |
7.5 功能安全实现要点
电机驱动功能安全实现有 4 条交叉的硬约束——双通道硬件独立、诊断覆盖率达标、反应时间快于 FTTI、与驱动 IC 协作。这 4 条任一不达标都拿不到 ASIL D。
-
双通道独立性:STO 的两条通道必须使用独立的硬件路径(不同电源域、不同 GPIO、不同驱动 IC 的 Enable 引脚),避免共因失效。
-
诊断覆盖率:ASIL D 要求 STO 的 SPFM(单点失效度量)≥ 99%。驱动 IC 的 DESAT 自检、UVLO 诊断、STO 通道的周期性测试(自检脉冲)都是覆盖率的来源。
-
反应时间:从危险事件触发到 STO 完成(电流为零)的时间必须短于 HARA 确定的容错时间区间(FTTI)。典型 FTTI 为 5~20 ms(EPS)或 100–200 ms(主驱,功能安全域 SSOT 定为单值要求 200 ms、保守内部目标 100 ms,见 扭矩安全 §11)。
-
与逆变器驱动 IC 的协作:参见 逆变器栅极驱动 IC — 驱动 IC 的 FAULT 输出和 Enable 引脚是 STO 的硬件执行机构;驱动 IC 的 DESAT 检测为 STO 的软件诊断提供独立数据源。
8. 离散 H 桥案例:最小电机控制器长什么样
有刷直流电机可以作为本页前面 PMSM / BLDC 控制链的反例。机械换向已经替控制器完成了电角度同步,因此控制目标不再是坐标变换、磁链定向和多环解耦,而是把直流母线安全地变成“可选方向 + 可调占空比”的端口电压。这个对照能把两类复杂度拆开:算法复杂度主要来自交流电机的同步问题,功率硬件复杂度则是所有桥式电机控制器的共性骨架。
8.1 为什么这类系统可以不用 MCU
这类低压 H 桥的控制任务已经被机械换向大幅简化。全桥里一侧桥臂承担 PWM 开关,另一侧桥臂只负责决定电流方向;速度通过占空比调,正反转通过导通桥臂切换,而不是通过三相电压矢量旋转来合成磁场。因此,只要目标是 12 V 到 48 V、约 5 A 量级的有刷执行器,离散逻辑就足以构成可工作的最小控制器。
| 设计边界 | 典型值 | 工程含义 |
|---|---|---|
| 母线与电流等级 | 12 V 到 48 V;约 5 A | 面向低压执行器,不是高压主驱 |
| PWM 频率 | 7.8 / 15.6 / 31.3 kHz | 在损耗、噪声和实现复杂度之间做硬件折中 |
| 占空比粒度 | 8 档 | 强调低成本和可重复,不追求伺服级连续调速 |
这个边界给出的结论很清楚:有刷直流 H 桥的难点不在控制数学,而在于怎样用最少硬件把功率路径、供电脉络和保护闭环组织起来。
8.2 最小 H 桥控制器至少要分成哪些功能链
即使没有 MCU,系统也仍然要把“想输出什么”“怎样安全切换”“故障时怎样停下来”分成独立链路,否则逻辑时序、驱动供电和功率路径会互相污染。离散 H 桥最典型的分解不是按器件分,而是按功能链分。
| 功能链 | 作用 | 关键实现 |
|---|---|---|
| Power supply | 先建立功率与逻辑辅助轨 | 输入保护;12 V 辅助轨;5 V 逻辑轨 |
| Clock / Duty / PWM | 生成频率、占空比和互锁逻辑 | 4 MHz 分频;多档 PWM;reset;dead-time;方向选择 |
| Driver / H-bridge / Protection | 把逻辑变成电机端口电压,并在故障时切断能量 | 高低侧驱动;charge pump;MOSFET 全桥;低侧分流;过流比较器 |
这个拆法的重要性在于它把软件状态机常做的事重新映射成硬件状态机:时钟链定义节拍,PWM 逻辑定义开关资格,driver 决定栅极能否真正到位,功率桥决定电机端口电压,保护链则决定失控时能否立刻关断。
8.3 为什么辅助供电和高侧供能比 PWM 更先决定系统能否工作
离散 H 桥最先失败的往往不是 PWM 算法,而是上电顺序和高侧供能。如果逻辑电源起不来、时钟树不同步,或者高侧驱动在 100% 占空比时失去刷新窗口,那么功率级会先掉进不可控状态,PWM 波形本身反而还来不及成为主矛盾。
8.3.1 先把 12 V 和 5 V 轨拉起来,逻辑链才有资格谈调制
这类设计通常先用启动网络把最小逻辑电源点亮,再让 buck 或辅助电源把 12 V 轨建立起来,最后再从 12 V 轨派生干净的 5 V 逻辑轨。这样做的目的不是追求高效率,而是把启动顺序锁成“先有稳定门限,再有开关动作”。对离散逻辑系统而言,这条链等价于 MCU 系统里的上电复位策略;如果次序反了,控制级和功率级会一起卡在半启动状态。
8.3.2 同一时钟树要同时服务 PWM、占空比分级和高侧刷新
没有 MCU 时,PWM 周期、占空比步进和 charge pump 刷新频率都必须从同一时钟树导出,否则占空比逻辑和高侧供电会各走各的。典型做法是用 4 MHz 基准经分频得到三档 PWM,再派生出更高一档的步进时钟,把一个周期切成固定 8 个时间片。这样得到的不是“连续可调”速度环,而是时序确定、状态有限、每一步都能说清下一拍发生什么的量化调制链。
8.3.3 只要允许高侧常导通,就不能默认 bootstrap 一定够用
当系统允许高侧 MOSFET 长时间全开、低侧长时间不切换时,bootstrap 电容会失去刷新窗口,高侧驱动电源会慢慢掉压,MOSFET 先从完全增强滑进线性区,然后才表现为过热或失控。也正因为如此,离散 H 桥往往专门保留一条 charge pump,用独立时钟持续刷新高侧浮地供电,而不是把高侧长期生存寄托在开关节点偶尔翻转上。这个判断并不只属于有刷 H 桥;凡是半桥、全桥或三相逆变器允许高侧连续导通,都必须先回答“高侧电源靠什么长期活着”。
8.4 过流保护为什么本质上是一台硬件状态机
这类系统的安全边界不是由某一颗 MOSFET 决定,而是由“检测链看到什么、动作链切掉什么、恢复链何时重新放行”共同决定。离散 H 桥最典型的做法是让一侧桥臂承担高频 PWM,另一侧桥臂承担方向选择;再把电流检测落在低侧,用最短的模拟路径把 fault 直接送回 PWM 使能链。
8.4.1 低侧分流的第一职责是形成可靠 fault 判据
低侧分流电阻把电机电流变成小电压信号:
这类信号只有百毫伏量级,所以它的第一目标不是高精度调速,而是给过流保护提供尽可能短、尽可能直接的输入。也因此,分流信号前通常会先加低通滤波,再进带偏置和迟滞的比较链,避免开关尖峰与寄生振铃把比较器变成误触发源。限流点本质上由参考阈值和分流电阻共同决定,可近似写成:
从工程意义上看,这说明低侧分流既是测量器件,也是功率器件:它同时决定阈值、抗噪声能力和自身热损耗。
8.4.2 fault 应该异步切断,恢复应该重新对齐到 PWM 周期边界
离散 H 桥更有代表性的设计不是“过流就关断”,而是“故障动作异步、恢复动作同步”。当比较器看到超限时,fault 直接把 PWM_EN 拉到禁止态,当前占空比立刻被压成 0,从而把单次过流事件限制在当前 PWM 周期内;但当故障消失后,系统不会在半个周期中途乱插一拍,而是等到下一次时钟边界再恢复导通。这实际上就是 cycle-by-cycle current limit:它优先保证功率级可继续运行,而不是像锁存保护那样优先保证系统停机。
8.5 为什么这更像评估平台,而不是单一固定设计
把这类案例继续往器件层看,会发现它的重点不只是“能驱动一台有刷电机”,而是把哪些变量该钉死、哪些变量该留给调试显式暴露出来。多封装 MOSFET footprint、可切换 jumpers 和 user selected 的阻容位都说明,装配版本本身就是设计变量,而不是版图落地后的偶然状态。
8.5.1 多封装与 gate 网络可切换,说明功率级是在被比较而不是被默认
同一桥臂支持不同 MOSFET 封装与跳线配置,意味着评估重点不仅是导通损耗,还包括热路径、寄生参数和开关波形差异。但一旦这么做,约束就不再只是“焊得上”,而是必须保证任一时刻只有一套功率器件和对应 gate 网络真正接入;否则未选中的 footprint 也会把寄生电容、电阻和振铃路径并进来,让实际波形脱离目标配置。
8.5.2 BOM 反推出来的是电压分层、时序分层和状态机分层
详细 BOM 往往能直接坐实三件事:控制核确实是由振荡器、计数器、施密特触发和门电路组成的硬件状态机;输入 TVS、局部钳位和多级去耦说明母线瞬态与逻辑门限已经被明确分层;大量 jumpers 与可选阻容位则说明这块板天生就面向装配比较与波形调试。对功率执行器而言,这种“把变量暴露出来”的透明性很有价值,因为失效复盘、限流验证和器件替换都能直接沿着因果链追到具体实现层。
8.6 这个反例对理解 BLDC / PMSM 控制有什么价值
把离散有刷 H 桥放回整页结构里,它最大的价值不是提供一套先进方案,而是帮我们区分哪些复杂度是所有桥式执行器共有的,哪些复杂度是 PMSM / BLDC 为了主动同步磁场才额外叠加出来的。
- 方向选择、PWM、dead-time、栅极驱动、输入保护、辅助电源和过流闭环,是几乎所有桥式电机控制器都绕不开的共性骨架。
- 坐标变换、电流环、速度环、位置环、观测器和弱磁控制,是交流电机为了扭矩平滑、动态性能和转子同步额外付出的算法复杂度。
- 因此,更复杂的 FOC 逆变器不是凭空多出一堆控制名词,而是在同一套桥式功率硬件之上,为解决同步与动态性能问题逐层加出来的控制层。
这个对照能帮助读者建立一个更稳的判断:电机控制的“难”,从来都不是单一维度的难;有些难来自电机物理本身,有些难来自任何桥式功率执行器都必须兑现的供电、驱动与保护链。
9. 端到端 FOC Worked Design
FOC 控制链的工程落地不是各模块独立调参,而是从电机参数出发依次确定 MTPA 工作点、PI 整定、实时计算时序,最终与功能安全 FTTI 预算对接——四步必须数字自洽。本节以一台代表性 100 kW EV IPMSM 配 AURIX TC397 为对象展开,参数取自公开主驱应用量级(Ld/Lq/psif 与 MTPA 弱磁深度页 的 IPMSM 模型一致;注意本页 worked example 取 fsw = 10 kHz,与 §1.3 通用示例的 20 kHz 是不同工作点)。
9.1 电机参数与 MTPA 工作点
先把电机参数钉死,后续每一步都从这张表推。下表是一组内部自洽的 IPMSM 参数(凸极比 Lq/Ld = 2 为 IPMSM 典型)。
| 参数 | 符号 | 取值 | 说明 |
|---|---|---|---|
| 极对数 | p | 4 | 8 极 |
| 定子电阻 | Rs | 10 mΩ (25°C) | 温升影响见 C1 |
| d 轴电感 | Ld | 0.3 mH | 凸极比 Lq/Ld = 2 |
| q 轴电感 | Lq | 0.6 mH | IPMSM 典型 |
| 永磁磁链 | psif | 0.08 Wb | 温度漂移见 C3 |
| 相峰值电流 | Imax | 250 A | inverter 电流限 |
| 母线电压 | Vdc | 400 V | |
| 开关频率 | fsw | 10 kHz | Ts = 100 μs |
IPMSM 凸极磁阻转矩方程(dq 轴模型,与 MTPA 弱磁深度页 §1 同一 SSOT):
MTPA 最优角推导:令 id 与 iq 用电流角表示(id = |Is|cos alpha,iq = |Is|sin alpha,取 Delta L = Lq - Ld > 0),对 alpha 求导置零,得关于 x = cos alpha 的二次方程:
代入 Delta L = 0.3 mH、|Is| = 250 A、psif = 0.08 Wb:
对应工作点 id = 250 × (−0.489) = −122 A,iq = 250 × √(1 − 0.489²) = 218 A。两种策略在同样 |Is| = 250 A 下的转矩:
MTPA 利用凸极磁阻使转矩提升 27%。对 SPMSM(Ld ≈ Lq)磁阻项为零,MTPA 退化为 id = 0。这里 −122 A 的负 id 不是代价,而是"净赚"——它同时贡献磁阻转矩并抬高基速(见 §9.2)。
9.2 基速与峰值功率核算
工作点定了,就能算这套 dq 电流在多高转速撞上电压天花板。稳态下(id、iq 时间导数为零)MTPA 点的电压分量:
电压极限取 SVPWM 线性区(峰值相电压 Vdc/√3 = 231 V,与 §3.1 一致,注意 0.577·Vdc 是 SVPWM 峰值上限),|Vs|² = 231² = 53333,代入求解:
换算机械转速与基速峰值功率:
关键对照(纠正常见误解):同一台电机若强行 id = 0(iq = 250 A 全给转矩),因保留全磁链,反而在更低转速就撞电压极限——解 Vd = −0.15ω、Vq = 2.5 + 0.08ω 得 ω ≈ 1351 rad/s,即 n ≈ 3226 rpm。MTPA 的负 id 自带部分弱磁,把基速抬高约 23%(3226 → 3968 rpm),同时转矩多 27%——所以 IPMSM 在基速以下用 MTPA 是双赢,没有"基速代价"。真正的高速权衡出现在基速之上的深弱磁区(见 C2),那里电压椭圆收缩才逼迫工作点离开 MTPA。
9.3 电流环 PI 整定
有了 RL 参数就能整定电流环。极点消零法(pole-zero cancellation)令 PI 积分时间常数等于电机 RL 时间常数,用 PI 零点抵消植株 RL 极点:
目标带宽取 fbw = fsw/10 = 1 kHz(单周期采样-计算延迟的稳定边界),omega_bw = 2π × 1000 = 6283 rad/s,则比例增益按各轴电感缩放:
内在一致性约束:极点消零后 Ki = Rs·omega_bw,与 L 无关——d/q 两轴 Ki 相同(62.8),只有 Kp 按 L 等比缩放。若代码里 d/q 轴 Ki 数值差异大,说明整定逻辑有误(常见于直接复制仿真参数未换算)。
9.4 TC397 实时计算时序
带宽定了,还得核实这套算法能不能在一个 PWM 周期里算完。TC397 TriCore 1.8(3 核 @300 MHz)配 GTM 独立定时器驱动 PWM(与 CPU 解耦)、EDSADC 直连旋变信号,典型耗时如下。
| 步骤 | 典型耗时 | 依据 |
|---|---|---|
| ADC 触发到数据就绪 | ~1.5 μs | EDSADC 过采样 + SINC(值随 OSR 变,取 AURIX UM 典型档) |
| Clarke + Park 变换 | ~1 μs | TriCore 浮点指令 |
| 2× PI + 前馈解耦 | ~1.5 μs | d/q 各一路 |
| 逆 Park + SVPWM | ~2 μs | 扇区判断 + 驻留时间 + 死区 |
| GTM 比较寄存器写入 | ~0.5 μs | ATOM 6 路同步更新 |
| 总计 | ~6.5 μs | < 50 μs(半周期),裕量 > 7× |
一个 PWM 周期内完成计算,比较值下一周期生效——传输延迟 = 1 个周期 = 100 μs = 0.1 ms。与 FTTI 预算对接:FOC 计算链的 FDTI ≤ 0.1 ms,远小于 EPS 的 FTTI(5 ms)与主驱的 FTTI(100–200 ms,见 扭矩安全 §11)。FOC 计算链不是 FTTI 瓶颈——瓶颈在软件状态机调度周期(FSM 每 10–15 ms 一拍)。硬件 DESAT 短路保护路径(FDTI ≈ 1.2 μs)属另一层预算,与 FOC 计算链独立。
10. 7 条 Gotcha 链
复杂系统里代价最高的错误往往不是计算出错,而是"正确的算法接了错的信号"或"调试台正常、硬件上失效"。以下 7 条是 FOC 工程实践中高频、高代价的陷阱。
G1 Clarke 归一化系数混用会让电流环增益偏 1.22× 而振荡。等幅值归一(amplitude-invariant)与功率不变归一(power-invariant)相差因子 √(2/3) ≈ 0.816。仿真工具(如 MATLAB Simulink 默认)常用功率不变型,嵌入式代码常用等幅值型;若直接把仿真整定的 Kp 烧录 MCU 未换算,1/0.816 = 1.22 倍的增益误差会让电流响应过冲、严重时振荡。诊断:额定稳态下若归一化正确,等幅值型 iq 应等于命令电流峰值而非 RMS 值。
G2 ADC 触发偏离 PWM 中点会把开关纹波混进 dq。三相电流含纹波,其峰峰值约为:
中点采样恰在纹波波峰波谷的平均处、纹波自然抵消;触发偏到 PWM 边沿则纹波直接叠进 Clarke 输入。对 Vdc = 400 V、D = 0.5、Lq = 0.6 mH、fsw = 10 kHz,Delta Ipp ≈ 400 × 0.25 / (0.6e−3 × 1e4) = 16.7 A——虽然折算到 iq 的均值偏差近零,但其 ripple 等效约 2 Nm 的转矩噪声,会给 ASIL D 扭矩监控窗口(典型 15–25 Nm,见 扭矩安全 §11)叠背景噪声,增大虚假触发风险。
G3 Park 变换漏乘极对数会让 FOC 在 1/p 速度处失稳。TC397 旋变接口输出机械角度,而 Park 变换需要电角度 theta_el = p × theta_mech。漏掉极对数(p = 4)时 dq 轴旋转速率比实际磁场慢 p 倍,当电机速度超过某个远低于基速的阈值,电流环跟不上真实旋转场、转矩脉动急升随即失稳。此类错误在把绝对编码器(直接输出机械角)移植到旋变系统时尤其高发。
G4 死区补偿迟滞过窄会在过零处振荡、注入 2× 基频可听噪声。死区补偿需在电流过零时反转补偿符号;迟滞窗若小于 ADC 量化噪声(约 0.5 A),过零附近频繁翻转,补偿量在正负之间震荡,注入 2× 基频谐波。对 1000 rpm(p = 4)基频 66.7 Hz,2× = 133 Hz——正落在人耳最敏感频段(100–1000 Hz),电机"嗡嗡异响"根因常在此,示波器看波形正常、听着不对。修复:迟滞窗取 3 倍 ADC 噪声约 1.5 A,高速段可放宽。
G5 弱磁 id 指令限幅方式错误会在深弱磁区产生电流尖峰。弱磁区 id 指令越来越负;若代码用标量 |Is| ≤ Imax 截断,但 d 轴 SVPWM 已饱和、q 轴仍追命令电流,暂态尖峰可达 Imax 的 120%。正确做法是在电压极限椭圆内分配 Vd、Vq,优先保证转矩通道 Vq(先满足 |Vq| ≤ √(Vmax² − Vd²),再据余量确定 Vd 的可用弱磁幅度)。不处理此项,深弱磁区电流尖峰频繁触发过流保护,表现为高速加速"随机断保"。
G6 MTPA 查找表未随温度补偿会在高温欠转矩、虚增铜损。NdFeB 永磁磁链 psif 随温度下降(标准 N 系牌号 Br 可逆温度系数约 −0.12%/°C,见 C3);从 25°C 到 125°C,psif 下降约 12%(0.08 → 0.070 Wb)。若 MTPA 表按 25°C 计算,高温时最优 iq 应更大而控制器仍输出偏小的 iq,导致约 12% 转矩欠缺,同时 id 仍偏深(多余铜损不产生转矩)。修复:在线估算 psif(稳态提取 psif = (Vq − Rs·iq − Lq·iq 导数)/omega),或电机 NTC 加温度补偿查表。
G7 旋变激励频率改变未更新 RDC 相位补偿会引入角度系统误差——但注意它主要是电流被打偏而非直接转矩误差。AD2S1210 等旋变数字转换器内置相位补偿,出厂匹配特定激励频率(如 10 kHz);若为降 EMI 改到 5 kHz,旋变次级信号相位迟后增加(漏感主导,phi_lag = arctan(omega·Lleak/Rmeas))而补偿寄存器未更新,解算角持续偏 Delta theta。这里有个反直觉点:对 id = 0 或 MTPA 工作点,角度误差 Delta theta 造成的转矩误差是二阶的(1 − cos Delta theta,4.5° 仅约 0.3%),因为 MTPA 本就是转矩对电流角的驻点;真正一阶的是被打偏到错误轴的电流分量 |Is|·sin Delta theta(4.5° 时约 7.8% 电流被误导入 d 轴)。这 7.8% 的误导电流才是危害:它造成额外铜损、部分弱磁/增磁,且当安全监控核用同一个偏了的角度重算扭矩时,IPMSM 的磁阻项 (Ld − Lq)·id·iq 会被系统性算错,把估算扭矩推向 ASIL D 合理性窗口的边缘。教训:别把"角度误差 = 等比例转矩误差"当常识——转矩对小角度误差不敏感,电流分配和监控一致性才是先崩的。
11. 3 条 Corner 分析
设计验证应在额定工况以外的极端设计点检查边界行为。以下三个 Corner 覆盖 FOC 在真实驱动系统中最常踩的边界。
C1 高温 +125°C 时 Rs 升 39%、极点消零失效、电流环谐振风险。铜绕组电阻温度系数约 3.9e−3/°C,从 25°C 到 125°C(升 100°C):
即 125°C 时定子电阻从 10 mΩ 升到 13.9 mΩ。PI 积分时间常数在代码中固化为 Tid = Ld/Rs(25°C) = 30 ms(PI 零点在 −33.3 rad/s),但高温时电机真实时间常数 tau_d = Ld/Rs(125°C) = 0.3e−3/0.0139 = 21.6 ms,植株 RL 极点移到 −46.3 rad/s——零点(33.3)低于极点(46.3),极点消零失败,在 33–46 rad/s 频段环路增益额外抬升,闭环出现约 20% 过冲,高温电流环谐振异响、严重时误触发过流保护。缓解:① 在线辨识 Rs(稳态注 id 读 Vd ≈ Rs·id,DESAT 静默期可测);② 电机 NTC 加代码在线更新 Ti;③ 以 Rs(125°C) 整定初始 PI,损失约 15% 低温带宽换高温稳定。
C2 深弱磁 3× 基速时 MTPA 到弱磁的切换边界。3× 基速电气角频率 omega = 3 × 1662 = 4986 rad/s,电压椭圆随之收缩,工作点被电流圆(id² + iq² ≤ 250²)与电压椭圆(中心在 −psif/Ld)的交集逼向 −id。三个关键边界行为:
-
磁阻转矩在深弱磁仍有正贡献:(Ld − Lq) < 0、id < 0、iq > 0,故 (Ld − Lq)·id·iq > 0,与 psif·iq 同向,延缓转矩塌落。
-
本机没有真正的 MTPV 区。判据是特征电流 Ich = psif/Ld = 0.08/0.3e−3 = 267 A,它 > Imax = 250 A(仅超 7%)——电压椭圆中心 (−267, 0) 落在电流圆外,属"有限最高转速"类:工作点撞到速度天花板时仍贴在电流圆上,经典 MTPV 轨迹几乎不可达。若想要真正的宽 MTPV 恒功率区(Ich ≤ Imax),需要更大 Ld 或更低 psif 的电机设计。
-
传输延迟在弱磁切换区最危险:id 在一个 PWM 周期内跃变超过约 50 A 时,若 100 μs 传输延迟内 SVPWM 先饱和,iq 会暂时失控 2–3 个周期,产生约 0.3 ms 的转矩尖峰;FTTI 100–200 ms 内无危险,但可引发过流保护。缓解:弱磁切换限 id 变化率(约 1e6 A/s)。
C3 NdFeB 磁链高温漂移到 ASIL D 监控窗口。125°C 时永磁磁链下降(标准 N 系牌号 Br 可逆温度系数约 −0.12%/°C;125°C 长期工作实际应选 SH/UH/EH 高温牌号,其系数量级相近):
即 125°C(升 100°C、系数 −0.12%/°C)时磁链从 0.08 掉到 0.070 Wb。对固定 iq = 200 A(id = 0 简化),实际转矩 Te_hot = 6 × 0.070 × 200 = 84.5 Nm,而 TC397 安全监控核若用固定 psif(25°C) = 0.08 重算:Te_est = 6 × 0.08 × 200 = 96.0 Nm,误差 +11.5 Nm(+13.6%)、监控核系统性虚报偏高。若扭矩合理性窗口设 ±15 Nm,高温正常工况满足 11.5 < 15 安全通过;若为更快检测真失效把窗口收到 ±8 Nm,高温正常运行反而误触发 STO 形成系统性虚警。与 扭矩安全 §11 的 ASIL D 接口对接有两条路:方案 A 用温度补偿 psif(TNTC) 消除系统误差,但 NTC 失效必须进诊断链(否则温度单点失效让补偿跑飞);方案 B 放宽窗口到 ≥ 20 Nm,另用电流绝对值监控(|Is| ≤ Imax + 5%)补精度——后者是否满足 SPFM ≥ 99% 需在 FMEDA 里核。
核心要点
- FOC 的本质:通过 Clarke + Park 两次坐标变换,把三相交流的耦合控制问题变成 d-q 旋转坐标系中两个独立直流量的 PI 控制, 控制磁通, 控制转矩。
- 控制环带宽层级:电流环 1~5 kHz → 速度环 100~500 Hz → 位置环 10~50 Hz,外环带宽不超过内环 1/5。
- SVPWM 优势:相比 SPWM,直流母线利用率高约 15%( vs ),谐波集中在开关频率整数倍。
- Park 变换依赖实时转子位置:θ 的精度直接决定 FOC 性能;θ 误差 > 10° 时转矩误差已不可接受。
- 旋转变压器是汽车主驱首选:耐高温、耐振动、ASIL D 友好;霍尔传感器用于低成本 BLDC;无传感器低速性能差需要 HF 注入补偿。
- 弱磁控制通过注入负 实现:降低等效磁链,降低 Back-EMF,扩展转速范围;代价是电流容量被 占用,转矩和效率下降。
- MTPA 在基速以下使用,MTPV 在深弱磁区使用:两者都是在约束条件(电流圆或电压椭圆)上寻找最优工作点。
- STO 是最基础的功能安全要求:双通道独立 Enable 路径,断开后电机自由滑行,ASIL D 可达;SS1 在此基础上增加受控减速。
- 汽车电机控制 MCU 选型关键:GTM/EDSADC(AURIX TC38x 优势)、CLA 协处理器(TI C2000 优势)、硬件死区精度、同步 ADC 触发——这些是普通 MCU 没有或薄弱的能力。
- 死区补偿不可忽视:20 kHz 载频下,1 μs 死区引入约 2% 的基波电压误差,会直接导致电流谐波和转矩脉动,高性能控制器必须补偿。
延伸阅读
- Texas Instruments: Implementing FOC for PMSM Using C2000 (SPRAA88)
- Infineon AURIX TC38x User Manual — GTM / EDSADC 章节
- ST Microelectronics: X-CUBE-MCSDK Motor Control SDK 源代码与 AN5397
- Boldea & Nasar: Electric Drives (第 2 版) — d-q 变换和弱磁理论
- Holmes & Lipo: Pulse Width Modulation for Power Converters — SVPWM 过调制详细推导
- IEC 61800-5-2: Adjustable Speed Electrical Power Drive Systems — Safety Requirements
Cross-references
- ← 索引
- 功率电子学 — 三相逆变器拓扑、开关损耗
- 栅极驱动(Gate Driver) — Bootstrap 电路、死区、UVLO
- MOSFET 技术 — 桥臂功率器件、Cross-talk、dV/dt 误开通
- 逆变器栅极驱动 IC — STO Enable 引脚、DESAT、五厂商对比
- SiC 器件 — SiC MOSFET 在电机驱动中的应用和 Cross-talk
- H-Bridge 电机驱动器热设计 — 集成双 H 桥(MC34932/33932)功耗分解 + RθJA 迭代 + 165°C 折返(有刷电机/执行器)
- IPMSM 电机热管理 Deep — 铜耗/铁耗/PM 涡流耗三元热源 + Cauer 热网络 + 退磁机制 + 100kW 端到端 Worked Design
- 汽车电子 — AEC-Q、EMC 要求、汽车环境约束
- 汽车微控制器 — AURIX TC38x、RH850、S32K3 平台详解
- 功能安全 — HARA、ASIL 分解、SPFM/LFM 计算
- FPGA 与数字设计 — FPGA 在电机控制中的角色(硬件 FOC、低延迟 PWM)
- ADC 与混合信号设计 — 电流采样 ADC 精度、同步触发、ENOB 与转矩精度的关系
- 比较器与信号调理(Comparator & Signal Conditioning)
- 电流传感器(Current Sensing)
- 位置传感器(Position Sensing)
- IPMSM 电机热管理 deep — 5 节点 Cauer 热网络 + 铜耗/铁耗/PM 涡流 + NdFeB 退磁安全分析