主要内容

可以使用eCAN块进行通信吗

此示例展示如何使用eCAN块在目标硬件和主计算机之间建立CAN通信,用于德州仪器™C2000™处理器的嵌入式Coder®支持包。金宝app

简介

使用这个例子,你将:

  • 了解如何使用目标硬件上的eCAN传输和接收块以及主机上的车辆网络工具箱™(VNT) CAN传输和接收块在目标硬件和主机计算机之间建立通信。

  • 演示在目标硬件上使用接收过滤接收带有标准id和扩展id的特定消息。

  • 演示如何使用轮询和中断方法在目标硬件上接收数据。

先决条件

完成以下教程:

硬件要求:

  • 任何带CAN模块的德州仪器™C2000™板

  • 矢量CAN硬件

请注意:如果您试图在Launchpad上运行此示例,请将TX和RX引脚连接到矢量CAN设备。如使用控制卡,则须使用收发器(TCAN EVM收发器)在矢量CAN设备和控制卡之间是必需的。

任务1 -主机与目标硬件之间的CAN通信

在此任务中,您将分两部分将计数器数据从主机传输到目标硬件。

  • 当目标硬件接收到来自主机的新消息时,它将使用不同的消息ID将该数据传输回主机。

  • 然后主机显示发送和接收的CAN信号。

目标模型

1.打开目标模型。

open_system (“c28x_CAN_comm.slx”);

2.配置的示例模型TI短笛F28069M发射台.若要选择不同的目标硬件,请在Simulink®编辑器中浏览到金宝app配置参数>硬件实现>硬件板

3.导航到硬件实现>目标硬件资源>eCAN_A确保你设置了波特率1 mbps

4.模型被配置为在采样时间接收数据0.05秒并在接收到消息后,使用不同的消息ID传输相同的数据。

5.以下是eCAN为目标模型完成块配置。双击块,打开块参数配置。如果要在其他硬件板上运行此示例,请确保指定的参数值相同。

  • 接收到的长度用作输入,以提取从主机传输的特定数据。

6.点击构建、部署和启动硬件按TAB键Ctrl + B构建并下载可执行文件。

运行主机模型

1.打开主机模型。

open_system (“c2000_host_CAN_comm.slx”);

2.将设备配置为CAN配置、CAN发送和CAN接收块。确保您设置了波特率1 mbps在CAN配置块。

请注意

  • 本例中的模型使用矢量VN1610硬件。但是,您可以将您的模型连接到其他受支持的硬件。金宝app

  • 根据您的配置选择CAN设备和通道。

  • 主机上的CAN配置、CAN传输和CAN接收模块来自车辆网络工具箱™库。

3.设置停止时间点击运行下拉菜单,并启用模拟踱来踱去以确保与目标实时通信。

4.点击运行

5.观察并比较从目标硬件接收到的CAN数据和从主机发送的CAN数据。

任务2 -在目标硬件上使用接受过滤来接收特定的消息

在本任务中,您将在主机和目标模型中执行以下操作:

宿主

  • 以不同的速率向目标发送多个标准消息和扩展消息。

  • 从目标接收消息并进行比较。

目标

  • 使用两种方法(轮询和中断)从主机接收标准消息和扩展消息。

  • 使用ID过滤只从主机接收所需的消息。

  • 将接收到的数据发送回ID不同的主机进行比较。

目标模型

1.打开目标模型。

open_system (“c28x_CAN_acceptance_filtering.slx”);

2.配置的示例模型TI短笛F28069M发射台.若要选择不同的目标硬件,请在Simulink编辑器中浏览到金宝app配置参数>硬件实现>硬件板

3.导航到硬件实现>目标硬件资源>eCAN_A确保你设置了波特率1 mbps

4.目标硬件使用轮询方法以0.001的速率接收标准ID消息,使用中断方法接收扩展ID消息(使用ECAN1INTA接收)。

5.以下是eCAN为目标模型完成块配置。双击块,打开块参数配置。如果要在其他硬件板上运行此示例,请确保指定的参数值相同

  • eCAN接收块配置为接收标准消息,如下所示:

  • eCAN接收块配置为接收扩展消息,如下所示:

6.在接收到新消息时,目标硬件将使用更新后的消息id传输接收到的数据。有多个CAN传输块用于发送不同的标准或扩展消息消息标识符取决于从CAN接收块接收到的消息。

7.点击构建、部署和启动硬件按TAB键Ctrl + B构建并下载可执行文件。

运行在主机模式

1.打开主机模型

open_system (“c2000_host_CAN_acceptance_filtering.slx”);

2.将设备配置为CAN配置、CAN发送和CAN接收块。请确保在CAN配置块中将波特率设置为1Mbps。

3.该模型被配置为使用不同的标准id和扩展id传输三种消息。

4.CAN传输块被配置为使用传输消息标准的id在以下抽样率下:

  • Hex2dec ('0x00000371'):在0.005

  • Hex2dec ('0x00000372'):在0.007

  • Hex2dec ('0x00000374'):在0.009

5.CAN传输块被配置为使用传输消息扩展的id在以下抽样率下:

  • hex2dec('0x1C00000B'):在0.005

  • hex2dec('0x1C000003'):在0.007

  • hex2dec('0x1C000007'):在0.009

6.主机模型有两个Receive块,一个接收所有标准消息,另一个以采样时间0.001s的速率接收所有扩展消息。

7.设置停止时间点击运行下拉菜单,并启用模拟踱来踱去

8.点击运行

9.在显示块中观察主机上接收到的CAN数据。接收到的数据与目标硬件上接收到的不同id的消息的数据对应。

验收过滤行为分析

在目标模型中配置了标准消息类型的eCAN接收块

  • 消息类型标准

  • 消息标识码掩码hex2dec(“0 x00000007”)

  • 消息标识符hex2dec(“0 x00000001”)

随着消息标识码掩码设置为hex2dec(“0 x00000007”)的最后3位消息标识符考虑进行过滤。

这3位消息标识符设置为1,因此,它只接收带有标准ID的消息hex2dec(“0 x00000371”)在目标硬件上。

在目标模型中配置了扩展消息类型的eCAN接收块

  • 消息类型扩展

  • 消息标识码掩码hex2dec(“0 x00000007”)

  • 消息标识符x00000003 hex2dec(“0”)

随着消息标识码掩码设置为hex2dec(“0 x00000007”)的最后3位消息标识符考虑进行过滤。

这3位消息标识符设置为3.因此,它只接收带有扩展id的消息hex2dec(“0 x1c00000b”)而且hex2dec(“0 x1c000003”)在目标硬件上。

当目标接收到这些消息时,它将修改后的消息id的相同数据传输给主机进行比较。在目标硬件中修改的消息id如下所示:

主机根据目标硬件上过滤的id接收这些对应的id和数据,并显示它们。

其他可以尝试的事情

  • eCAN接收块,配置为接收标准消息,则更改消息标识符参数Hex2dec ('0x00000002')或Hex2dec ('0x00000004'),在目标硬件上分别接收标准id为hex2dec('0x00000372')或hex2dec('0x00000374')的消息。

  • 在配置为接收扩展消息的eCAN接收块中,更改消息标识码掩码参数hex2dec(“0 x00000003”),以接收所有带有扩展id的邮件。

更多关于