基于LIN2.1協(xié)議的車窗控制系統(tǒng)的應(yīng)用
LIN協(xié)會(huì)于1999年發(fā)布了第一版LIN協(xié)議,至今已有十幾年了,在這十幾年中,LIN總線不斷發(fā)展,已經(jīng)在以車身控制為主的許多場(chǎng)合得到了應(yīng)用。LIN總線至今一共有7個(gè)版本,其中,LIN2.1協(xié)議于2006年11月發(fā)布,是目前較新的一個(gè)版本。它與最新的 LIN2.2協(xié)議幾乎沒有區(qū)別,卻比它的前身LIN2.0協(xié)議有明顯的改進(jìn),主要體現(xiàn)在加入了事件觸發(fā)幀的競(jìng)爭(zhēng)處理、完善了節(jié)點(diǎn)配置功能和進(jìn)行了診斷分級(jí)三個(gè)方面。這些改進(jìn)使用戶可以更加方便和快速地組織LIN網(wǎng)絡(luò),可以根據(jù)自己的需求重新設(shè)置LIN網(wǎng)絡(luò),既保證了產(chǎn)品的穩(wěn)定性,又滿足了用戶的個(gè)性化需求,是LIN總線自身發(fā)展過(guò)程中很有意義的一步。
1 LIN2.1協(xié)議的新特點(diǎn)
1.1 事件觸發(fā)幀的競(jìng)爭(zhēng)處理
如果有多于一個(gè)的從節(jié)點(diǎn)在同一個(gè)幀時(shí)隙里響應(yīng)幀頭,就會(huì)導(dǎo)致競(jìng)爭(zhēng),競(jìng)爭(zhēng)處理都是由主節(jié)點(diǎn)完成的。LIN2.0的事件觸發(fā)幀競(jìng)爭(zhēng)處理機(jī)制如圖1所示。某主節(jié)點(diǎn)的進(jìn)度表中有無(wú)條件幀A、事件觸發(fā)幀和無(wú)條件幀B。當(dāng)競(jìng)爭(zhēng)發(fā)生后,主節(jié)點(diǎn)會(huì)繼續(xù)按照之前的進(jìn)度表,在接收完所有與事件觸發(fā)幀相關(guān)的無(wú)條件幀后,再發(fā)送事件觸發(fā)幀幀頭。LIN2.1對(duì)此作出了改進(jìn),它引入了競(jìng)爭(zhēng)處理進(jìn)度表,LIN2.1的事件觸發(fā)幀競(jìng)爭(zhēng)處理機(jī)制如圖2所示。每個(gè)事件觸發(fā)幀都有與之相對(duì)應(yīng)的競(jìng)爭(zhēng)處理進(jìn)度表,主節(jié)點(diǎn)在競(jìng)爭(zhēng)處理進(jìn)度表里處理完競(jìng)爭(zhēng)后,再返回執(zhí)行普通的進(jìn)度表。顯然,LIN2.1的競(jìng)爭(zhēng)處理機(jī)制需要花費(fèi)的時(shí)間較短。
圖1 LIN2.0的事件觸發(fā)幀競(jìng)爭(zhēng)處理機(jī)制 圖2 LIN2.1的事件觸發(fā)幀競(jìng)爭(zhēng)處理機(jī)制
1.2 節(jié)點(diǎn)配置功能的完善
1.2.1 新增分配一系列幀ID的功能
將配置功能分配幀ID改為分配一系列幀ID。LIN2.0和LIN2.1協(xié)議中分配幀ID的格式如圖3所示。在LIN2.0中,只有NAD和 Supplier ID都匹配的情況下,分配才能成功,但每次只能分配一個(gè)幀ID。而在LIN2.1中,只需要NAD匹配就可以了,每次可以分配最多4個(gè)幀ID,而 LIN2.0中的Message ID在LIN2.1中已經(jīng)被取消了。這種改進(jìn)的目的是提高LIN網(wǎng)絡(luò)配置的效率,更改后分配幀ID的速度最快可達(dá)到原來(lái)的4倍。
圖3 LIN2.0和LIN2.1協(xié)議中分配幀ID的格式
1.2.2 新增保存配置的功能
LIN2.1協(xié)議新增了保存從節(jié)點(diǎn)配置信息的功能,將從節(jié)點(diǎn)的配置信息存入到掉電不易失的存儲(chǔ)空間中。這樣,主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)的配置在復(fù)位后也不會(huì)丟失。
1.3 診斷分級(jí)
LIN2.1的另一大新特點(diǎn)是根據(jù)診斷功能將從節(jié)點(diǎn)分為3個(gè)級(jí)別。
?。?) 診斷一級(jí)
診斷一級(jí)一般應(yīng)用于智能傳感器或執(zhí)行器等一些不需要或只需要很少診斷功能的器件。診斷一級(jí)支持所有節(jié)點(diǎn)配置功能,并且只需要單幀傳輸。
?。?) 診斷二級(jí)
與診斷一級(jí)相比,診斷二級(jí)的節(jié)點(diǎn)增加了節(jié)點(diǎn)辨識(shí)的功能。例如,用戶可以獲得產(chǎn)品的軟、硬件版本號(hào)等。此外,診斷二級(jí)還支持讀寫軟件內(nèi)部的參數(shù),比如溫度、車速等。診斷二級(jí)支持多幀傳輸。
(3) 診斷三級(jí)
診斷三級(jí)的節(jié)點(diǎn)不僅包含了前面兩級(jí)的所有功能,還支持內(nèi)部Flash的擦寫,用戶可以通過(guò)LIN總線燒寫程序。診斷三級(jí)支持多幀傳輸。