文章目录

  • 前言
  • 二、CANable开源软硬件
  • 三、AMP32F103 方案的自制USB2CAN 调试器
  • 四、TTCAN - USB2CANFD调试器
  • 二、PyQT开发CAN调试器上位机
    • (1)CAN通信速率可设,CAN/CANFD可选
    • (2)CAN报文的收发以及解析显示
    • (3)根据DBC文件对收发报文进行解包和组包
    • (4)UDS功能测试
    • (5)FOTA功能(定制化需求)

前言

接触汽车电子软件开发一年的时间里,主要进行CAN通信相关的开发工作,这就不可避免地需要CAN通信调试工具,基本上Vetor的权威工具,比如CANoe属于稀缺资源,排着队才能借到用。至于Pcan、周立功CAN也不是个人能舍得钱买得起的。就只好求助万能的某宝,在工作的过程中不断地寻找合适的(廉价的)CAN调试工具,能满足基本的调试功能就可,也不追求极致的性能和高大上的功能。能用就好,合适就好,价廉的同时能辅助完成自己的开发工作就好。

二、CANable开源软硬件

https://canable.io/getting-started.html

国外非常牛逼的CAN调试器软硬件开源项目,包括硬件原理图PCB设计以及多种可选固件,可以直接刷PCAN的固件,然后就可以开心的使用各种类似PcanView、BusMaster等上位机调试软件。
某宝搜canable就有现成品,以前还有99元,现在好像基本都在200元以上了。

三、AMP32F103 方案的自制USB2CAN 调试器

本来准备买个STM32F103 + TJA1042方案的小开发板,做个UDS和FOTA开发的DEMO,后来在某宝看中了AMP32F103 + TJA1042方案的小开发板,架不住便宜才20多块钱,作为STM32F103的替代品直接买了,反正就是练手用的。后来这个DEMO完成后,基本就闲置了。

再后来,手上的CAN调试工具总被借走,就开始准备捣鼓一个自己专用的CAN调试工具。查了下AMP31F103CB的用户手册,发现该芯片支持USB2和CAN同时工作使用(STM32F103的USB和CAN是不能同时使用的)。然后就利用AMP32官方提供的SDK,基于USB CDC的类,开发了USB虚拟串口转CAN的固件,然后上位机就可以基于串口开发了。(以前做过串口上位机开发,比较熟)。

四、TTCAN - USB2CANFD调试器

后来项目的需求,都开始上CANFD了,这就导致我手上上面两款廉价的CAN调试器无法满足我的调试需求了,某宝上花了60多买了这个USB2CANFD的调试器,也是USB虚拟串口的上位机通信方案。这样稍微修改下之前开发的上位机,基本就可以适配这个调试器了。虽然卖家也提供了上位机,但是用起来就是没有自己开发的上位机顺手和合适。

二、PyQT开发CAN调试器上位机

有了物美价廉的CAN调试器工具,就必须配一个满足自己所有需求的上位机,不然就是摆设啊。用PyQT5开发上位机界面,最后用Python实现上位机的逻辑功能。自己对上位机的基本需求:

(1)CAN通信速率可设,CAN/CANFD可选

(2)CAN报文的收发以及解析显示

(3)根据DBC文件对收发报文进行解包和组包

(4)UDS功能测试


除了基本的诊断功能测试,还提供测试用例自动化测试以及生成报告的功能

(5)FOTA功能(定制化需求)


基于以上的需求和实际开发工作中的需求,不断地完善上位机。

记录自用的CAN开发调试工具和上位机相关推荐

  1. ubuntu下Qt开发西门子PLC上位机

    一条流水线,因为下位机PLC比较固定,用的是1200和1500和倍福IO模块,重要的是逻辑,没什么好写,就写写上位机吧,虽然也就是集成各功能,但作为记录下历程也不错的,也算是新公司一个小小的里程碑了, ...

  2. python 串口_如何使用Python开发串口通讯上位机(一)

    用Python开发串口通讯型上位机,其实并非最优解,本系列更新只为个人学习与总结.如果有C语言底子,嵌入式层面的上位机开发,C++ Builder,C#才是更加好用的利器. 1 什么是上位机 从事过嵌 ...

  3. python上位机开发实例-python上位机

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 若python上位机接受到的字符为"1',则print出ok,如果字符是 ...

  4. python做上位机好不_如何使用Python开发串口通讯上位机(完结)

    2021的第一份更新,比以往时候来得早一点! 前面两期讲了如何使用pyserial和做好了基本的上位机界面以及与API的联动,今天我们接着完善下代码.1 编码规范的使用 前面两期只是做基础展示用,所以 ...

  5. python隐藏画笔箭头的函数是hide_Python开发的串行通信上位机程序三部曲第三部分,串口,通讯,用,图形,方式,显示,数据...

    用Visual Basic或者C#, LabVIEW等软件开发的上位机界面,和文本式交互界面比较而言,就是可以用图形方式来显示数据.那么python可不可以用图形来显示数据呢?Of course! 和 ...

  6. python编程与下位机通讯_如何使用Python开发串口通讯上位机(一)

    用Python开发串口通讯型上位机,其实并非最优解,本系列更新只为个人学习与总结.如果有C语言底子,嵌入式层面的上位机开发,C++ Builder,C#才是更加好用的利器.1 什么是上位机 从事过嵌入 ...

  7. python 串口上位机_如何使用Python开发串口通讯上位机(二)

    黑色的dos窗口对于大部分来说,页面极为不友好,且操作不方便,因此本篇主要讲讲如何结合QtDesigner创建一个UI并初步与串口Api链接.1 QtDesigner进行上位机页面设计 Python下 ...

  8. python蓝牙上位机开发_python做上位机 - osc_2frv0wjp的个人空间 - OSCHINA - 中文开源技术交流社区...

    参考文章: https://blog.csdn.net/dgut_guangdian/article/details/78391270 https://www.cnblogs.com/lanceyu/ ...

  9. php做上位机,开发过usb上位机驱动的大虾请看一下(附图)

    我不太明白你的意思,既然主机已经检测到我的usb设备,提示我安装驱动,那么说明我在00 09 01 00 00 00 00  00 之前的程序应该都是正确的,而我现在按照ddk+vc+driverst ...

最新文章

  1. Git工作流程和rebase与合并问题
  2. 苹果计算机错误怎么改,Mac电脑未能修改分区图,因为文件系统验证失败怎么办?...
  3. ajax返回类型探讨
  4. 【leetcode记录03】动态规划
  5. H5项目开发分享——用Canvas合成文字
  6. 华为鸿蒙系统英语报纸_华为鸿蒙英文不是Hongmeng OS?余承东解释
  7. 回溯法和树的先序遍历
  8. 居民身份证号码查询系统
  9. MAC安装HBase
  10. 聚类算法--K-Medoids(基于R的应用示例)
  11. Unity 手机VR GoogleVR 详细配置教程
  12. VBS 对IBM Notes的常规操作
  13. (专升本)信息安全(应用安全策略、网络安全策略)
  14. windows11删除此电脑的6个图标,包括视频、图片、文档、下载、音乐、桌面
  15. Handler---
  16. 二十一世纪大学英语读写教程(第三册)学习笔记(原文)——4 - College Pressures(大学生的压力)
  17. php制作日历带节日实验目的,php制作日历
  18. MPU6050姿态融合解算(DMP)
  19. 关于数据结构的内存分配问题
  20. 客户端加JS代码判断复选框是否全选的代码

热门文章

  1. ssm毕设项目校内考研吧hd450(java+VUE+Mybatis+Maven+Mysql+sprnig)
  2. vba 方法和数据成员未找到_VBA基础知识,数据装入数组的方法,currentregion方法最简单...
  3. Fresco+Bunner
  4. PC端聊天机器人界面(html实现)
  5. RPA+AI打造智能政务雇员,来也科技助力数字化政府建设
  6. c 语言课程设计日历,C++课程设计(日历的实现)
  7. 和胎儿说话是最好的胎教方法?其实有更好的
  8. 我国利用大数据反恐有待加强
  9. H5画布 canvas 入门到精通 _ 第三部分(canvas 库 Konva.js 的使用)
  10. PVE 安装群晖转换img镜像引导