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