ce4a3b8621cc885fdc23a7f5530a5e71
低成本便携全自动化ECU诊断升级和测试工具
历史回顾: 助大学生快速进入编程世界--鲁班猫板 - 野火科技 - 电子威廉希尔官方网站
论坛 - 广受欢迎的专业电子论坛! (elecfans.com) 零基础快速实现pyhton 控制CAN通信UDS诊断功能 - 野火科技 - 电子威廉希尔官方网站
论坛 - 广受欢迎的专业电子论坛! (elecfans.com)
通过上述文档的基础入门。加上自己的动手能力可以很快实现自己的DIY ,实车测试工具,工厂ECU测试工具等。接下来看下我的小成果吧。
工具硬件环境
鲁班猫开发板
USBCAN(支持LINUX下开发的USBCAN)
待测试ECU
电源(用于ECU供电)
TYPE-C线(用于开发板供电)
软件开发环境
SSH终端
vscode
pyqt5
整体设备框图

工具实现功能
- 通过输入序列号后自动运行,序列号也可以通过扫描枪实现。
- 通过UDS DID服务读取ECU版本。
- 通过UDS 服务升级新版APP。
- 检测工作电流是否符合目标。
- 通过19服务读取故障码,检查ECU是否有硬件问题等。
- 工具支持大部14229服务。
- 支持log保持用于生产日志。
说明:
为了方便看发送报文效果采用了两个USBCAN一个连接电脑用于查看报文。
遗憾的是没拿鲁班猫驱动触摸屏的方式展示此工具。用了方便开发调试的SSH方式显示工具画面。
经验总结
通过python 实现这个工具可以横向扩展很多CAN硬件包括vector。这个超赞!
通过python UDS库实现 升级等功能,自己编写代码量很小就可以实现功能。
鲁班猫开发很小巧但功能刚好够用,使用方便。
适合平时拿着玩。用于测试点东西,开发个小工具。
缺点开源库存在BUG。例如:
Did not receive frame IsoTP Transport layer in timeout
这个错误如果参数检测都配置对了,可能是库的问题。自己通过修改库解决,也可能是自己没用明白,欢迎探讨!

当运行不符合服务需求时就会返回对应问题的错误码。
|