星期三, 11 05月 2022 12:04

Simulink CAN Pack/Unpack模块的代码生成

在一些应用场合,我们会直接在应用层Simulink模型中使用CAN Pack和CAN Unpack这两个模块加载DBC文件,进行CAN报文的解析和打包。
例如我们有DBC文件,主要包含以下两个报文:

图1.dbc文件Layout
 
现在需要在Simulink中创建MCU的CAN报文处理功能模块,即获取HCU发送的数据,解析获取HCU的指令信号;打包MCU内部信号,作为MCU发送报文。今天就跟大家介绍下CAN Unpack/Pack两种常用的应用场景
应用场景一:定义CAN_Msg_In、CAN_Msg_Out两变量,分别作为输入和输出报文变量
CAN_Msg_In和CAN_Msg_Out都为CAN_MESSAGE 类型。
 
在与底层驱动进行集成时,底层可使用CAN_Msg_In和CAN_Msg_Out这两个变量,或再定义其他CAN_MESSAGE 类型的接口变量。


 

图2.CAN Unpack/Pack建模
上述CAN_MESSAGE数据类型在MATLAB自带的can_message.h中进行了定义
can_message.h可在MATLAB安装路径下找到一个文件,如下图。可以将此文件拷贝至当前路径下

图3.can_message.h所在路径

图4....

继续阅读完整内容

请查看下方广告以解锁文章剩余内容

广告加载中...
查看 13623