HSP 目标选择与模型矩阵¶
BLDC、PMSM 共用控制算法库和活动模型,通过本机 JSON 的 target 选择芯片。
未指定时沿用 s32k344。硬件差异集中在
目标配置、
各自的外部 EB 工程与板级驱动中;不使用 legacy/ 或 MBDT。
| 项目 | s32k344 |
s32k144 |
|---|---|---|
| 套件 | MCSPTE1AK344 | MCSPTE1AK144 / S32K144EVB-Q100 |
| HSP 目标 | nxp.s32k3.s32k344-custom |
nxp.s32k1.s32k144-custom |
| CPU / 原厂驱动 | Cortex-M7 / RTD 7.0.1 | Cortex-M4F / RTD 3.0.0 QLP06 |
| 配置工具 | EB tresos 30 | EB tresos 29 |
| 电机时基 | 160 MHz eMIOS | 80 MHz FTM3 |
| 采样周期 / ADC | 62.5 µs / 14 bit | 125 µs / 12 bit |
| PIL UART | LPUART6,PTA15 RX / PTA16 TX | LPUART1,PTC6 RX / PTC7 TX |
| 指南 | 构建与 PIL / 板级配置 | MCSPTE1AK144 |
两者依赖已启用的 autoMBD HSP 0.1.0、MATLAB/Simulink、Embedded Coder、
NXP GCC 10.2 和 FreeRTOS 11.1.0。S32K144 HSP 安装需包含 s32k144-custom
目标和版本 2 的 s32k144-motor 模板;本仓库配置来源记录在相应配置目录中。
模板原型仅含内部 ADC / 软件触发;套件的 FTM/PDB、引脚和驱动由本项目扩展。
工作副本¶
从对应环境示例创建独立本机文件:
- S32K344 示例 →
.agent-env/hsp/s32k344.json - S32K144 示例 →
.agent-env/hsp/s32k144.json
填写实际工具路径、探针及串口。target 与 device.partNumber 不一致会报错。
串口号和探针序列号属于本机配置,不能据此推断芯片型号。
info = ambd_mc("setup","all");
repo = fileparts(which('ambd_mc'));
stage = ambd_mc("stage","bldc",fullfile(repo,'.agent-env','hsp','s32k144.json'));
slbuild('BLDC_Ctrl_MBD');
setup 初始化共用算法、字典和 HSP;stage 才选择目标。每次暂存创建新的
.agent-env/i/<实例 ID>/t/ 子目录,复制对应 EB 工程和源模型,使用包含目标名称的字典,
返回 stage.Target。源模型保持默认 S32K344 的便携设置,不写入机器路径。共享控制器的端口与
状态延迟继承顶层离散步长,由所选目标设为 62.5 µs 或 125 µs。
切换目标前关闭上一工作副本的同名模型,保留需要的标定;脏模型、脏字典和
其他位置的同名模型均阻止暂存。
每个工作副本都将 AmbdOutputsArmed 设为 false。普通构建仅产生目标 ELF;
实际下载/PIL 需要明确设置 deployment.targetConnected=true 和探针身份。
逐模型范围¶
以下模型均复用同一份算法,不为 S32K144 复制控制器。
| 模型 | 角色与验证 |
|---|---|
BldcControllerLibrary、McControllerLibrary |
共享库;随各目标组件编译,另有算法单元测试 |
BLDCFramework、MotorFramework |
目标框架;代码生成、原生构建、基础 PIL |
BLDC_Ctrl_CodeModel、FOC_Ctrl_CodeModel |
C 接口;原生构建、基础及运行状态 PIL |
BLDC_Ctrl_MBD、FOC_Ctrl_MBD |
原生板级应用;原厂 API 集成构建、基础 PIL、控制板诊断 |
BLDC_PIL_Hall_model、BLDC_PIL_Sensorless_model |
BLDC 控制组件;基础和运行状态 PIL |
FOC_PIL_Algth_model、FOC_PIL_StateMch_model |
PMSM 控制组件;基础和运行状态 PIL |
BLDC_PIL_Hall_top、BLDC_PIL_Sensorless_top |
主机对象与 Normal/SIL 顶层 |
FOC_PIL_Algth_top、FOC_PIL_StateMch_top |
主机对象与 Normal/SIL 顶层 |
这是适用范围,不能作为测试通过记录。BLDC 支持 Hall / 无感算法;PMSM 有感组件使用外部位置输入,套件原生应用选择无感 FOC。当前板级驱动不提供 PMSM 编码器位置接口,不声明有感原生实机支持。
统一验证入口¶
同一控制板的验证入口应顺序执行,探针和 UART 只能由一个进程占用。
项目 MCP 的 new/auto 入口自动隔离 TEMP/TMP、工作目录和后续初始化生成物,无需逐次手动设置临时环境变量。stage 的类型脚本、EB 工作区和 cache/codegen 全部位于当前实例的暂存目录。setup 默认只读源字典;托管实例需要同步类型或修改标定时,使用自己的工作副本,不能同步源字典或其他实例的目录。
多实例目录所有权、existing 的边界和退出保留策略见
会话隔离说明。
并发回归只运行 HSP 初始化及主机仿真,
不并发访问探针、UART 或控制板。
python -m unittest discover -s tests/hsp -v
python tools/hsp/validate_target.py --settings .agent-env/hsp/s32k144.json
python tools/validate_kit.py --target s32k144
python tools/validate_kit.py --reference-report .agent-env/kit-validation/<run>/summary.json --settings .agent-env/hsp/s32k144.json
基础入口遍历 10 个目标组件,执行真实构建与 PIL;--model / --family
用于局部诊断。报告记录所选目标,不能将 S32K344 结果计入 S32K144。
套件电气参考使用所选 ADC 和 PWM 分辨率;回放拒绝不同目标的参考记录。
运行状态回放使用录波原始时间网格与原参数,报告分别保留原生周期和回放周期;
16 kHz 通用录波的处理器数值比较不替代 8 kHz 套件参考或实时执行预算。
运行状态矩阵、1,024 个有效 Run 样本及全部根输出精确比较,见
S32K344 指南的公共验证流程和
验证与复现。
所有原始证据、源码/输入/ELF 指纹及报告只保存在忽略的 .agent-env/。
套件矩阵在每个案例的 download-evidence/ 中保存下载回执、ELF 和烧录镜像,
并在矩阵摘要的 DownloadEvidence 中记录路径和哈希。后续案例重建同一模型时,
这些快照保持独立;矩阵结束前再次校验全部快照。
PIL 证明处理器数值行为;控制板无输出诊断、实际栅极波形和功率级闭环分别验收。
缺少功率板、电机、负载或测量条件的必需项目标记 SKIP,并保持套件验收未完成。