引言
包括凌力爾特電源系統管理 (PSM) 在內的所有 PMBus 應用的基礎都是,PMBus 主器件 (系統主器件) 能夠與總線上的所有 PMBus 從屬器件 (PSM 控制器、PSM 管理器、PMS μModule和 PMBus 單片器件) 通信。總線上的每個從屬器件都必須擁有與其他器件不沖突的、獨一無二的地址。
總線主器件還必須能夠在幾種并非大多數人都認為順理成章的情況下與 PSM 從屬器件通信,包括:
? 地址發現
? 全局行動
? 多相軌
? 無效非易失性存儲器 (NVM)
? 總線 MUX
器件尋址是由基址寄存器加上外部地址選擇 (ASEL) 引腳以及特殊的全局、軌、ARA 地址及其他特殊地址相結合實現的。
本文探討凌力爾特 PSM 系列的基本設計原則、有關產品系列之間不同之處的詳細信息、以及實際例子和建議。諸如無效 NVM 等特殊情況也會討論。
凌力爾特的優勢是,設計不僅從第一天開始就正常運行,甚至在情況變壞時依然正常運行。例如,如果正在用LTpowerPlay 軟件寫NVM 時掉電了,那么設計是可恢復的。此外,如果選擇采用凌力爾特Linduino 參考代碼中提供的 “In Flight Update”,那么設計在現場也是可恢復的。最后,還能夠識別系統退化的癥狀,并解決系統退化問題。
一旦了解了怎樣實現凌力爾特 PSM 尋址,就能夠快速設計可靠的系統了。
基本的 PMBus 運行方式
PMBus 是一種由 SMBus 擴展而來的串行通信標準,類似于I2C。兩條開漏導線 SCL 和 SDA 支持主器件和從屬器件的雙向通信總線。主器件是控制通信的器件,一般是微控制器或FPGA。從屬器件是受主器件控制的器件,一般是小型集成電路,在本文中,這是諸如 LTC2977 等電源管理器或者諸如 LTC3880 等電源控制器。
一個系統可以有超過一個主器件,但是實際上這種情況很少見。通常有多個從屬器件。甚至在只有一個從屬器件的系統中,主器件每次也通過使用地址,來指揮與從屬器件的通信。這意味著,每個從屬器件必須擁有一個獨一無二的地址,以實現恰當的系統功能。
凌力爾特的電源系統管理器件使用一個 EEPROM 和引腳電阻器來設定每個 (從屬) 器件獨一無二的地址。因此,尋址過程確保,如果任何EEPROM 中沒有有效數據,那么主器件就可以修補系統,使系統達到每個(從屬) 器件都有獨一無二地址的狀態。
以下各部分詳細解釋了這些地址配置機制,包括怎樣選擇、設計和修補地址。
基本的 PMBus 尋址
PMBus 尋址由 PMBus 標準引用的 SMBus 標準定義。SMBus 尋址與I2C標準相同。為清晰起見,討論范圍限定在 SMBus 標準上。
考慮 SMBus 3.0 標準圖 29 中定義的 Read Byte 協議 (參見圖 1)。起始位 (S) 之后是任何交易的地址,地址在 ACK 位 (A) 之前結束。在 (S) 和 (A) 之間有 8 個位,前 7 位是地址,其余 1 位用來指示寫 (Wr) 或讀 (Rd)。
圖 1:Read Byte 協議(SMBus 3.0 標準,圖 29)
7 位意味著有 128 個可能的地址。在本 “應用指南 (Application Note)” 中,所寫地址不包括 (Wr/Rd) 位,如下所示:
0x00 至 0x7F (7 位尋址)
有時,程序員寫地址時喜歡額外帶上保持為零的 (Wr/Rd) 位,例如:
0x00 至 0xFE (8 位尋址)
這些數字全都是偶數。示波器和監視工具 (例如 Total Phase Beagle 協議分析儀) 使用與本應用指南相同的格式,因此自然使用0x00 至 0x7F,所以我們也這么做。然而,當工程師提供一個地址但并未指明格式時,請格外注意。給定地址也許需要左移一位,因此看起來的地址比實際地址大一倍。
請注意,Read Byte 協議使用兩次地址,但是在第二次使用的地址之前有一個重復開始(Sr) 指示位。重復開始指示位是所有讀交易的組成部分。在本文中,(S)和 (Sr) 之后必須使用相同的地址。
地址圖
不是所有地址都可用于 PSM 從屬器件,因為 SMBus 標準保留了某些地址。SMBus 3.0 規范的附錄 C 有一個預分配地址表。沒必要了解這些地址打算怎樣使用,所以有一個簡化的表就夠了。
表 1 所示的 SMBus 地址圖使用了一種簡單的編碼方法。保守的設計僅使用“用途”(Description)列中有白色底紋的地址。這就避開了所有保留的地址和特殊地址。可能除了為PMBus 3.1 區域操作添加的地址0x28 和 0x37 以外,PSM 設計可以使用地址列中所有具白色底紋的地址。
表 1:SMBus 地址圖
地址 |
用途 |
0x00 |
通用調用或 START |
0x01至 0x0B |
電池等 |
0x1C |
警報響應地址 (ARA) |
0x1D至 0x27 |
開放使用 |
0x28 |
區域讀 |
0x29至 0x2B |
開放使用 |
0x2C至 0x2D |
保留 |
0x2E至 0x36 |
開放使用 |
0x37 |
區域寫 |
0x37至 0x3F |
開放使用 |
0x40至 0x43 |
保留 |
0x44 |
保留 |
0x45至 0x47 |
開放使用 |
0x48至 0x4B |
原型產生 |
0x61 |
缺省 SMBus 地址 |
0x62至 0x77 |
開放使用 |
0x78至 0x7B |
10位地址 |
0x7C至 0x7F |
保留 |
PMBus 全局地址
還有一些地址由 PSM 使用,不能分配給任何器件,甚至非 PSM 器件也不行,以防引起系統級問題。
第一類特殊地址是全局地址,即 0x5A 和 0x5B。總線主器件用這些地址一次與多個器件通信。就LTC388X 系列而言,地址 0x5A 是不被呼叫的全局地址。就 LTC388XPSM 系列和 LTC297X 系列而言,地址 0x5B 都是被呼叫的全局地址。如果一個 PSM 器件的地址被設定為兩個全局地址之一,那么總線主器件向該器件發送命令時,總線上的所有PSM 器件都會響應該命令。LTpowerPlay也會出現意想不到的行為。
第三個全局地址是 0x7C。如果 LTC388X PSM 系列器件的 EEPROM 中有 CRC 錯誤,那么這些器件就響應這個地址。因此不要使用這個地址。
其他全局地址
非 PSM 器件也可能有全局地址。分配 PSM 地址時,這些地址必須避開。
軌地址
有些 PSM 器件有一種稱為軌地址的特殊地址。用軌地址可以同時尋址多個器件或頁面。軌地址的主要功能是,使總線主器件能夠用一條命令與一個軌的幾個相位通信。例如,設定多相軌的VOUT電壓。
軌地址用一種稱為 MFR_RAIL_ADDRESS (0xFA) 的寄存器設定。這個寄存器的缺省值是 0x80,這個值禁止軌尋址。將軌地址設定為其他任何值都可啟動軌尋址。
總線主器件對待軌地址就像對待總線上的器件一樣,即使它不是一個單獨的器件。總線主器件分辨不出二者的差別。因此,軌地址是系統總地址圖的組成部分,一定不能與其他地址相沖突。
通道地址
最后一種特殊地址稱為通道地址。這個地址也像軌地址一樣是用一個寄存器 MFR_CHANNEL_ADDRESS (0xD8) 設定的。通道地址給總線增加了一種指向特定頁面的地址。因此,使用通道地址時,就不必使用PAGE 寄存器了。
總線主器件對待通道地址就像對待總線上的另一個器件一樣,通道地址不可能與其他地址相沖突。
地址規劃
地址規劃很簡單。創建一個電子數據表,列入所有器件和地址,使用以下所有地址類型:
?普通地址
?全局地址
?軌地址
?通道地址
?特殊地址 (ARA)
?非 PSM 地址
除了全局地址,地址不可重疊,當所有地址都使用一個共用基址時,每個地址都必須是獨一無二的。
設定地址
在怎樣分配地址以及器件的行為方式方面,盡管 LTC388X DC/DC 控制器系列和 LTC297X 管理器系列之間通常很相似,但是仍然存在細微差別。同一系列之內的不同器件之間也存在微小差別。不過,運行原理是相似的,所以在考慮具體差異之前,可以按照一般規則考慮所有器件。
就所有 PSM 器件而言,總線上 PSM 器件的實際地址由稱為基址 (BASE ADDRESS) 的寄存器值加上由連至器件引腳的電阻器決定之可選變址構成,這些器件引腳稱為 ASEL 引腳,即地址選擇引腳。
使用 ASEL 引腳而不是使用預先設定器件的方法有幾個原因。首先,預先設定需要花時間,有成本問題,而且人們也許不想按照一般規則預先設定所有器件。很多器件還具有用來設定輸出電壓的配置引腳,這些引腳也許就足夠了。其次,如果一個器件有CRC NVM 差錯,那么該器件可能會丟失地址,這時總線主器件就無法獨一無二地與每個器件通信以重新設定器件了。
因此,解決方案是 ASEL 引腳和一個基址。總線主器件可利用全局地址0x5B 與所有器件通信。如果主器件可以與所有器件通信,那么就可以設定基址,因為所有PSM 器件都支持 MFR_I2C_BASE_ADDRESS寄存器。之后,總線主器件可以強制所有器件讀取其地址引腳,而且所有器件都將擁有總線主器件已知和獨一無二的地址。一旦總線主器件可以與每個器件單獨通信,就可以重新設定EEPROM 了。
這意味著以下事實,而且這些事實是本文中需要記住的最重要的事情:當總線上的所有器件共用一個基址時,這些器件必須各自擁有獨一無二的地址,而且這些器件的ASEL 引腳已經被讀取和使用。
如果遵循這個原則,那么當發生任何 NVM 訛誤時,用 LTpowerPlay、Linduino 參考代碼或定制固件就可修復系統。因此,修復系統時,永遠不需要將凌力爾特PSM 器件脫焊。
以下內容提供產品系列的詳細信息,以全面了解怎樣設定地址以及怎樣用地址圖給出的參數進行設計。
LTC388X PSM 系列
LTC388X 系列 PSM 器件的地址是由基址值和經由 ASEL 引腳獲得的值相結合來設定的。有些 LTC388X 器件有一個 ASEL 引腳,有些則有兩個 ASEL 引腳,因此需要以不同的方式對待這兩種器件。
一個 ASEL 引腳
表 2 顯示了 LTC3880 數據表列出的 ASEL 引腳。LTC3880 有一個 ASEL 引腳。從屬地址列中的 “xyz”3 位是基址,存儲在 MFR_I2C_BASE_ADDRESS (0xE6) 寄存器中。除非在 ASEL 引腳上沒有電阻器,否則 ASEL 引腳設定表中的 4 個 LSB。在這情況,使用基址的所有 7 個位。
表 2:LTC3880 ASEL
RTOP (kΩ) |
RBOTTOM (kΩ) |
從屬地址 |
LSB 16 進制 |
0或 開路 |
開路 |
EEPROM |
|
10 |
23.2 |
xyz_1111 |
F |
10 |
15.8 |
xyz_1110 |
E |
16.2 |
20.5 |
xyz_1101 |
D |
16.2 |
17.4 |
xyz_1100 |
C |
20 |
17.8 |
xyz_1011 |
B |
20 |
15 |
xyz_1010 |
A |
20 |
12.7 |
xyz_1001 |
9 |
20 |
11 |
xyz_1000 |
8 |
24.9 |
11.3 |
xyz_0111 |
7 |
24.9 |
9.09 |
xyz_0110 |
6 |
24.9 |
7.32 |
xyz_0101 |
5 |
24.9 |
5.76 |
xyz_0100 |
4 |
24.9 |
4.32 |
xyz_0011 |
3 |
30.1 |
3.57 |
xyz_0010 |
2 |
30.1 |
1.96 |
xyz_0001 |
1 |
開路 |
0 |
xyz_0000 |
0 |
僅當總線上只有一個器件時,才設定 ASEL 引腳開路。在任何多器件應用中,都必須使用 ASEL 引腳來設定地址。如果使用單個 ASEL 引腳設定器件,總線上的地址數量就限定為 16 個。
總線 MUX 為增加地址數量提供了一種解決方案,將在本文的總線分段部分討論。
雙 ASEL 引腳
雙 ASEL 引腳將 16 個地址的限制擴展到 127 個。
表3 顯示了 LTC3882 數據表列出的ASEL 引腳。如果 ASEL1 設定為 “來自EEPROM”,那么ASEL0 的表現就像 LTC3880 的單個 ASEL 表現一樣。連至 ASEL1 引腳的電阻器控制器件地址的 3 個 MSB。這將獨一無二的地址數量擴展至 127 個。
在由單和雙 ASEL 引腳器件組成的系統中,每種單 ASEL 引腳器件類型可能有多達 16 個,而且可能有與可用地址一樣多的雙 ASEL 器件。
表 3:LTC3882 ASEL
RTOP (kΩ) |
RBOT (kΩ) |
ASEL1 |
ASEL0 |
||
LTC3882器件 地址位 [6:4] |
LTC3882器件 地址位 [3:0] |
||||
二進制 |
16進制 |
二進制 |
16進制 |
||
0或 開路 |
開路 |
來自 EEPROM |
來自 EEPROM |
||
10 |
23.2 |
1111 |
F |
||
10 |
15.8 |
1110 |
E |
||
16.2 |
20.5 |
1101 |
D |
||
16.2 |
17.4 |
1100 |
C |
||
20 |
17.8 |
1011 |
B |
||
20 |
15 |
1010 |
A |
||
20 |
12.7 |
1001 |
9 |
||
20 |
11 |
1000 |
8 |
||
24.9 |
11.3 |
111 |
7 |
0111 |
7 |
24.9 |
9.09 |
110 |
6 |
0110 |
6 |
24.9 |
7.32 |
101 |
5 |
0101 |
5 |
24.9 |
5.76 |
100 |
4 |
0100 |
4 |
24.9 |
4.32 |
011 |
3 |
0011 |
3 |
30.1 |
3.57 |
010 |
2 |
0010 |
2 |
30.1 |
1.96 |
001 |
1 |
0001 |
1 |
開路 |
0 |
000 |
0 |
0000 |
0 |
LTC297X 系列的主要不同是加到基址上的 ASEL 引腳選擇值。“加到” 意味著增加,而不是取代或屏蔽一些位。
表 4 顯示了 LTC2975 的地址查詢表。這些 ASEL 引腳有 3 種狀態,高、低或未連接。兩個引腳選擇 9 個不同的、顯示為 “N =” 的值。在這個表中,基址是 0x5C,當 N = 0 時,地址為 0x5C。
這個表還有一個 8 位的列。這是本應用指南使用的地址,像之前討論的那樣,左移一位 (對習慣于這種慣例的人而言)。
表 4:LTC2975 ASEL
地址引腳 |
用途 |
16進制 器件地址 |
二進制 器件地址 |
|||
ASEL1 |
ASEL0 |
7位 |
8位 |
6 5 4 3 2 1 0 |
R/W |
|
X |
X |
警報響應 |
0C |
19 |
0 0 0 1 1 0 0 |
1 |
X |
X |
全局 |
5B |
B6 |
1 0 1 1 0 1 1 |
0 |
L |
L |
N = 0 |
5C* |
B8 |
1 0 1 1 1 0 0 |
0 |
L |
NC |
N = 1 |
5D |
BA |
1 0 1 1 1 0 1 |
0 |
L |
H |
N = 2 |
5E |
BC |
1 0 1 1 1 1 0 |
0 |
NC |
L |
N = 3 |
5F |
BE |
1 0 1 1 1 1 1 |
0 |
NC |
NC |
N = 4 |
60 |
C0 |
1 1 0 0 0 0 0 |
0 |
NC |
H |
N = 5 |
61 |
C2 |
1 1 0 0 0 0 1 |
0 |
H |
L |
N = 6 |
62 |
C4 |
1 1 0 0 0 1 0 |
0 |
H |
NC |
N = 7 |
63 |
C6 |
1 1 0 0 011 |
0 |
H |
H |
N = 8 |
64 |
C8 |
1 1 0 0 1 0 0 |
0 |
H = 連至 VDD33,NC = 無連接 = 開路或浮置,
L = 連至 GND,X = 不必在意
*MFR_I2C_BASE_ADDRESS = 7 位 0x5C (工廠缺省值)
CRC 失配
所有凌力爾特 PSM 器件都有 EEPROM,用來存儲決定輸出電壓、監察限制和基本操作的設置值。存儲器中的任何差錯都可能導致損壞負載。凌力爾特 PSM 器件的 EEPROM 保存規格為 10 年。不過,寫 EEPROM 時遭遇意外系統情況,例如高溫或電源電壓崩潰,可能導致寫失敗,從而使 EEPROM 保存的內容出現訛誤。
CRC 的目的是驗證 EEPROM 保存的內容是否正確。有效的 CRC 確保器件安全運行,無效的 CRC 禁止器件運行,并通過 PMBus ALERTB 通知主機。
CRC 怎么樣起作用?
當 PSM 器件第一次加電時,該器件將 EEPROM 中的內容傳送給 RAM,因為 RAM 是器件的運行存儲器。傳送的同時,器件計算 RAM 所存內容的 CRC 值,然后與 EEPROM 中存儲的 CRC 比較。如果兩個 CRC 值相同,器件就運行;如果不相同,器件就報告 CRC 故障,并保持在復位狀態。
連接所有 PSM 器件的 GPIOB/FAULTB 引腳,設定器件以分享故障信息并在故障期間禁止運行,將使整個系統之內的任何 CRC 都能夠防止對系統內的所有軌供電。一般而言,這是最佳的系統設計,除非多故障分析已經證實,故障的所有組合都是安全的。當所有軌都關斷時,分析簡單得多,而且系統變得安全得多,因為任何故障都導致所有軌完全斷電。
LTC388X CRC
如果一個 LTC388X 器件出現 CRC 失配,那么它的地址將變成 0x7C。如果其他 LTC388X 器件也出現 CRC 失配,那么這些器件的地址也將同時變為 0x7C。在用有效數據重寫這些器件的 NVM 且這些器件經過由 MFR_RESET (0xFD) 命令或加電周期啟動的初始化之前,這些器件的地址會一直保持為 0x7C。
LTC297X CRC
如果一個 LTC297X 器件發生 CRC 失配,那么其值可能是兩個地址之一。簡單情況是缺省基址 0x5C,當整個 EEPROM 發生 CRC 失配時,出現這種情況。
因為 LTC297X 成塊處理 EEPROM,而且靠近底部的塊可能擁有有效的 CRC,靠近頂部的塊可能沒有有效的 CRC,所以地址也有可能是所存儲的基址。
這與 LTC388X 是不同的,因為 LTC388X 在確定地址之前,對整個 EEPROM 進行一次完整的 CRC 驗證,而 LTC297X 則是逐步確定地址。
解決 CRC 失配問題
一般而言,CRC 失配絕不會手動解決。LTpowerPlay 用其編程工具可非常容易地解決 CRC 失配問題,而且 In Flight Update 也會解決 CRC 失配問題。不過,了解這些方法怎樣解決 CRC 失配問題,對更好地理解尋址是有幫助的。解決 CRC 失配問題的第一步是,逐個訪問所有出現 CRC 失配問題的器件。這意味著,發送 PMBus 命令以恢復各個地址。
向全局地址 0x5B 發布一條 MFR_I2C_BASE_ADDRESS 命令。然后發送一系列命令,強制所有器件讀取其 ASEL 引腳。
注:可以單獨針對一個出現 CRC 失配問題的器件,如果你能確定其目前的地址,例如對 LTC388X 而言是 0x7C,或者 LTC297X 的缺省基址。不過,使用全局地址卻簡單得多,因為這種方式不損害其他器件。此外,如果總線未得到良好規劃,LTC297X 落在了非 PMBus 器件的地址上,那么單獨針對一個器件的做法可能產生副作用。
第二步是向器件發送數據。理論上,器件支持的所有命令都可以使用,但是通過 MFR_EE_DATA 命令發送批量數據更高效。LTpowerPlay 和 In Flight Update 都使用這條命令。
對規劃不佳、未使用 ASEL 引腳將所有器件設定為擁有獨一無二地址的地址設計而言,第一步不起作用。如果設定 MFR_I2C_BASE_ADDRESS 導致一個以上的 PSM 器件擁有相同的地址,那么就無法用 MFR_EE_DATA 修復單個器件,因為擁有相同地址的任何器件都會被相同的數據設定。
總線分段
對 PMBus 分段有兩個主要原因:
1. 尋址
2. 電容/速度
但是分段以實現尋址這種方法一般僅用在非常大的系統中。
當總線主器件以 400kHz 運行時,在非常大和具有很長總線布線的系統中,可能出現電容問題。這可能導致違反定時規范,或干擾性能目標。
一般情況下,會使用多路轉換器 LTC4306。LTC4306 的主要功能是,能夠一次連接一個段或者同時連接所有段。
當修復 CRC 失配問題時,使用該器件,使總線主器件一次連接一個段。當由固件使用時,用該器件將所有段連接成單條總線。當所有段作為單條總線連接時,所有地址都必須是獨一無二的。
一步步地看一個典型例子,了解怎樣滿足修復流程需求以及怎樣作為單條總線起作用,這是有幫助的。
總線分段舉例
這個作為例子的系統由以下各部分組成:
?4 段 (參見圖 2)
?每段有 16 個 LTC3880 器件
?一個多路轉換器 LTC4306
圖 2 總線分段舉例
LTC4306 的地址用 3 個 ASEL 引腳設定為 0x50。該器件還有一個全局批量寫地址 (MassWrite Address) 0x5D。LTC3880 有 0x5A 和 0x5B 兩個全局地址。這種設計將 4 個基址 0x20、0x30、0x40 和 0x60 分配給 4 個段。這避開了 0x50 至 0x5F 的地址范圍,所有凌力爾特 PSM 器件的地址在這個范圍都是可編程的。此外,大多數凌力爾特 I2C/SMBus 器件都支持這個地址范圍。LTC4316 I2C器件非常容易使其他任何器件與這個尋址范圍兼容。
還有可能在 0x5X 范圍內對多相軌尋址,或者在小于 0x10 或大于 0x6F 的可用地址范圍內對多相軌尋址。
圖 2:總線分段舉例
固件運行
通過將 LTC4306 的寄存器 3 設定為 0xF0,電路板管理控制器 (BoardManagement Controller) 將輸入 PMBus 連至所有輸出 PMBus 段。在這種情況下,總線上有 64 個器件的地址處于以下范圍:0x20 至 0x2F、0x30 至 0x3F、0x40 至 0x4F 和 0x60 至 0x6F。全局地址 0x5A 和 0x5B 用于全局操作。如果器件正常運行,沒有 CRC 失配問題,就不會響應地址 0x7C。
系統設定
系統設定指的是,用 LTpowerPlay 或 In Flight Update 對所有總線分段進行初始設定。通過將寄存器 3 的值分別設定為 0x80、0x40、0x20 和 0x10,LTC4306 會一次連接一個段。
LTpowerPlay 或 In Flight Update 會設定由 LTC4306 連接的特定段。用于被連接段的 MFR_I2C_BASE_ADDRESS用全局地址 0x5B 設定。ASEL 的引腳電阻器確保被連接段上的每個器件都擁有獨一無二的地址。
用于每個段上各個器件的 ASEL 引腳電阻器是相同的,并在 0x00 至 0x0F 范圍內選擇一個地址變址數。一次連接一個段,針對每個段單獨設定 MFR_I2C_BASE_ADDRESS,就可以使所有 64 個器件都擁有獨一無二的器件地址。
注:如果使用有兩個ASEL 引腳的器件,那么所有分段都有可能包含超過 16 個器件,因為兩個 ASEL 引腳允許用一個基址創建多達 128 個器件地址。
解決 CRC 失配問題
這種情況與系統設定情況是相同的。LTpowerPlay 和 In Flight Update 以同樣的方式對待設定流程。在兩種情況下,設定過程中都會使用 MFR_I2C_BASE_ADDRESS。
每個段都是一個一個連接和設定的。
固件運行與系統設定的互動
LTC4306 缺省設置為所有段均斷接。因此,如果電路板管理控制器 (BMC) 保持在復位狀態以進行系統調試,連接了 DC1613 PMBus-to-USB 控制器且 LTpowerPlay 正在運行,那么 DC1613 就不會連接到總線上的任何 PSM 器件上。
有兩種方式確保固件不干擾 LTpowerPlay。第一種是為 BMC 提供調試模式,以便 BMC 退出復位狀態,并連接所有段,然后暫停。這使LTpowerPlay 能夠與完整的總線互動,以便系統進入運行和調試狀態。
BMC 暫停時,會阻止與 LTpowerPlay 互動。即使 LTpowerPlay 能夠進行多重控制,依賴 PAGE 命令的多個命令也會互動。因此,暫停可防止固件和 LTpowerPlay 得到錯誤的遙測數據。
第二種方式是在調試時保持 BMC 處于復位狀態,并允許 LTpowerPlay 控制 MUX。一般而言,這是最安全的情況,因為當 BMC 從復位狀態釋放出來之后,例如在關斷 LTpowerPlay 之后,會將多路轉換器設定到適當的狀態,而不管目前處于何種狀態。
當 BMC 和 LTpowerPlay 交替控制總線時,主器件不應該假設多路轉換器的狀態。無論何時,只要采取重要行動,例如任一主器件退出暫停狀態繼續運行時,首先應該將多路轉換器設定到適當的狀態。
總結
電源系統管理的地址規劃并不復雜,但是必須注意設定以及系統從 CRC 失配中恢復的特殊情況。所有凌力爾特 PSM 器件都是兼容的。
所有凌力爾特的 PSM 器件都通過基址和 ASEL 引腳設定的變址相結合來產生獨一無二的地址。如果在設定時掉電,所有PSM 器件都可能遭遇 CRC 失配問題。通過設定基址、重新設定 EEPROM、以及復位器件,可以全面恢復系統。LTpowerPlay 和 In Flight Update 自動處理合適的地址計劃的恢復。
通過地址規劃,可分配基址和 ASEL 引腳,因此絕對不會出現兩個器件永久使用相同地址的情形。使用擁有兩個ASEL 引腳的器件或者用一個諸如 LTC4306 那樣的 I2C 多路轉換器對總線分段,可以設計較大型的系統。
必須在進行 PCB 設計之前進行地址規劃,因為 ASEL 引腳和總線分段依靠電阻器和引腳來設定。
-
Linear
+關注
關注
17文章
434瀏覽量
131615 -
電源管理
+關注
關注
115文章
6185瀏覽量
144656
原文標題:電源系統管理的尋址
文章出處:【微信號:Linear-Technology,微信公眾號:凌力爾特】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論