文章目录

  • 前言
  • 二、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. 在吗?认识一下JWT(JSON Web Token) ?
  2. linux内存释放和使用限制
  3. c语言已知斜率 求倾角,倾斜解的问题
  4. c++中delete对象后 调用成员函数_C++类的特殊成员函数及default/delete特性
  5. 斜度符号标注_机械图纸尺寸标注规则,第1次见,太直观太形象了!测量工程师可以拿去教绘图的了!...
  6. MPU6050开发 -- Linux下测试
  7. 随笔:web服务器中建立一个小的个人站点
  8. Ubuntu 华为开源镜像站 Mirror
  9. Thumbelina,摘自iOS应用Snow White and more stories
  10. 天池客流预测–GBDT
  11. 十次方:机架式服务器和塔式服务器有什么区别?
  12. 估值模型不适用_十年十倍!绝对估值法是如何引领巴菲特买入可口可乐的?
  13. 彩虹配色的RGB函数
  14. android 清理 app,最好用的五大手机清理APP
  15. AndroidX使用
  16. IDEA中maven仓库依赖报错:Cannot resolve com.example:product-server:0.0.1-SNAPSHOT
  17. postgresql10中的pg_stat_statements
  18. windows xp iis5.1服务器安装
  19. matplotlib之饼图
  20. 成都精灵云-C++开发工程师-技术面经(30min左右)

热门文章

  1. PyMySQL 安装
  2. Python中scatter函数参数详解
  3. mysql 多实例指定cpu_mysql多实例
  4. 扩展巴科斯范式 EBNF
  5. STM32F4 TIM1输出PWM配置
  6. java毕业生设计亦心化妆品网站计算机源码+系统+mysql+调试部署+lw
  7. 点到直线垂足计算公式Java实现
  8. 阿里巴巴fonticon字体图标的使用
  9. 华为鸿蒙宣传图,VIVO联动华为?官方宣传图出现华为智联,为鸿蒙合作埋下伏笔...
  10. python数组下标访问起始_为什么数组下标从0开始