ARM定義了兩個(gè)低功耗接口(Low Power Interface),用于低功耗控制握手,分別是Q-Channel和P-Channel。其中的Q-Channel在以前講過(guò),Q-Channel相對(duì)P-Channel而言簡(jiǎn)單一些,只是控制開/關(guān)兩種狀態(tài),這在控制時(shí)鐘的握手時(shí)沒有任何問(wèn)題,但是在控制電源的握手時(shí)就有點(diǎn)不夠用了。
對(duì)于一個(gè)復(fù)雜的設(shè)計(jì),僅僅用開/關(guān)兩種狀態(tài)描述是不完備的,需要引入更多的電源狀態(tài),比如memory retention(一種低功耗技術(shù),為存儲(chǔ)單元提供一個(gè)較低供電電壓,以保留存儲(chǔ)陣列的數(shù)據(jù),但是存儲(chǔ)單元不接受外部的數(shù)據(jù)訪問(wèn))。
P-Channel提出了一個(gè)概念,叫電源狀態(tài)轉(zhuǎn)換(power state transition)。在P-Channel的應(yīng)用場(chǎng)景中,電源的狀態(tài)有很多,這個(gè)是可以是自己定義的。電源的各個(gè)狀態(tài)之間是可以切換的。
P-Channel的接口并不復(fù)雜:
- N-bit的PACTIVE,由設(shè)備端驅(qū)動(dòng),每個(gè)比特位可能由多個(gè)源信號(hào)組成;
- M-bit的PSTATE,由控制器端驅(qū)動(dòng),表示請(qǐng)求轉(zhuǎn)換到的電源狀態(tài);
- PREQ,由控制器端驅(qū)動(dòng),高電平表示請(qǐng)求轉(zhuǎn)換到電源狀態(tài)(電源狀態(tài)由PSTATE定義);
- PACCEPT,由設(shè)備端驅(qū)動(dòng),高電平表示設(shè)備接受制器發(fā)出的電源狀態(tài)轉(zhuǎn)換請(qǐng)求;
- PDENY,由設(shè)備端驅(qū)動(dòng),高電平表示設(shè)備拒絕控制器發(fā)出的電源狀態(tài)轉(zhuǎn)換請(qǐng)求;
其中N和M的值取決于具體的設(shè)計(jì)需要,P-Channel規(guī)范并沒有強(qiáng)制要求。
PREQ、PACCEPT和PDENY構(gòu)成一個(gè)握手接口(PACTIVE不在握手之中),用于管理和保證安全狀態(tài)轉(zhuǎn)換。P-Channel要求在一次握手轉(zhuǎn)換中,PACCEPT或PDENY中只有一個(gè)發(fā)生變化。也就是說(shuō),PACCEPT和PDENY在握手中,只能有一個(gè)為高。
來(lái)自設(shè)備的PACCEPT和PDENY信號(hào),以及來(lái)自控制器的PREQ和PSTATE信號(hào)都必須由寄存器直接驅(qū)動(dòng)。拒絕機(jī)制的目的是使設(shè)備能夠保持其當(dāng)前狀態(tài),同時(shí)通過(guò)該機(jī)制可以迅速完成握手。
握手信號(hào)狀態(tài)與PACTIVE位無(wú)關(guān)。PACTIVE位上的轉(zhuǎn)換不受PREQ、PACCEPT和PDENY上的值的限制。
握手規(guī)則如下:
- 當(dāng)PACCEPT和PDENY都為低電平時(shí),PREQ才能從低電平轉(zhuǎn)換為高電平。
- PREQ只能在以下情況下,可以從高電平到低電平轉(zhuǎn)換:
-PACCEPT為高,PDENY為低。
-PACCEPT為低,PDENY為高。 - PSTATE只能在以下情況下轉(zhuǎn)換:
-PREQ、PACCEPT和PDENY都為低電平(控制器在發(fā)起請(qǐng)求前,提前改變PSTATE)。
-PREQ和PDENY為高電平,PACCEPT為低電平(設(shè)備拒絕請(qǐng)求,控制器需要將PSTATE返回請(qǐng)求前的值)。 - 僅當(dāng)PREQ高電平且PDENY低電平時(shí),PACCEPT才可以從低轉(zhuǎn)換到高。
- 僅當(dāng)PREQ低電平且PDENY低電平時(shí),PACCEPT才可以從高轉(zhuǎn)換到低。
- 僅當(dāng)PREQ高電平且PACCEPT低電平時(shí),PDENY才可以從低轉(zhuǎn)換到高。
- 僅當(dāng)PREQ低電平且PACCEPT低電平時(shí),PDENY才可以從高轉(zhuǎn)換為低。
下圖是控制器發(fā)出從A狀態(tài)到B狀態(tài)轉(zhuǎn)換請(qǐng)求,設(shè)備接受請(qǐng)求的握手流程:
- T0時(shí)刻,接口空閑,所有握手信號(hào)均為低電平。接口狀態(tài)為P_STABLE,設(shè)備保持當(dāng)前狀態(tài)。
- T1時(shí)刻,控制器想要發(fā)出請(qǐng)求,并且需要提前做一些準(zhǔn)備工作。接口狀態(tài)仍為P_STABLE。
- T2時(shí)刻,控制器設(shè)置PSTATE為目標(biāo)狀態(tài)B,同時(shí)將PREQ信號(hào)變?yōu)楦唠娖?,接口狀態(tài)變?yōu)镻_REQUEST。協(xié)議要求在設(shè)備檢測(cè)到PREQ時(shí),PSTATE是穩(wěn)定的。
- T3時(shí)刻,設(shè)備通過(guò)將PACCEPT驅(qū)動(dòng)成高電平來(lái)表示接受轉(zhuǎn)換,同時(shí)PDENY必須保持低電平(PACCEPT和PDENY在握手中,只能有一個(gè)為高)。接口狀態(tài)現(xiàn)在是P_ACCEPT。
- T4時(shí)刻,控制器端對(duì)PACCEPT高電平進(jìn)行采樣,并將PREQ設(shè)置為低電平,表示本次請(qǐng)求結(jié)束。接口狀態(tài)為P_COMPLETE。
- T5時(shí)刻,設(shè)備端監(jiān)測(cè)到PREQ變?yōu)榈碗娖?,將PACCEPT驅(qū)動(dòng)為低電平。此時(shí),一旦控制器檢測(cè)到PACCEPT為低電平,它就可以采取所需的任何轉(zhuǎn)換后操作(比如控制電源開關(guān))。本次握手全部完成,接口狀態(tài)回到P_STABLE。
下圖是控制器發(fā)出從A狀態(tài)到B狀態(tài)轉(zhuǎn)換請(qǐng)求,設(shè)備拒絕請(qǐng)求的握手流程:
- T0,T1,T2時(shí)刻的握手順序跟接受請(qǐng)求的流程一樣。
- T3時(shí)刻,設(shè)備端拒絕此次控制器發(fā)出的電源狀態(tài)轉(zhuǎn)換請(qǐng)求,驅(qū)動(dòng)PDENY信號(hào)為高電平,同時(shí)必須保持PACCEPT信號(hào)為低電平。接口狀態(tài)為P_DENIED。
- T4時(shí)刻,控制請(qǐng)檢測(cè)到PDENY信號(hào)為高電平,知道設(shè)備拒絕了本次請(qǐng)求。控制器端驅(qū)動(dòng)PREQ信號(hào)為低電平,表示結(jié)束本次請(qǐng)求,同時(shí)恢復(fù)PSTATE信號(hào)為初始的A狀態(tài)。接口狀態(tài)為P_CONTINUE。
- T5時(shí)刻,設(shè)備端發(fā)現(xiàn)PREQ變成低電平,需要將PDENY信號(hào)驅(qū)動(dòng)成低電平。一旦控制器發(fā)現(xiàn)PDENY變成低電平,它就可以采取所需的任何轉(zhuǎn)換后操作。本次握手流程全部完成,接口狀態(tài)恢復(fù)為P_STABLE。
對(duì)于設(shè)備端,在復(fù)位時(shí),必須將PACCEPT和PDENY置為低電平,但對(duì)PACTIVE沒有要求。如果設(shè)備必須進(jìn)入特定電源狀態(tài)才能進(jìn)行啟動(dòng)操作,則需要在設(shè)備復(fù)位時(shí)將PACTIVE位置為高位。如果不存在此類要求,ARM建議在設(shè)備復(fù)位時(shí)將所有PACTIVE置為低電平。
P-Channel的狀態(tài)為P_STABLE時(shí),設(shè)備的復(fù)位信號(hào)才可以設(shè)置為有效。
當(dāng)設(shè)備的的復(fù)位被釋放后,設(shè)備要進(jìn)入初始化,此時(shí)控制器要設(shè)置PSTATE信號(hào)值,設(shè)備會(huì)采樣該信號(hào)值,從而完成正確的初始化流程。PSTATE要在復(fù)位信號(hào)無(wú)效后要保持穩(wěn)定。
設(shè)備要提供一個(gè)初始化時(shí)間(tinit),用來(lái)表示,復(fù)位之后,在所有可能的復(fù)位狀態(tài)下保證捕獲PSTATE值之前所需的設(shè)備時(shí)鐘周期數(shù)。PSTATE在這段時(shí)間內(nèi)必須保持穩(wěn)定。
以下是復(fù)位后,控制器等待tinit時(shí)間后,控制器再發(fā)起請(qǐng)求的握手流程。
下圖展示了控制器在復(fù)位解除前將PREQ置為高電平,然后等待P-Channel轉(zhuǎn)換完成后,再發(fā)出進(jìn)一步請(qǐng)求的情況。
下圖展示了控制器在復(fù)位解除后,使用相同的PSTATE值,并將PREQ設(shè)置為高的情況。
下圖展示了多狀態(tài)轉(zhuǎn)換的握手,從狀態(tài)A轉(zhuǎn)換到狀態(tài)B,然后再轉(zhuǎn)換到狀態(tài)C。
P-Channel的握手狀態(tài)和狀態(tài)轉(zhuǎn)換圖如下:
設(shè)備用PACTIVE向電源控制器提出要求,每個(gè)位代表不同的要求。PACTIVE位為高電平表示設(shè)備向控制器提出需求。如果PACTIVE為低電平,表示設(shè)備不再需要該需求。P-Channel握手獨(dú)立于PACTIVE,控制器可以不考慮PACTIVE而做出任何決策。但是,該設(shè)備可以拒絕任何不適當(dāng)?shù)恼?qǐng)求。換句話說(shuō),PACTIVE是獨(dú)立于握手協(xié)議的,PACTIVE可以是自定義實(shí)現(xiàn)的。
下圖展示了控制器根據(jù)設(shè)備的PACTIVE發(fā)出電源轉(zhuǎn)換請(qǐng)求的案例。本例子中:
- PACTIVE[2]: State C
- PACTIVE[1]: State B
- PACTIVE[0]: State A
為了控制器的正確設(shè)計(jì),設(shè)備端必須提供足夠的信息,包括:
- 所有設(shè)備支持的電源狀態(tài),包括:PSTATE定義和編碼;PACTIVE每個(gè)比特位的分配;用于初始化狀態(tài),推薦的PACTIVE值;不再使用的PACTIVE位。
- 設(shè)備支持的電源狀態(tài)轉(zhuǎn)換,比如,如果控制器發(fā)起轉(zhuǎn)換請(qǐng)求,設(shè)備采取的任何操作;哪些設(shè)備電源狀態(tài)轉(zhuǎn)換可以被有條件地拒絕。
- 復(fù)位釋放后,用于初始化設(shè)備的PSTATE值
- 設(shè)備初始化時(shí)間tinit
P-Channel規(guī)范中,給出了一個(gè)例子。本例中,有兩個(gè)設(shè)備,三個(gè)電源域。Device 0位于power domain0,電源控制器使用PD0來(lái)控制。Device 1位于power domain1和power domain2,電源控制器使用PD1和PD2來(lái)分別控制。此例中,三個(gè)電源域是獨(dú)立的。
如果電源域不是彼此獨(dú)立的,而是由嵌套關(guān)系,如下圖所示。Device1內(nèi)部有3個(gè)電源域,分別為power domain 0,power domain 1,power domain 2,但是domain 0是domain 1和domain 2的父域,domain 1和domain 2是子域,也就是domain 0控制domain 1和domain 2。
電源控制器和device 1有3個(gè)P-Channel接口,但是都是在power domain 0中。這種情況下,電源控制與power domain 0的握手需要考慮子域的電源狀態(tài)。
-
控制器
+關(guān)注
關(guān)注
114文章
17487瀏覽量
188379 -
寄存器
+關(guān)注
關(guān)注
31文章
5493瀏覽量
127694 -
ARM芯片
+關(guān)注
關(guān)注
1文章
128瀏覽量
22394 -
電平轉(zhuǎn)換
+關(guān)注
關(guān)注
3文章
164瀏覽量
34587 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
495瀏覽量
28644
發(fā)布評(píng)論請(qǐng)先 登錄
Stellar P6 SARADC模塊,Internal channel/Test channel/External channel的都有那些區(qū)別呢?
ARM及系列處理器的分類介紹 精選資料分享
ARM系列之ACE協(xié)議資料匯總
71061 pdf datasheet (P-Channel
2SJ356C 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

2SJ358C 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

UPA603CT 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

2SJ210C 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

UPA573CT 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

2SJ356C 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

2SJ358C 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

UPA603CT 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

2SJ210C 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

UPA573CT 數(shù)據(jù)表(P-CHANNEL MOSFET FOR SWITCHING)

評(píng)論