數(shù)字電源管理——PMBus
很多數(shù)字電源產(chǎn)品采用了業(yè)界標準PMBus來實現(xiàn)系統(tǒng)結(jié)構(gòu),以管理并控制多路電源軌結(jié)構(gòu)。但是,很多人并不清楚怎樣應(yīng)用PMBus來解決實際問題。
我打算發(fā)表一些有關(guān)以實際結(jié)構(gòu)和集成數(shù)字電源管理產(chǎn)品為題的相關(guān)文章。我會涉及到以下題目:PMBus,使用模型,電源排序,故障處理,工具,嵌入式軟件,結(jié)構(gòu),器件類型,系統(tǒng)調(diào)試。
有很多博客和文章都在簡要中吹棒數(shù)字電源的優(yōu)點。看過我文章的讀者都知道,我非常務(wù)實。在這里更是如此。如果我提到軟件,那就是代碼。如果我提到硬件,那就是原理圖。我的文章如果沒有達到您的預(yù)期,請您提出來。
對于有些基礎(chǔ)的人,我從簡要介紹PMBus開始,然后是提及工程師們使用的主要應(yīng)用模型。隨后,會越來越深入,直到所介紹的實例足以幫助你們開始自己的設(shè)計。
PMBus
大部分人認為PMBus是具有一些額外功能的I2C總線,通常并不完全清楚這些額外的功能是什么。實際上,很多設(shè)計人員把PMBus當做I2C,沒有充分發(fā)揮其優(yōu)點。PMBus是SMBus的擴展,而后者是I2C的擴展。因此,讓我們從I2C開始。
I2C (Inter-IC)
I2C不過是具有一對信號的串行總線:CLOCK、DATA。它是雙向的,而且是多主機。I2C最早出現(xiàn)在1982年,先后有4個調(diào)整版本。1992年,正式發(fā)布了1.0版。1998年發(fā)布2.0版,這一版本非常明確的宣布:I2C總線已成為事實上的世界標準,現(xiàn)在已經(jīng)在1000多種不同的IC上實現(xiàn),并授權(quán)給50多家公司。但是,目前很多應(yīng)用需要速度更高的總線,電壓更低的供電電源。而I2C總線規(guī)范的更新版滿足了這些要求。
后來在2007年,3.0版定義了1Mbit/s時鐘速率。2012年,時鐘被提高到5Mbit/s。
注釋:如果您不熟悉更高比特率的內(nèi)容,那么,您要小心這一假設(shè)。更高的比特率并不意味著低延時。為能夠在慢速器件總線上實現(xiàn)更高的比特率,在進入高速傳送模式之前,必須要在400Kbit/s的較低比特率進行授權(quán)。
SMBus(系統(tǒng)管理總線)
SMBus 1.1版于1998年制定完成并發(fā)布。1.1節(jié)說明了它與I2C的關(guān)系:系統(tǒng)管理總線(SMBus)是一種兩線式接口,與簡單的系統(tǒng)和電源管理相關(guān)的芯片可通過該接口與系統(tǒng)的其余部分進行通信。SMBus是基于I2C的工作原理。
SMBus為系統(tǒng)及電源管理關(guān)聯(lián)的任務(wù)提供了一種控制總線。采用SMBus的系統(tǒng)在其自身與器件之間傳遞消息,而不是觸發(fā)專用控制線。取消專用控制線可減少引腳數(shù)目。接收消息確保了未來的可擴展性。
1.3節(jié)闡明了最重要的一點:SMBCLK和SMBDATA引腳類似于I2C總線上的時鐘和數(shù)據(jù)引腳。SMBus的電特性不同于I2C的電特性。
雖然相似,但并不相同。大致說來,不要過于想當然。應(yīng)仔細閱讀SMBus規(guī)范。例如,電平就是不同的。
PMBus增添了一些旨在使其更加堅固的特性,比如:
• 數(shù)據(jù)包錯誤檢查(PEC)
• 警告(Alert)
• 超時(Timeout)
PEC用于保證數(shù)據(jù)完整性,Alert負責在設(shè)備要求維修時中斷主機控制器,而Timeout則可避免總線掛接。它們在多設(shè)備系統(tǒng)中均非常重要。
SMBus 2.0版于2000年發(fā)布,并增加了更多的特性:
• 主機通知協(xié)議
• 地址解析協(xié)議
PMBus(電源系統(tǒng)管理協(xié)議)
PMBus 1.0版于2005年發(fā)布,1.2版則于2008年發(fā)布,因此這是一個相當新的協(xié)議。PMBus與SMBus具有相似性,事實上PMBus采用了部分SMBus規(guī)范作為其基礎(chǔ)。PMBus的傳輸層即為具有擴展和例外的SMBus 1.1。
擴展:
• 塊寫入–塊讀出進程調(diào)用
• 主機通知協(xié)議
• 群組命令協(xié)議
• 擴展命令
• 總線速度:400kHz(采用定時修改)
• 電氣驅(qū)動電平
例外:
• 塊寫入/讀出(高達255數(shù)據(jù)字節(jié))
現(xiàn)在,我們給它添加一種用于設(shè)定電壓、電流、定時和故障管理的命令語言。最后,在該命令語言之外還有應(yīng)用協(xié)議。而讓我們感到疑惑不解的是:工程師們?yōu)槭裁匆m纏于怎樣使用PMBus![!--empirenews.page--]
復(fù)雜性
SMBus 1.1標準的篇幅達39頁。PMBus 1.2則為125頁。而且,制造商們除此之外還添加了他們自己的特殊寄存器和功能性(配有100多頁的相關(guān)規(guī)范)。那么,如何應(yīng)對所有這些復(fù)雜性呢?基本上是借助工具和重用。當然,還包括相關(guān)的規(guī)范,其可通過System Management Interface Forum獲得。
使用模型
我將提出兩種重要的使用模型,雖然可能還有其他的使用模型,不過此二者是我發(fā)現(xiàn)得到大量運用的兩種主要模型:
1. 配置(Configure)和部署(Deploy)
2. 監(jiān)視(Monitor)和運作(Act)
最重要的PMBus命令集之一用于存儲和恢復(fù)操作存儲器和非易失性存儲器之間的設(shè)定值。當與用于改變操作存儲器(行為特性)的命令相組合時,其可支持Configure和Deploy使用模型。
配置(Configure)和部署(Deploy)
大多數(shù)PMBus產(chǎn)品制造商都擁有一種GUI工具,該工具可通過PMBus和一個接口轉(zhuǎn)換板與其產(chǎn)品進行通信。在多數(shù)場合中,接口轉(zhuǎn)換板通過USB連接至一部主PC?;臼褂媚J绞窃诳偩€上配置PMBus器件的所有寄存器,并將其數(shù)值存儲于非易失性存儲器中。這樣,當系統(tǒng)通電或復(fù)位時,所有的器件在啟動期間將從非易失性存儲器來給操作存儲器加載。
這種模型的基本優(yōu)勢在于其簡單性。工具能夠通過數(shù)據(jù)組織、模板和項目重用來消除PMBus的大部分復(fù)雜性。第二項優(yōu)勢是成本較低,因為不需要采用“額外的”器件來管理總線。
此模型的主要劣勢是喪失了正常操作期間PMBus的所有功能。在異常情況下(比如:發(fā)生了故障),所有的器件都必須自主地做出反應(yīng),但靈活性受到限制,而且缺少協(xié)調(diào)。在復(fù)位時情況同樣如此。所有的器件均必須自主啟動。
讓我們來研究一下由此強加的某些限制條件。假設(shè)一種電源架構(gòu)具有由一個IBC(中間總線控制器)運作的12軌POL(負載點)轉(zhuǎn)換器。POL1存在OC(過流)故障,而且故障響應(yīng)是關(guān)斷電源軌。由于總線上沒有用于對故障做出反應(yīng)的任何主機控制器,因此其他的電源軌將繼續(xù)運作,除非POL1的OC通過負載在另一個電源軌上引起了某種故障。
為了克服這些限制,許多器件都具有附加的IO引腳,這些引腳允許器件在沒有PMBus的情況下進行相互通信。傳統(tǒng)的方法是在器件之間采用漏極開路信號。通常有3個引腳:
• SYNC(同步)
• RUN(運行)
• GPIO(通用輸入輸出)
SYNC引腳用于在復(fù)位時建立一個公共時基。這提供了用于接通/關(guān)斷事件排序的準確時間相關(guān)。RUN引腳可使所有器件利用一個外部邏輯門或器件本身實現(xiàn)同時復(fù)位。GPIO通常是一個故障輸出和故障輸入。這允許源自某個器件的故障傳播至其他器件。這些引腳雖然并非PMBus規(guī)范的一部分,但為了讓Configure和Deploy使用模型作為一個系統(tǒng)來工作,它們卻是必不可少的。
監(jiān)視(Monitor)和運作(Act)
最靈活的使用模型需要一個在系統(tǒng)操作期間處于運行狀態(tài)的PMBus主機。由于能夠全面使用完整的命令集,因此系統(tǒng)僅受限于PMBus的速度和您的想象力。
有幾種用于構(gòu)建PMBus主機的子模型。一個微處理器或微控制器、FPGA邏輯器件或一個嵌入在FPGA中的控制器。通常,它是某種類型的控制器,即使是內(nèi)嵌于一個FPGA中。它只是更容易實現(xiàn),而且更加靈活。
Alert引腳一般連接至控制器上的一個中斷引腳。當存在某種故障時,微處理器(μP)通過以下方式對中斷做出反應(yīng):獲得故障器件的地址、通過PMBus查詢相關(guān)狀況、并采取措施以校正問題或使電源軌斷電。
控制器也用于遙測。數(shù)據(jù)可以用來預(yù)測故障、測量功耗或調(diào)試罕見的故障。另外,控制器還將在復(fù)位時設(shè)置所有的電源軌。
該使用模型的終極價值是靈活性。不過,必需為此付出代價:開發(fā)時間/成本和更多的硬件。雖然開發(fā)成本能夠借助可重用框架而略有減低,但硬件成本的額外增加卻是無法避免的。
混合模型
根據(jù)我的經(jīng)驗,有許多工程師都在使用Configure和Deploy模型,少部分的工程師則采用Monitor和Act模型。當采用后者時,很少是以其純粹的形式來使用。利用工具來處理大部分的配置要常見得多,借助的方法是:確保接口轉(zhuǎn)換板與主機具有兼容性,并且僅將PMBus主機用于遙測、高級故障處理和最終用戶通知。
另外,這種工作的劃分還可提供針對策略和安全決定的某種控制。電源工程師能夠通過一種工具來控制電源軌電壓、啟動定時和主要的故障響應(yīng)。而利用針對PMBus主機所發(fā)出之容許命令的規(guī)則,嵌入式軟件設(shè)計人員的工作內(nèi)容被限定為一組有助于調(diào)試的安全遙測功能和異常情況記錄。
最終決定
做出有關(guān)使用模型的決策并不簡單。通常,直到您設(shè)計了自己的首個數(shù)字電源架構(gòu)之后才會真正了解本應(yīng)當怎么做。希望通過這文章系列可使這些決策變得更加容易,而且您甚至可以在最終設(shè)計之前進行架構(gòu)的原型設(shè)計(假定擁有我所提供的資源)。如果您有話題希望在我今后的文章中看到討論,請給我們知道,我們將盡全力對其作相關(guān)的論述。