构建Simulink模型 | CAN通信


参考链接:
https://ww2.mathworks.cn/help/vnt/ug/build-can-communication-simulink-models.html#brzf0ew-4

一、Simulink模型简述

在该模型中使用MathWorks虚拟CAN通道传输和接收报文。

  1. 报文传输部分:使用CAN Configuration模块配置CAN通道,Constant模块CAN Pack模块提供数据,并使用CAN Transmit模块将数据发送到虚拟CAN通道。
  2. 报文接收部分:使用CAN Configuration模块配置CAN通道,CAN Receive模块接收报文,同时使用包含CAN Unpack模块Function-Call Subsystem模块CAN Receive模块获取数据,并使用CAN Unpack模块的参数来解包报文数据,最后通过Scope模块显示接收到的数据。

二、构建模型的报文传输部分

Step 1. 创建新模型

1.要启动Simulink并创建新模型,请在MATLAB命令提示符下输入以下内容:

simulink

Simulink Start Page对话框中,点击Blank Model,然后点击Create Model,将打开一个空的Editor窗口。
2.在Editor工具条的Simulation选项卡上,点击Save > Save As为新模型指定名称。

Step 2. 打开模型库

1.在模型Editor工具条的Simulation选项卡中,点击Library Browser
2.Simulink Library Browser将打开。其左窗格包含按字母顺序显示的可用模块库的树。展开Vehicle Network Toolbox节点,然后点击CAN Communication

Step 3. 将Vehicle Network Toolbox模块拖到模型中

要将模块放入模型中,请点击库中的一个模块并将其拖到编辑器中。对于此示例,模型中需要针对以下每个模块创建一个实例:

  • CAN Configuration
    在这里插入图片描述

  • CAN Pack
    在这里插入图片描述

  • CAN Transmit
    在这里插入图片描述

Step 4. 拖放其他模块以完成模型

此示例使用Constant(Simulink)模块作为数据源。从Simulink > Commonly Used Blocks库中,向模型添加一个Constant(Simulink)模块
在这里插入图片描述

Step 5. 连接模块

Constant模块CAN Pack模块输入之间建立连接。将指针移至Constant模块的输出端口附近时,指针将变为十字准线。点击Constant模块输出端口并按住鼠标按键,将指针拖动到CAN Pack模块的输入端口。然后松开按键。
以相同的方式,在CAN Pack模块的输出端口与CAN Transmit模块的输入端口之间建立连接。
CAN Configuration模块不连接到任何其他模块,此模块配置其CAN通道以用于通信。

Step 6. 指定模块参数值

通过双击模型中的每个模块为模块设置参数。
1.配置CAN Configuration模块。双击CAN Configuration模块以打开其参数对话框。验证或设置以下参数:
在这里插入图片描述

2.配置CAN Pack模块。双击CAN Pack模块以打开其参数对话框。验证或设置以下参数:
在这里插入图片描述

3.配置CAN Transmit模块。双击CAN Transmit模块以打开其参数对话框。验证或设置以下参数:
在这里插入图片描述

4.配置Constant模块。双击Constant模块以打开其参数对话框。
Main选项卡上,进行如下设置:
在这里插入图片描述

Signal Attributes选项卡上,进行如下设置:
在这里插入图片描述

经过配置的模型如下图所示:
在这里插入图片描述

三、构建模型的报文接收部分

Step 7. 将Vehicle Network Toolbox模块拖到模型中

对于示例的这一部分,首先为Vehicle Network Toolbox CAN Communication库中的以下每个模块创建一个实例:

  • CAN Configuration
    在这里插入图片描述

  • CAN Receive
    在这里插入图片描述

Step 8. 拖放其他模块以完成模型

使用SimulinkPorts & Subsystems库中的Function-Call Subsystem模块构建CAN Message pack子系统
在这里插入图片描述

双击Function-Call Subsystem模块以打开子系统编辑器。双击In1端口标签,将其重命名为CAN Msg。双击Out1端口标签,将其重命名为Data。将CAN Unpack模块Vehicle Network Toolbox库中拖放到此子系统中。如果将该模块放置在输入信号线和输出信号线之间,它们将自动连接。
此时Function-Call Subsystem模块的内部应如下图所示。
在这里插入图片描述

CAN Unpack放在Function-Call Subsystem内的原因是为了捕获所有可能的报文。

Step 9. 连接模块

Function-Call Subsystem模块重命名为CAN Unpack Subsystem。将CAN Receive模块的CAN Msg输出端口连接到CAN Unpack Subsyste模块的In1输入端口。将CAN Receive模块的f()输出端口连接到CAN Unpack Subsystem模块的function()输入端口。要直观地显示仿真结果,请将Scope(Simulink)模块从Simulink模块库拖放到您的模型中。将CAN Unpack Subsystem模块的CAN Msg输出端口连接到Scope模块的输入端口。CAN Configuration模块不连接到任何其他模块。该模块用于配置CAN Receive模块所使用的CAN通道以接收CAN报文。

Step 10. 指定模块参数值

1.配置CAN Configuration1模块。双击CAN Configuration模块以打开其参数对话框。进行如下设置:
在这里插入图片描述

2.配置CAN Receive模块。双击CAN Receive模块以打开其Parameters对话框。进行如下设置:
在这里插入图片描述

3.配置CAN Unpack子系统。双击CAN Unpack子系统以打开Function-Call Subsystem编辑器。在模型中,双击CAN Unpack模块以打开其参数对话框。进行如下设置:
在这里插入图片描述

四、保存并运行模型

Step 11. 保存模型

在运行仿真之前,点击Save图标或从Editor工具条的Simulation选项卡中选择Save保存模型。

Step 12. 更改配置参数

在模型Editor工具条的Modeling选项卡中,点击Model Settings。将打开Configuration Parameters对话框。
Solver Options部分中,进行如下选择:
在这里插入图片描述

Step 13. 运行仿真

要运行仿真,请点击Editor工具条的SimulationModeling选项卡中的Run按钮。
运行仿真时,CAN Transmit模块将从CAN Pack模块中获取报文。然后它会通过Virtual Channel 1传输该报文。Virtual Channel 2上的CAN Receive模块会接收该报文并将其传递到CAN Unpack Subsystem模块以解包报文。
在仿真运行时,模型窗口底部的状态栏会更新仿真的进度。

Step 14. 查看结果

双击Scope模块以在图上查看报文传输。如果您在图上看不到所有数据,请点击Autoscale工具栏按钮,这会自动缩放坐标轴以显示所有存储的仿真数据。
在这里插入图片描述

  • 21
    点赞
  • 155
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
NXP5746C是一种嵌入式微控制器,可配置CAN通信。在使用Simulink配置CAN通信时,首先需要在Simulink中创建一个新模型并打开模型。 然后,需要从Simulink库中选择相应的CAN通信模块,可以按照如下步骤进行操作: 1. 在Simulink编程界面中选择「Library Browser」选项。 2. 在Library Browser中,可以找到Simulink模块和函数的库。 3. 在库中搜索CAN通信模块,可以找到数种可用的选项。 4. 找到可用的CAN通信模块之后,将其拖放到模型中。 在配置CAN通信模块之前,还需要确定一些参数,例如CAN总线的波特率、接口号等。下面是配置CAN通信的一般步骤: 1. 双击已添加到模型中的CAN通信模块,打开其属性对话框。 2. 在属性对话框中,设置通信模块的参数,例如波特率、接口号等。这些参数需要与硬件连接的CAN设备相匹配。 3. 根据需要,可以设置其他高级选项,例如过滤器、中断触发等。 4. 确认参数设置后,可以点击「Apply」或「OK」按钮以保存配置。 配置完成后,可以在模型中添加其他必要的组件,例如发送和接收数据的处理算法。完成后,可以生成代码并将其下载到NXP5746C控制器中进行实际的CAN通信应用。 需要注意的是,在配置CAN通信时,可能还需要进行一些硬件连接和驱动程序的安装工作。具体的操作步骤可能会根据使用的硬件和软件版本而有所不同,可以参考相应的用户手册和官方文档获取更详细的配置信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值