与 MCAN 模块通信
本示例展示了如何使用 MCAN 模块在目标硬件和主机之间建立 MCAN 通信,以用于 Texas Instruments® C2000™ Microcontroller Blockset。
简介
通过本示例,您将学习如何使用目标硬件上的 MCAN 发送和 Receive 模块以及主机上的 Vehicle Network Toolbox™ (VNT) CAN 发送和 Receive 模块在目标硬件和主机之间建立通信。
前提条件
完成以下教程:
所需硬件:
任何带有 MCAN 模块的德州仪器 C2000 板卡。
CAN-FD 硬件。
注意:如果您尝试在 Launchpad 上运行此示例,请将 TX 和 RX 引脚连接到 Vector CAN 设备。对于控制卡,需要在 Vector CAN 设备和控制卡之间连接一个收发器(TCAN EVM 收发器)。
主机与目标硬件之间的 CAN-FD 通信
在这个任务中,您需要分两部分将计数器数据从主机传输到目标硬件。
当目标硬件收到来自主机的新消息时,它会使用不同的消息 ID 将该数据发送回主机。
然后主机显示已发送和已接收的 CAN 信号。
目标模型
1.打开目标 c2000MCANTargetModel.slx 模型。
open_system('c2000MCANTargetModel.slx');

2.针对 TI F28P650D launchpad 配置示例模型。要选择不同的目标硬件,请在 Simulink® 编辑器中浏览至配置参数 > 硬件实现 > 硬件板。
3.导航至硬件实现>目标硬件资源> MCAN_A。对于只有一个 MCAN 模块的目标硬件,请导航至硬件实现 > 目标硬件资源 > MCAN。
4.将协议模式设置为 CAN-FD,标称波特率为 500Kbps。
5.启用比特率切换并将数据波特率设置为 1Mbps。

6.配置 Tx 和 Rx 引脚以及标准过滤器。在模型中配置标准过滤器 0,以将接收消息标准过滤器 ID 为 768 (0x300) 的数据接收到 RX 缓冲区。您还可以查看和验证内存配置。

7.以下是针对目标车型完成的 MCAN 模块配置。双击模块即可打开模块参数配置。如果要在其他硬件板上运行此示例,请确保指定的参数值相同。
RX 缓冲区 0 接收 CAN 消息,MCAN Receive 块输出打包的 CAN 消息。

CAN FD Unpack 模块解包接收到的 CAN 消息,输出原始 CAN 数据。此代码块中配置要解包的协议、标识符和数据长度。

MCAN Transmit 模块发送原始数据。协议、标识符和数据长度在数据模块上进行配置,同时还配置了传输消息的比特率切换。

8.在 Hardware 选项卡上点击 Build, Deploy & Start 或按 Ctrl+B 编译并下载可执行文件。
运行主机模型
1.打开主机 c2000MCANHostModel.slx 模型。
open_system('c2000MCANHostModel.slx');

2.配置设备以启用 CAN-FD 配置、CAN-FD 发送和 CAN-FD Receive 模块。
确保 CAN FD 配置块上设置的仲裁总线速度和数据总线速度分别与目标端的标称波特率和数据波特率相匹配。

从主机发送的消息的标准过滤器标识符必须与目标模型中接收块的标识符匹配。同样,主机模型接收到的消息标识符应与目标模型中发送块的标识符匹配。

注意:
本示例中的模型使用
Vector VN1610 1硬件。但是,您可以将您的模型连接到其他支持的硬件。根据您的配置选择 CAN 设备和通道。
主机上的 CAN 配置、CAN 发送和 CAN Receive 模块来自 Vehicle Network Toolbox 库。
3.将停止时间设置为无限,然后点击“运行”。
4.观察并比较从目标硬件接收的 CAN 数据和从主机发送的 CAN 数据。
