車內網絡解決方案分析
LIN評估
1996年,沃爾沃和Volcano通訊(VCT) 為Volvo S80系列開發了一種基于UART/SCI的協議,即Volcano Lite。此協議是車輛通訊系統不可缺少的組成部分。1997年,摩托羅拉公司與沃爾沃和沃爾沃通訊合作,幫助它們改進Volcano Lite協議以滿足各種不同需求(比如無需晶振的從設備自動同步),并制定可以支持各種半導體產品的開放標準。
LIN 1.0版于1999年7月發布,并受到一些汽車公司使用的VLIT總線的嚴重影響。LIN標準在2000年經過兩次更新,從而產生LIN1.2版本。
2002年11月,LIN協會頒布LIN1.3版標準,主要對物理層進行修改,提高了節點之間的兼容性。
當前的標準版本,即LIN2.0,是2003年9月發布的。由于LIN2.0版是現行標準,所以本文主要介紹此版本。
由于Audi、BMW、Daimler Chrysler、VW、Porsche 和VCT汽車公司在實施過程中發現了一些問題,所以,LIN的新版本目前正在制定當中。
LIN 2.0規范包
LIN規范2.0版反映了LIN協會指出的發展趨勢。它還包括了SAE J2602 Task Force提供的信息,尤其是在現有從節點的使用方面。LIN2.0規范包包含以下部分:
LIN物理層規范描述了物理層,包括比特率、時鐘容限(clock tolrerance)等。
LIN協議規范描述了LIN的數據鏈路層。
LIN API規范描述了網絡和應用程序之間的接口,包括配置和診斷層。
LIN配置語言規范描述了LIN說明文件的句法和語義,此說明文件用于配置完整的網絡,并作為開發和分析工具的輸入信息。
LIN診斷和配置規范描述了可部署在數據鏈層上,為診斷消息和節點配置提供信息的服務。
LIN節點功能語言規范定義了用來描述現有從節點的格式。這些從節點可與即插即用工具一同使用,以自動創建LIN描述文件。
通過比較LIN1.3和LIN 2.0規范包,我們可以看到兩個最重要的改變就是對配置和診斷的標準化支持,以及規定的節點能力文件。它們的目標都是簡化現有節點的使用。
其它重要的改變包括:
LIN API(LIN規范包的一部分)是所有用C語言編程的節點所必需的。
增加了改進型校驗和(LIN2.0的校驗和還包括PID字節)。
增加了節點配置命令。
標準化和必備的LIN產品識別符(供應商ID/功能ID/版本ID)是配置的一部分。
增加了診斷和診斷API。
定義了新的幀和信號類型,從而可以使用零星的幀和字節陣列信號。
增加了必需的響應錯誤(Response_error)從狀態監控。
將休眠(goto_sleep)和喚醒(wake_up)信號分離。
規范中增加了自動比特率檢測。
LIN2.0是LIN 1.3的擴展集,因此LIN2.0主節點可以處理包含LIN 1.3和/或LIN 2.0從節點的集群。自然,一些LIN2.0的特殊特性(包括增強的校驗和、重新配置和診斷等)不能從LIN1.3從節點中請求。但是,LIN2.0從節點不能與LIN1.3主節點一同運行(因為LIN2.0從節點需要配置)。
SAE J2602 LIN工作組
SAE J2602的目標是通過滿足LIN2.0的模糊、矛盾或可選的要求來提高網絡中不同LIN設備之間的可互操作性和可交互能力。J2602的規定與LIN2.0規范的主要不同之處包括:
波特率固定在10.417Kbps。
由于斜率針對固定的波特率進行了優化,可以實現更好的EMC。
不推薦從節點之間的通訊。
不允許基于事件的消息。
除了休眠和有目標的復位(Sleep and Targeted Reset)外,所有配置和診斷服務都是可選的。
SAEJ2602還提出了LIN2.0中沒有的其它要求(如容錯操作、網絡拓撲和內置的標準化報告等)。
一般來說,SAEJ2606的設計考慮了實施定制從節點的長期目標,而LIN2.0假設使用基于MCU的實施。因此,J2602期望通過定制從節點來進一步節約成本。
評論