Skip to content

查看 PCAN 设备状态

PCAN 设备状态检查是故障排查和系统维护的重要环节。本文介绍 Windows 和 Linux 系统下的几种检测方法,包括设备指示灯、PCAN-View 软件及命令行工具,帮助您快速定位设备状态问题。

查看设备指示灯(推荐)

通过设备上的指示灯可以最快速判断设备状态。 当 CAN 通道处于开启、关闭或通讯状态时,指示灯状态都会相应变化。

不同型号设备的指示灯状态含义不同,请参考对应设备的产品介绍页面了解具体的指示灯状态说明。

PCAN-View

Windows 系统 下,推荐使用 PCAN-View 软件(安装驱动自带,无需额外下载)检查设备状态。 本文重点在于查看设备状态,具体使用方法可参考 PCAN-View 使用指南

查看设备状态

当连接通道后,PCAN-View 主页面底部状态栏显示设备的连接状态和通信状态。

PCAN-View 状态栏

默认状态为“OK”,出现其它状态需注意排查通讯异常。

检查设备占用

  1. 打开 PCAN-View 软件
  2. 选择需要检测的设备通道
  3. 如果设备处于占用状态,连接时会提示"硬件已被其它程序占用"。 (另外可以通过右侧配置,可获取通道当前波特率参数) pcanview检测占用

进阶技巧:即使设备被占用,PCAN-View 仍可连接设备进行总线监控和通讯。

Linux 下检查通道状态

Linux 系统下,CAN 设备使用 SocketCAN 驱动框架,由于 SocketCAN 将 CAN 设备抽象为网络套接字设备,因此不存在传统意义上的"占用"概念。 但也需要注意设备通道是否启用,以及设备是否处于正常通讯状态

检查 CAN 接口状态

bash
# 查看 CAN 网络接口状态
ip link show can0

# 查看所有 CAN 接口
ip link show type can

# 查看详细 CAN 接口信息
ip -d link show

输出示例

bash
# $ ip -d link show
can0: <NOARP,UP,LOWER_UP> mtu 72 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10
    link/can  promiscuity 0  allmulti 0 minmtu 0 maxmtu 0 
    can <FD> state ERROR-PASSIVE (berr-counter tx 128 rx 0) restart-ms 0 
          bitrate 1000000 sample-point 0.750
          tq 12 prop-seg 29 phase-seg1 30 phase-seg2 20 sjw 10 brp 1
          kcan: tseg1 1..256 tseg2 1..128 sjw 1..128 brp 1..1024 brp_inc 1
          dbitrate 5000000 dsample-point 0.750
          dtq 12 dprop-seg 5 dphase-seg1 6 dphase-seg2 4 dsjw 2 dbrp 1
          kcan: dtseg1 1..32 dtseg2 1..16 dsjw 1..16 dbrp 1..1024 dbrp_inc 1
          clock 80000000 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536

通过打印的信息可以获取:

  • 开启状态UP/DOWN 标识接口是否启用
  • 错误状态state ERROR-PASSIVE 错误被动模式,berr-counter 错误计数
  • 位时序参数bitrate(波特率)、sample-point(采样点)及 tqprop-segphase-seg1phase-seg2sjw 等各段参数
  • 驱动信息:驱动名称(如 kcan

雪球电子 · 专注通讯