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