ARM定義了兩個(gè)低功耗接口(Low Power Interface),用于低功耗控制握手,分別是Q-Channel和P-Channel。其中的Q-Channel在以前講過,《SoC設(shè)計(jì)之功耗 -- Q channel》。Q-Channel相對(duì)P-Channel而言簡單一些,只是控制開/關(guān)兩種狀態(tài),這在控制時(shí)鐘的握手時(shí)沒有任何問題,但是在控制電源的握手時(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ù)訪問)。
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ā)生變化。也就是說,PACCEPT和PDENY在握手中,只能有一個(gè)為高。
來自設(shè)備的PACCEPT和PDENY信號(hào),以及來自控制器的PREQ和PSTATE信號(hào)都必須由寄存器直接驅(qū)動(dòng)。拒絕機(jī)制的目的是使設(shè)備能夠保持其當(dāng)前狀態(tài),同時(shí)通過該機(jī)制可以迅速完成握手。
握手信號(hào)狀態(tài)與PACTIVE位無關(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)楦唠娖剑涌跔顟B(tài)變?yōu)镻_REQUEST。協(xié)議要求在設(shè)備檢測(cè)到PREQ時(shí),PSTATE是穩(wěn)定的。
T3時(shí)刻,設(shè)備通過將PACCEPT驅(qū)動(dòng)成高電平來表示接受轉(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)榈碗娖剑瑢ACCEPT驅(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ěn)定。
設(shè)備要提供一個(gè)初始化時(shí)間(tinit),用來表示,復(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)求。換句話說,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來控制。Device 1位于power domain1和power domain2,電源控制器使用PD1和PD2來分別控制。此例中,三個(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)。
審核編輯:劉清
-
ARM
+關(guān)注
關(guān)注
134文章
9314瀏覽量
375233 -
控制器
+關(guān)注
關(guān)注
114文章
16988瀏覽量
183045 -
寄存器
+關(guān)注
關(guān)注
31文章
5424瀏覽量
123450 -
電源開關(guān)
+關(guān)注
關(guān)注
12文章
1181瀏覽量
46178 -
低電平
+關(guān)注
關(guān)注
1文章
175瀏覽量
13601
原文標(biāo)題:ARM系列 -- P Channel
文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
新能源電池產(chǎn)業(yè)鏈及投資機(jī)會(huì)簡析-磷酸亞鐵鋰
ARM系列—PCK600基礎(chǔ)知識(shí)簡析

71061 pdf datasheet (P-Channel
基于ATM理念的UTRAN傳輸架構(gòu)簡析
電動(dòng)汽車用鋰離子電池技術(shù)的國內(nèi)外進(jìn)展簡析
EPON技術(shù)簡析
筆記本屏幕亮度與反應(yīng)速度簡析
簡析BGA封裝技術(shù)與質(zhì)量控制
鼠標(biāo)HID例程(中)簡析
簡析比較器的原理及應(yīng)用資料下載

評(píng)論