Windows 上位机 + EC3320:USB 转 CAN 通信实测(从接线到 SSH 收包)

最近网上买了一只 USB 转 CAN 转换器(型号 UTC-T01,兼容 PEAK/PCAN 驱动)。目标很简单:

  • Windows 电脑当上位机,用 PCAN-View 发 CAN 报文
  • 另一只转换器插在 EC3320 的 USB 口上
  • SSH 进 EC3320 的 Linux 系统,用命令装好驱动后实时监测上位机发过来的数据

两边都装好、波特率对齐之后,SSH 终端里成功刷出了 CAN 帧。本文按实操顺序整理一遍,方便后来者复现。


一、整体思路

通信链路如下:

复制代码
Windows 笔记本(PCAN-View)
        │ USB
   USB-CAN 转换器 A
        │ CANH / CANL / GND
   USB-CAN 转换器 B
        │ USB
   EC3320(SSH + receivetest)

要点只有三条:

  1. 物理层:两只转换器的 CANH、CANL、GND 一一对应接好
  2. Windows :装 PEAK 驱动 + 打开 PCAN-View,波特率设为 500 kbit/s
  3. Linux(EC3320) :编译安装 peak-linux-driver-8.15.2,用 receivetest 监听 /dev/pcanusb32

二、准备清单

物品 说明
USB-TO-CAN UTC-T01 × 2 一只接 Windows,一只接 EC3320
Windows 电脑 安装驱动与上位机软件 PCAN-View
EC3320 边缘计算机 Linux 系统,通过网线/SSH 远程操作
杜邦线或接线 连接两只转换器的 CANH、CANL、GND
商家资料包 一般在百度网盘「PCAN」目录下

商家资料包大致包含:上位机软件、驱动(分 win / linux)、说明书、二次开发参考等。

进入「驱动」目录后,可以看到 Windows 与 Linux 两套资源:

三、硬件接线

先把两只转换器拿出来看清楚端子:外壳上标了 CANH、CANL、GND ,侧面一般有 120R / OFF / BOOT 拨码(终端电阻)。

接线规则(点对点最短总线):

转换器 A 转换器 B
CANH CANH
CANL CANL
GND GND

实测接线示意:一端插笔记本电脑 USB,另一端插 EC3320 USB;中间三根线把总线连起来。EC3320 侧再插上网线,方便 SSH。

小提示:两端各开一只 120Ω 终端电阻(拨到 120R)通常更稳。短线实验时偶发也能通,但正式联调建议按规范接终端。

插上电后,转换器上的 PWR 灯应亮起;有收发时 TX/RX 会闪。

四、Windows:安装驱动与上位机软件

4.1 下载 Windows 驱动

在网盘路径 PCAN / 驱动 / win 下,下载:

  • PEAK-System_Driver-Setup.zip

解压后按安装向导完成(一路 Next 即可)。装完后把 USB-CAN 插到电脑上。

4.2 确认设备已被识别

打开 设备管理器,应能看到:

  • 分类:CAN-Hardware
  • 设备:PCAN-USB

如果这里没有出现,或带黄色感叹号,先别往下做------多半是驱动没装对,或 USB 口/线材有问题。

4.3 下载上位机软件 PCAN-View

在网盘路径 PCAN / 上位机软件 / pcanview 下,下载:

  • PcanView.exe

双击运行即可(无需复杂安装)。

4.4 连接硬件并设置波特率

打开 PCAN-View,菜单 CAN → Connect(或工具栏连接图标):

  1. 左侧应能看到 PCAN-USB
  2. 右侧波特率选 500 kbit/s(本实测双方统一用 500k)
  3. 确认后连接

两边波特率必须一致,否则表现为「完全收不到」或报错刷屏。

4.5 新建发送报文

连接成功后,点击工具栏「新建发送报文」图标,填写 CAN ID、数据长度和数据内容,确定。

4.6 设置循环发送(推荐)

在 Transmit 列表里,给报文勾选 Cycle Time,例如:

  • ID 555h,数据 00 00 00 00 00 00 00 55,周期 2000 ms
  • ID 013h,周期 3000 ms

勾选后会按固定间隔自动往总线上发,方便 Linux 端持续监测。

发送、接收都正常时,界面大致如下(Receive 区能看到回环或对端数据,Transmit 区 Count 在增加):

Windows 侧先准备到这一步即可。接下来把 Linux 驱动装好,再回来点发送。

五、EC3320 Linux:安装 PCAN 驱动

5.1 下载 Linux 驱动包

网盘路径:PCAN / 驱动 / linux

目录里通常有:

  • peak-linux-driver(多个版本的 .tar.gz
  • pcanview
  • 操作说明.txt
  • 测试截图等

本实测使用的版本是:

  • peak-linux-driver-8.15.2.tar.gz

商家自带的 操作说明.txt 里,安装步骤写得很清楚,可对照执行:

5.2 把驱动传到 EC3320

用 MobaXterm / SCP / SFTP 等方式,把 peak-linux-driver-8.15.2.tar.gz 传到 EC3320,例如放到:

text 复制代码
/home/edge/

然后 SSH 登录(本例主机名 edge-computer,用户可按实际修改):

bash 复制代码
ssh edge@<EC3320的IP>

5.3 安装编译依赖

商家说明要求先装好这些库(Ubuntu/Debian 系):

bash 复制代码
sudo apt-get update
sudo apt-get install -y libpopt-dev make make-guile gcc g++

若系统较精简,还需确保已有对应内核头文件(linux-headers-$(uname -r)),否则 make 可能失败。

5.4 解压、编译、安装

bash 复制代码
cd /home/edge
tar xvf peak-linux-driver-8.15.2.tar.gz
cd peak-linux-driver-8.15.2
make clean
make
sudo make install

sudo make install 会把内核模块、udev 规则、用户态工具(如 receivetestpcaninfo)装到系统路径。安装过程截图参考:

5.5 确认驱动与设备节点

插上 USB-CAN 后执行:

bash 复制代码
pcaninfo

正常时应类似:

text 复制代码
PCAN driver version: 8.15.2
PCAN-Basic version: 4.6.2.36
* pcanusb32: "PCAN_USBBUS1" (0x051), PCAN-USB #1, devid=0x00

再看设备节点:

bash 复制代码
ls /dev/pcan*

本实测输出为:

text 复制代码
/dev/pcan32  /dev/pcanusb32

后续监听使用 /dev/pcanusb32

说明:PEAK 字符设备驱动下,不一定会在 ifconfig 里出现 can0。本实测主要用 chardev 路径 /dev/pcanusb32,不必强求 SocketCAN 接口。

六、联调:Windows 发,EC3320 收

6.1 Linux 端启动接收

在 EC3320 上执行(波特率默认与驱动测试工具一致,初始化为 500 kbit/s):

bash 复制代码
receivetest -f=/dev/pcanusb32

或在驱动目录的 test 工具里:

bash 复制代码
cd /home/edge/peak-linux-driver-8.15.2
./receivetest -f=/dev/pcanusb32

终端会提示类似:

text 复制代码
Only standard frames are accepted, init with 500 kbit/sec.

6.2 Windows 端开始发送

回到 PCAN-View:

  1. 确认已连接,波特率 500 kbit/s
  2. 勾选要发送的报文的 Cycle Time(或手动点发送)

6.3 看 SSH 终端是否刷包

成功时,receivetest 会持续打印收到的帧,例如上位机循环发送 ID 0x555、数据末字节 55 时:

text 复制代码
receivetest: m s 0x00000555 8 00 00 00 00 00 00 00 55

连续刷屏说明链路已通:

到这里,Windows 上位机 → USB-CAN → EC3320 Linux 端监测 整条链路就跑通了。

七、小结

复现时按这个检查清单走即可:

  1. 接线:CANH--CANH、CANL--CANL、GND--GND;PWR 灯亮
  2. WindowsPEAK-System_Driver-Setup 装好 → 设备管理器有 PCAN-USB → PCAN-View 连上,500 kbit/s
  3. Linuxpeak-linux-driver-8.15.2 编译安装 → pcaninfo 能看到设备 → /dev/pcanusb32 存在
  4. 收发 :PCAN-View 循环发送;SSH 里 receivetest -f=/dev/pcanusb32 能看到对应 ID/数据

八、常见问题

现象 可能原因 处理建议
设备管理器没有 PCAN-USB Windows 驱动未装好 / USB 未识别 重装 PEAK-System_Driver-Setup,换口重插
pcaninfo 无设备 Linux 驱动未加载,或未插转换器 确认 make install 成功;ls /dev/pcan*;重新插拔 USB
receivetest 一直无输出 波特率不一致、接线反了、上位机未发送 双方统一 500k;核对 CANH/CANL;看 PCAN-View Count 是否增加
make 失败 缺编译器/内核头文件 安装 gcc g++ make 与对应 linux-headers
只有偶发几帧 终端电阻、接触不良 两端拨到 120R;重新压紧接线端子

附:本实测关键参数速查

项目
转换器型号 USB-TO-CAN UTC-T01
Windows 驱动 PEAK-System Driver Setup
上位机软件 PCAN-View
Linux 驱动版本 peak-linux-driver 8.15.2
设备节点 /dev/pcanusb32
波特率 500 kbit/s
接收命令 receivetest -f=/dev/pcanusb32
示例发送帧 ID 0x555,数据 00 00 00 00 00 00 00 55

希望这篇能帮你少踩坑。如果驱动版本或内核不同,命令流程相同,注意换对应版本号即可。

相关推荐
我是Superman丶1 小时前
【2026亲测】Wireshark安装教程 Windows系统|下载安装、Npcap配置及首次抓包
windows·测试工具·wireshark
Funing72 小时前
系列一:STM32 外设初始化
stm32·单片机·嵌入式硬件
XiangrongZ3 小时前
debian中配置stm32的交叉编译环境
运维·stm32·debian
sg_knight3 小时前
Codex CLI 安装全攻略:macOS / Linux / Windows(WSL2)三端实战
linux·windows·macos·openai·ai编程·coding·codex
zcmodeltech3 小时前
钢铁冶金沙盘模型多工序协同控制系统设计:基于STM32与Modbus RTU的高炉-连铸-热轧全流程联动方案
stm32·单片机·嵌入式硬件·数据库架构·嵌入式实时数据库·多分类
大眼、不聚光3 小时前
9.linux系统管理-ssh免密配置
linux·ssh·github
码农阿豪4 小时前
多台服务器还在反复输SSH?用EasyNode集中管理连接
运维·服务器·ssh
zcmodeltech4 小时前
供热系统模型多工况控制系统设计:基于STM32与Modbus RTU的热源-管网-末端联动方案
大数据·stm32·单片机·嵌入式硬件·制造·数据库系统
时空自由民.5 小时前
STM32的缓存Cache
stm32·嵌入式硬件·缓存