摘要
本篇筆記主要記錄基于恩智浦MPC5744P的CAN驅動開發和測試過程中使用英飛凌TLE9252帶功能安全的CAN收發器時候遇到的問題。
準備工作
安裝S32DS for PA, 因為我們在S32DS下開發MPC5744P。
問題提出
恩智浦的MPC5744P控制器局域網絡CAN,跟我們之前使用的恩智浦Kinetis KV, 等系列的flexCAN結構基本是一樣的,本次在開發過程中在使用英飛凌TLE9252收發器時候,之前開發的可以正常通信的工程無法通信。英飛凌的TLE9252是比較新的一顆料,主要用于汽車上帶功能安全的CAN通信網絡,比一般的收發器復雜,有多種操作模式,如,睡眠模式,正常模式,監聽模式等,正常操作模式中需要將EN腳和NSTB腳拉高。
軟件中添加
其余驅動程序和初始化跟CAN0一樣,收發采用統一接口,可是在測試時候發現CAN1不通,無法通信。
解決問題
先將CAN跳線到另一路非功能安全的收發器,CAN通信收發正常,排除CAN驅動軟件問題。
將CAN1跳回TLE9252V,最后經過多次實驗驗證發現電路中C53和C55目前的設計47nF偏大在500kbps波特率下,信號失真無法通信,將波特率調低為50kbps可以正常通信。拆掉C53和C54,可以正常通信,臨時飛線硬件設計更改為容值小一檔的電容,在1Mbps,500kbps下可以正常通信。
總結
在經典CAN設計中,速率低的時候可以不用這兩個電容,在帶有CANFD的通信中,CAN FD 速率比較高,一般需要添加這兩個電容,但容值不易大,可以用示波器抓下波形,調整為合適值。
責任編輯:haq
-
電容
+關注
關注
99文章
6001瀏覽量
150039 -
CAN
+關注
關注
57文章
2720瀏覽量
463401 -
驅動
+關注
關注
12文章
1827瀏覽量
85186
原文標題:臥槽,電容引起了CAN通信不正常
文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論