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