USB-CAN 相关开源项目总结

首先市面上有许多种不同的开源CAN调试器产品,,在硬件上主要有如下区分:

  • candleLight(STM32F072xB)
  • cantact (STM32F042C6)
  • canable(STM32F042C6)
  • CANAlyze(STM32F042C6)

可以看到主要的调试器都是采用F072、F042的单片机的,因此很多固件都是兼容的。目前可以在上面这些硬件上跑的固件有如下几种:

  • candleLight 使用更新的接口形式,支持Rust、Python 的 API,参考文档。支持cangroo、busmaster 等上位机,也对linux支持较好(SocketCAN)。
  • SLCAN,canable,由cantact fork而来,两者均使用SLCAN协议,即串口协议,这个固件比较旧了。似乎只支持cangroo上位机。
  • pcan 网上有人模拟的用于cantact的PCAN固件,可以使用PCAN兼容的上位机、开发库。非常优秀,不过这个仓库目前已经移除USB版权信息了,可能驱动识别不到,可能还得去网上找找。

开源的CAN上位机有如下两种:

  • BusMaster 非常老牌的开源 CAN 上位机,功能很强大,支持PCAN、cantact以及其它奇奇怪怪的商用产品。BusMaster使用教程
  • cangaroo 是另一款开源CAN上位机,只支持candlelight、slcan两种开源协议。

综上看的话,cantact提供的文档较为全面,便于进行程序开发。CANable也有一个教程,这个做的比较好,指导如何使用、更换固件等。

上面这些项目使用的芯片都带有DFU功能,因此既可以使用Jlink等调试器刷写,也可以使用DFU模式刷写。

image-20231016002139089 image-20231016002148941

参考

  1. BusMaster 开源 CAN 上位机
  2. BusMaster使用教程
  3. cantact 硬件
  4. cantact 文档
posted @ 2023-10-16 00:27  Gentleaves  阅读(2896)  评论(0编辑  收藏  举报