適應(yīng)汽車網(wǎng)聯(lián)趨勢,以及舒適性的需求,車載以太網(wǎng)將會在汽車車載網(wǎng)絡(luò)中得到普遍應(yīng)用。而基于安全考慮,往往汽車的相關(guān)產(chǎn)品和協(xié)議規(guī)范會將工程師們繞的暈頭轉(zhuǎn)向。小編在這就給各位看官解鎖汽車以太網(wǎng)PHY睡眠和喚醒的正確姿勢。
1相關(guān)命令介紹
由于IEEE802.3bw規(guī)范沒有制定鏈路睡眠和喚醒的機(jī)制,因此,OPEN聯(lián)盟制定了該規(guī)范并定義了新命令作為對IEEE802.3bw規(guī)范的補(bǔ)充。新命令包括LPS、WUR和WUP,這三個命令在PHY芯片手冊十分常見,故而理解這些命令是十分必要的。
Low Power Sleep(LPS)
低功耗睡眠(LPS)是某節(jié)點向鏈路伙伴指示睡眠請求的命令。當(dāng)鏈路已建立起連接時,LPS由請求轉(zhuǎn)換到睡眠狀態(tài)的節(jié)點發(fā)送。
Wake-Up Request(WUR)
喚醒請求(WUR)是某節(jié)點向鏈路伙伴指示喚醒請求的命令。WUR可以由節(jié)點PHY或交換機(jī)PHY發(fā)送,并通過活動鏈路轉(zhuǎn)發(fā)。
Wake-Up Pulse(WUP)
喚醒脈沖(WUP)也是對鏈路伙伴指示喚醒請求的命令。但與WUR不同,WUP通過非活動鏈路轉(zhuǎn)發(fā)喚醒請求。
該規(guī)范定義的這三個命令,用于請求斷電或通過活動鏈路和非活動鏈路發(fā)出喚醒信號。
2睡眠與喚醒規(guī)范
如果暫時不需要節(jié)點的功能并為了降低功耗,可以進(jìn)入睡眠模式。在睡眠模式下,除喚醒輸入和活動檢測外,所有內(nèi)部功能都將關(guān)閉。
如果網(wǎng)絡(luò)中有節(jié)點處于睡眠狀態(tài),當(dāng)需要該節(jié)點工作時,通過喚醒并配合喚醒轉(zhuǎn)發(fā),可以靈活地使得一些節(jié)點或快速使全局節(jié)點退出睡眠模式。喚醒分為本地喚醒和遠(yuǎn)程喚醒,本地喚醒是通過喚醒引腳喚醒節(jié)點,而遠(yuǎn)程喚醒是通過雙絞線遠(yuǎn)程喚醒節(jié)點。
網(wǎng)絡(luò)管理可選擇關(guān)閉網(wǎng)絡(luò)所選節(jié)點并協(xié)調(diào),這種可選擇性鏈路關(guān)閉和快速全局喚醒的網(wǎng)絡(luò)概念特別適用于汽車以太網(wǎng)。
2.1 睡眠轉(zhuǎn)換過程規(guī)范
圖1
首先假設(shè)鏈路已連接,此時鏈路雙方均處于正常模式,則經(jīng)歷以下步驟:
如果一端PHY決定要進(jìn)入睡眠模式,則PHY將先進(jìn)入睡眠請求狀態(tài)并將發(fā)送LPS命令;
接收到LPS命令的鏈路伙伴進(jìn)入睡眠確認(rèn)狀態(tài)并啟動一個“睡眠確認(rèn)定時器”,如果沒有設(shè)置睡眠拒絕且在該定時器超時前沒有接受到數(shù)據(jù)消息,則鏈路伙伴也將進(jìn)入睡眠請求狀態(tài)并發(fā)送LPS命令;
此時PHY和鏈路伙伴檢測到它已發(fā)送和接收LPS命令,則它轉(zhuǎn)換到靜音狀態(tài)并最終進(jìn)入睡眠模式;而如果PHY在“睡眠請求定時器”超時之前未完成握手,則PHY進(jìn)入睡眠失敗并返回正常模式。
2.2 喚醒及喚醒轉(zhuǎn)發(fā)規(guī)范
對于喚醒及喚醒轉(zhuǎn)發(fā)規(guī)范應(yīng)注意以下幾點:
喚醒的命令取決于鏈路的狀態(tài)。如果鏈路已連接,則PHY將通過活動鏈路發(fā)送WUR命令;如果鏈路斷開,PHY將發(fā)送WUP命令。如果連接尚未建立,例如因為連接建立仍在準(zhǔn)備中,則首先建立連接,然后發(fā)送WUR命令。
多PHY設(shè)備(例如,交換機(jī))實現(xiàn)了選擇性喚醒轉(zhuǎn)發(fā)機(jī)制。如果多PHY設(shè)備在一個端口上檢測到WUR或WUP,則必須可以將請求轉(zhuǎn)發(fā)到設(shè)備的其他PHY。通過斷開鏈路(WUP)喚醒或通過連接鏈路(WUR)喚醒到另一個PHY。此外,還應(yīng)該在喚醒事件時發(fā)生時產(chǎn)生指示標(biāo)志。喚醒檢測過程的實現(xiàn)留給PHY供應(yīng)商,且不得超過2ms。
鏈路上任何傳輸?shù)腎DLE模式都將觸發(fā)喚醒檢測。如果在設(shè)計時不注意這一點,可能使得一些不期望的喚醒發(fā)生,故本文將在之后以TJA1101作為實例應(yīng)用時說明。
圖2
LP1、LP2、LP3可以是PHY或交換機(jī),它們的端口P1和P2可以是MDI或喚醒I/O引腳。當(dāng)LP的某一端口檢測到WUP/WUR或本地喚醒時且轉(zhuǎn)發(fā)使能,則在其端口通過喚醒I/O輸出喚醒信號或發(fā)送WUP/WUR轉(zhuǎn)發(fā)喚醒信息至另一端口,如LP1中的P2和P1的喚醒過程。喚醒轉(zhuǎn)發(fā)功能使得網(wǎng)絡(luò)具有了快速全局喚醒能力。
該規(guī)范規(guī)定PHY的喚醒過程應(yīng)滿足以下要求:
必須有專用I/O引腳喚醒,且引腳應(yīng)支持喚醒轉(zhuǎn)發(fā)輸出和本地喚醒輸入;
對于多PHY設(shè)計,可以連接這些引腳,且必須為高電平有效,但I(xiàn)/O電壓留給設(shè)計者;
在本地喚醒引腳處識別喚醒請求的脈沖持續(xù)時間閾值應(yīng)至少為10us,低于此值的脈沖將被忽略,必須保證檢測到超過40us的脈沖持續(xù)時間,因此,本地喚醒輸出脈沖必須具有至少40us的持續(xù)時間才能被可靠地檢測到。
3TJA1101睡眠與喚醒應(yīng)用實例
圖3
它展示了TJA1101各種狀態(tài)轉(zhuǎn)換,轉(zhuǎn)換條件限于篇幅有限不便解釋未標(biāo)出,它完全遵循了睡眠轉(zhuǎn)換過程規(guī)范,即實現(xiàn)了圖1所示的睡眠轉(zhuǎn)換途徑。
3.1TJA1101睡眠功能
TJA1101除了遵循睡眠轉(zhuǎn)換過程規(guī)范外,還進(jìn)行了擴(kuò)展,其表現(xiàn)如下:
擴(kuò)展了一些進(jìn)入睡眠模式的其他方式,比如PHY睡眠時可以不通過握手確認(rèn);
鏈路伙伴可以拒絕接受LPS命令而不進(jìn)入睡眠請求狀態(tài)。
此外,TJA1101要成功進(jìn)行睡眠轉(zhuǎn)換還應(yīng)注意以下問題:
在進(jìn)入睡眠請求模式后,應(yīng)停止鏈路數(shù)據(jù)傳輸和訪問PHY寄存器操作,并保證沒有喚醒事件發(fā)生(除非拒絕喚醒);
需要握手確認(rèn)睡眠請求的,應(yīng)使鏈路伙伴進(jìn)行相應(yīng)配置,例如禁止睡眠拒絕;
當(dāng)PHY配置為SLAVE時且鏈路已連接時,若想主動進(jìn)行睡眠轉(zhuǎn)換,則還需要禁止遠(yuǎn)程喚醒,否則PHY無法進(jìn)入睡眠模式,對于該點的解釋將在下文介紹。
3.2TJA1101喚醒及喚醒轉(zhuǎn)發(fā)TJA1101的喚醒及喚醒轉(zhuǎn)發(fā)機(jī)制也遵循了該規(guī)范,但除了喚醒持續(xù)時間與喚醒檢測時間可以配置等比較基礎(chǔ)的擴(kuò)展外而無明顯的功能擴(kuò)展,但受到該規(guī)范啟發(fā),在利用該功能時應(yīng)注意以下問題:
相比TJA1101引入了待機(jī)(STANDBY)模式,但TJA1101被喚醒后進(jìn)入待機(jī)模式而不會直接進(jìn)入正常模式;
當(dāng)PHY配置為MASTER時且處于正常模式時,若鏈路伙伴處于睡眠狀態(tài)時,即便沒有主動設(shè)置喚醒,鏈路伙伴也會退出睡眠模式,出現(xiàn)該現(xiàn)象的原因是因為PHY在這種情況下會發(fā)送IDLE使鏈路伙伴被喚醒,正如上文“喚醒及喚醒轉(zhuǎn)發(fā)規(guī)范”第三點規(guī)定,如需避免該問題可使鏈路伙伴設(shè)置為禁止喚醒。
4結(jié)語
以上就是車載PHY的喚醒與睡眠規(guī)范概要及應(yīng)用實例,盡管各半導(dǎo)體制造商設(shè)計的車載PHY在擴(kuò)展功能上會有所差異,但萬變不離其宗——規(guī)范,它們均會參照OPEN聯(lián)盟制定的規(guī)范,所以掌握該規(guī)范會使得你可以更輕松利用各種車載PHY的喚醒和睡眠功能
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5271瀏覽量
169274 -
脈沖
+關(guān)注
關(guān)注
20文章
873瀏覽量
95239
原文標(biāo)題:你不知道的車載以太網(wǎng)睡眠喚醒姿勢!
文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論