电子说
背景
在汽车领域,经常会涉及到CAN报文收发,目前应用最广泛的就是是CAN2.0B协议。CAN报文对整车控制起着至关重要的作用。在平时调试时,经常需要抓取CAN报文来进行数据分析,以往的方案是CAN卡+PC,连续不断的抓取报文,这种方案的弊端在于需要人在旁边设置和管理。
另一种方案是使用TBOX,通过5G网络来把所有报文传输到云端存储,这种方案的缺点就是数据传输成本和存储成本比较高,所以迫切需要一种低成本的CAN报文记录方式。
硬件
1.ESP32-S2模组
2.TJA1050 CAN收发芯片
3.主控模块 Psoc6-evaluationkit-062S2开发板
4.RTC芯片:RX8025T
由于PSOC62开发板没有原生的CAN接口,于是我就使用了一片ESP32-S2芯片,作为从控制器,实现了CAN报文转UART数据,使用了ZLG WIFICAN协议来作为串口数据交换协议,这个协议经过长时间考验,十分稳定可靠,也具有十分强大的扩展性。
主要的硬件结构框架如下图所示。
为了方便的集成和调试这些功能,我专门设计了一个扩展板,兼容了ARDUINO接口
这是一个ARDUINO通用的CAN转UART扩展板,还集成了RTC、FRAM、WIFI等功能,可以单独使用,自成体系,实现一个CAN卡所必须的功能,也可以作为ARDUINO开发板的扩展板,协同使用。
如果开源地址无法打开,可能还在审核,可以私信我索取。
软件
1.ESP32-S2从机软件:
使用Espressif-IDE开发,ESP-idf V5.0.1版本。主要功能就是实现了CAN报文和WIFICAN协议转换,最终通过UART来和主控制器通信。
2.Psoc6主控制器软件:
主要用到了Psoc6-evaluationkit-062S2开发板的UART、SDIO、I2C共三个组件。编写了一个CAN_RECODER 的应用,通过MSH来启动和停止。
软件涉及到了WIFICAN协议的转换、TF卡挂载、文件系统读写等功能。
整套系统用法
STEP0:烧写固件,插入TF卡,连接上CAN线,然后上电开机。
STEP1:在MSH中运行CAN_RECODER
此时程序已经开运行。
使用工具对CAN上发送若干报文。
关闭记录器程序:
STEP2:查看文件
此时可以看见报文已经写入到TF卡的文件系统中,文件名是根据RTC芯片存储的时间来确定的,所以每次启动程序都能生成一个带时间戳的文件名,避免了文件名覆盖问题。
全部0条评论
快来发表一下你的评论吧 !