USB-CAN-A

来自Waveshare Wiki
跳转至: 导航搜索
USB-CAN-A
{{{name2}}}
{{{name3}}}
功能简介
特性 USB转CAN
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 CAN

说明

产品特性

  • 支持 CAN2.0A(标准帧)和 CAN2.0B(扩展帧)
  • 支持 CAN 通讯波特率范围:5kbps~1Mbps,可自定义 CAN 波特率
  • 支持四种工作模式:正常模式、环回模式、静默模式、静默环回模式
  • 支持多种 CAN 数据发送方式:单帧发送、多帧发送、手动发送、定时发送和循环发送
  • 支持多种 CAN 数据接收方式:可配置只接收指定 ID 的数据,也可指定 ID 自动应答配置好的数据
  • 支持收发 CAN 数据保存为 TXT 或 EXCEL 文本
  • 支持 CAN 总线检测,方便查看 CAN 总线状态
  • CAN 收发数据显示都带时间标识,可顺序显示,也可刷新显示
  • 支持设置 USB 虚拟 COM 口的通信波特率 (9600 ~ 2000000bps),默认为 2000000bps
  • 支持通过配置软件或串口指令设置工作参数,可断电保存
  • 采用 STM32 进口芯片方案,通信稳定可靠
  • 板载 TVS(瞬态电压抑制管),有效抑制电路的浪涌电压和瞬态尖峰电压
  • 提供 Windows 版本的中英文上位机软件,使用方便
  • 支持二次开发,只需处理收发命令即可

基本功能

USB-CAN-A-details-5.jpg

Windows系统使用

USB驱动安装

  • 下载CH341SER驱动,双击CH341SER.EXE文件,点击安装,出现驱动安装成功后,点击确定完成驱动安装:

USB-CAN-A-serial.png

CAN配置工具使用说明

打开CAN配置工具
  • 工具免安装,下载并解压文件后,打开USB-CAN.exe文件:

USB-CAN-A-config.png

配置页面功能说明

① 端口设置区:
将把 USB 转 CAN 插入电脑后,安装驱动,设备管理器会出现com口,上位机配置工具选择对应设备管理器的端口,可以打开或关闭端口,这个跟串口调试助手类似,通讯波特率默认是的2000000bps。

2M波特率能兼容大部分CAN速率(串口波特率设定为最大的2M,CAN速率最高可以到1M),一般情况默认2M波特率就可以,将CAN速率改为和外接CAN设备对应的速率(最高支持1M)即可。如果改了别的波特率,可以 通电前按下复位按钮,通电后松开,恢复出厂设置重置USB-CAN-A恢复2M串口波特率:USB-CAN-A-reset.png


有些串口助手(走底层hex数据)可能没有2M,若须改小波特率,可参考下文: 更改 COM(232)波特率说明: 1. 用 USB 数据线插上转换器,同时注意发送及接受指示灯同时闪几下:

闪 1 下,对应串口的波特率为 2000000bps
闪 2 下,对应串口的波特率为 1228800bps
闪 3 下,对应串口的波特率为 115200bps
闪 4 下,对应串口的波特率为 38400bps
闪 5 下,对应串口的波特率为 19200bps
闪 6 下,对应串口的波特率为 9600bps

2. 打开软件,选择对应 COM 端口号及波特率,点击打开按钮(比如转换器插上 USB 数据线上电时收发指示灯同时闪 1 下,我们应该选波特率 2000000bps)
3. 点击打开按钮
4. 点击更改波特率按钮,此时会跳出一个对话框,我们在波特率组合框里面选择我们准备设置的波特率后,点击更改即可;若不想更改,点击取消按钮。
5. 比如我们要设置波特率为 9600bps :

  • 在波特率组合框里面 9600.
  • 点击更改按钮,同时注意观察转换器收发指示灯闪烁,
  • 对应 9600 波特率转换器收发指示灯会同时闪 6 下。
  • 由于端口波特率已经更改,需要关闭端口后,选择更改后的波特率重新打开

6. 点击关闭按钮
7. 将波特率选择为更改后的波特率
8. 重新点击打开按钮即可

② CAN 设置区:
工作模式包含正常模式,环回模式,静默模式,环回及静默模式

  • 正常模式:就是 CAN 正常通讯的模式,可以正常向总线收发数据
  • 环回模式:发送的数据可以发往 CAN 总线,同时反馈的内部的接受区,忽略接受引脚的实际状态,可用于自测试
  • 静默模式:可以正常接受数据,但只能发送隐性位,而不能真正发送报文,常用于分析 CAN 总线活动
  • 环回静默模式:该模式可以用于“热自测试”,即在线自测试。可以像环回模式那样自测试,但却不影响 CAN 总线系统。
  • 帧类型:标准帧(CAN2.0A 11 位 ID) 扩展帧(CAN2.0B 29 位 ID)
  • CAN 波特率:可以直接选择 CAN 通讯常用的波特率:1M,800K,500K,400K,250K,200K,125K,100K,50K,20K,10K,5K;若上面可直接设置的波特率与你的 CAN 设备的波特率不一致,可选择。
  • 滤波 ID 与屏蔽 ID:都是 16 进制数据,标准帧时滤波 ID 及屏蔽 ID 低11 位有效(范围:0x00000000~0x000007ff),扩展帧 滤波 ID 及屏蔽ID低 29 位有效(范围 0x00000000~0x1fffffff)
  • 固定 20 字节收发:CAN 转换器内部有 2 种转换协议,一个是可以长度的通讯协议,一种是固定 20 字节的通讯协议,选中后将是固定 20 接通讯协议,不选中则是可变协议通讯选择之后会跳出一个自定义波特率的对话框最上面位 CAN 波特率的计算公式,同时设置相位缓冲区 1,相位缓冲区 2,及预分频就可以了
  • 禁止报文自动重发:CAN 通讯一般都是发送不成功自动重发,如果一直循环发送数据,可以设置禁止报文自动重发,点击设置并启动 ,就可以进行 CAN 通讯了。

③ 发送单帧数据区:
帧格式包含数据帧及远程帧,帧ID是16进制数据,对于标准帧帧ID范围为 0x00000000~0x000007fff , 对于扩展帧帧 ID 范围为0x00000000~0x1fffffff。发送的数据也为16进制数据,图中的数据分别为 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88点击发送单帧按钮则将该帧数据发送到 CAN 总线

④ 多帧发送数据区:

  • 增加按钮:在发送多帧区域选中行下面将增加一条发送帧数据
  • 删除按钮:将删除选中行
  • 清空按钮:将清除发送多帧发送区所有数据
  • 间隔时间:多帧发送区相连两帧的间隔发送时间(毫秒)
  • 发送选中帧:点击此按钮将发送多帧区内选中的一行进行发送
  • 顺序:选中后点击发送选中帧将自动切换到下一帧
  • 循环:选中后点击发送选中帧将循环发送
  • 停止:取消发送多帧命令

⑤ 自动应答区:

  • 增加按钮:在自动应答区域选中行下面将增加一条自动应答数据
  • 删除按钮:将删除选中行
  • 清空按钮:将清除发送自动应答区所有数据
  • 自动应答:将选中后接到到接受 ID 将自动回复对应的帧 ID 及数据

⑥ CAN 总线状态区:
主要用于查看 USB 转 CAN 装置的 CAN 通讯状态

⑦ 配置接受 ID 区:
增加按钮:在配置接受区域选中行下面将增加一条自动应答数据删除按钮:将删除选中行启用按钮:点击此按钮后转换器将只上传配置接受 ID 区里面设置的ID,其他 ID 都不上传到电脑不启用按钮:点击此按钮后转换器将所有 ID 数据都上传到电脑

⑧ 收发数据显示区:

  • 清空:清空收发数据显示器所以数据
  • 暂停:暂停在收发显示区显示其他数据
  • 继续:继续显示收发数据
  • 保存: 可以将收发数据缓冲区的数据保存,可以保存两种格式,excel 或 txt 文本
  • 不显示发送帧:可以在收发数据区只显示接受的数据
  • 自动刷新:当只显示接受的数据时,可以选择自动刷新,这时候数据是实时刷新,而不是不断增加列显示,该功能可以归纳 CAN 总结的 ID 数据选中任意一行

硬件测试

接到2-CH CAN FD HAT测试

  • 将USB-CAN-A和2-CH CAN FD HAT通过杜邦线,将A-->A和B-->B相连,USB-CAN-A的USB端接到电脑USB口:
  • 在电脑端打开USB-CAN调试工具,默认波特率为2M,打开对应的端口号,选择正常模式,标准帧和程序对应的速率1Mbps(USB-CAN-A 高支持1M),设置并启动;2-CH CAN FD HAT和USB-CAN-A实现数据互发互收:

如下图所示:
USB-CAN-A&&FD.png

接到USB-CAN-B测试

  • 通过杜邦线等导线将USB-CAN-A和USB-CAN-B的H-->H和L-->L相连;然后打开两者的120欧姆电阻开关:

USB-CAN-A-B.jpg

  • 进入USBCAN配置工具配置界面->确认CAN配置正确无误后设置并启动->填入数据信息并点击发送单帧;USB-CAN-A发送数据USB-CAN-B收到,反之亦然,测试OK

USB-CAN-AB.png

Linux系统使用

硬件准备

  • 2个USB-CAN-A的L和H分别对应连接起来,打开两者的120欧姆电阻开关(开关拨到靠近绿色接线端子一边),USB端分别接到树莓派的USB口,硬件连接情况如下图:

2-USB-CAN-A.jpg

  • 通过以下指令可以查询和确认树莓派识别到USB-CAN-A和加载相关的驱动
lsusb
ls 

USB-CAN-A-2-USB.png

例程测试

  • 复制以下指令到树莓派终端:
wget https://www.waveshare.net/w/upload/7/72/USB-CAN-A.zip
sudo apt-get install unzip
unzip USB-CAN-A.zip
cd USB-CAN-A
sudo make clean
sudo make
  • 在终端界面输入以下指令:
sudo ./canusb -t -d /dev/ttyUSB0 -s 1000000 -t
  • 再打开多一个终端界面,运行以下指令:
sudo ./canusb -d /dev/ttyUSB1 -s 1000000 -t -i 5 -j BEEE
  • 一个USB-CAN-A(ttyUSB0)发送数据,另一个USB-CAN-A(ttyUSB1)接收到对应的数据,效果如下图:

USB-CAN-A-RPI.png

FAQ

以下是部分参数的说明:

  -t 在 stderr 上打印 TTY/串行流量调试信息。
   -d 设备 使用 TTY 设备。
   -s SPEED 以 bps 为单位设置 CAN 速度。
   -b BAUDRATE 设置 TTY/串行波特率(默认值:2000000)。
   -i ID 使用 ID(指定为十六进制字符串)注入。
   -j DATA CAN DATA 要注入(指定为十六进制字符串)。
   -n COUNT 在 COUNT 帧后终止(默认值:无限)。
   -g MS 以 MS 毫秒为单位注入睡眠间隙(默认值:200 毫秒)。
   -m MODE 注入负载模式(0 = 随机,1 = 增量,2 = 固定)。



数据发送太快,,第一个数据还没发送成功,又开始发下一个,也会导致丢包; 数据发送的时候正好总线上有数据,这种情况会导致丢包;
建议将发送的数据包间隔一定的时间或加入适当的延迟,使其他设备有足够的时间进行数据包处理


回环模式可以帮到您,将模块设置为回环模式,设置并启动,发送数据有接受同样的数据,功能OK: USB-CAN-CAN-USB.png

{{{4}}}

{{{5}}}


目前支持CAN2.0A和CAN 2.0B,也就是支持最基本和最常见的CAN标准,支持最高1 Mbps的数据传输速率
{{{4}}}

{{{5}}}


这个是USBN转串口再转CAN方案,2M串口波特率能兼容大部分CAN速率,一般情况默认2M波特率就可以,将CAN速率改为和外接CAN设备对应的速率(最高支持1M)即可。
{{{4}}}

{{{5}}}


非常不建议改波特率的,2M 就能通用于99%的情况,如果1% 要改,请选用默认的2M改,因为默认是2M的,选用2M 改,就生效; 如果还是不行,请复位为默认的2M后再改:
USB-CAN-A-reset.png

{{{4}}}

{{{5}}}


有的,转换器数据放到缓存是为了防止出错,因为如果接受到数据直接转发的话如果再接受到数据就会出错,所有才需要缓存;内部最多可有20条缓存,转换器基本是实时转换的;
{{{4}}}

{{{5}}}


不同的can配置工具,底层指令是不一样的,除了用我们配套的上位机工具外,还可以用串口调试助手工具发送底层指令使用,如图:

Usb-can-sscom.png

{{{4}}}

{{{5}}}


车子满足以下条件,可以支持:

  • 有普通的CAN接口,支持CAN2.0 A/B 协议
  • 汽车的接口不一样,协议也比较复杂,USB-CAN-A可能用不好,通讯的时候可能需要注意的事把边上的120欧跳线帽取下,其他的跟正常设备通讯类似,只要波特率一直就可以正常收发数据了
  • 如果要求用到工业级或者汽车专用SAE J1939协议,请用这款 USB-CAN-B
{{{4}}}

{{{5}}}


技术支持


联系人:黄工
EMAIL:3005763927@qq.com
电话:0755-83040712
QQ:3005763927
微信:扫下方二维码添加
Hkx-wx.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证