未來(lái)汽車(chē)中的終端節(jié)點(diǎn)通訊
網(wǎng)絡(luò)管理
LIN中的網(wǎng)絡(luò)管理只指集群?jiǎn)拘押托菝撸╣o-to-sleep)流程。所有其它網(wǎng)絡(luò)管理功能,如配置檢測(cè)或自我保護(hù)(limp hom)管理都由應(yīng)用完成。
若想使所有從節(jié)點(diǎn)均進(jìn)入低功耗模式,主節(jié)點(diǎn)會(huì)發(fā)出第一個(gè)數(shù)據(jù)字節(jié)為零的主請(qǐng)求(MasterRequest)幀。此幀就是休眠命令。從節(jié)點(diǎn)軟件負(fù)責(zé)處理正確進(jìn)入低功耗模式所需的所有步驟。此外,如果LIN總線處于非活動(dòng)狀態(tài)超過(guò)25000位時(shí)間(在使用LIN 2.0規(guī)范的情況下為超過(guò)4秒),從節(jié)點(diǎn)也應(yīng)該自動(dòng)進(jìn)入低功耗模式。
為了喚醒休眠的LIN集群,任何節(jié)點(diǎn)都可以發(fā)出喚醒命令。喚醒請(qǐng)求是通過(guò)迫使總線進(jìn)入250ms到5 ms的主導(dǎo)狀態(tài)發(fā)出的。每個(gè)從節(jié)點(diǎn)都可以檢測(cè)到喚醒請(qǐng)求,并準(zhǔn)備好接收100 ms之內(nèi)的總線命令。
LIN節(jié)點(diǎn)功率管理狀態(tài)圖見(jiàn)圖6。
圖6:LIN節(jié)點(diǎn)功率管理
LIN評(píng)估
1996年,沃爾沃和Volcano通訊(VCT) 為Volvo S80系列開(kāi)發(fā)了一種基于UART/SCI的協(xié)議,即Volcano Lite。此協(xié)議是車(chē)輛通訊系統(tǒng)不可缺少的組成部分。1997年,摩托羅拉公司與沃爾沃和沃爾沃通訊合作,幫助它們改進(jìn)Volcano Lite協(xié)議以滿足各種不同需求(比如無(wú)需晶振的從設(shè)備自動(dòng)同步),并制定可以支持各種半導(dǎo)體產(chǎn)品的開(kāi)放標(biāo)準(zhǔn)。1998年12月,Audi、BMW、Daimler Chrysler和VW也加入進(jìn)來(lái),由此形成了LIN協(xié)會(huì)(http://www.lin-subbus.org)。
LIN 1.0版于1999年7月發(fā)布,并受到一些汽車(chē)公司使用的VLIT總線的嚴(yán)重影響。LIN標(biāo)準(zhǔn)在2000年經(jīng)過(guò)兩次更新,從而產(chǎn)生LIN1.2版本。
2002年11月,LIN協(xié)會(huì)頒布LIN1.3版標(biāo)準(zhǔn),主要對(duì)物理層進(jìn)行修改,提高了節(jié)點(diǎn)之間的兼容性。
當(dāng)前的標(biāo)準(zhǔn)版本,即LIN2.0,是2003年9月發(fā)布的。由于LIN2.0版是現(xiàn)行標(biāo)準(zhǔn),所以本文主要介紹此版本。
由于Audi、BMW、Daimler Chrysler、VW、Porsche 和VCT汽車(chē)公司在實(shí)施過(guò)程中發(fā)現(xiàn)了一些問(wèn)題,所以,LIN的新版本目前正在制定當(dāng)中。2005年5月,VCT被Mentor Graphics (http://www.mentor.com)收購(gòu),成為一個(gè)大公司的組成部分,因而能持續(xù)支持和開(kāi)發(fā)VCT的完整產(chǎn)品線。
LIN 2.0規(guī)范包
LIN規(guī)范2.0版反映了LIN協(xié)會(huì)指出的發(fā)展趨勢(shì)。它還包括了SAE J2602 Task Force提供的信息,尤其是在現(xiàn)有從節(jié)點(diǎn)的使用方面。
LIN2.0規(guī)范包包含以下部分:
LIN物理層規(guī)范描述了物理層,包括比特率、時(shí)鐘容限(clock tolrerance)等。 LIN協(xié)議規(guī)范描述了LIN的數(shù)據(jù)鏈路層。 LIN API規(guī)范描述了網(wǎng)絡(luò)和應(yīng)用程序之間的接口,包括配置和診斷層。 LIN配置語(yǔ)言規(guī)范描述了LIN說(shuō)明文件的句法和語(yǔ)義,此說(shuō)明文件用于配置完整的網(wǎng)絡(luò),并作為開(kāi)發(fā)和分析工具的輸入信息。 LIN診斷和配置規(guī)范描述了可部署在數(shù)據(jù)鏈層上,為診斷消息和節(jié)點(diǎn)配置提供信息的服務(wù)。 LIN節(jié)點(diǎn)功能語(yǔ)言規(guī)范定義了用來(lái)描述現(xiàn)有從節(jié)點(diǎn)的格式。這些從節(jié)點(diǎn)可與即插即用工具一同使用,以自動(dòng)創(chuàng)建LIN描述文件。
圖7中的LIN開(kāi)發(fā)工作流程顯示了LIN 2.0規(guī)范包的各個(gè)部分如何組成一個(gè)整體。
圖7:VCT LIN開(kāi)發(fā)工作流程
LIN 2.0和LIN1.3規(guī)范包可以在http://www.lin-subbus.org.上注冊(cè)后免費(fèi)訂購(gòu)。
通過(guò)比較LIN1.3和LIN 2.0規(guī)范包,我們可以看到兩個(gè)最重要的改變就是對(duì)配置和診斷的標(biāo)準(zhǔn)化支持,以及規(guī)定的節(jié)點(diǎn)能力文件。它們的目標(biāo)都是簡(jiǎn)化現(xiàn)有節(jié)點(diǎn)的使用。
其它重要的改變包括:
LIN API(LIN規(guī)范包的一部分)是所有用C語(yǔ)言編程的節(jié)點(diǎn)所必需的。 增加了改進(jìn)型校驗(yàn)和(LIN2.0的校驗(yàn)和還包括PID字節(jié))。 增加了節(jié)點(diǎn)配置命令。 標(biāo)準(zhǔn)化和必備的LIN產(chǎn)品識(shí)別符(供應(yīng)商ID/功能ID/版本ID)是配置的一部分。 增加了診斷和診斷API。 定義了新的幀和信號(hào)類型,從而可以使用零星的幀和字節(jié)陣列信號(hào)。 增加了必需的響應(yīng)錯(cuò)誤(Response_error)從狀態(tài)監(jiān)控。 將休眠(goto_sleep)和喚醒(wake_up)信號(hào)分離。 規(guī)范中增加了自動(dòng)比特率檢測(cè)。
LIN2.0是LIN 1.3的擴(kuò)展集,因此LIN2.0主節(jié)點(diǎn)可以處理包含LIN 1.3和/或LIN 2.0從節(jié)點(diǎn)的集群。自然,一些LIN2.0的特殊特性(包括增強(qiáng)的校驗(yàn)和、重新配置和診斷等)不能從LIN1.3從節(jié)點(diǎn)中請(qǐng)求。但是,LIN2.0從節(jié)點(diǎn)不能與LIN1.3主節(jié)點(diǎn)一同運(yùn)行(因?yàn)長(zhǎng)IN2.0從節(jié)點(diǎn)需要配置)。
SAE J2602 LIN工作組
SAE J2602的目標(biāo)是通過(guò)滿足LIN2.0的模糊、矛盾或可選的要求來(lái)提高網(wǎng)絡(luò)中不同LIN設(shè)備之間的可互操作性和可交互能力。J2602的規(guī)定與LIN2.0規(guī)范的主要不同之處包括:
波特率固定在10.417Kbps。 由于斜率針對(duì)固定的波特率進(jìn)行了優(yōu)化,可以實(shí)現(xiàn)更好的EMC。 不推薦從節(jié)點(diǎn)之間的通訊。 不允許基于事件的消息。 除了休眠和有目標(biāo)的復(fù)位(Sleep and Targeted Reset)外,所有配置和診斷服務(wù)都是可選的。
SAEJ2602還提出了LIN2.0中沒(méi)有的其它要求(如容錯(cuò)操作、網(wǎng)絡(luò)拓?fù)浜蛢?nèi)置的標(biāo)準(zhǔn)化報(bào)告等)。
一般來(lái)說(shuō),SAEJ2606的設(shè)計(jì)考慮了實(shí)施定制從節(jié)點(diǎn)的長(zhǎng)期目標(biāo),而LIN2.0假設(shè)使用基于MCU的實(shí)施。因此,J2602期望通過(guò)定制從節(jié)點(diǎn)來(lái)進(jìn)一步節(jié)約成本。
硅元件上的可能實(shí)施
根據(jù)目標(biāo)MCU提供的功能,可以采用幾種LIN驅(qū)動(dòng)器實(shí)施策略。
對(duì)于沒(méi)有UART模塊的MCU,需要位響應(yīng)(Bit-Bang)解決方案,使用一個(gè)定時(shí)器和兩個(gè)通用IO引腳將UART功能構(gòu)建到軟件中。主要優(yōu)勢(shì)是沒(méi)有UART的MCU一般是最便宜的處理器。另一方面,這樣的CPU使用非常精密,需要為每個(gè)字節(jié)都發(fā)送中斷請(qǐng)求。最后,這種解決方案與基于UART的解決方案相比一般需要更多內(nèi)存,比如,在飛思卡爾68HC908QY器件中就可以找到這類LIN驅(qū)動(dòng)器。
評(píng)論