BAT32A237 + CMSA6164 汽车电子水泵:45–150W 无感FOC真实方案与核心代码 | 中微单片机代理
基于中微半导公开英文方案核验的 BAT32A237 + CMSA6164 汽车电子水泵工程案例。包含官方系统框图、可实现的单分流无感FOC功率拓扑、采样与保护要点,以及原创C语言快速环代码框架。
这不是用“FOC”“车规”等关键词拼接的概念稿。本文以中微半导英文官网公开的 FOC Automotive Water Pump Solution 为可追溯案例,重新组织为工程开发人员可审阅的设计说明:先区分已公开的事实与必须自行确认的实现细节,再给出单分流功率结构、采样时序逻辑和一段原创的 C 语言快速环框架。
真实性与边界先说清:官网公开确认该方案由 BAT32A237 与 CMSA6164 构成,面向 45–150W、12V/24V、单电阻无感 FOC 的汽车水泵应用;公开页面提供系统框图和指标,但没有发布整机原理图、PCB、BOM 或量产固件。因此,本文的“工程落地拓扑”和 C 代码是基于公开架构与器件能力写成的原创参考实现,不是原厂量产源码或原厂完整原理图。量产设计必须以签核的数据手册、样机测试和整车规范为准。
1. 可复核的公开案例:它实际公开了什么
中微半导英文官网将该项目定义为 FOC 汽车水泵方案:以 Arm Cortex-M0+ 内核的 BAT32A237 和 CMSA6164 电机驱动芯片构成,服务发动机冷却和电池包冷却场景。页面给出的公开边界是 45–150W、12V/24V、500–20,000rpm、单分流、无感 FOC,并列出过欠压、过流、堵转、缺相及启动等保护/控制目标。
工程判断:“方案页存在”只证明架构和目标参数真实公开,不等于任何一组 MOSFET、分流电阻、母线 TVS 或 PI 参数都能直接复制。汽车水泵的水力负载、转子惯量、绕组参数、线束浪涌和热边界都会改变这些定值。
图 1:公开方案系统框图。图中可见 BAT32A237 的 ADC、GPIO、EPWM、PGA、ACMP,与预驱动、U/V/W 三相逆变桥、电流采样及短路保护的关系。来源:中微半导公开水泵方案图。| 公开项 | 工程含义 | 设计时不能跳过的确认项 |
|---|---|---|
| BAT32A237 | 负责 EPWM、ADC/PGA、比较器、状态机和 LIN 等接口协同。 | 选用封装的 EPWM/ADC 通道数、引脚复用及器件包版本。 |
| CMSA6164 | 方案页指定的三相预驱动器,驱动外置双 N-MOS 功率桥。 | 核对 BOM 上的完整料号与签核版手册;官网独立产品页名称为 CMS6164,不能仅凭名称推断 A 版本的全部电气参数。 |
| 单电阻无感 FOC | 一个低侧 DC-link 分流器在一个 PWM 周期内取得两次有效电流样本,重构三相电流。 | 最小采样窗、ADC 触发点、PGA 增益、offset 校准、噪声与过调制策略。 |
| 12V / 24V、≤150W | 母线、电源保护、MOSFET 和散热设计必须覆盖实际车型瞬态和最大工况。 | ISO 7637、ISO 16750、线束/反接/冷启动要求及客户 DVP。 |
2. 从系统框图到可布板的功率结构
公开图讲清了功能分工,却没有给出元件级连接。下面的结构图把它翻译成可用于原理图评审的功率链路。它刻意不虚构电阻、电容或 MOSFET 型号:这些数值必须从电机峰值相电流、驱动器数据手册、开关频率、热仿真和车辆瞬态试验中求得。
图 2:原创工程落地拓扑。它用于解释走线、采样和保护关系。2.1 PCB 分区示意:把电流路径和采样路径分开
这张原创 PCB 配图对应图 2 的结构,而不是一张“看起来像电路板”的装饰图。高电流区域被放在电池输入、DC-link、三相功率桥和 U/V/W 输出之间;MCU、模拟采样和通信器件置于相对安静的控制区;分流器位于低侧回流路径并尽量以 Kelvin 连接送往采样前端。这样做的目标是缩短开关大电流环路、避免功率回流污染 ADC 参考地,并让栅极驱动器贴近 MOSFET 栅极网络。
图 3:原创 PCB 实物风格布局示意(JPG)。左侧为受保护 VBAT 输入、保险与 DC-link;中部是 MCU/模拟控制区;右侧为六只功率 MOSFET 的三相桥和 U/V/W 输出;下方低阻元件位置表示低侧单分流采样路径。2.2 供电与保护:先让系统在汽车电源上存活
输入不是“12V/24V 直接接逆变桥”这么简单。VBAT 入口至少需要保险、浪涌钳位、反接保护和 DC-link 去耦的完整策略;控制电源与栅极驱动电源应来自受保护母线。驱动器供电电压必须落在已核对的器件范围内,不能从“12V 系统”直接推断其 VCC 定值。
- TVS 选型:按实际供电等级、允许箝位电压、脉冲能量和车型瞬态测试要求选择;24V 平台绝不可沿用 12V 的器件定值。
- DC-link:大电容负责较低频的母线能量支撑,陶瓷电容贴近功率桥抑制高频回路电感。两者不能相互替代。
- 地策略:分流器 Kelvin 回路直接回到采样前端;功率回流不应穿过 MCU/模拟地。控制地与功率地采用可审查的单点汇接。
2.3 三相桥和 CMSA6164:PWM 只是开始,关断才是底线
公开的 CMS6164 产品页描述其为面向双 N-MOS 或 IGBT 桥的三相高速栅极驱动器,列出 8–20V 驱动电源范围、内置欠压保护、310ns 内置死区和防直通功能。对于水泵的六个 MOSFET,MCU 应产生三组互补 PWM,且应由同一 PWM 外设产生,避免软件逐边沿翻转 GPIO。
短路保护不要只靠 ADC 中断:分流信号还应进入硬件比较链路或经独立硬件比较器形成紧急关断条件。软件负责记录故障、等待母线稳定、限制重试次数和通过 LIN 上报;硬件负责在 CPU 来不及响应前停止脉冲。
2.4 一个分流器如何得到三相电流
三相电流始终满足 ia + ib + ic = 0。在 SVPWM 的两个有效矢量窗口中,DC-link 分流器会分别看到特定相电流或其负值。例如扇区 1 使用 V1=100 和 V2=110,两个样本可对应 ia 与 −ic,第三相由电流和为零求出。若有效窗口太短,样本受开关噪声或死区影响,应标记为无效,而不是把错误数据送入 PI 环。
3. 单分流无感 FOC 的软件分层
对 48MHz、带 EPWM/ADC/PGA/ACMP 的 MCU,最稳妥的分工是“硬件定时、PWM 同步快环、较慢状态机”。BAT32A237 产品页明确列出了 ADC、PGA、比较器、LIN 和事件联动资源;这些资源正好对应采样、保护、通信和调度需求。
| 执行层 | 典型触发 | 应完成的动作 | 不应放在这里的事 |
|---|---|---|---|
| PWM/ADC 快环 | 第二次有效电流采样完成的 ADC 中断 | 双样本重构、Clarke/Park、Id/Iq PI、观测器步进、SVPWM 更新。 | LIN 帧解析、长时间滤波、故障延时与日志写 Flash。 |
| 1–5ms 慢环 | 定时器 | 转速 PI、功率限幅、母线/温度滤波、启动状态与故障恢复判定。 | 逐 PWM 周期的电流调节。 |
| 通信/诊断 | LIN/CAN 接收、后台 | 目标转速、模式、故障码、运行小时数与标定数据管理。 | 直接改变 PWM 寄存器或绕开限流。 |
3.1 启动为何需要状态机
无感算法在静止时没有反电动势可观测,因此不可一上电就信任估算角。一个可验证的状态流程是:自检 → 转子预定位 → 限流开环爬升 → 观测器锁定确认 → 闭环 FOC。如果锁定超时、母线不足、相电流异常或转速未建立,应关断并进入受限重试/锁存故障,而不是无穷重启。
4. 核心代码:PWM 同步单分流 FOC 快速环
下面截取的是本文配套的原创 C 参考框架。它实现了最容易被文字带过、却决定方案成败的部分:按 SVM 扇区重构单分流电流、在 PWM 同步 ADC 中断中完成 dq 电流环,并在采样窗连续无效或硬件故障时立刻停止 PWM。完整源码可下载:bat32a237-cmsa6164-foc-core.c。
static bool reconstruct_abc(const dc_samples_t s, uint8_t sector,
q15_t *ia, q15_t *ib, q15_t *ic)
{
if (!s.valid) return false;
switch (sector) {
case 1: *ia = s.first; *ic = -s.second; *ib = -(*ia + *ic); break; // V1,V2
case 2: *ic = -s.first; *ib = s.second; *ia = -(*ib + *ic); break; // V2,V3
case 3: *ib = s.first; *ia = -s.second; *ic = -(*ia + *ib); break; // V3,V4
case 4: *ia = -s.first; *ic = s.second; *ib = -(*ia + *ic); break; // V4,V5
case 5: *ic = s.first; *ib = -s.second; *ia = -(*ib + *ic); break; // V5,V6
case 6: *ib = -s.first; *ia = s.second; *ic = -(*ia + *ib); break; // V6,V1
default: return false;
}
return true;
}
void BAT32_FOC_AdcPwmISR(void)
{
if (BAT32_HardwareFaultActive()) {
g_foc.state = PUMP_FAULT;
BAT32_EPWM_ForceAllLow();
return;
}
dc_samples_t s = BAT32_ReadTwoPwmSynchronousShuntSamples();
if (!reconstruct_abc(s, g_foc.svm_sector, &g_foc.ia, &g_foc.ib, &g_foc.ic)) {
if (++g_foc.invalid_sample_count > 3) BAT32_EPWM_ForceAllLow();
return;
}
clarke_park(&g_foc); // ia,ib,ic → id,iq
g_foc.vd = pi_step(&g_foc.id_pi, 0, g_foc.id);
g_foc.vq = pi_step(&g_foc.iq_pi, g_foc.iq_ref, g_foc.iq);
sensorless_observer_step(&g_foc); // 经电机参数标定的 SMO/PLL
inverse_park_and_svpwm(&g_foc); // vd,vq → 下一 PWM 周期
}
这段代码还差什么,才谈得上上车?
- 寄存器绑定:把 BAT32_* 包装函数换为已审核版本的 BAT32A237 Device Pack/驱动代码,并把 ADC 触发点锁到实际 EPWM 时基。
- 观测器标定:无感 SMO/PLL 或其他观测器必须按电机 R、L、反电动势常数、采样频率和水泵负载调参。文中不以一个黑盒函数伪装成“通用可跑算法”。
- 采样窗管理:低调制度、过调制、死区补偿、ADC 保持时间和放大器建立时间都会影响 s.valid;这要用示波器和电流探头闭环验证。
- 功能安全:故障阈值、诊断覆盖率、降级策略、重启限制与故障码需按目标项目的安全目标和 DVP 定义。
5. 参数起点与验证清单
5.1 分流器与前端增益不要凭经验拍值
分流电阻要同时满足测量分辨率、功耗、脉冲耐受和 ADC 输入范围。初始估算可用 Rshunt ≤ VADC,max / (Ipk × APGA),再检查 Irms2R 的连续发热与故障脉冲。该式只给出量级;真正的 Ipk 需从堵转、启动、温度、母线最低电压和短时过载共同得出。
5.2 需要拿到样机数据的项目
- 冷启动、热启动、低母线、高母线、满扬程、空转及不同冷却液温度下的启动波形。
- 三相电流、母线纹波、栅极波形、开关节点过冲与 MOSFET/分流器/驱动器温升。
- 过流、相间短路、缺相、堵转、过温、欠压/过压下的硬件关断时间和恢复行为。
- LIN 命令丢失、通信错误、非法目标转速和反复唤醒条件下的失效安全状态。
6. 工程结论
BAT32A237 + CMSA6164 的 45–150W 汽车水泵方案是真实公开的产品方案,公开系统图也明确显示了 EPWM、ADC/PGA/ACMP、预驱动、三相桥和电流采样这一条完整链路。对工程团队而言,真正的交付不是复述“无感 FOC、效率高、启动稳”,而是把 功率保护、单分流双采样、启动切换、快速环时序和故障降级做成可测量、可追溯、可签核的实现。
参考与核验来源
- Cmsemicon — FOC Automotive Water Pump Solution(英文官网):案例构成、45–150W、12V/24V、单分流无感 FOC 与公开性能边界。
- Cmsemicon — BAT32A237(英文产品页):Cortex-M0+、48MHz、ADC、PGA、比较器、LIN/CAN 等器件资源。
- Cmsemicon — CMS6164(英文产品页):三相双 N-MOS/IGBT 栅极驱动器、8–20V VCC、UVLO、死区和防直通等公开参数。
中微单片机开发
-
中微单片机开发高压FOC油烟机方案,三芯片架构的工程权衡与FOC原理深度解析中微半导单片机从工程视角拆解中微半导高压FOC油烟机方案:为什么用三芯片而不是单芯片?CMS32M6610无感FOC的坐标变换原理是什么?这套方案适合谁、不适合谁?含12个FAQ。
2026.9.19
-
CMS32W41x低功耗蓝牙键盘方案:电路、PCB、代码与测试案例 | 中微半导基于中微半导CMS32W413/CMS32W414的低功耗蓝牙键盘工程案例,包含官方方案框图、参考电路逻辑、开发套件PCB、矩阵扫描与BLE HID代码、BOM、低功耗状态机、烧录流程及测试计划。
2026.9.14
-
BAT32A237 + CMSA6164 汽车电子水泵:45–150W 无感FOC真实方案与核心代码 | 中微单片机代理基于中微半导公开英文方案核验的 BAT32A237 + CMSA6164 汽车电子水泵工程案例。包含官方系统框图、可实现的单分流无感FOC功率拓扑、采样与保护要点,以及原创C语言快速环代码框架。
2026.9.13
-
中微半导体BAT32A237汽车氛围灯方案:LIN自动寻址与RGB控制案例 | 中微单片机代理BAT32A237汽车氛围灯方案以Arm Cortex-M0+ MCU为控制核心,通过LIN总线与车辆控制端通信。MCU利用GPIO控制上拉和恒流源电路,通过采样电阻、电流放大及12-bit ADCB获得检测结果,再结合软件实现LIN节点自动寻址;三路高精度PWM经过驱动电路控制RGB灯的颜色和亮度结合新能源SUV六节点案例,
2026.9.4
-
中微半导新品单片机BAT32A253与BAT32A255区别、参数及车规MCU选型|瞰芯科技代理BAT32A253与BAT32A255有什么区别?瞰芯科技按6个具体订货型号解析封装、GPIO、ADC、触摸、DAC、PGA、LIN 2.2及2.5V至5.5V供电配置,帮助工程师完成车灯、开关、座椅和传感器节点选型
2026.8.26
-
高转速与大扭矩兼得:中微半导CMS32M6635FA 无感 BLDC 电动工具方案解析 | 瞰芯科技CMS32M6635FA 无感 BLDC 电动工具方案面向锂电电钻、冲击扳手等应用,集成六路 N 型 MOS 预驱、反电动势检测、PGA、ACMP 和高速 ADC,兼顾高转速、大扭矩、紧凑设计与多重保护
2026.8.17
-
中微半导-新品发布车规级MCU BAT32A257、BAT32A259 赋能安全、高效、智能汽车应用中微半导推出BAT32A257、BAT32A259车规级MCU,采用Arm Cortex-M0+内核,最高主频80MHz,支持CAN-FD、LIN 2.2及丰富模拟外设,适用于汽车门窗、车灯、座椅、仪表、传感器和电机控制
2026.9.4
-
中微单片机FOC矢量控制性能评测:实测数据+选型方案+避坑指南 瞰芯科技代理中微MCU、CMS32M67xx评测、FOC算法、矢量控制、硬件除法器、MDU加速、PMSM电机控制、BLDC驱动、无感FOC、滑模观测器、电流环、SVPWM、空调压缩机、高速吸尘器、双电机控制、国产电机驱动芯片、STM32替代、电机控制选型
2026.7.17
-
中微CMS32M5533锂电电钻方案 + CMS8S3680电源控制系统 ——两块板子的完整接线、调试与踩坑记录分享中微半导体CMS32M5533(ARM M0)锂电无刷电钻驱动方案与CMS8S3680(51核)四路智能电源控制系统的项目实战。涵盖引脚分配、关键参数配置、FOC调试、ADC基准漂移、I2C上拉、烧录脚复用等踩坑记录,附选型建议与成本对比。适合电机控制、电源设计工程师参考。
2026.7.12