本文是MR-CANHUBK344的快速入门指南。您将看到基本的硬件设置步骤以及演示软件,该软件使用IEEE 1722 ACF-CAN协议,实现了以太网到CAN和CAN到以太网的转换。
如需了解移动机器人应用、汽车软件协议栈和相关的实时操作系统(如FreeRTOS、NuttX、PX4、Zephyr)的特定代码示例,请查看S32K344评估板。
这个示例代码支持所有六个CAN端口和100Base以太网端口。100BASE-T1端口具有自动模式检测功能,因此不需要进一步的调整。
随板附带以下电缆和适配器:
Something went wrong! Please try again.
"Project.zip"文件可以从S32K344评估板页面的“示例”部分下载。该项目文件与S32 Design Studio兼容。
下载S32DS IDE注:查看S32 Design Studio页面获取最新版本。
注:这些页面上显示的图片对应于文档发布时可用的软件版本。如需获取最新版本,请通过官方下载链接直接核实。
构建项目需要以下扩展:
S32 Design Studio扩展管理器如下图所示。
点击Add Update Sites(添加更新站点)链接,添加手动下载的update site文件:
一旦“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-40V (12V标称) @100mA (最小值)的电源连接到板左上角的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)是用于两线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应用的低功耗安全系统基础芯片(SBC),包含了一个安全看门狗定时器(WDT)。
在示例代码中,challenge看门狗的功能尚未实现。相反,在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配置工具→打开引脚)。
S32引脚工具视图将出现,在菜单中点击“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评估板进行设计的专业建议。