本文是MR-CANHUBK344的快速入门指南。在该页面上,您将看到基本的硬件设置步骤以及演示软件,该软件使用IEEE 1722 ACF-CAN协议,实现了以太网到CAN和CAN到以太网的转换。
如需了解移动机器人应用、汽车软件栈和相关的实时操作系统(如FreeRTOS、NuttX、PX4、Zephyr)的特定代码示例,请访问 nxp.com/mr-canhubk344。
这个示例代码支持所有六个CAN端口和100Base以太网端口。100BASE-T1端口具有自动模式检测功能,因此不需要进一步的调整。
随板附带以下电缆和适配器:
Something went wrong! Please try again.
Project.zip文件可以从MR-CANHUBK344页面的示例部分下载。该项目文件与S32 Design Studio版本3.4兼容。
注:S32DS版本3.4位于“上一步”选项卡下。
构建项目需要以下扩展:
S32 Design Studio扩展管理器如下图所示。
点击Add Update Sites链接,添加手动下载的更新站点文件:
一旦“MR_CANHUBK3_IEEE1722”成功烧录到MR-CANHUBK3板上,它将作为ETH ↔ CAN IEEE 1722协议转换器。
从CAN0到CAN5接收的CAN消息将被转换为IEEE 1722 ACF-CAN帧,并广播到以太网。要查看传入的CAN帧,你可以在Windows/Linux机子上安装Wireshark。
Something went wrong! Please try again.
MR-CANHUBK344板包括多种接口。所有接口所需的线缆都随此套件提供。但是,它们可能需要根据您的具体需求进行删减或修改。这个快速入门指南假设您对这类硬件比较熟悉,并且能够制作CAN、T1以太网和电源连接。
此演示还需要外部组件或测试设备,以便能够连接CAN/CAN FD接口和100BASE-T1汽车以太网。
使用台式电源或适当的电池源,将5 - 40 V(12 V标称)@100 mA最小的电源连接到板子左上角的P27
接头(引脚1-2电源,引脚3 NC,引脚4-5地线),或者使用下一个P28
接头(引脚1电源,引脚2地线)。
图1 软件演示用的MR-CANHUBK3接头位置
Something went wrong! Please try again.
引脚编号 | 信号 | 规格 |
---|---|---|
1 | 5V4 | 5.4V |
2 | CANx_H | 5.0V |
3 | CANx_L | 5.4V |
4 | GND | 0V |
CAN总线通常需要两端端接。需要时使用随附的一个CAN-TERM端接板。当使用具有CAN SIC Phy的端口时,可以使用其他CAN端接。
Something went wrong! Please try again.
T1连接器(P9
)是用于2线100Mbps以太网的2引脚JST-GH
接头。 信号是电容耦合的,并且有P和N极性。如果极性反转,TJA1003 T1接口芯片将自动协商极性。您可以根据需要将这条电缆适配到其他类型的接头,方法是切断电缆并焊接到导线上。
这条JST-GH电缆可以直接连接到其他移动机器人板,如UCANS32K1SIC、UCANS32K1SCT、RDDRONE-T1ETH8和NavQPlus。RDDRONE-T1ADAPT可用于转换为RJ45
连接类型。
PCB背面的黄色LED(D88)指示了链路状态。闪烁时,表示有链路。
Something went wrong! Please try again.
FS26是恩智浦半导体的“适合ASIL D的低功耗安全系统基础芯片”,包含了一个安全看门狗定时器(WDT)。
在示例代码中,挑战看门狗的功能尚未实现。相反,在S32K344启动期间,示例应用向FS26发送请求,以禁用看门狗功能。
要规避FS26 WDT,必须将芯片置于调试模式。这是通过移除JP1
,然后在电源输入P27
或P28
上提供12.0V电压,然后重新插入JP1
跳线来完成的。
一旦完成这个操作,复位LED D24就不会再闪烁,表示S32K344不会被FS26连续复位。
Something went wrong! Please try again.
Dxx | LED名称 | 正常状态 | 说明 |
D24 |
RESET_K3 | 关 | 指示S32K344是否已复位 |
D25 |
P1V8_TRK2 | 开 | 指示FS26 SBC 1V8_TRK2状态 |
D26 |
P3V3_TRK1 | 开 | 指示FS26 SBC 3V3_TRK1状态 |
D28 |
P3V3_LDO2 | 开 | 指示FS26 SBC 3V3_LDO2状态 |
D29 |
P3V3_LDO2 | 开 | 指示FS26 SBC 3V3_LDO1状态 |
D30 |
VBATP_SW | 开 | 指示VBAT状态 |
D34 |
V15_MCU | 开 | 指示FS26 SBC V15状态 |
D43 |
P5V4 | 开 | 指示FS26 SBC P5V4状态 |
LED1 |
RGB状态指示灯 | 绿色 | 由软件控制,绿色表示正常运行,蓝色表示初始化,红色表示出现错误。 |
图6 指示灯概述
Something went wrong! Please try again.
要导入附带的Project.zip,打开File → Import → General → Project from Folder or Archive,然后选择Project.zip存档。
Something went wrong! Please try again.
一旦项目被导入,在项目资源管理器中右击“MR_CANHUBK3_IEEE1722”,并选择S32 Configuration Tools → Open Pins。
S32 Pin工具的透视图将出现,在菜单中点击“Update Code”按钮,并选择“OK”。将生成驱动配置文件。
Something went wrong! Please try again.
回到项目资源管理器,右击“MR_CANHUBK3_IEEE1722”,并选择“Build Project”。现在可以使用编程器烧录“MR_CANHUBK3_IEEE1722.elf”。
如需了解有关S32 Design Studio、S32配置工具和调试的更多信息,请参考“S32K3和S32DS快速入门”指南。
Something went wrong! Please try again.
你也可以通过按SW1
或SW2
来模拟CAN消息。
将CAN0 (P12
)连接回CAN1 (P14
),可使用随附电缆创建总线。同时将CAN-Term板连接到 P13
,以端接总线。
按下SW1
或SW2
时,两个指示灯D7
和 D22
会短暂亮起,表示有一个CAN数据包。
SW1
会向CAN0发送一个CAN消息,SW2
会向CAN1发送一个CAN消息。
Something went wrong! Please try again.
强烈建议您安装WireShark来监控CAN和以太网流量。图5显示了使用IEEE 1722发送CAN数据包时的WireShark屏幕。
注意:100BaseTx到100BASE-T1媒体转换工具(不随板附带)是调试以太网帧所必需的。你可以使用恩智浦RDDRONE-T1ADAPT等工具
IEEE 1722 ACF-CAN帧的Wireshark输出
Something went wrong! Please try again.
使用我们的社区网站,与其他工程师联系并获得有关使用MR-CANHUBK344评估板进行设计的专业建议。