上期LIN測(cè)試小課堂,我們分享了LIN總線幀結(jié)構(gòu)及各場(chǎng)干擾,如何測(cè)試樣件是否不響應(yīng)錯(cuò)誤的幀結(jié)構(gòu)。 ?
這次我們的介紹主題是LIN休眠喚醒,一起看看標(biāo)準(zhǔn)和差異性,開(kāi)發(fā)和測(cè)試的關(guān)系,實(shí)際的案例分享也來(lái)了。 ? ?
01 LIN控制器休眠喚醒類(lèi)型介紹
雖然新架構(gòu)的發(fā)展促進(jìn)著通信技術(shù)的升級(jí)換代,但作為車(chē)載通信技術(shù)的常青樹(shù)之一的LIN通信,由于其自身的特點(diǎn),將會(huì)繼續(xù)發(fā)光發(fā)熱。其中LIN的休眠喚醒作為整車(chē)休眠喚醒的重要組成部分,需引起開(kāi)發(fā)和測(cè)試工程師足夠的重視。本文將介紹此方面的內(nèi)容,LIN總線是主從結(jié)構(gòu),下面將從LIN主/從節(jié)點(diǎn)分別展開(kāi)。 ?
主節(jié)點(diǎn)休眠喚醒
主節(jié)點(diǎn)的喚醒條件在LIN協(xié)議2.1規(guī)范中定義的是被喚醒信號(hào)喚醒,但是實(shí)際應(yīng)用OEM多是依據(jù)自己的需求進(jìn)行開(kāi)發(fā)的。 ?
常見(jiàn)的幾種喚醒方式如下:
1.硬線喚醒(硬線喚醒源實(shí)質(zhì)就是定義喚醒線的電平變化,如傳統(tǒng)車(chē)的KL15上電)?
2.網(wǎng)絡(luò)喚醒(網(wǎng)絡(luò)喚醒即是網(wǎng)絡(luò)管理報(bào)文喚醒,此處網(wǎng)絡(luò)管理報(bào)文指的是LIN的上層網(wǎng)絡(luò)總線(CAN/FlexRay),LIN本身不存在網(wǎng)絡(luò)管理報(bào)文,上層網(wǎng)絡(luò)喚醒伴隨LIN網(wǎng)絡(luò)喚醒)
3.特定信號(hào)喚醒(例:車(chē)輛使用模式信號(hào)為特定值時(shí)LIN網(wǎng)絡(luò)才能喚醒)
LIN Specification Rev 2.1en ? 規(guī)范描述在主節(jié)點(diǎn)不發(fā)送幀頭時(shí),從節(jié)點(diǎn)應(yīng)發(fā)送喚醒信號(hào)來(lái)喚醒主節(jié)點(diǎn)。這種喚醒必須滿足兩個(gè)條件:
1.從節(jié)點(diǎn)必須支持發(fā)送喚醒信號(hào)?
2.主節(jié)點(diǎn)能夠被喚醒信號(hào)喚醒 ? 但是實(shí)際測(cè)試中發(fā)現(xiàn),從節(jié)點(diǎn)一般不支持發(fā)送喚醒信號(hào)喚醒(實(shí)車(chē)測(cè)試遇到過(guò)網(wǎng)絡(luò)喚醒休眠異常情況,排查發(fā)現(xiàn)為從節(jié)點(diǎn)陽(yáng)光雨量控制器不斷發(fā)送喚醒信號(hào)導(dǎo)致的,即取消了該控制器能發(fā)送喚醒信號(hào)的功能)。 ?
隨著局部網(wǎng)絡(luò)喚醒的應(yīng)用,主節(jié)點(diǎn)喚醒方式大多為網(wǎng)絡(luò)喚醒,LIN網(wǎng)絡(luò)做成與上層網(wǎng)絡(luò)同睡同醒的機(jī)制。 ?
主節(jié)點(diǎn)休眠的最終表現(xiàn)形式都是發(fā)送睡眠指令,當(dāng)然休眠與喚醒本就是強(qiáng)關(guān)聯(lián),且主節(jié)點(diǎn)的喚醒休眠條件多是依據(jù)OEM自身需求而定,我們就不進(jìn)行展開(kāi)了。 ?
從節(jié)點(diǎn)休眠喚醒
從節(jié)點(diǎn)的喚醒條件
同樣為接收到喚醒信號(hào),LIN協(xié)議2.1規(guī)范中描述從節(jié)點(diǎn)喚醒條件可能為接收到主節(jié)點(diǎn)發(fā)送同步間隔場(chǎng),這是LIN通信機(jī)制的緣故,從節(jié)點(diǎn)進(jìn)行通信必須接收到主節(jié)點(diǎn)發(fā)送的幀頭才能發(fā)送從節(jié)點(diǎn)響應(yīng)部分,而幀頭可以充當(dāng)喚醒信號(hào),從節(jié)點(diǎn)在接收到喚醒信號(hào)完成初始化后即可正常通信。 ?
LIN Specification Rev 2.1en
規(guī)范描述從節(jié)點(diǎn)的兩種休眠條件如下:
1.接收到睡眠指令?
2.總線空閑4-10S
正是由于從節(jié)點(diǎn)需求的通用性,我們才能總結(jié)出各零部件供應(yīng)商的實(shí)現(xiàn)差異點(diǎn),沉淀測(cè)試經(jīng)驗(yàn)來(lái)優(yōu)化我們的測(cè)試。其中從節(jié)點(diǎn)最典型的測(cè)試就是休眠喚醒遍歷測(cè)試,下文將對(duì)此進(jìn)行詳細(xì)展開(kāi)。 ? ?
02 休眠喚醒測(cè)試案例分享
案例1:連續(xù)仿真發(fā)送從節(jié)點(diǎn)響應(yīng)的某幀幀頭時(shí),樣件會(huì)不斷重復(fù)休眠喚醒的過(guò)程。
造成該現(xiàn)象的根本原因是該零部件供應(yīng)商除了上述兩種休眠條件外還增加了另外一個(gè)休眠條件:檢測(cè)主節(jié)點(diǎn)丟失(即接收到主節(jié)點(diǎn)的發(fā)送報(bào)文);我們測(cè)試休眠喚醒為了避免其它幀頭對(duì)測(cè)試造成影響,所以選擇該從節(jié)點(diǎn)響應(yīng)的某一幀進(jìn)行休眠喚醒測(cè)試,這就造成了主節(jié)點(diǎn)丟失的條件,從節(jié)點(diǎn)會(huì)進(jìn)入休眠;休眠之后又會(huì)被周期仿真的幀頭喚醒,所以就出現(xiàn)重復(fù)休眠喚醒的現(xiàn)象。 ?
檢測(cè)到主節(jié)點(diǎn)丟失休眠條件在各節(jié)點(diǎn)工作正常是不會(huì)產(chǎn)生任何影響,但可以在LIN總線短地的條件下使樣件進(jìn)入休眠,防止由于LIN線短地造成樣件無(wú)法休眠導(dǎo)致整車(chē)饋電,此是在滿足標(biāo)準(zhǔn)基礎(chǔ)上的設(shè)計(jì)優(yōu)化。當(dāng)然,具體的問(wèn)題要依據(jù)具體設(shè)計(jì)而定,有可能總線空閑的判斷邏輯覆蓋了低電平時(shí)情況,未檢測(cè)到電平變化就識(shí)別為總線空閑,這樣就無(wú)需增加休眠條件了。 ?
案例2:樣件在接收到睡眠指令后偶發(fā)性不能進(jìn)入休眠。
測(cè)試用例我們一般遍歷測(cè)試接收到睡眠指令后等待300-1100ms樣件是否都能正常進(jìn)入休眠; ?
造成該問(wèn)題的根本原因是樣件在接收到睡眠指令后有一個(gè)預(yù)休眠處理,時(shí)間為500ms(功能設(shè)計(jì)于數(shù)據(jù)保存),在預(yù)休眠期間樣件不會(huì)識(shí)別任何幀頭;所以只要是遍歷等待時(shí)間小于500ms,依據(jù)自動(dòng)腳本等待時(shí)間代碼的時(shí)間疊加,就造成樣件偶發(fā)不能進(jìn)入休眠的現(xiàn)象。 ?
由于特殊樣件有特定的需求,這種情況我們就會(huì)優(yōu)化我們的測(cè)試方法。同時(shí)在此基礎(chǔ)上可以延伸出等待總線空閑臨界點(diǎn)的休眠喚醒測(cè)試的新場(chǎng)景。 ?
總而言之,測(cè)試設(shè)計(jì)以具體需求設(shè)計(jì)為基礎(chǔ),用以高效發(fā)現(xiàn)問(wèn)題,以及評(píng)估設(shè)計(jì)合理性,這是一個(gè)消化吸收、總結(jié)沉淀、擴(kuò)展延伸的過(guò)程,需要對(duì)設(shè)計(jì)需求有深入的理解,需要關(guān)注和了解具體的實(shí)現(xiàn)方法,需要在測(cè)試過(guò)程中實(shí)踐和分析。 ? ?
03 小結(jié)
通過(guò)上述的介紹,相信大家對(duì)LIN喚醒休眠有了一定的了解。由于LIN主節(jié)點(diǎn)多是OEM根據(jù)自己的需求進(jìn)行開(kāi)發(fā),就沒(méi)有對(duì)主節(jié)點(diǎn)的喚醒休眠測(cè)試進(jìn)行展開(kāi);如果大家想了解常見(jiàn)的喚醒方式(同睡同醒),可參照AUTOSAR網(wǎng)絡(luò)管理部分的分享內(nèi)容。 ?
編輯:黃飛
?
評(píng)論