英飞凌TC387 PMSM永磁同步电机FOC控制Demo及相关文档,W032

张开发
2026/4/6 22:40:32 15 分钟阅读

分享文章

英飞凌TC387 PMSM永磁同步电机FOC控制Demo及相关文档,W032
英飞凌tc387 PMSM永磁同步电机foc控制demo含demo相关文档W032英飞凌 AURIX™ TC3xx 永磁同步电机(PMSM) FOC 演示包—— 配置与显示子系统功能说明书基于 IFXKITA2GTC387MOTORCTR-HW-SW_V1.0.2一、整体定位本 demo 在 “MCU 上电 → 用户可视交互 → 电机运行” 的完整链路中承担了“可视化配置与实时反馈”的角色。代码规模 570 文件本文仅聚焦“配置管理”与“TFT 显示”两条主线其余电机控制、通信、安全等模块另文说明。二、配置子系统Cfg_* 目录设计目标a. 上电 0~2 ms 内完成时钟、电源、启动模式(BMHD)等关键寄存器配置b. 所有常量集中存放方便量产时由脚本一键替换c. 支持“同一镜像在不同硬件版型上运行”——通过宏开关隔离差异。文件层级IfxCfg.h // 根配置晶振/PLL 频率、Shell 超时、调试口波特率IfxCfgSsw.h/.c // Startup Software 的回调表决定上电自检流程IfxCfgSswBmhd.c // 4 组冗余 BMHD支持 A/B 面升级与回滚IfxInterfaceConst.c // 与外部工具如 DAS、PLS、CAN 标定共享的符号表关键流程时间片视图0 ms PORST 释放↓ 硬件 SCU 读取 BMHD→验证 CRC→跳转入 0xA0000000↓start() 汇编入口关中断搬 DATA清 BSS↓ IfxSswjumpToFunctionWithLink(IfxSswPmsInit)└─→ 1.2 ms 完成 300 MHz PLL 20 MHz 备份时钟↓ 若 IFXCFGSSWENABLELBIST1则执行 LBIST~6 ms↓ 若 IFXCFGSSWENABLEPLLINIT1则执行 PLL 校验↓ 最终跳转 main()此时 Mcu 时钟、EVR、Flash Wait-State 全部就绪量产交付要点• BMHD 中的 .stad 字段必须与链接脚本保持一致• 若需加密启动将 BMHD.password 设为非 0并在最后一行写入 0x4321_1234 确认码• 所有“#ifndef”宏均可在编译器附加选项中覆盖无需改源码方便 CI 差异化构建。三、TFT 显示子系统Display/* 目录设计约束• 分辨率 320×240单芯片驱动无外部 DRAM• 支持 4 层同时存在底栏(BAR)、菜单(MENU)、两路文本终端(STDOUT0/1)、一路图形(GRAPHICS0)• 所有绘图指令先进 FIFO由 1 kHz 周期任务统一刷屏避免在中断里直接操作 QSPI。核心数据结构TCONIO_DRIVER├─ display[5] // 五块虚拟显存指针属性├─ pdasmirror // 指向 DAS 共享内存实现“PC 端实时截屏”├─ displaymode // 当前用户可见图层└─ dialogmode // 键盘/幻灯片等模态窗口TCOLORTABLE / TCOLORTABLEASCII采用 5-6-5 RGB 格式256 色调色板在图形模式、16 色在文本模式运行时可通过 conio_setcolortable() 动态替换。刷新管线无 OS纯时间片1 kHz 定时器 → conioperiodic()├─ 读取触摸坐标 (x,y)├─ 若 fifo 中有令牌则按顺序解析│ TOKENDISPLAYGRAPHICSLINE / CLRSCR / PRINTF …├─ 根据显存类型调用底层│ tftasciibar() // 底栏 1 行文本│ tftascii() // 全屏文本带滚屏│ tftgraphic() // 全屏图形2/4/16/256 色└→ QSPI 以 16 bit 并行方式一次性刷 240×(240-12) 像素理论帧率 30 Hz实测 25 Hz。触摸键盘实现keyboard.c 采用“区域表”方式const TDISPLAYENTRY keyboardlist[]每个条目记录 (xmin,xmax,y,回调)触摸抬起时触发 keyboard_select() → 向 scanftext[] 插入字符。支持左/右/退格/大写锁定输入长度 18 字节可扩展。与电机控制的数据耦合显示层不直接访问 FOC 变量统一通过“FIFO 令牌”机制PUTFIFODISPLAY(TOKENDISPLAYASCII_PRINTF | 长度16)将指针、格式串、参数一次性打包ISR 与主循环零临界区冲突。四、性能与资源占用FlashCfg_段 6.2 kBDisplay/段 18.7 kB含 8×12 点阵字模 3 kB。RAM显存最大 72 kB256 色图形文本模式仅 2.4 kBFIFO 2 kB。英飞凌tc387 PMSM永磁同步电机foc控制demo含demo相关文档W032CPU1 kHz 周期任务平均 22 µs300 MHz 主频峰值 45 µs全屏滚屏时。五、移植与裁剪指南更换屏幕只需修改 tft*hw.c 中的 QSPI 初始化序列与 RowBuff 长度若分辨率提高需在 coniocfg.h 重算 TERMINALMAXX/MAXY 与 GRAPHICSWIDTH。关闭图形模式在工程预编译选项加入 -DGRAPHICMODETEXTMODE链接器自动裁剪 tft_graphic* 段节省 4 kB Flash。多核场景TFTDISPLAYVARLOCATION 宏决定显存放到 CPU0~CPU5 哪一段 LMU若由 CPU1 负责刷新则把 conioperiodic() 放到 CPU1 的 1 kHz 中断CPU0 仅写 FIFO实现“零等待”双核分工。六、常见开发问答Q1: 上电后屏幕花屏A: BMHD 中 .stad 地址与链接脚本不一致导致 SCU 取到非法指令检查 IfxCfgSswBmhd.c 与 *.lsl 文件是否同步。Q2: 键盘输入无响应A: 触摸驱动未校准需运行 touchinit() 中的自学习流程若使用非 Infineon 触摸板替换 touchdasinfo 结构即可。Q3: 如何在中断里快速打印一行调试A: 直接调用 displayasciiprintfxy()内部已关中断保护 FIFO但字符串长度≤40 字节避免 FIFO 溢出。七、小结配置与显示子系统通过“宏-表-回调”三级抽象兼顾了上电速度、量产可维护性与终端用户体验。开发者只需修改 cfg 文件即可适配不同晶振、屏幕或安全等级显示层则像“零拷贝”终端任何任务皆可把调试信息、电机状态、甚至实时曲线“一句话”丢进 FIFO即刻在 TFT 可见。

更多文章