PCK-600是一個與功耗控制相關(guān)IP包,里面包含了六個組件,分別是LPD-Q,LPD-P,LPC-Q,P2Q Converter,CLK_CTRL和PPU。前面四個是輔助組件,后面兩個才是這個IP包中的重要角色,我們一個一個來看。
LPD-Q
LPD-Q全稱是Low Power Distributor Q-Channel,其作用是幫助帶Q-Channel接口的控制器能夠控制多個Q-Channel設(shè)備,并可能對其進(jìn)行排序。
LPD-Q支持2-32設(shè)備Q-Channel接口,可配置為在以下兩種模式(通過SEQUENCER參數(shù))運行:
Q-Channel擴(kuò)展器(Expander):控制器Q-Channel轉(zhuǎn)換請求并行廣播到所有設(shè)備Q-Channel。發(fā)送到設(shè)備的轉(zhuǎn)換請求可以按任何順序完成。在這個模式下,當(dāng)LPD-Q在控制Q-Channel上收到靜態(tài)進(jìn)入或退出請求時,它會將該請求發(fā)送到所有設(shè)備Q-Channel。LPD-Q等待所有設(shè)備接受或拒絕,然后生成對控制器的響應(yīng)。當(dāng)出現(xiàn)拒絕情況時,LPD-Q會將所有設(shè)備Q-Channel返回到運行狀態(tài)。
Q-Channel序列器(Sequencer):控制器Q-Channel轉(zhuǎn)換請求按順序傳遞給每個設(shè)備Q-Channel。每個轉(zhuǎn)換請求必須在LPD-Q向下一個設(shè)備發(fā)送轉(zhuǎn)換請求之前完成。在這個模式下,當(dāng)LPD-Q在控制Q-Channel上接收到靜態(tài)進(jìn)入或退出請求時,它會依次向所有設(shè)備Q-Channel發(fā)送請求。LPD-Q等待每個設(shè)備的響應(yīng),然后再向下一個設(shè)備發(fā)送靜止請求。LPD-Q在生成對控制器的響應(yīng)之前,等待所有設(shè)備響應(yīng)。
總結(jié)一下:LPD-Q是把一個Q-Channel擴(kuò)展成多個Q-Channel,就這么簡單。至于為什么要擴(kuò)展,那一定是前面的控制器沒那么多接口唄。
LPD-P
跟LPD-Q組件類似,LPD-P組件使P-Channel控制器能夠控制多個P-Channel設(shè)備,并可能對其進(jìn)行排序。不同的是,LPD-P使用的是P-Channel。LPD-P支持1-8個設(shè)備P-Channel接口,也是可以配置成兩種模式:expander和sequencer。
LPD-P將所有設(shè)備的P-Channel初始化為0x00,這是PCSA關(guān)閉電源模式。如果LPD-P設(shè)計用于不兼容的PCSA體系結(jié)構(gòu),則只支持較低的4位(PSTATE[3:0]),最多16種電源模式,PSTATE[7:4]位保留。
LPD-P在復(fù)位信號被釋放后,將PREQ置高。這會消除復(fù)位和時鐘使能之間的依賴。這里跟LPD-Q的區(qū)別主要還是P-Channel引起的。
總結(jié)一下:LPD-P與LPD-Q類似,所不同的就是接口類型從Q-Channel換成了P-Channel,而已。
LPC-Q
LPC-Q的全稱是Low Power Combiner Q-Channel,用于兩個或多個Q-Channel控制器控制一個或多個具有相同控制要求的設(shè)備。當(dāng)任何控制Q-Channel請求靜止時,LPC-Q將設(shè)備Q-Channel移動到靜止?fàn)顟B(tài)。當(dāng)最后一個控制Q-Channel退出靜止?fàn)顟B(tài)時,設(shè)備Q-Channel退出靜止?fàn)顟B(tài)。
LPC-Q支持2-32個控制接口,1-32個設(shè)備接口。
總結(jié)一下:LPD-Q是一對多控制,即一個控制器接口,多個設(shè)備接口。而LPC-Q是多對一或者多對多控制。在實際的應(yīng)用中,要格外注意PLC-Q的使用,確保被控制設(shè)備能夠正確進(jìn)入靜止?fàn)顟B(tài)。
P2Q converter
P2Q converter將單個P-Channel轉(zhuǎn)換為單個Q-Channel。P2Q支持PSTATE最大8-bit寬度,PACTIVE最大32-bit寬度。
這個組件沒啥可總結(jié)的了。
有了以上四種輔助組件,對于電源和時鐘的控制路徑設(shè)計就靈活多了,是不是很像搭積木。
CLK-CTRL
CLK-CTRL是Clock Controller的縮寫,為時鐘域中支持Q-Channel低功耗接口(Low Power Interface,LPI)時鐘選通的設(shè)備提供高層次的時鐘控制。CLK-CTRL使用Q-Channel確保設(shè)備先進(jìn)入靜止?fàn)顟B(tài),然后關(guān)閉設(shè)備時鐘。
CLK-CTRL監(jiān)控Q-Channel的clk_qactive_i輸入,以了解何時必須執(zhí)行Q-Channel請求。當(dāng)所有Q-Channel都處于靜止?fàn)顟B(tài)時,CLK-CTRL將clken_o設(shè)置為低,以停止時鐘。當(dāng)任何一個clk_qactive_i變高時,CLK-CTRL將啟用時鐘,并將所有設(shè)備Q-Channel移至運行狀態(tài)。
通過改變entry_delay_i[7:0]可以配置CLK-CTRL在滯后0-255個時鐘周期后再進(jìn)入禁止?fàn)顟B(tài)。通過控制輸入信號clk_force_i可以關(guān)閉CLK-CTRL的時鐘關(guān)斷功能,也就是輸出時鐘一直打開。
要注意控制器端的兩組Q-Channel接口,一組是Hierarchical clock control Q-Channel(簡稱HC),另外一組是Hierarchical power control Q-Channel(簡稱PWR)。HC允許更高級別的時鐘控制器向CLK-CTRL發(fā)出請求;PWR允許更高級別的電源控制器向CLK-CTRL發(fā)出請求。
這里稍加解釋,時鐘控制器可以是級聯(lián)控制,所以對于系統(tǒng)中的某一個CLK-CTRL來說,可能有更高層級的CLK-CTRL來控制它,例如下圖。
對于PWR接口也好理解,如果被控制的設(shè)備需要做電源開關(guān),那么在設(shè)備掉電前,需要先關(guān)閉設(shè)備的時鐘,確保此設(shè)備處于非工作狀態(tài)。因此,PWR接口就是留給電源控制器去控制設(shè)備的時鐘用的。如果用PPU作為電源控制器,這個PWR接口就不一定需要用了,因為PPU本身就帶有時鐘控制邏輯,也就是有一個輸出信號clk_enable用于做時鐘開關(guān)。
HC和PWR兩組接口是否需要用取決于具體實現(xiàn)。如果只想讓CLK-CTRL根據(jù)設(shè)備的狀態(tài)來決定是否關(guān)斷設(shè)備的時鐘,那么就可以把HC和PWR接口設(shè)置成固定值。
總結(jié)一下:CLK-CTRL由于有了HC和PWR兩組接口,用起來就比較靈活了。
PPU
PPU在之前分析過很多次了,具體功能就不再說了。
PPU接口比前幾個組件復(fù)雜一點:
- 配置接口:APB
- 時鐘控制器接口,這個接口在PPU的架構(gòu)spec(1.1版本)中沒有
- 中斷接口
- PCSM接口
- 設(shè)備LPI接口:Q-Channel(1-8個)或P-Channel(1個)
- 設(shè)備控制接口
PPU在系統(tǒng)的典型應(yīng)用如下圖:
總結(jié)一下:用PPU做電源控制器,需要額外設(shè)計PCSM。由于PPU有了一組時鐘控制的Q-Channel接口,在設(shè)備關(guān)閉電源的情況下,PPU可以關(guān)閉時鐘,節(jié)約一點點功耗。
最后,放一張用PCK-600組件做電源/時鐘控制的示意圖。
-
控制器
+關(guān)注
關(guān)注
112文章
16423瀏覽量
178878 -
電源控制器
+關(guān)注
關(guān)注
0文章
150瀏覽量
32837 -
CLK
+關(guān)注
關(guān)注
0文章
127瀏覽量
17194 -
時鐘控制
+關(guān)注
關(guān)注
0文章
17瀏覽量
6845 -
LPD
+關(guān)注
關(guān)注
0文章
11瀏覽量
5726
發(fā)布評論請先 登錄
相關(guān)推薦
評論