OE Agent“天工”新版本发布,请前往论坛顶部查看,欢迎试用并反馈~
查看OE-Skills
专栏底层软件J6M域控接入车辆 CAN 时,外部 CAN 口与 Acore CanHal/IPCF 通道映射如何确认?

J6M域控接入车辆 CAN 时,外部 CAN 口与 Acore CanHal/IPCF 通道映射如何确认?

求助中
123木头人11小时前
4
0

我们目前在做 J6/M 域控接入环卫车的调试,希望通过域控读取车辆 CAN 信息,后续在车辆协议、控制使能和安全条件都明确后,再尝试通过 CAN 下发底盘控制指令。

一、我们的使用目标

车辆侧有 CAN1、CAN2、COM3 三个接口。车端反馈如下:

1. CAN1:底盘相关接口,偏单独控车口;

2. CAN2:老款车型上用于和域控通信,也可以控制底盘,目前更像是新域控接入车辆的主要 CAN 口;

3. COM3:陀螺仪/IMU 数据,需要串口转接。

我们希望先把车辆 CAN2 接入新域控,读取车速、档位、转向、制动、驱动状态等底盘信息。后续如果协议和安全条件明确,再考虑控制车辆运动。

二、当前域控侧信息

域控系统信息大致如下:

- Debian GNU/Linux 12

- Linux 6.1.94-rt33-gac7c113a9bab

- AArch64 / ARM64

- 通过 SSH 登录系统后,Linux 侧只看到 lo、eth0、eth1,没有看到 can0/can1/canX。

已经检查过:

ip -br link

ip -details -statistics link show type can

没有 SocketCAN 类型接口输出。

系统中存在以下库和配置:

/usr/hobot/lib/libhbcanhal.so.1.0.0
/usr/hobot/lib/libhbipcfhal.so.1.0.0

/dev/ipcdrv

/usr/hobot/etc/nodes.json

/usr/hobot/etc/channels.json

/usr/hobot/etc/ipcf_channel.json

nodes.json 中看到 chassis/pnc/radar 这些 target 通过 ipcf 配置,例如 chassis、pnc、radar 都是 device_type=ipcf。

ipcf_channel.json 中也能看到类似 chassis 对应 channel 4、pnc 对应 channel 5、radar 对应 channel 6 的配置。

结合社区里的 J6X can transfer sample,我们理解这台设备可能不是通过 Linux SocketCAN 直接暴露 can0/can1,而是 MCU 侧接入 CAN,再通过 IPCF/CanHal 转给 Acore。

三、目前想确认的问题

我们现在主要不是想问 CAN 通用协议本身,而是想确认这台域控实际接车调试必须用到的接口信息。因为如果不知道物理 CAN 口、针脚定义和软件通道映射,即使 CAN 协议本身是通用的,也无法判断应该接哪根线、读哪个通道,更无法安全验证后续控制链路。

想请教以下几个问题:

1. 车辆 CAN2 如果作为底盘通信/控制口,新域控推荐接哪一路外部 CAN?

例如 CAN-A-Chassis、CAN-B-BODY、CAN-H-Diagnose,还是其他 CAN 口?

2. 这一路域控线束的接口/针脚定义能否确认?

主要想知道 CAN_H、CAN_L、GND/屏蔽分别是哪根线或哪个针脚,避免接错。

3. 这一路物理 CAN 在软件上对应哪个 Acore 读取入口?

是否应该通过 libhbcanhal 读取 target=chassis?

4. 当前 MCU 固件是否已经启用了 CAN -> IPCF -> Acore/CanHal 的转发?

如果已经启用,对应的 MCU CAN 控制器、IPCF instance/channel、Acore target 分别是什么?

5. 是否有对应的硬件接口说明、线束定义文档或调试指导文档?

我们在社区文档和官网资料里已经查找过,但关于域控硬件接入、CAN 线束定义、底层通道映射这部分信息比较少。我们理解这些信息应该不是个别使用问题,而是硬件出厂和项目部署时就需要确认的基础接口信息,所以想再确认一下。

底层软件
技术深度解析征程6
评论0
0/600