在线时间4067 小时
UID3441752
注册时间2017-11-21
NXP金币759428
TA的每日心情 | 开心 2024-3-26 15:16 |
---|
签到天数: 266 天 [LV.8]以坛为家I
管理员
- 积分
- 32001
- 最后登录
- 2024-4-9
|
随着汽车电子技术的发展,以及消费者对汽车驾驶舒适性及智能自动驾驶技术的需求日益增长,汽车电子中出现了越来越多基于电机控制的应用,比如发动机燃油泵、机油泵、冷却风扇、空调压缩机、座椅调节、门窗控制器等。同时,这些应用正由传统有刷直流电机(DC-Motor)升级为三相交流控制的无刷直流(BLDC)和永磁同步(PMSM)电机,因为BLDC和PMSM拥有以下优势:
更高效,节能,从而降低汽车排放
无刷工作寿命更长,噪声小,舒适性好
但是,控制BLDC和PMSM电机需要用到复杂的矢量控制(FOC)算法,因此需要更高性能的CPU内核的微控制器。
S32K14x系列高性能通用汽车级微控制器使用可支持32-bit单精度的硬件浮点数处理单元(FPU),运行高达112MHz主频(HSRUN模式)的ARM Cortex M4F内核,并配备了16通道的DMA、支持CAN-FD的FlexCAN模块和用于BLDC/PMSM电机控制的dual 12-bit高速 ADC、支持灵活配置的FlexTimer定时器(产生中间对齐带死区插入的PWM信号)。
S32K14x系列MCU框图如下↓↓↓
为了加速用户基于S32K14x系列MCU的通用汽车电子应用开发,NXP应用工程师团队专门开发了基于S32K142和MC33GD3000 MOSFET预驱动芯片的S32K142-MC24 RDB(Reference Design Board,参考设计板),该参考设计板提供以下特性:
支持24V系统(同时兼容12V系统)输出800W功率的FOC BLDC/PMSM电机控制应用;
支持多种电机的直接参数调节;
支持CAN/LIN/PWM电机控制输入;
支持双电阻和三电阻采样;
支持过压(OV)、欠压(UV)、过流(OC)、过温(OT)和短路等诊断和保护;
实现了堵转检测和弱磁控制等高级电机控制算法。
S32K142-MC24参考设计板一览↓↓↓
S32K42-MC24 RDB硬件系统设计
S32K42-MC24 RDB的硬件系统功能框图如下↓↓↓
8~36V的VBAT电源输入首先通过防反接保护电路获得Vin作为DC-DC电源转换器的输入和MC33GD3000及三个H桥驱动电路的功率电源,产生7V的Vpre,然后再经过两个LDO电压调节器产生两路5V电源分别给S32K142主控MCU和TJA1043T及TJA1021T收发器供电,并为高精度模拟电路提供参考电压。
SWD接口用于S32K142的程序下载和调试,TRGMUX接口可以将FOC算法的触发信号输出辅助调试,同时设计了一个TTL电平的UART接口用于与上位机的FreeMASTER MCAT电机参数调节GUI工作通信。
为了支持位置和速度传感器,预留了一个HALL传感器和一个编码器接口从而实现有传感器的FOC算法,信号调理和放大电路保证了BLDC/PMSM电机的三相电流采集和无传感器FOC算法反电动势采集。
整个参考设计板对外的接口分布如下图↓↓↓
各个接口的信号分配如下表↓↓↓
S32K42-MC24 RDB软件系统设计
S32K142-MC24 RDB提供了一个基于NXP S32K1xx SDK RTM3.0.0和AMMCLIB 1.1.15的软件支持包,其软件架构如下图所示↓↓↓
为了加快用户的应用程序开发,S32K142-MC24 RDB的软件支持包中提供了所有板上外设模块的板级支持包(BSP),在应用层,除了电机控制,用户还可以基于BSP提供的API接口添加自己的应用程序和通信协议栈。
S32K142-MC24 RDB的软件支持包提供了一个电机控制的样例工程,帮助客户使用S32K142-MC24 RDB快速验证和评估S32K142的BLDC/PMSM电机控制性能,该软件包提供的功能特性如下:
可以提供FreeMASTER MCAT实现开箱(Out-of-Box)电机控制和参数调节;
支持无传感器 (Sensorless) FOC BLDC/PMSM电机控制;
支持基于Hall和Encoder的有传感器FOC BLDC/PMSM电机控制;
支持丰富的电机控制诊断和保护:过压(OV)、欠压(UV)、过流(OC)、过温(OT)和短路;
实现了弱磁控制(FW)及堵转检测高级电机控制算法;
支持基于双电阻和三电阻采样的FOC算法;
集成CAN/LIN/PWM通信的BSP层API;
提供S32DS IDE应用工程和Makefile编译工程,从而支持多种工具链——GCC、IAR和GHS以及多种调试器——Lauterbach、U-Multilink 和J-LINK。
S32K142-MC24 RDB软件支持包提供的电机控制的样例工程工作流程图如下↓↓↓
S32K142-MC24 RDB软件支持包提供的电机控制的样例工程工作流程图如下↓↓↓
上电复位后, MCU将在Startup过程中完成SRAM的ECC初始化,RAM初始化,在main()函数最开始增加200ms的延迟以保证MC33GD3000能够正常初始化。
然后调用BSP_Init()完成电机控制相关外设和CAN/LIN/PWM接口的初始化,调用FMSTR_Init()完成FreeMASTER通信的初始化。最后调用App_MotorControl_Init()完成MCAT变量、电机控制状态机及FOC算法参数的初始化并打开FTM3的PWM通道输出开始电机控制。
在主循环中,周期调用—— FMSTR_Poll()轮询与FreeMASTER MCAT的数据通信、App_Motor_Fault_Error_Handle()处理电机控制错误、App_Communication_Handle()完成CAN/LIN/PWM电机控制命令接口和状态反馈。
用户可以使用以下方法控制电机RUN/STOP和转速:
FreeMASTER MCAT GUI (J2的TTL UART或者J3/4的SWD调试接口);
PWM信号输入(J10);
CAN (via J9, 500Kbit/s CAN 2.0标准帧) and LIN (via J8, 19200bit/s LIN with 增强型校验和)总线,CAN控制速度,LIN控制RUN/STOP。
Tips
用户可以通过Sources/Application.h:中的宏定义Motor_SpeedControl_Method完成方法b)和方法c)的切换。
性能测试与结论
1.存储器资源使用
S32K142-MC24 RDB软件支持包提供的电机控制的样例工程使用S32DS for ARM v2018.R1 IDE,开启-O1的优化等级的编译结果如下↓↓↓
使用的S32K142存储器资源如下表↓↓↓
2.外设资源使用
S32K142-MC24 RDB使用的S32K142 MCU外设资源如下表↓↓↓
3.FOC算法关键代码执行时间
FOC算法是BLDC和PMSM电机控制的关键算法,使用如下配置:
① CPU内核运行在RUN模式(@80MHz),总线频率40MHZ, Flash时钟26.667MHz,内核Cache使能,32-bit 单精度FPU使能。
② CPU内核运行在HSRUN模式(@112MHz),总线频率56MHZ, Flash时钟28MHz,内核Cache使能,32-bit 单精度FPU使能。
同时针对GCC 6.3 (S32DS for ARM v2018.R1中集成的支持S32K1xx SDK RTM3.0.0的编译器版本) 的不同编译器优化等级((-O0: 无任何优化, -O1:开启一级优化)和不同的相电流采样方法(双电阻/Daul-shunt和三电阻/Tri-shunt)配置,测试结果如下表↓↓↓
4.功率输出与温度测试
随着S32K142-MC24 RDB输出功率的增加,板子的温度也会不但上升,下图为功率输出与温度变化曲线,可以看到,在不超过110摄氏度(S32K142支持的最高工作环境温度为125摄氏度(M温度等级器件))的情况,该参考设计板的功率输出可以达到800W的设计目标↓↓↓
总结
S32K142-MC24 RDB是一块针对24V(兼容12V)汽车通用电机控制应用的参考设计板,它可以支持无传感器/有传感器、双电阻/三电阻采样电路的FOC BLDC/PMSM电机控制,通过丰富的板载硬件外设资源和成熟软件支持包(含样例工程),用户可以开箱即用、快速评估和验证基于32K14x系列MCU的BLDC/PMSM电机控制应用。
S32K142-MC24 RDB提供的软硬件设计资源如下:
快速上手指南(QSG);
选型手册(Fact Sheet);
硬件用户指南(HWUG);
软件用户指南(SWUG);
硬件设计原理图和PCB Layout文件(Schematic & Gerber file)
电机控制软件支持包:
S32DS for ARM v2018.R1 IDE样例工程;
支持GCC、IAR和GHS的Makefile编译工程支持Lauterbach、PEMicro U-Multink和J-LINK调试器/编程器;
基于FreeMASTER 2.5de MCAT电机控制和参数调剂GUI。
小提示
S32K142-MC24 RDB资料下载、详细信息获取,以及购买,请访问NXP官方产品网页。
作者:NXP 文章出处:NXP客栈
|
|