对S32K144做的VCU安装快速开发Simulink库及VCU例程介绍
前言
本章介绍VCU硬件功能及SimuLink库为主,捎带介绍一些例程内容
注意:例程所用的协议均是自定义的
自做的SimuLink库也会不定期更新
VCU例程的内容不定期维护添加
一、硬件介绍
1、VCU硬件如下,硬件以后有可能会升级加功能
技术参数 | |
微控制器 | FS32K144,32位,100引脚,汽车级芯片 |
Flash 512 KB,SRAM 64KB | |
最高主频:112MHz,硬件浮点单元 | |
板内功能 | NTC温度检测:-50~125℃ |
检测两路硬件唤醒信号的电压 | |
检测电源供电的电压 | |
两路可控led指示灯 | |
电源 | 供电电源8~32V,支持20A电流输出,可防反接,2路硬件唤醒,支持1路CAN FD,支持硬件唤醒掉电后程序控制休眠,也可以做软件休眠软件唤醒。 |
6路5V输出,平均每路500mA,每两路公用1个LDO,三个LDO输出 | |
4路唤醒后电源输出 | |
输入 | 10路0-5V电压采集,转换精度12bit,防静电保护 |
4路0-32V电压采集,转换精度12bit,防静电保护 | |
5路电阻信号采集,检测电压5V,上拉2kΩ电阻,转换精度12bit,防静电保护 | |
15路IO信号采集,可内部配置上下拉,其中有12路频率信号采集(包含占空比采集),有一路兼容CP信号采集,防静电保护 | |
输出 | 8路DAC输出0-5V可调,12bit精度,防静电保护 |
10路底边驱动,电流额定2A,均可配置成PWM输出 | |
10路高边驱动,电流额定2A,均可配置成PWM输出 | |
通讯 | 3路CAN通讯,其中 2 路 CAN2.0B, ISO11898, 1路 CAN FD 兼容 CAN 2.0B,防静电保护,接口可选择带120Ω终端电阻或不带120Ω终端电阻 |
2路Lin通讯,防静电保护 | |
2路485通讯,防静电保护 | |
1路232通讯,防静电保护 | |
1路SWD通讯口,可用于Jlink下载 | |
外壳 | 铸铝外壳 |
工作温度范围 | -40~85℃ |
工作湿度范围 | 0~95% |
外形尺寸(mm) | 150mm*204mm |
连接器 | 121PIN 汽车连接器 |
2、接口定义如下
引脚 | 定义 | 引脚 | 定义 | 引脚 | 定义 | 引脚 | 定义 |
1 | 汽车地 | 2 | 汽车地 | 3 | 电源输入 | 4 | 电源输入 |
5 | 电源输入 |
|
|
|
|
| |
6 | 数字量采集12 | 25 | 数字量采集11 | 44 | 数字量采集10 | 63 | 数字量采集9 |
7 | 数字量采集4 | 26 | 数字量采集15 | 45 | 数字量采集14 | 64 | 数字量采集13 |
8 | 数字量采集5 | 27 | 数字量采集3 | 46 | 数字量采集2 | 65 | 数字量采集1 |
9 | 模拟地 | 28 | 数字量采集8 | 47 | 数字量采集7 | 66 | 数字量采集6 |
10 | 32V模拟量采集2 | 29 | 32V模拟量采集1 | 48 | 5V模拟量采集9 | 67 | 5V模拟量采集10 |
11 | 5V模拟量采集5 | 30 | 5V模拟量采集6 | 49 | 5V模拟量采集1 | 68 | 5V模拟量采集2 |
12 | 模拟地 | 31 | 电阻采集4 | 50 | 电阻采集3 | 69 | 模拟量输出1 |
13 | 模拟量输出8 | 32 | 模拟量输出3 | 51 | 模拟量输出4 | 70 | 模拟量输出6 |
14 | 模拟量输出5 | 33 | 模拟量输出2 | 52 | 模拟量输出1 | 71 | 电阻采集2 |
15 | 电阻采集1 | 34 | 电阻采集5 | 53 | 32V模拟量采集3 | 72 | 5V模拟量采集4 |
16 | 32V模拟量采集4 | 35 | 5V模拟量采集3 | 54 | 5V模拟量采集7 | 73 | 5V模拟量采集8 |
17 | 模拟地 | 36 | 模拟地 | 55 | 模拟地 | 74 | 模拟地 |
18 | 232_T | 37 | 232_R | 56 | LIN2 | 75 | LIN1 |
19 | 485通道2A | 38 | 485通道2B | 57 | 485通道1A | 76 | 485通道1B |
20 | 汽车地 | 39 | CAN3H终端电阻 | 58 | CAN3L | 77 | CAN3H |
21 | 汽车地 | 40 | CAN2H终端电阻 | 59 | CAN2L | 78 | CAN2H |
22 | 汽车地 | 41 | CAN1H终端电阻 | 60 | CAN1L | 79 | CAN1H |
23 | 5V输出 | 42 | 5V输出 | 61 | 5V输出 | 80 | 5V输出 |
24 | 点火信号 | 43 | 5V输出 | 62 | 5V输出 | 81 | CP信号 |
82 | SWDIO | 90 | 汽车地 | 98 | 底边输出1 | 106 | 高边输出1 |
83 | SWCLK | 91 | 汽车地 | 99 | 底边输出2 | 107 | 高边输出2 |
84 | 汽车地 | 92 | 汽车地 | 100 | 底边输出3 | 108 | 高边输出3 |
85 | 汽车地 | 93 | 汽车地 | 101 | 底边输出4 | 109 | 高边输出4 |
86 | 汽车地 | 94 | 底边输出7 | 102 | 底边输出5 | 110 | 高边输出5 |
87 | 汽车地 | 95 | 底边输出8 | 103 | 底边输出6 | 111 | 高边输出6 |
88 | 汽车地 | 96 | 底边输出9 | 104 | 高边输出10 | 112 | 高边输出7 |
89 | 汽车地 | 97 | 底边输出10 | 105 | 高边输出9 | 113 | 高边输出8 |
114 | 使能电源输出 | 115 | 使能电源输出 | 116 | 汽车地 | 117 | 汽车地 |
118 | 汽车地 | 119 | 使能电源输出 | 120 | 使能电源输出 | 121 | 汽车地 |
建议使用配合VCU对接的简易HIL测试箱,确保自己后期开发的模型没有问题再用与实际使用场景,尽可能的避免出现经济损失性的BUG,毕竟降本增效
对接简易HIL测试箱的下次说明,实时性能-1ms
3、开发工具
类型 | 名称 | 说明 |
开发语言 | SimuLink/C | SimuLink只是编程用,之后也要转成C代码(自动的) |
开发环境 | Matlab/IAR/MDK/S32DS等 | Matlab2022b版本(我用的这个) |
标定软件 | FreeMASTER | 有条件的可以CCP和XCP(不免费) |
烧录器-推荐 | Jlink/CAN更新 | 对外接口预留了SWD接口,可以直接用Jlink-简单可靠 |
二、软件部分
1、首先先安装官方基础库,方法如下
S32K1xx的MBD工具箱加载及激活_matlab mbd安装-CSDN博客
2、获取自主编辑的SimuLink库“VCUS32K144_SimuLinkLib”,如下,放置的位置不要有中文路径
3、打开matlab2022b
4、在matlab目录行中添加“VCUS32K144_SimuLinkLib”的目录
5、设置路径-包含“VCUS32K144_SimuLinkLib”的目录
6、双击打开“slblocks.m”文件,点击运行
7、关闭Matlab
8、运行VCU例程,双击打开VCU例程(电脑开机初次启动SimuLink模型,需要等待一段时间)
9、VCU例程的主界面
10、“VCUS32K144_SimuLinkLib”介绍,全汉语的就不用在啰嗦了
10.1、CAN模块
10.2、掉电存储部分
10.3、Lin通讯
10.4、串口通讯
10.5、数字量采集,含PWM采集
10.6、数字量输出,含PWM输出
10.7、模拟量采集
10.8、系统配置,可以把这一页的内容全拉到界面上
三、例程介绍
1、数据声明与初始化定义
2、数据掉电存储
3、模拟量采集
4、数字量采集
5、信号输出-VCU对外响应
6、逻辑判断
7、充电管理
8、放电管理
9、故障判断
10、挡位采集
11、续航里程计算
12、系统休眠与状态判断
13、驱动与制动能量回收
14、CAN指令
15、串口标定
16、协议
17、CAN更新VCU程序