USB-CAN-B教程

资源

文档

软件

示例程序

简介

USB-CAN-B是一款工业级高性能USB转CAN适配器、CAN总线通信接口卡和CAN协议数据分析仪。 集成双独立通道,电气隔离,多重保护电路。 支持Windows和Linux系统,自带驱动程序、CANTools相关软件、二次开发示例和教程。 可通过USB口连接PC机或工控主机,实现CAN总线网络的收发控制、数据分析、采集和监控。 体积小巧,使用方便,可用于CAN总线的学习和调试,以及二次开发集成到各种需要CAN总线通信的工业、电力通信和智能控制应用中。

使用Windows PC

驱动安装

使用USB线将USB-CAN-B智能接口模块与PC机正确连接。 检测到硬件后,Windows 将自动运行名为“发现新硬件”的安装向导。 选择“自动安装软件(推荐)”。
点击“下一步”继续;


USB-CAN-B工具软件

下载并安装

下载并解压USB-CAN-B TOOL_EN,然后运行并安装USB_CAN_Tool.exe


第一次安装USB-CAN-B请务必勾选“run Engine”。在LABVIEW环境下开发的应用程序需要此安装包。


使用说明

如果需要终端电阻,请将 R+ 与 R- 连接。

必须保证总线上连接有两个120Ω终端电阻,否则会导致CAN-bus工作异常。

通过USB将设备的USB接口与PC连接。
运行“USB-CAN-B Tool.exe”如下图:


1.标题栏

当设备关闭时,会显示USB-CAN Tool V9.xx,其中V9.xx代表当前程序版本号; USB-CAN 适配器成功打开后,上述名称中将附加型号、序列号、固件版本号和品牌名称。

2.菜单栏

该工具的大部分功能都在菜单中,点击相应的菜单即可实现功能。

3.发送设置部分

本节包含CAN信息传输相关的设置信息,其中“ID自增”功能是发送多帧数据时,下一帧数据的ID值比上一帧的ID值大1; 从一个64位数按照字节顺序从低到高发送8个字节的数据,每次发送数据自动加1。该功能配合“接收增量校验”功能进行测试 高速传输时的丢帧率。 注:该功能一般用于内部测试,不建议用户使用。 当数据长度设置小于8字节时,会自动补0,填充为8字节。

4.可以中继

CAN 中继功能在菜单“设备操作”->“中继模式选项”中配置。 当配置为继电器模式时,此处将显示继电器状态。 如果想关闭该功能,可以在菜单“设备操作”->“中继模式选项”中关闭。 注意:中继功能使能后,波特率等参数设置无效,但发送、接收、智能过滤功能可以正常使用。

5.智能过滤功能

两个通道可单独设置,滤波器仅用于接收。 开启过滤功能后,过滤列表内的ID或ID段内的ID将被显示并接收,过滤列表外的数据将被屏蔽并丢弃。 通过智能过滤的灵活设置,可以允许或阻止接收任何ID或ID段。

6.控制按钮

“停止发送”——停止当前的发送操作; “发送文件”——将发送的帧信息以特定格式存储在文件中,并按照文件中存储帧的顺序发送; “开启CAN接收”——使能CAN接收,否则CAN接收功能处于“暂停”状态,此时上位机将不再显示USBCAN设备接收到的CAN总线数据,但USBCAN设备 仍在接收CAN总线上的数据; “清除”——清除当前数据列表的内容; “实时存储”——将实时数据保存到文件中。

注意:发送文件可能与实时存储功能保存的文件格式一致,保存的文件可以直接以文件的形式发送。
7.统计区

包括单向速率和接收通道1和通道2的递增奇偶校验错误计数器。 “帧速率R”——接收速率,单位:fps(每秒帧数); “帧速率T”——发送速率,单位:fps(每秒帧数); “奇偶校验错误”(内部功能默认隐藏)——接收数据增量奇偶校验错误计数器,该值是接收增量奇偶校验时丢帧的总数。 8. 数据列表
显示发送和接收的数据的列表。

详细信息请参阅USB-CAN TOOL 调试软件用户手册文档。

Linux使用说明

Raspberry

支持接入主流32位Linux系统主板使用,以Raspberry Pi 4B为例说明:

  • 通过USB连接USB-CAN-A和树莓派,分别将USB-CAB-B的通道一H和L接口对应连接到通道二的H和L接口,如下图所示:


  • 复制以下c或python示例程序的终端命令行到树莓派终端运行:

c

cd ~
wget https://www.waveshare.com/w/upload/1/1c/USB-CAN-B_Code.zip
unzip USB-CAN-B_Code.zip
sudo chmod 777 -R USB-CAN-B_Code
cd USB-CAN-B_Code/Raspberry/c/
sudo make clean
sudo make
sudo ./hello_cpp
  • 运行c示例程序后,效果如下图:

python

cd ~
cd USB-CAN-B_Code/Raspberry/python/
sudo python3 python3-32bit.py

python 示例程序运行的效果如下: 

Jetson Nano

c

支持64位主流Linux系统,以JETSON-IO-BASE-A为例说明: 

wget https://www.waveshare.com/w/upload/1/1c/USB-CAN-B_Code.zip
unzip USB-CAN-B_Code.zip
sudo chmod 777 -R USB-CAN-B_Code
cd USB-CAN-B_Code/Jetson/c
sudo make clean
sudo make
sudo ./hello_cpp


python

cd ~
cd USB-CAN-B_Code/Jetson/python/
sudo python3 python3-64bit.py