HIL和PIL的概念
PIL:处理器在环测试
HIL:硬件在环测试
参考资料:
MIL、SIL、PIL、HIL是个啥,你搞懂了吗?_pil hil-优快云博客
PIL和HIL实现
参考资料:
验证 - MATLAB & Simulink - MathWorks 中国
用于监控&调谐和PIL的串行配置,适用于基于STM32处理器的板 - MATLAB & Simulink - MathWorks 中国
STM32F407VG+CubeMX+Simulink硬件在环(HIL)使用 - 知乎
网盘资料:通过网盘分享的文件:HIL_STM32.zip
链接: https://pan.baidu.com/s/1CgUcDhXNOjqEv564Wkk7yQ?pwd=is69 提取码: is69
–来自百度网盘超级会员v7的分享
1.选择硬件版,这里以STM32F4XXBased为例子
2.在硬件实现的 Target Hardware Resources (目标硬件资源) 下
2.1选择通信接口:Serial | TCP/IP | CAN 三种,在这里我们使用常见的Serial
2.2指定 Logging buffer size (日志记录缓冲区大小) (以字节为单位)。确保 如果您要记录更多数量的信号或记录,则记录缓冲区大小足够大 以更快的速度。
2.3启用 Use a dedicated timer to improve time stamp (使用专用计时器改进时间戳) accuracy 参数(如果要使用专用计时器实时记录数据) 时间。如果未选择此参数,则使用仿真时间记录数据
注意:如果在模型里使用Display and Scope,请确保 Use a dedicated timer to improve time stamp accuracy 参数已禁用
3.CubeMX配置
3.1我使用的野火霸天虎F409的板子有一个USB转TTL(CH340),所以我直接使用开发板上的接口
3.2参考原理图:连接芯片引脚PA9,PA10
3.3基本配置,参考新建工程那一节,在第一节的基础上我们需要配置好串口功能
3.4 找到需要配置的串口1
3.5 配置串口
- 将 USART/UART 模式设置为 Asynchronous
- 指定所需的波特率(以位/秒为单位)常用:9600 115200
3.6使能DMA的串口功能
不懂DMA原理可以去学习一下:DMA原理,步骤超细详解,一文看懂DMA-优快云博客
3.7保存项目
4.确定Serial port : 打开设备管理器
5.在Simulink的硬件设置中选择Connectivity并选择USART/UART(具体的串口号与端口号通过CubeMX与设备管理器可知) USART1和COM4
6.选择Cubemx文件(请参考新建项目章节)
7.测试:准备设计一个闪烁LED
7.1配置LED的GPIO口(开发板原理图)
7.2搭建Simulink模块,产生的方波周期为2s,占空比为50%(脉宽为1s),也就是每一秒变化一次
7.3 下载到板子上完全没问题
7.4 在线测试看看波形输出的波形 (完美)
注意:要把这里关掉(上文有提到):
注意!!!
在这上面花了好多时间,一开始连不上,不知道为什么,可以编译通过也可以下载运行,但是就是连不上,报错如下:
一开始以为是版本的问题,因为我的软件Cube最新版本的,然后又卸载重新装了软件,让版本都匹配上了。还是不可以,最后发现是不能通过CH340芯片,只能直连。之前我玩DSP开发板的时候也是这样。
但是我到现在也不知道为什么!!!!!!
搞得我现在不敢用高版本了,怕又被这种问题恶心到了