上一期,我們詳細分享了LIN總線的結構、譯碼方法、休眠與喚醒過程。
那如何借助串行譯碼分析總線故障?我們能否從譯碼結果中,進一步提取LIN線發送的信息?答案是肯定的。
這一期,我們就將結合LIN總線控制的交流發電機,探討提取電壓設定值變化曲線、獲得更多故障標志提示的方法。

汽車總線免拆診斷
01
確認LIN總線配置的版本
盡管關于LCF(LIN的配置文件)的信息有限,但在LIN控制交流發電機方面,譯碼數據具有一些非常顯著的優勢。我們可以將譯碼數據導出,進行更多的分析。
以下的探究是結合 NXP(恩智浦半導體公司) 提供的資料表進行的。共有 11 種配置可以用來定義發電機的收發信息。這些配置是基于用于傳輸和接收數據包的 ID。
這些配置包括——
注:資料表源文件可私聊助教獲取(全英版本)

圖1 發電機配置信息
由于我們在這個點對點的網絡中通常只有兩個節點,因此可以利用 Pico 內置的譯碼功能識別交流發電機所使用的配置。細心的你可能會注意到,上表中的 ID 在不同版本中是重復的。例如LIN1 Version A使用的 ID 為 29、11、12 和 15,LIN1 Version B 也使用 29、12 和 15,而 LIN1 Version D 則包含 29、11 和 12。
那我們如何確定應使用哪個版本?一個簡單的方法是:對捕獲的數據進行譯碼。譯碼功能會直接顯示交流發電機和ECM的ID,然后我們可以將其與上表進行關聯。

圖2 譯碼確認配置的版本
從上述譯碼表可以看出,存在兩個不同的ID:11和29。我們將其與LIN版本表關聯,發現有兩個可能的選項:
LIN 1 Version A 和 LIN 1 Version D
在查看AR6000(NXP的一個芯片)數據手冊時,可以看到這兩個版本的信息配置,雖然在接收(Rx)和發送(Tx)格式上存在一些差異,但也有一些相似之處,我認為對于故障診斷最重要的兩個方面是:
用于電壓設定值的Rx
以及用于診斷標志(指示故障)的Tx
02
數據幀的數據結構
在我們開始更詳細地分析這些數據的含義之前,首先應了解這些數據幀的結構。對于接收(Rx)而言,我們有4個字節的數據,其中的位根據其所代表的內容而具有不同的用途。

A. 電壓設定值
B. 負載響應斜坡時間
C. 負載響應截止轉速
D. 激勵電流限制
E. 變量,取決于是否存在 Tx15
F. “盲區”(詳細信息請參見 AR6000 文檔)
G. 高溫下的電壓限制
H. “盲區抑制”(詳細內容請參見 AR6000 文檔)
圖3 接收(Rx)的數據幀結構
注:資料表源文件可私聊助教獲取(全英版本)
LIN 1 Version A 與 Version D 的區別在于,Version D 不使用字節 4 中的任何數據,這在某些方面有助于簡化譯碼。
從上述內容來看,在故障診斷中,我們可以有效利用兩組數據。如果我們知道電壓設定值應該是多少,就可以將其與交流發電機的實際輸出進行比較。
根據我們對6種不同幀的學習,我們幾乎可以確定,上述格式的唯一實現方式是通過使用零星幀。
概念回顧:零星幀模式下,主節點通過響應自己的報頭來充當從節點。這允許從節點"看到"主節點發送的數據并可以使用它。
由于我們通常只有一個從節點,也就是交流發電機,因此上述情況是成立的。

圖4 ID 0x29與ID 0x11的數據幀
例如上面的數據幀。ID 0x29(Rx接收)由主節點發送,然后主節點用數據字段 1F A5 1F 00 來響應,提供電壓設定值的信息。隨后,主節點發送 ID 0x11(Tx發送),但此時請求從節點提供信息,從節點用數據2A 02進行響應。
為了全面理解 ID 0x29 和 ID 0x11 中的數據,我們必須將十六進制值轉換為二進制。同樣可以通過譯碼功能實現。只需要在顯示設置界面,將【表格顯示格式】設置為【二進制】即可。

圖5 設置譯碼的表格顯示格式為二進制

圖6 表格顯示格式更改為二進制
03
關于ID 0x29與電壓設定值變化曲線
利用前面提到表格所描述的ID 0x29 的位分配方式,最終得到如下內容——

圖7 ID 0x29的數據結構
僅僅觀察電壓設定值,我們知道它由第一個字節的前6位組成,上述為111110。在AR6000文檔中的第24頁,有查找表可用來將這些值轉換為可讀的數值。上述的111110 等同于16V,即電壓設定值為16V。

圖8 電壓設定值參考表
為了獲取電壓設定值的變化曲線圖,我們將轉換為二進制的譯碼數據表導出,使用Excel打開。

圖9 導出二進制的譯碼數據
同時參考AR6000文檔中的第24頁的數據表,并且使用Excel內置的MID函數和VLOOKUP函數進行計算,最終得出電壓設定值的變化曲線圖。

圖10 計算得到的電壓設定值變化曲線
注:計算過程做此處不展開分享,可私聊助教獲取完整計算步驟
04
關于ID 0x11
該 ID 包含從交流發電機返回到主節點的數據。響應中的數據只有2個字節,但包含一些非常有用的信息。再次參考AR6000文檔,如前所述,有兩個選項:LIN 1 Version A 和 LIN 1 Version D。對于ID 0x11,有兩個版本,取決于是否傳輸溫度。其幀結構如下:

A. 高溫診斷標志
B. 機械故障診斷標志
C. 電氣故障診斷標志
D. 激勵電流 PWM 的占空比值
E. 測量的激勵電流和/或溫度測量值
F. LIN 錯誤的診斷標志
G. LIN 通信超時的診斷標志
圖11 發送(Tx)的數據幀結構
如你所見,此幀中包含一些非常有用的項目,利用前面提到的 MID 函數,我們可以將位分離出來,從而獲取數據字段中的數值。

圖12 經過處理后的數據字段
可以看到,高溫診斷標志為0,機械故障診斷標志為1,電氣故障診斷標志為0。這意味著,這臺交流發電機可能存在機械故障。
利用這些標志,我們就可以更好地理解為何交流發電機會失效或導致儀表盤上的電機控制燈(EML)亮起,即便故障碼并不特別有用。
通過觀察在LIN 錯誤和 LIN 超時條目下可能存在的標志,可以幫助理解為何即使更換了新交流發電機仍可能引發問題。
05
寫在最后
本文中,我們多次提及AR6000 文檔,毫無疑問,這份文檔是幫助理解 ECM 與交流發電機之間通信非常全面的資料。當然,該文檔中包含的內容也遠不止上述文章所提及的。
但請注意,這只是一個信息來源。可能在某些交流發電機中使用了其他 LIN 芯片,這些芯片可能采用了略有不同的文檔版本。
-
LIN總線
+關注
關注
19文章
117瀏覽量
29004 -
交流發電機
+關注
關注
2文章
58瀏覽量
12614 -
虹科電子
+關注
關注
0文章
767瀏覽量
15329
發布評論請先 登錄
LIN數據總線ESD保護方案
基于LIN總線的車身控制系統的設計
LIN總線相關知識
汽修示波器測量汽車LIN總線信號及波形分析
基于LIN總線控制系統實現LIN開發平臺的搭建
什么是LIN總線?車載總線之LIN總線概述
虹科技術 優化始于數據:Baby-LIN設備如何高效存儲總線數據?
虹科技術分享 | LIN總線譯碼功能與LIN控制交流發電機(二)
評論