硬汉嵌入式论坛

 找回密码
 立即注册
查看: 9995|回复: 11
收起左侧

[使用教程] H7-TOOL的CAN/CANFD助手使用说明V2.2,支持8Mbps通信,支持CANopen,J1939,OBD15765,UDS解析(2025-03-22)

  [复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
发表于 2021-6-15 08:06:09 | 显示全部楼层 |阅读模式
本贴文末有三个简易使用举例

功能特性:
1、支持经典CAN和CANFD,最高支持8Mbps通信。
2、支持CANopen,J1939,UDS和汽油车ODB 15765解析。
3、支持USB,以太网或WiFi方式的CAN/CANFD助手效果展示,同时支持局域网和外网控制。支持离线手持显示屏方式查看。
4、支持微秒级硬件时间戳,实时添加比较准确,收发消息后,实时上传给上位机的,并不是上位机软件来做的时间处理,用来测量消息时间是比较准确的。
5、支持实时保存CSV文件。
6、实际测试CANFD仲裁段1MHz,数据段2MHz速度下,设备连续不间断发送,每秒上万帧数据,TOOL实时接收1200万帧正常不丢包。
7、支持LUA脚本对数据解码和分窗显示。
8、支持在发送面板直接输入LUA语句控制发送逻辑。
9、原创CANFD Trace功能,不需要目标板额外做任何代码, 支持在线和脱机玩法.
10.  支持通过CANFD LUA小程序对目标板bootloder进行APP固件升级。
11、支持波形打印。
12、增加CAN负载率,错误状态信息和发送超时判断。
13、支持LUA CAN API和CAN助手同时使用,方便实现各种复杂逻辑。

视频教程:

CAN/CANFD/CANopen专题,CAN知识点干货分享, 收发执行过程和错误帧处理(2023-01-03)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=117387

CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并茂,配合综合实战演练(2023-05-15)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=119189

CANopen协议栈专题,实战方式系统了解NMT,PDO,SDO,时间戳,同步报文,紧急报文等(2023-10-17)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=121438

CANopen协议栈专题,CANopen主从机组网实战,CAN词典工具使用方法以及吃透PDO玩法(2023-11-01)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=121619

J1939协议栈CAN总线专题,源码框架,执行流程和应用实战解析,面向车通讯,充电桩,模组通信等(2024-01-08)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=122539

UDS ISO14229统一诊断服务CAN总线专题,常用诊断执行流程精讲,干货分享,图文并茂(2024-04-30)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=123888


功能介绍:
1、支持数据段8Mbps,仲裁段1Mbps



支持CAN负载率,错误状态信息和发送超时判断



2、实际测试CANFD仲裁段1MHz,数据段2MHz速度下,设备连续不间断发送,每秒上万帧依然正常,  1200万帧依然正常不丢包



TOOL实时接收每帧64字节动态效果, 支持CSV格式实时存储



3、支持微秒级硬件时间戳,实时添加比较准确,收发消息后,实时上传给上位机的,并不是上位机软件来做的时间处理,用来测量消息时间是比较准确的



4、以太网或WiFi方式的CAN/CANFD助手效果展示,支持局域网和外网控制



5、CANopen解析

(1)、支持CiA301得NMT,PDO,SDO,时间戳,紧急报文和同步报文的解析。
(2)、支持分窗口展示NMT,PDO,SDO等信息。

详细说明https://www.armbbs.cn/forum.php?mod=viewthread&tid=120863



6、J1939解析

这个解析器由坛友nnqtdf设计添加

12678.png

H7-TOOL的J1939通用版解析功能操作说明已发布
https://www.armbbs.cn/forum.php?mod=viewthread&tid=122456



客户分享H7-TOOL CAN助手的GBT27930-2015电动汽车充电桩车通信
https://www.armbbs.cn/forum.php?mod=viewthread&tid=122150



7、UDS统一诊断服务解析

详细操作说明:https://www.armbbs.cn/forum.php?mod=viewthread&tid=122699





8、汽油车ODB 15765解析





9、原创CANFD Trace功能,不需要目标板额外做任何代码, 支持在线和脱机玩法

详细介绍:https://www.armbbs.cn/forum.php?mod=viewthread&tid=118999





10、支持波形打印:



使用举例1:

这里以H7-TOOL和STM32H7开发板的CAN FD通信为例进行说明。

1、STM32H7使用这个例子:

http://www.armbbs.cn/forum.php?mod=viewthread&tid=103449

H7-TOOL和STM32H7的CAN2  FD进行通信,注意是CANH接CANH,  CANL接CANL

1.png

2、打开最新版的H7-TOOL上位机,使用USB,以太网或者WiFi方式均支持。

选择左侧的CAN助手 -> 启动CAN助手

1.png

参数介绍:
(1)帧类型 :0 - 经典CAN,最大收发8字节
                      1 - CAN FD ,   仲裁段和数据点波特率相同,最大收发64字节
                      2 - CAN FD 双波特率,仲裁段和数据点波特率不同,最大收发64字节

(2)仲裁段和数据段波特率 :除了提供常用的波特率,还提供了用户可自定义配置模式,需要用户选择如下选项,这样就可以配置右侧的“CAN波特率高级配置”

2.png

我们这里选择CAN FD双波特率,仲裁段设置为500Kbps,数据段设置为2Mbps,最大数据设置为8字节
3.png

3、H7-TOOL CAN接收数据测试

第2步设置完毕参数后,按下几次STM32H7板子的 K1, 可以看到H7-TOOL上位机接收到了数据:

1.png

4、H7-TOOL CAN发送数据测试

如果有多种发送格式,用户可以在快捷面板里面发送,这个面板也支持用户加载专门的配置文件,不用每次都设置。
4.png

如下的配置,点击发送,可以控制STM32H7板子的LED1点亮:

1.png

如下的配置,点击发送,可以控制STM32H7板子的LED1熄灭:

2.png

使用举例2:

自定义波特率设置

分享两款CAN/CANFD波特率计算软件,用在H7-TOOL高级配置的手动添加非常方便,自己的程序代码也可以方便设置
https://www.armbbs.cn/forum.php?mod=viewthread&tid=124911

使用举例3:
【发送超时检测】



0 - 不判断,开硬件重发。
1 - 100ms,关硬件重发。
2 - 200ms,关硬件重发。
3- 500ms,关硬件重发。
4-1s,关硬件重发。
5-2s,关硬件重发。
6-5s,关硬件重发。

比如我这里设置100ms超时发送,并开启周期发送,并且初始阶段没有接目标节点,动态图:



【错误状态信息】

这里测试几个典型情况,可以大大方便大家了解各种状态信息。

1、单个TOOL,不接节点,不接终端电阻,开硬件自动重发,效果展示

可以看到错误状态信息没有任何变化。



单个TOOL,不接节点,接终端电阻,关闭硬件自动重发(对应选项1 - 100ms,关硬件重发),效果展示



可以看到TEC计数器以每次+8计数,动态图:



2、两个节点通信期间,拔掉接线,然后再插入

可以看到发送节点的TEC增加到128,重新插入后,减小到0,动态图:



3、 两个节点,不同波特率,发布效果:

发送节点500K + 1M,且开硬件自动重发,接收节点1M + 2M,接收节点效果:

检测到错误,且负载率直接爆到80%,动态图:



具体错误状态信息含义,点击寄存器含义按钮可以查看



如果总线上没有错误信息,点击复位CAN按钮,可以恢复TOOL到正常状态,如果总线上一直有错误信息发送,复位后还会继续检测到





参考资料:
1、【实战技能】单片机bootloader的CANFD,I2C,SPI和串口方式更新APP视频教程(2022-08-01)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=114491

2、【原创】H7-TOOL的CANFD Trace操作说明,不需要目标板额外做任何代码,  支持在线和脱机玩法(2023-05-15)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=118999

3、H7-TOOL的CAN/CANFD助手CANopen协议解析操作说明V1.1,持续更新(2023-11-01)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=120863

4、H7-TOOL的J1939通用版解析功能操作说明V1.0,已发布(2024-01-09)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=122456

5、H7-TOOL的UDS ISO14229统一诊断服务解析操作说明V1.0(2024-04-30)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=122699
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2021-6-16 09:51:38 | 显示全部楼层
昨天忙别的没整完,今天继续整理下。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2021-6-17 17:39:03 | 显示全部楼层
更新完毕。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2021-8-6 07:30:59 | 显示全部楼层
2021-08-06

更新内容到最新版。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2023-12-4 08:46:34 | 显示全部楼层
2023-12- 04

再次更新,增加很多功能
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2024-3-19 00:31:21 | 显示全部楼层

2024-03- 19

更新部分内容。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2024-5-6 01:28:41 | 显示全部楼层
增加UDS解析
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2024-8-16 01:23:00 | 显示全部楼层
【PC软件】V2.26
1. PC软件取消自动检查版本,替换为手动按钮检查更新
2. CAN助手
  - 支持时钟选择(20M 40M 80M),CAN FD支持最高8M波特率(需支持8M的can PHY芯片)
  - 增加“J1939通用解析.lua”解析器
  - 增加个"UDS.lua"解析器
3. 辅助设计工具界面新计算直线K、B值功能、增加float转hex功能
4. 脱机烧录
  - 界面支持ISP串口解锁和加锁(目前仅做了ING916xx)
        --ISP_UNLOCK 、ISP_LOCK两个宏用来控制PC界面是否支持
        --在读芯片界面有ISP串口解锁和加锁按钮
  - 支持SWD初始化阶段使用低速时钟操作,有宏定义速度
        -- SWD_CLOCK_DELAY_0 = 0         --单路和多路烧录时的时钟延迟
        -- SWD_CLOCK_DELAY_INIT = SWD_CLOCK_DELAY_0 --初始化阶段的时钟延迟        
  - 增加固件文件合法性检查功能,
    --function pc_check_file(file_bin, tar_addr)
        --目前仅支持S32K1xx        
  - UID加密功能,新增lua算法转c文件功能
  - 新增华润微CS32F469x
  - 新增GD32H7xx、GD32L23x
  - 新增HC32F448
  - 修正HC32F002 的Flash大小
  - 新增桃芯科技 ING916XX
  - 新增Linko KS32MC03x、 KS32MC05x、 KS32MC06x、 KS32MC07x、 KS32MC08x、KS32MC45x
  - 新增华芯微特SWM211,SWM181。同时更新芯片型号列表,删除已取消的型号。
  - 新增国民技术 N32G003、N32WB031X
  - 新增LPC802相关代码(未完成)
  - 完善S32K1xx说明,固件中【0x400~0x40F】开始的16字节区域为配置字区域     
  - 修正HS6621的SWD时钟速度0改为1
  - 发现PY32F002B设置读保护异常,临时取消写选项字功能
  - 新增 PY32F403、PY32F072、PY32F040
  - 新增树莓派 RP2040
  - 新增STM32C0xx系列
  - 修正 STM32F410xx_412xx_256.lua, 打印了错误文件名
  - STM32H7x_2M 系列芯片新增串行EEPROM,AT24Cxx算法。
  - STM32H7新增读保护功能
  - 新增普冉 PY32F040、PY32F072、PY32F403
  - 完善CH579, 在CH57x_250.lua中新增EEPROM算法
  - 新增CH32F2XX系列
  - 新增 STM32U5、STM32H5、STM32WL
  - 更正N32G031_32、N32G031_64的UID地址
  - 解决武汉芯源 CW32F030 CW32L052 CW32L031不能烧录的问题
  - 新增Atmel  ATSAMD21
  - 新增Nordic  nRF53系列
  - 新增NXP MKEAxx系列
  - 新增TI MSPM0G系列
  - 新增复旦微FM33LE0xx
5. 脱机烧录串口AT指令集升级,新增AT,AT+READFILE协议
6. SPI控制器功能,初始化之后D0,D1设置为高电平,涉及文件usb_bus.lua
7. 模拟量校准界面,解决20mA校准参数读取异常的问题
8. 目标板截屏功能优化,支持客户自己添加显示驱动控制器
9. 升级threadx.lua文件

【固件】2.26

1. 解决1拖16模式,AT指令无法切换到1拖16模式的问题
2.1拖16时,如果启用了AT协议,烧录实际失败,但会显示OK,原因是硬件不支持1拖16模式启用AT协议
3. 解析WiFi AP列表,支持去掉标题行
4. 按客户要求,烧录STM8S时,串口AT+QX指令返回出错扇区首地址。
5. 新增Lua配置变量
        g_tProg.SwdClockDelayInit = lua_GetVarUint32("SWD_CLOCK_DELAY_INIT", g_tProg.SwdClockDelay);
        g_tProg.DebugAP = lua_GetVarUint32("DEBUG_AP", 0);
        g_tProg.DisableBlockAccess = lua_GetVarUint32("DISABLE_BLOCK_ACCESS", 0);
6.新增 read_ee_to_file() 用于将内置EEPROM的数据保存到EMMC磁盘
        #define EEPROM_BACKUP_FILE  "0:/H7-TOOL/Config/eeprom_bakup.bin"
7.串口助手,每行最大字符由120调整为256.
   #define GB2312_LINE_MAX_PC     256      /* 文本模式,自动换行字节数 */
8.硬件信息页面,新增软件Build
9.重启时,打印固件版本到Log窗口
10. swd_host.c 新增函数 void swd_MultiDrop(void)
11.修改操作界面,将电压表、电阻表等功能移动到万用表菜单
12.更新lua_if_swd.c的函数h7_ReadUid,STM32H5的UID读取要使用。
13.更新lua_if_can.C,status_can_monitor.c, bso_can,c三个文件。主要是波特率计算查表和LUA CAN接收支持
14.更正NVIC_CPUID芯片版本显示BUG。
15.对2.8机型,修改Lua 小程序界面的操作方式

【EMMC文件】V2.26

1. prog_lib.lua文件ChangeProgChan(ch)函数,通道切换后增加50ms延时等待电源稳定
        - 高级脚本可修改 MULT_16_SWTICH_DELAY = 50 ,缺省是50
2.脱机烧录,新增AT,AT+READFILE功能
3.解决1拖4烧串行FLASH不能使用RS232机台板的问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2024-11-27 16:32:33 | 显示全部楼层
数据格式:  帧格式, 帧类型, ID: HEX数值
                  帧格式:可以选择字母S或者X,S表示标准帧,X表示扩展帧
                  帧类型:   可以选择字母D或者S,D表示数据帧,R表示远程帧
                  ID :  CAN ID数值
                  HEX数值:实际的数值

比如标准帧,数据帧,ID是0x111,发送数据0x11,0x22, 0x33, 0x44. 0xFF

那么这里就填写S, D, 0x111 : 11 22 33 44 FF

选项格式:
124.png

            
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2024-12-21 09:18:03 | 显示全部楼层
新增


下载.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2025-1-3 00:06:58 | 显示全部楼层
发布日期: 2025-01-01
PC软件版本: V2.2.7
STM32_APP固件版本: V2.27
STM32_BOOT固件版本: V2.05

【PC软件】V2.2.7
1. 脱机烧录功能更新:
  - prog_lib.c 1拖16时部分成功时,修改 start_prog_0() 为返回ERROR
  - 高级脚本范例中新增1拖16使用VOUT输出结果状态
  - 修正GD32H7xx_1M和2M识别IDCODE问题
  - 修正STM32H5xxxI_2M 识别IDCODE问题(DEBUG_AP=1)
  - 升级STM32F4xx_OTP.FLM算法文件,解决528字节最后16字节写入失败问题
  - 新增芯海 CS32L015系列
  - 新增新唐M031系列、NDA102EC1x系列
  - 新增GD大容量SPI FLASH: GD55B02G
  - 新增国民技术 N32H47x系列
  - 新增矽挧翊SYM32L010系列
  - 修正STM32C01x不能擦除问题(增加时钟延迟)和UID问题(UID地址错误)
  - 修正国芯CCM4101不能读UID的问题.
  - 串行FLASHMX25L256,读OTP区作为UID使用.(需要提前写入)
  - 新增国民技术 NSS32LOCK 系列
  - 更正GD32F403写选项字失败的问题
  - 添加STM32U0xx系列
  - 解决NXP S32K312不能烧录的问题
  - Linkedsemi(凌思微.开发中)-厂家FLM有问题校验不过.
  - 解决一拖四烧录不支持自动连续烧录的问题
  - 添加旗芯FC4150
  - 修正FMD(辉芒微)FT32F0系列缺省FLASH地址错误
  - 修正 GD32H7XX. ProgChipIdType = 1
  - 新增HED华大电子(CIU32L0)
  - 新增 HC32F448
  - 添加航顺HK32C030
  - 新增中微BAT32A233
  - SPI FLASH,新增GD25Q512、GD55B02G
  - 新增Tai-Action泰为TAE32G5800
  - 修正TI MSPM0G、MSPM0L系列UID地址
  - 新增3PEAK的TPS32M0、TPS32M5
  - 添加闪芯微FCM32F103
  - 添加富芮坤FR8008, FR8003, FR2012
  - 新增GD32A、GD32E11
  - 新增TI MSPM0C
  - 新增STM32L010
  - 增加凌欧LKS32MC45x,MC05x,MC08x,MC03x读写保护支持
  - 增加复旦微FM32LE读写保护支持
  - 增加GD32E23x选项字节操作支持,升级GD32F303选项字节支持
  - 增加STM32U5全系列读写读写包含支持。
  - 新增Silfi的SF32LB55X
  - N32G430系列补充全面
  - 澎湃微PT32F030
  - 新增普冉PY32C642,C613,F071,L020和MD310
  - STM32U5全系列读写保护支持
  - 新增武汉芯源 CS32L010
  - 新增雅特立AT32A403A
  - 新增瑞萨RA0
  - 新增东软载波的ES32F0
  - 新增英飞凌CYT3B,CYT4B
  - 新增雅特力AT32F402/405
  - GD32E50x支持读保护
  - 复旦微FM33LE0xx支持读保护
  - 新增中颖SH30F9010
  
2. CAN助手
  - 修正发送按钮次序问题
  - 支持在解码器lua文件中定义CAN窗口标题
  - 双波特率并且用高级配置时,增加提示弹窗
  - 增加ECR和PSR寄存器展示功能
  - 增加CAN负载率,错误状态信息和发送超时判断

3. SPI主从控制器
  - SPI控制器支持全双工模式,支持16bit模式

4. 发布首版LUA API手册
  
【EMMC文件】V2.2.7
  - 新增若干芯片

【固件】V2.27
1. 修正二维码扫码字符n字符的BUG
2. f_dir("current") 可获取当前lua文件的路径
3. 修正BUG:启用磁盘加密时,提示按OK键
4. SPI支持16bit模式
5. CAN助手支持PSR状态字和ECR寄存器显示功能
6. 增加CAN负载率,错误状态信息和发送超时判断
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115430
QQ
 楼主| 发表于 2025-3-22 08:46:24 | 显示全部楼层
发布日期: 2025-03-20
PC软件版本: V2.2.8
STM32_APP固件版本: V2.28
STM32_BOOT固件版本: V2.05

【PC软件】V2.2.8
1. 脱机烧录功能更新:
- 新增MAGTRON(巨磁智能) MT32L083系列
- 新增巨晟JS32T031系列
- nRF5340支持烧录NetFlash
- 新增国芯CCM1002BC
- 修正fix_data.lua中date_new函数大小端问题
- 修正SWM341的UID地址错误
- 扫码枪功能:支持霍尼韦尔1900扫码枪(字符间超时和穿插其它数据)
- 新增NXP RT1176烧录
- 新增 LPC11xx序列
- 新增BYD的BF5885AM64、BF7006BM48
- 新增LPC5460x系列

2.新增UART CAN RTT 三合一界面。PC菜单新增工具-UART CAN RTT三合一
3. 脱机烧录一键添加新芯片

【EMMC文件】V2.2.8
  - 新增若干芯片

【固件】V2.28
- 选择烧录接口菜单取消按键音
- 数据监视器子菜单取消按键音
- 解决BUG:扩展功能菜单在先竖屏后横屏时显示乱行
- 开机首页抬头改为图标栏(USB图标)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 13:53 , Processed in 0.290258 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表