以下是CAN通信驅動開發的關鍵注意事項相關的整理,涵蓋硬件配置、協議實現、錯誤處理及性能優化等方面:
一、硬件層配置要點
-
引腳復用與時鐘
- 確認MCU的CAN控制器引腳是否與GPIO復用,正確配置復用模式。
- 檢查CAN控制器時鐘源,確保波特率計算基準準確。
-
收發器(Transceiver)狀態管理
- 控制收發器的待機/喚醒模式:休眠時關閉發送器以降低功耗,喚醒時需滿足建立時間(tWAKE)再通信。
- 處理收發器故障標志(如TJA1051的nERR引腳),觸發MCU中斷診斷。
-
終端電阻匹配
- 總線兩端必須接120Ω終端電阻,避免信號反射。
- 單節點調試時,若僅有一個設備,需在PCB上預留終端電阻焊位。
二、協議層實現規范
-
波特率配置
- 計算位時間分段(Sync_Seg, Prop_Seg, Phase_Seg1/2),確保所有節點波特率誤差≤1.5%。
- 采樣點建議設在75%-80%位時間處(高速CAN常用80%)。
-
過濾器(Filter)設計
- 硬件過濾器:合理分配掩碼