中心議題:
- I2C總線接口電路
- I2C總線系統(tǒng)的功能
- I2C總線系統(tǒng)的控制過(guò)程
解決方案:
- CPU與存儲(chǔ)器之間的數(shù)據(jù)交換
- CPU對(duì)被控電器的控制過(guò)程
- I2C總線控制的集成電路或器件必須具有專用的總線端子
隨著IT技術(shù)對(duì)電源技術(shù)的滲透,數(shù)字電源技術(shù)應(yīng)運(yùn)而生,由于數(shù)字電源的控制靈活、結(jié)構(gòu)變化靈活、調(diào)節(jié)、維護(hù)方便和造價(jià)低的一系列優(yōu)點(diǎn),代表了電源技術(shù)的發(fā)展方向。而在數(shù)字電源中,總線技術(shù)發(fā)揮了很重要的作用,本文結(jié)合數(shù)字電源中常用的總線技術(shù)加以介紹。
I2C總線
I2C總線是英文“InterIntegratedCircuitBus”的縮寫,常譯為“集成電路間總線”或“內(nèi)部集成電路總線”。I2C總線以它強(qiáng)大的控制能力和精巧的電路結(jié)構(gòu),得到各生產(chǎn)廠家的認(rèn)可。目前,I2C總線在許多電子產(chǎn)品中廣泛應(yīng)用。
I2C總線接口的有關(guān)技術(shù)指標(biāo)最早在1982年確定。Philips公司將I2C總線以簡(jiǎn)單雙線接口的形式首先推出,用于在同一塊電路板或機(jī)柜中的有關(guān)電子部件之間實(shí)現(xiàn)通信,1987年P(guān)hilips公司擁有了I2C總線的專利。在I2C中有兩條信號(hào)線,一條用于時(shí)鐘信號(hào)的傳輸,一條用于數(shù)據(jù)信號(hào)的傳輸,通過(guò)I2C總線,可以在主控部件和從控部件之間完成有關(guān)命令、控制和工作信息通過(guò)兩條串行信號(hào)線來(lái)傳輸。
I2C總線的最典型應(yīng)用就是通過(guò)一個(gè)主控部件來(lái)完成有關(guān)部件之間的通信控制。由于I2C總線的使用簡(jiǎn)單性,所以目前I2C總線得到了廣泛的應(yīng)用,I2C總線的有關(guān)性能不斷得到提高,通信速率和尋址范圍也在不斷提升。
作為工業(yè)標(biāo)準(zhǔn),I2C總線作為一種很有吸引力的物理通信方式,在ACCESbus、SMBus、PSMI和IPMI工業(yè)標(biāo)準(zhǔn)總線中,I2C總線的有關(guān)技術(shù)指標(biāo)也被引用。I2C總線可以應(yīng)用于許多的微控制器,并且在許多應(yīng)用場(chǎng)合,利用通用的I/O引腳,通過(guò)軟件也可以驅(qū)動(dòng)I2C總線。
例如,在1991年,由一些公司牽頭開發(fā)了ACCESSbus(存取總線,簡(jiǎn)稱A.b),這里利用了I2C總線作為它的物理通信層,從而使ACCESSbus具有使能被控器件的能力,ACCESSbus被用作是一種改進(jìn)的、簡(jiǎn)化的、規(guī)范的和靈活多用的方法來(lái)連接計(jì)算機(jī)的內(nèi)部,外部器件到CPU,它支持像時(shí)鐘和電池電能監(jiān)控等器件的工作,并且也支持鍵盤、鼠標(biāo)、顯示器和調(diào)制解調(diào)器的工作。在1995年,ACCESSbus工作組(ABIG)發(fā)布了V3.0技術(shù)文件版本,一些公司(例如:USAR和日本Fujitsu公司都參加到了ABIG的活動(dòng)中,并在智能電池系統(tǒng)接口論壇SmartBatterysystemInterfaceForum:SBS-IF)中積極參與工作。
關(guān)于I2C總線
I2C總線是串行總線系統(tǒng),I2C總線由兩根線組成,一根是串行數(shù)據(jù)線,常用SDA表示;另一根是串行時(shí)鐘線,常用SCL表示。CPU利用串行時(shí)鐘線發(fā)出時(shí)鐘信號(hào),用串行數(shù)據(jù)線發(fā)送或接收數(shù)據(jù),實(shí)現(xiàn)對(duì)被控電路的調(diào)整與控制。由于I2C總線只有兩根信號(hào)線,因此數(shù)據(jù)的傳輸方式是串行方式,其數(shù)據(jù)傳輸速度低于并行數(shù)據(jù)傳輸方式,但I(xiàn)2C總線占用CPU的引腳很少,只有兩個(gè),有利于簡(jiǎn)化CPU的外圍線路。
在I2C總線系統(tǒng)中,CPU是核心,I2C總線由CPU電路引出,其他被控對(duì)象均掛接在I2C總線上,I2C總線系統(tǒng)電路結(jié)構(gòu)示意圖如圖1所示。
圖1I2C總線系統(tǒng)電路結(jié)構(gòu)示意圖
[page]
I2C總線接口電路
I2C總線上傳輸?shù)氖菙?shù)字信號(hào),如果I2C總線上掛接的被控集成電路為模擬電路,為便于與被控模擬電路通信,在被控對(duì)象中需要增加I2C總線接口電路,受控IC中I2C總線接口電路工作原理圖如圖2所示。接口電路一般由I2C控制器和控制開關(guān)等電路組成。由CPU送來(lái)的數(shù)據(jù)信息經(jīng)譯碼器譯碼后控制信號(hào)才能對(duì)被控IC執(zhí)行控制操作。被控對(duì)象通過(guò)I2C總線接口電路接收由CPU發(fā)出的控制指令和數(shù)據(jù),實(shí)現(xiàn)CPU對(duì)被控對(duì)象的控制。
I2C總線是雙向總線系統(tǒng),通過(guò)I2C總線CPU可以向被控IC發(fā)送數(shù)據(jù),被控IC也可通過(guò)I2C總線向CPU傳送數(shù)據(jù),但被控IC是接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)則由CPU控制。由于I2C總線是雙向總線系統(tǒng),因此CPU可以對(duì)I2C總線上掛接的有關(guān)電路進(jìn)行故障檢查。
對(duì)生產(chǎn)自動(dòng)化調(diào)整功能的電器,可將生產(chǎn)線上的計(jì)算機(jī)與電器的I2C總線相連,根據(jù)電器不同調(diào)整項(xiàng)目的預(yù)置功能和要求,將最佳調(diào)整數(shù)據(jù)傳送到電器的E2PROM存儲(chǔ)器中,也可將標(biāo)準(zhǔn)數(shù)據(jù)固化在CPU的只讀存儲(chǔ)器中。采用I2C總線的電器節(jié)省了很多可調(diào)電位器,簡(jiǎn)化了調(diào)整工藝,產(chǎn)品的一致性好,工作可靠性高。
圖2I2C總線系統(tǒng)的電路結(jié)構(gòu)示意圖
I2C總線系統(tǒng)的功能
以CPU為核心的I2C總線系統(tǒng),主要用完成以下幾個(gè)功能。
⑴用戶操作功能
用戶在使用電器時(shí),通常要進(jìn)行有關(guān)控制參量的調(diào)節(jié)、控制等操作,操作時(shí)只需按動(dòng)本機(jī)鍵盤或遙控器鍵盤上的相應(yīng)按鍵,CPU便通過(guò)I2C總線向被控電路發(fā)出有關(guān)控制指令。
⑵維修調(diào)整功能
完成對(duì)被控電器各單元電路進(jìn)行工作方式設(shè)定和調(diào)整的控制功能。在普通電器中,是利用可調(diào)電位器進(jìn)行有關(guān)單元電路的各種工作參數(shù)調(diào)整。而在I2C總線的被控電器中,這些參數(shù)都可由操作人員進(jìn)行專門的調(diào)整狀態(tài)后,通過(guò)遙控器或本機(jī)操作鍵來(lái)完成有關(guān)工作參數(shù)的調(diào)整。
⑶故障自檢功能
由于I2C總線上的信息是由SDA和SCL兩線串行數(shù)據(jù)信號(hào)線雙向傳輸?shù)?,因此CPU可以對(duì)I2C總線的通信情況和被控集成電路的工作狀態(tài)進(jìn)行監(jiān)測(cè),并在屏幕上顯示檢測(cè)結(jié)果,為維修人員提供有關(guān)故障自檢信息。被控器送來(lái)的低電平應(yīng)答信號(hào),CPU就會(huì)判斷該被控器有故障,并終止數(shù)據(jù)傳送。由于各被控集成電路和器件均有自己的地址,所以,在總線上不同時(shí)間傳送著眾多的控制信號(hào),但各被控器只要把與自己地址相同的控制信號(hào)從總線上取下來(lái),并進(jìn)行識(shí)別和處理,得到相應(yīng)的控制信號(hào),就可以實(shí)現(xiàn)相應(yīng)的控制。
I2C總線系統(tǒng)的控制過(guò)程
⑴CPU與存儲(chǔ)器之間的數(shù)據(jù)交換
I2C總線系統(tǒng)中的存儲(chǔ)器存儲(chǔ)有兩種信息:一是用戶信息,是用戶寫入的控制信息,此信息用戶可以更改,如各種模擬控制量(例如電源的OVP、OCP、OTP和所需輸出電壓值等);另一種是控制信息,是由廠家寫入的控制數(shù)據(jù),此信息用戶不能改變。電器正常工作時(shí),CPU從存儲(chǔ)器中取出有關(guān)用戶信息和控制信息,并送往被控電路使其處于正常工作狀態(tài);當(dāng)調(diào)整電器時(shí),CPU也從存儲(chǔ)器中取出控制信息,檢修人員使用正確的調(diào)試步驟來(lái)改變這些控制信息,以確保采用I2C總線的電器處于最佳工作狀態(tài)。
⑵CPU對(duì)被控電器的控制過(guò)程
CPU對(duì)采用I2C總線的被控電器控制需經(jīng)過(guò)以下過(guò)程。
①CPU尋址過(guò)程。當(dāng)CPU要對(duì)某被控器進(jìn)行控制時(shí),CPU將向總線發(fā)出該被控器的地址指令,被控器收到指令后,便發(fā)出應(yīng)答信息,CPU總線收到應(yīng)答信息后,就將該被控器作為控制對(duì)象。
②CPU調(diào)用數(shù)據(jù)過(guò)程。CPU找到被控器后,就從存儲(chǔ)器中調(diào)出相應(yīng)的用戶信息及控制信息,并通過(guò)I2C總線送到被控器,使被控器處于所要求的工作狀態(tài)。
③被控器執(zhí)行指令的過(guò)程。被控器接收到指令后,便對(duì)指令進(jìn)行譯碼,并將譯碼的結(jié)果與自己的控制內(nèi)容編碼進(jìn)行比較,以確定進(jìn)行何種操作,這項(xiàng)工作是由總線接口電路中的譯碼器來(lái)完成的。確定進(jìn)行何種操作后,總線接口電路中的相應(yīng)控制開關(guān)便自動(dòng)接通,控制數(shù)據(jù)經(jīng)過(guò)控制開關(guān)送到D/A轉(zhuǎn)換器,轉(zhuǎn)換成模擬控制電壓,用以控制相應(yīng)的模擬電路,完成有關(guān)操作。I2C總線數(shù)據(jù)傳送最繁忙的時(shí)刻是在采用I2C總線電路的剛開機(jī)一瞬間,由于被控電路沒有存儲(chǔ)數(shù)據(jù)的功能,因此,每次開機(jī)時(shí)CPU都要從存儲(chǔ)器中取出控制數(shù)據(jù),送往各被控器,使被控器進(jìn)人相應(yīng)的工作狀態(tài)。因此,剛開機(jī)時(shí)CPU的控制任務(wù)最繁重,控制過(guò)程最復(fù)雜,損壞的可能性也就最大,所以使用I2C總線的電器應(yīng)盡量避免頻繁開/關(guān)機(jī)。
根據(jù)電器功能的強(qiáng)弱以及在I2C總線上掛接的被控電路的不同,在I2C總線采用的CPU上可引出一組或多組I2C總線。
由I2C總線控制的集成電路或器件必須具有專用的總線端子,即SDA端子與SCL端子。凡是具有SDA、SCL端子(引腳)的集成電路或器件,均可以由總線控制。[page]
I2C總線信號(hào)的傳輸方式
I2C總線中的兩根信號(hào)線(SDA、SCL)在傳輸各種控制信號(hào)的過(guò)程中是有嚴(yán)格分工的。其中,SDA數(shù)據(jù)線用來(lái)傳輸各控制信號(hào)的數(shù)據(jù)及這些數(shù)據(jù)占有的地址等內(nèi)容;SCL時(shí)鐘線用來(lái)控制器件與被控器件之間的工作節(jié)拍。為保證總線輸出電路得到供電,SDA線和SCL線均通過(guò)上拉電阻和電源連接,當(dāng)總線空閑時(shí),SDA和SCL兩線均保持高電平。I2C總線控制信號(hào)傳輸波形如圖3所示。
圖3I2C總線控制信號(hào)傳輸波形
(1)時(shí)鐘線控制信號(hào)
SCL線為高電平期間,SDA線上傳輸?shù)臄?shù)據(jù)必須保持穩(wěn)定,在此期間,控制器件與被控制器件之間可以交換數(shù)據(jù);SCL線為低電平期間,SDA線上傳輸?shù)臄?shù)據(jù)可以變化,即允許數(shù)據(jù)線上電平高低跳變。
(2)數(shù)據(jù)線控制信號(hào)
數(shù)據(jù)線上傳輸?shù)目刂菩盘?hào),均按圖3所示的內(nèi)容和順序先后傳輸:起始狀態(tài)信號(hào)、被控電路地址、讀寫方式(數(shù)據(jù)傳輸方向位)、應(yīng)答信號(hào)、數(shù)據(jù)信號(hào)、應(yīng)答信號(hào)、數(shù)據(jù)信號(hào)、應(yīng)答信號(hào)、終止?fàn)顟B(tài)信號(hào)。
在時(shí)鐘線為高電平期間,數(shù)據(jù)線上一個(gè)電平由高到低的跳變規(guī)定為起始狀態(tài),電平由低到高的跳變規(guī)定為終止?fàn)顟B(tài),起始狀態(tài)信號(hào)和終止?fàn)顟B(tài)信號(hào)均由CPU發(fā)出。當(dāng)CPU發(fā)出起始狀態(tài)信號(hào)后,總線即處于占用狀態(tài);當(dāng)CPU發(fā)出終止?fàn)顟B(tài)信號(hào)后,總線又處于空閑狀態(tài)。在SDA線上傳輸?shù)臄?shù)據(jù),其字節(jié)為8位。前7位是被控電路的地址,第8位是數(shù)據(jù)傳輸?shù)姆较蛭唬?ldquo;0”表示由CPU發(fā)送數(shù)據(jù),“1”表示CPU接收數(shù)據(jù)。每傳輸一個(gè)數(shù)據(jù)字節(jié)后,跟著一位應(yīng)答(確認(rèn))信號(hào),這個(gè)應(yīng)答信號(hào)是由CPU發(fā)出的,在應(yīng)答位時(shí)鐘期間,CPU釋放數(shù)據(jù)線,以便被控器在這一位上送出應(yīng)答信號(hào)。
當(dāng)被控器的數(shù)據(jù)接收無(wú)誤時(shí),被控器發(fā)出低電平應(yīng)答信號(hào),經(jīng)確認(rèn)后的數(shù)據(jù)才有效。當(dāng)數(shù)據(jù)被確認(rèn)后,CPU便可以繼續(xù)傳送數(shù)據(jù)并繼續(xù)對(duì)數(shù)據(jù)加以確認(rèn),直到CPU發(fā)出終止?fàn)顟B(tài)信號(hào)為止。若在應(yīng)答位時(shí)鐘期間,CPU未接收到被控器送來(lái)的低電平應(yīng)答信號(hào),CPU就會(huì)判斷該被控器有故障,并終止數(shù)據(jù)傳送。由于各被控集成電路和器件均有自己的地址,所以,在總線上不同時(shí)間傳送著眾多的控制信號(hào),但是各被控器只要把與自己的地址相同的控制信號(hào)從總線上取下來(lái),并進(jìn)行識(shí)別和處理,得到相應(yīng)的控制信號(hào),就可以實(shí)現(xiàn)相應(yīng)的控制。
I2C總線系統(tǒng)與外部電路的連接方式
I2C總線系統(tǒng)的外部電路結(jié)構(gòu)簡(jiǎn)單,它與被控電路之間的連接方式有直接式和隔離式兩種。
(1)直接式I2C總線
直接式I2C總線是指被控集成電路直接或通過(guò)電阻掛在I2C總線上,其電路工作原理圖如圖4所示。因?yàn)镃PU的I2C總線輸出端口內(nèi)部電路形式為集電極開路(或漏極開路)形式,所以在CPU的I2C總線輸出端必須通過(guò)上拉電阻R接+5V電源,為CPU的I2C總線輸出端口的內(nèi)部電路供電。圖4中的電阻R為隔離電阻,C為抗干擾電容,主要是為了提高I2C總線上數(shù)據(jù)傳輸?shù)目煽啃?,防止誤動(dòng)作進(jìn)人維修狀態(tài)和防止由于外部干擾信號(hào)改變I2C總線數(shù)據(jù)。穩(wěn)壓管VS是為了防止外部高電壓損壞CPU的I2C總線輸出端的內(nèi)部電路。
圖4直接式I2C總線工作原理圖
(2)隔離式I2C總線
隔離式I2C總線是指CPU引出的總線通過(guò)隔離器與被控集成電路相連接。隔離器一般由晶體管組成,其電路工作原理圖如圖5所示。這種電路的優(yōu)點(diǎn)是CPU與被控集成電路被晶體管隔離器隔離開,當(dāng)被控對(duì)象發(fā)生故障使I2C總線上電壓升高時(shí),晶體管會(huì)截止,從而保護(hù)CPU不被高電壓沖擊而損壞。
圖5隔離式I2C總線工作原理圖2.7I2C總線系統(tǒng)與外部電路的有關(guān)引腳
[page]
(1)CPU與I2C有關(guān)的引腳
采用I2C的CPU除了設(shè)置SCL串行時(shí)鐘線引腳和SDA串行數(shù)據(jù)線引腳外,一般還設(shè)置了便于工廠生產(chǎn)線調(diào)試使用的I2C通/關(guān)閉控制引腳。當(dāng)CPU的I2C通/關(guān)閉控制引腳接規(guī)定電平時(shí),CPU便將I2C總線的控制權(quán)交給了生產(chǎn)線調(diào)試計(jì)算機(jī),此時(shí)CPU不能通過(guò)I2C所掛接的電路進(jìn)行控制。
在電路圖上,I2C通/關(guān)閉控制引腳常用BusOFF(總線關(guān)閉)、Service(維修)、EXTBUS(外部總線)、TEST(測(cè)試)、FACTORY(工廠)來(lái)表示。圖6所示為I2C通/斷控制工作原理圖。例如CPU的第36引腳EXTBUS為I2C通/關(guān)閉控制端,正常工作時(shí),CPU的第36引腳為高電平。接插件BC為生產(chǎn)調(diào)試時(shí)CPU的I2C外部計(jì)算機(jī)的連接插口,生產(chǎn)調(diào)試時(shí),生產(chǎn)線計(jì)算機(jī)通過(guò)BC與此CPU相連,BC④引腳接地,使CPU的第36引腳EXTBUS變?yōu)榈碗娖?,CPU的I2C總線42、43引腳停止輸出。電器的I2C系統(tǒng)由外部計(jì)算機(jī)接管。
圖6I2C通/斷開控制工作原理圖
在對(duì)具有I2C功能的CPU進(jìn)行檢查時(shí),不要忘記檢測(cè)I2C通/關(guān)閉控制引腳。如果此引腳工作條件不正確,則CPU不能向I2C發(fā)出時(shí)鐘和數(shù)據(jù)信號(hào),導(dǎo)致整個(gè)電器不能進(jìn)人正常工作狀態(tài)。
(2)被控電路與I2C有關(guān)引腳
I2C掛接的被控集成電路,除SCL和SDA引腳外,還有與I2C總線接口電路有關(guān)的其他引腳,如果這些引腳的工作條件發(fā)生變化,也會(huì)使I2C總線接口電路不正常工作,從而使電器出現(xiàn)故障。下面介紹幾個(gè)比較重要的與I2C總線接口電路有關(guān)的引腳。
①I2C總線接口電路專用電源引腳(受控IC數(shù)字電路電源引腳)
掛接在I2C總線上的受控集成電路大多屬于模擬電路,而受控集成電路中的I2C總線接口電路則屬于數(shù)字電路。為避免數(shù)字電路與模擬電路之間的互相干擾,常為數(shù)字電路與模擬電路設(shè)置單獨(dú)的供電端子,即設(shè)置I2C總線接口電路專用電源端子(或數(shù)字電路電源引腳)。如果I2C總線接口電源端子沒有電壓,則這塊集成電路不能正常工作。
現(xiàn)在的集成電路常為不同功能的電路單獨(dú)設(shè)置電源和接地端子,因此除了注意檢查主電源引腳電壓外,千萬(wàn)不要忘記檢查其他電源引腳。
集成電路數(shù)字電源端電壓一般為5V、3.5V或3V等低電壓。數(shù)字電路電源端子常用以下方式標(biāo)注:I2LVCC邏輯電路電源;DVCC數(shù)字電路電源;DVDD數(shù)字電路電源;DIGVDD數(shù)字電路電源;D.GND數(shù)字電路地線等。
②輔助地址選擇引腳
CPU通過(guò)I2C總線對(duì)被控電路的地址進(jìn)行選擇,有時(shí)為了擴(kuò)展I2C總線的功能和電路上的要求,在有些被控電路上還設(shè)有輔助地址選擇引腳,只有對(duì)輔助地址選擇引腳進(jìn)行正確的設(shè)置后,CPU才能通過(guò)I2C總線對(duì)這一電路進(jìn)行控制。當(dāng)被控電路的輔助地址選擇引腳電路出觀故障時(shí),將會(huì)造成I2C總線無(wú)法控制該電路,使整機(jī)電路功能不正常。在電路圖上,輔助地址選擇引腳常用ADDRESS(地址)、ADR(address地址)、ADDSEL(addressselection地址選擇)、MAD(moduleaddress組件地址)等英文表示。
PMBus
關(guān)于PMBus
PMBus是屬于系統(tǒng)管理實(shí)施論壇(SystemImplementersForum:SM-IF)的一個(gè)開放性標(biāo)準(zhǔn),用于定義功率集成電路,所有類型的功率變換電路(例如AC/DC,隔離的DC/DC,非隔離的點(diǎn)負(fù)載(POL)變換器和微處理器供電的變換器等)之間相互通信的一種開放性通信協(xié)議。
有關(guān)PMBus的有關(guān)技術(shù)文件可以免費(fèi)得到,并且任何對(duì)PMBus感興趣的公司都可以參與到SM-IF論壇中。
電源管理總線接口論壇(PMBus-IF)是系統(tǒng)管理接口論壇(SM-IF)的一部份,是一個(gè)非盈利性質(zhì)的工業(yè)標(biāo)準(zhǔn)化組織。
由主要電源產(chǎn)品供應(yīng)商、半導(dǎo)體公司和有關(guān)軟、硬件產(chǎn)品供應(yīng)商參于的PMBus接口論壇(PMBus-IF)所制定的PMBus是一種開放的電源系統(tǒng)標(biāo)準(zhǔn),目前PMBus接口論壇有30多個(gè)成員,其目的是要促進(jìn)PMBus的推廣和使用,電源管理總線(PowerManagementBus:PMBus)是關(guān)于電源系統(tǒng)的一個(gè)標(biāo)準(zhǔn)。[page]
在PMBus中充分定義了電源系統(tǒng)中的變換器和其它相關(guān)部件之間的有關(guān)命令語(yǔ)句,PMBus控制協(xié)議是建立在系統(tǒng)管理總線(SMBus)的串行通信協(xié)議基礎(chǔ)上,利用PMBus可以實(shí)現(xiàn)有關(guān)編程、控制和有關(guān)電源變換產(chǎn)品的實(shí)時(shí)監(jiān)控,是一種用于電源部件之間的模擬和數(shù)字信號(hào)控制的一種方便、實(shí)用的通信控制方式,有良好的互操作性,利用PMBus可以簡(jiǎn)化電源系統(tǒng)的設(shè)計(jì)和節(jié)省電源系統(tǒng)的設(shè)計(jì)周期。目前使用PMBus的有關(guān)公司各單如下:
Active-Semi
AnalogDevices,Inc.
ArtesynTechnologies,Inc.
AstecofEmersonNetworkPower
ATCPowerSystems
CherokeeInternational
CHiLSemiconductorCorporation
ColdWatt
Dell
DeltaElectronics
EricssonPowerModules
FairchildSemiconductor
Infineon
IntegralWaveTechnologies
Intel
InternationalRectifier
IntersilCorporation
LinearTechnology
MaximIntegratedProducts,Inc.
MicroComputerControlCorporation(MCC)
Microchip
Murata
NationalSemiconductor
NXP
ONSemiconductor
PowerPlaza
Primarion
Richtek
RoalElectronics
RRCPowerSolutions
SiliconLaboratories
SiliconStorageTechnology
STMicroelectronics
TexasInstruments
TycoElectronicsCorp.
UnipowerCorporation
Vicor
VolterraSemiconductorCorporation
ZilkerLabs到目前為止,電源系統(tǒng)各部份電路之間的通信已不是一個(gè)新的概念,在電源系統(tǒng)和主控電路單元之間的通信已使用了許多年,最早采用使電源系統(tǒng)工作和被監(jiān)控的通信控制方法,電源系統(tǒng)的工作狀態(tài)被主控電路監(jiān)控。
微控制器(MCU)是一種可以很好應(yīng)用于電源管理的器件,利用微控制器可以實(shí)現(xiàn)電源系統(tǒng)更為復(fù)雜和有效的控制和監(jiān)控,最早使用的電源控制命令就是電源的開/關(guān)控制命令,隨后,隨著在電源系統(tǒng)中微控制器件的使用,就可以很方便的實(shí)現(xiàn)電源輸出電壓/輸出電流等相關(guān)工作參數(shù)的控制。例如,利用一個(gè)“digipot”的簡(jiǎn)單部件就可以通過(guò)微控制器來(lái)調(diào)節(jié)電源系統(tǒng)的電壓檢測(cè)信號(hào)和電流檢測(cè)信號(hào)的參數(shù),而“digipot”這類的器件又是許多采用I2C總線優(yōu)勢(shì)的器件之一。利用I2C總線可以實(shí)現(xiàn)存儲(chǔ)器、顯示器、傳感器和電源控制集成電路之間的互連。
早在1995年,通過(guò)各種各樣的總線,(例如RS-232、單線(OneWire)、SPI和I2C等)完成了電池管理工作,這時(shí)對(duì)通信管理的物理接口、命令、數(shù)據(jù)格式均沒有統(tǒng)一的工業(yè)標(biāo)準(zhǔn)。Intel公司和Duracell公司合作開發(fā)了智能電池系統(tǒng)SBS(SmartBatterySystem),其目的想要做出一個(gè)與電池類型無(wú)關(guān)的高級(jí)和精確的電池管理系統(tǒng),并且使這個(gè)智能電池管理系統(tǒng)適用于不同的可充電電池生產(chǎn)廠商生產(chǎn)的可充電電池的充電管理,并降低智能電池管理系統(tǒng)支持多種通信控制協(xié)議的負(fù)擔(dān),這個(gè)物理通信協(xié)議就是系統(tǒng)管理總線(SMBus),而命令語(yǔ)言就是智能電池?cái)?shù)據(jù)SBD(SmartBatteryData)。
系統(tǒng)管理總線(SMBus)是I2C總線的一個(gè)版本,是智能電池系統(tǒng)(SBS)的物理層。智能電池系統(tǒng)(SBS)的上一層發(fā)出命令,并在智能電池系統(tǒng)元件之間實(shí)現(xiàn)有關(guān)命令的響應(yīng),智能電池、智能充電器和智能選擇器利用SMBus的通用命令就可以完成相關(guān)控制信息的傳送和響應(yīng)。這些命令有許多是和I2C中的命令相同的,利用這些命令可以完成電池容量和工作條件的監(jiān)控。
同時(shí)更為重要的是,智能電池系統(tǒng)(SBS)中的電池或主控電路還可以對(duì)智能充電器發(fā)出控制命令,利用這些控制命令來(lái)設(shè)定充電器的輸出電壓、輸出電流和其它一些重要的工作參數(shù)。在大多數(shù)情況下,輸出電壓命令的分辨在mV數(shù)量級(jí),輸出電流命令的分辨率在mA數(shù)量級(jí),利用SMBus完成和可充電電池類型無(wú)關(guān)的充電器系統(tǒng)的管理和控制。
1996年,由Intel和Duracell公司發(fā)起成立的智能電池管理系統(tǒng)接口論壇(SBS-IF)。為了保持智能電池系統(tǒng)(SBS)和SMBus的優(yōu)越性,其它一些相關(guān)公司也參與到了論壇的工作,特別是美國(guó)德州儀器TI公司參與了電源管理總線接口論壇(PMBus-IF)的工作。
[page]
在筆記本電腦的硬件電路中智能電池系統(tǒng)(SBS)和SMBus已得到了廣泛的應(yīng)用,在Windows2000系統(tǒng)中也含有SMBus的軟件驅(qū)動(dòng)程序。
智能電池系統(tǒng)(SBS)和SMBus有關(guān)技術(shù)內(nèi)容的發(fā)展是和高級(jí)結(jié)構(gòu)與電源接口(ACPI:AdvancedConfigurationandPowerInterface)的有關(guān)技術(shù)內(nèi)容的發(fā)展同步進(jìn)行的。ACPI的第1版本在1996年12月公布,其中,Intel公司發(fā)揮了重要的作用,對(duì)與操作系統(tǒng)和電源管理(OSPM:OperatingSystem-directedConfigurationandPowerManagement)應(yīng)用方面有關(guān)的內(nèi)容,ACPI是一個(gè)很重要的內(nèi)容。如果要實(shí)現(xiàn)SBS和支持SBS系統(tǒng)的SMBus,需要用到和高級(jí)結(jié)構(gòu)與電源接口(ACPI)兼容的有關(guān)系統(tǒng)。
1998年,SBS-IF發(fā)布了SBS1.1和SMBus1.1版本。SMBus1.1中的主要特點(diǎn)是在每個(gè)SMBus通信數(shù)據(jù)包的末位加了可選數(shù)據(jù)包檢錯(cuò)字節(jié),采用8位的循環(huán)冗余糾錯(cuò)檢錯(cuò)算法(CRC-8)。
2000年,SBS-IF發(fā)布了SMBus2.0,即所謂基于PCI的SMBus。SMBus2.0中允許器件的地址被動(dòng)態(tài)分配,然后,外設(shè)元件互聯(lián)特殊興趣小組(PCI-SIG:PeripheralComponentInterconnectSpecialInterestGroup)(在2000.10.20日)將它的PCI連接器的第○40和○41引腳分配給SMBus的時(shí)鐘和數(shù)據(jù)信號(hào)。
在2000年,SBS-IF公布了它用于Windows的SMBus的驅(qū)動(dòng)程序。和微軟的SMBus驅(qū)動(dòng)程序不同,SBS-IF推出的SMBus驅(qū)動(dòng)程序可以用于Windows98系統(tǒng),并且工作時(shí)不需借助于嵌入式控制器。
作為源于1998年的另一個(gè)應(yīng)用實(shí)例,Intel公司公布了它的智能管理接口平臺(tái)IPMI(IntelligentPlatformManagementInterface)。IPMI1.0采用I2C總線作為它的物理層,IPMI1.5可以使用SMBus1.1,并且具有使所傳送的數(shù)據(jù)包出錯(cuò)的檢測(cè)功能。
作為數(shù)控源系統(tǒng),很需要一個(gè)用于電源通信管理的工業(yè)標(biāo)準(zhǔn)協(xié)議,在這個(gè)標(biāo)準(zhǔn)協(xié)議中需注意以下幾方面的問(wèn)題:首先這個(gè)協(xié)議對(duì)電源系統(tǒng)設(shè)計(jì)人員而言要簡(jiǎn)單、易懂和易學(xué),并且造價(jià)要低。這里I2C總線就是一個(gè)很好的例子,智能電池系統(tǒng)(SBS)采用SMBus用于可充電電池充電器和背光照明系統(tǒng)的電源管理已有一段時(shí)間了。
在2004年,由電源管理總線(PMBus)開發(fā)為主的一些公司推出了電源管理用的工業(yè)標(biāo)準(zhǔn),PMBus采用SMBus做為它的物理通信層,并且支持SMBus中的如可選控制信號(hào)線。在現(xiàn)行的PMBus1.0中沒有地址仲裁功能,PMBus的技術(shù)指標(biāo)被分為2部份,第1部份規(guī)范了物理層的有關(guān)技術(shù)指標(biāo),第二部份規(guī)范了命令層的有關(guān)技術(shù)指標(biāo)。同樣,和在SMBus智能電池系統(tǒng)(SBS)中界定了便攜式電源管理的方法一樣,在PMBus中也界定了電源子系統(tǒng)的管理方法。
SMBus的主要任務(wù)由負(fù)載點(diǎn)聯(lián)盟POLA(PointofLoadAlliance)和分布式電源開放標(biāo)準(zhǔn)聯(lián)盟DOSA(Distributed-PowerOpenStandardsAlliance)加以賦予。
在2005年,智能電池系統(tǒng)接口論壇(SBS-IF)又被更名為系統(tǒng)管理接口論壇(SM-IF),并且經(jīng)過(guò)重新組合,形成2個(gè)論壇,即SBS論壇(SBS-IF)和PMBus接口論壇(PMBus-IF)。組織利用了SBS和PMBus的共生關(guān)系,SBS工作組利用SMBus來(lái)進(jìn)行筆記本電腦中的電源管理和控制已有10余年的時(shí)間,所有這些對(duì)PMBus的開發(fā)與使用都有很大的幫助。
在2005年3月PMBus接口論壇推出了PMBus的1.0版本有關(guān)技術(shù)文件,目前有30多個(gè)公司使用PMBus,利用PMBus可以簡(jiǎn)化數(shù)字電源系統(tǒng)的設(shè)計(jì)。
PMBus的系統(tǒng)結(jié)構(gòu)圖和有關(guān)命令類型
PMBus的系統(tǒng)結(jié)構(gòu)圖如圖7所示,有關(guān)命令類型如表1所示。
圖7PMBus的系統(tǒng)結(jié)構(gòu)圖
表1PMBus的有關(guān)命令類型