Apple Silicon 原生驱动

Mac 上的
CAN FD 分析仪

在 macOS 上直接使用周立功 USBCANFD-100U-mini,无需 Windows、虚拟机或额外驱动。

pip install zlgcan-macos

国内镜像未同步时:pip install zlgcan-macos --index-url https://pypi.org/simple/

为什么选择 zlgcan-macos

逆向工程驱动,567 行代码,零依赖原生实现

即插即用

插上设备,一条命令开始抓包。自动完成 AES 认证、波特率配置、终端电阻使能。

🚀

CAN FD 5Mbps

完整 CAN FD 支持:1Mbps 仲裁域 + 5Mbps 数据域,BRS 加速,最大 64 字节数据帧。

🍎

M 芯片原生

纯 Python + pyusb 实现,无需 x86 模拟、Docker 或虚拟机,专为 Apple Silicon 设计。

🔧

CLI + API

命令行工具开箱即用,也可作为 Python 库集成到你的项目中。支持 candump 格式输出。

30 秒上手

安装 → 插入设备 → 运行

Terminal — zlgcan
# 安装
$ brew install libusb
$ pip install zlgcan-macos

# 实时监听
$ zlgcan monitor
设备: USBCANFD-100U-mini  SN: 7C798CEF50B20BB461A0  FW: V2.38
波特率: 1m_5m  通道: 0

  FD BRS  0x082  [24]  D7 FE FF FF 00 00 00 00 3B 02 00 00 ...
  FD BRS  0x07F  [24]  FF FF FF FF FF FF FF FF FF FF FF FF ...
  FD BRS  0x5FE  [24]  B4 00 00 00 00 00 00 00 D1 FF FF FF ...
  FD BRS  0x087  [ 5]  45 C9 00 00 00

# 发送 CANFD 帧
$ zlgcan send 0x7F 0102030405060708

# candump 格式 + ID 过滤
$ zlgcan monitor -f candump --filter 0x7F
  can0  07F#B   [24]  FF FF FF FF FF FF FF FF FF FF FF FF ...

工作原理

逆向工程实现的完整 USB 协议栈

1

USB 枚举

自动发现设备
claim 接口

2

AES 认证

AES-128-ECB
挑战-响应握手

3

CAN 初始化

波特率 + 终端电阻
启动控制器

4

数据流

EP83 持续接收
实时解析输出

Python API

也可以作为库直接调用

from zlgcan import USBCANFD

# 打开设备
with USBCANFD() as can:
    can.start("1m_5m")

    # 接收
    for f in can.read_frames():
        print(f"0x{f.can_id:03X} [{f.dlc}] {f.data.hex()}")

    # 发送
    can.send_frame(0x7F, b"\x01\x02\x03")