LIN及其在發動機風扇控制中的應用
圖7中的LIN開發工作流程顯示了LIN2.0規范包的各個部分如何組成一個整體。

LIN2.0和LIN1.3規范包可以在http://www.lin-subbus.org上注冊後免費訂購。
通過比較LIN1.3和LIN2.0規范包,我們可以看到兩個最重要的改變就是對配置和診斷的標準化支援,以及規定的節點能力檔。它們的目標都是簡化現有節點的使用。其他重要的改變包括∶
?。?)LINAPI(LIN規范包的一部分)是所有用C語言編程的節點所必需的。
(2)增加了改進型校驗和(LIN2.0的校驗和還包括PID字節)。
?。?)增加了節點配置命令。
?。?)標準化和必備的LIN產品識別符(供應商ID/功能ID/版本ID)是配置的一部分。
?。?)增加了診斷和診斷API。
(6)定義了新的幀和信號類型,從而可以使用零星的幀和字節陣列信號。
?。?)增加了必需的響應錯誤(Response_error)從狀態監控。
(8)將休眠(goto_sleep)和喚醒(wake_up)信號分離。
?。?)規范中增加了自動比特率檢測。
LIN2.0是LIN1.3的擴展集,因此LIN2.0主節點可以處理包含LIN1.3和/或LIN2.0從節點的集群。自然,一些LIN2.0的特殊特性(包括增強的校驗和、重新配置和診斷等)不能從LIN1.3從節點中請求。但是,LIN2.0從節點不能與LIN1.3主節點一同運行(因為LIN2.0從節點需要配置)。
6、SAEJ2602LIN工作組
SAEJ2602的目標是通過滿足LIN2.0的模糊、矛盾或可選的要求來提高網絡中不同LIN設備之間的可互操作性和可交互能力。J2602的規定與LIN2.0規范的主要不同之處包括∶
(1)串列傳輸速率固定在10.417Kbps。
?。?)由於斜率針對固定的串列傳輸速率進行了優化,可以實現更好的EMC。
(3)不推薦從節點之間的通訊。
?。?)不允許基於事件的消息。
?。?)除了休眠和有目標的復位(SleepandTargetedReset)外,所有配置和診斷服務都是可選的。
SAEJ2602還提出了LIN2.0中沒有的其他要求(如容錯操作、網絡拓撲和內置的標準化報告等)。一般來說,SAEJ2606的設計考慮了實施定制從節點的長期目標,而LIN2.0假設使用基於MCU的實施。因此,J2602期望通過定制從節點來進一步節約成本。
7、LIN驅動器實施
根據目標MCU提供的功能,可以采用幾種LIN驅動器實施策略。
對於沒有UART模塊的MCU,需要位元響應(Bit-Bang)解決方案,使用一個定時器和兩個通用IO引腳將UART功能構建到軟件中。主要優勢是沒有UART的MCU一般是最便宜的處理器。另一方面,這樣的CPU使用非常精密,需要為每個字節都發送中斷請求。最後,這種解決方案與基於UART的解決方案相比一般需要更多內存,比如,在飛思卡爾68HC908QY器件中就可以找到這類LIN驅動器。
帶有標準的UART(SCI)模塊的MCU一般意味著驅動器的軟件安裝更加簡單,但另一方面,UART模塊會增加最終解決方案的MCU成本。與需要位元響應(Bit-Bang)解決方案相比,這種解決方案的優勢在於CPU的負荷更低,因為基於LIN通訊的中斷只對接收到的每個字節進行。
LIN優化UART模塊的MCU是減少驅動器軟件部分而增加功能/特性的下一個步驟。飛思卡爾68HC908EY或68HC908GR設備中采用的增強型SCI模塊提供串列傳輸速率調節和仲裁模塊選項,無需額外的定時器就能測量輸入信號(對LIN同步消息有用)。另一方面,這種方法可能會增加最終設計的成本。
最後一點,也是很重要的一點,理想的解決方案應使用LIN專用的UART模塊。飛思卡爾MCU(如68HC908QL設備)的SLIC(LIN從介面控制器)模塊就是一個范例。與標準的UART解決方案相比,這種解決方案的成本和復雜性更高,并且要求實施SLIC優化的驅動器。另一方面,SLIC提供如下功能∶自動同步、自動串列傳輸速率調整、與上述任何解決方案相比中斷數大大減少、自動校驗和的生成與驗證。因此,它允許將MCU專用於用戶應用。
此外,還有一種非常有趣的解決方案是將所有與LIN有關的計算轉移到支持LIN的協處理器模塊上。飛思卡爾的MC9S12X系列采用了這種方案。這些產品配備有完全獨立於核心的X-gateRISC協處理器,可將整個LIN通訊負載從CPU核心中釋放,從而保證CPU在所有時間內都可用於用戶應用。
評論