背景
在汽車領域,經常會涉及到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芯片存儲的時間來確定的,所以每次啟動程序都能生成一個帶時間戳的文件名,避免了文件名覆蓋問題。
-
CAN總線
+關注
關注
145文章
1955瀏覽量
131048 -
RTC
+關注
關注
2文章
542瀏覽量
66961 -
收發芯片
+關注
關注
0文章
36瀏覽量
8985 -
TF卡
+關注
關注
2文章
81瀏覽量
12223 -
ESP32
+關注
關注
18文章
977瀏覽量
17500
發布評論請先 登錄
相關推薦
評論