1 前言 隨著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ù)加以介紹。 2 I2C總線 I2C總線是英文“Inter Integrated Circuit Bus”的縮寫,常譯為“集成電路間總線”或“內(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)的傳輸,通過I2C總線,可以在主控部件和從控部件之間完成有關(guān)命令、控制和工作信息通過兩條串行信號(hào)線來傳輸。I2C總線的最典型應(yīng)用就是通過一個(gè)主控部件來完成有關(guān)部件之間的通信控制。由于I2C總線的使用簡(jiǎn)單性,所以目前I2C總線得到了廣泛的應(yīng)用,I2C總線的有關(guān)性能不斷得到提高,通信速率和尋址范圍也在不斷提升。 作為工業(yè)標(biāo)準(zhǔn),I2C總線作為一種很有吸引力的物理通信方式,在ACCES bus、SM Bus、PSMI和IPMI工業(yè)標(biāo)準(zhǔn)總線中,I2C總線的有關(guān)技術(shù)指標(biāo)也被引用。I2C總線可以應(yīng)用于許多的微控制器,并且在許多應(yīng)用場(chǎng)合,利用通用的I/O引腳,通過軟件也可以驅(qū)動(dòng)I2C總線。例如,在1991年,由一些公司牽頭開發(fā)了ACCESS bus(存取總線,簡(jiǎn)稱A.b),這里利用了I2C總線作為它的物理通信層,從而使ACCESS bus具有使能被控器件的能力,ACCESS bus被用作是一種改進(jìn)的、簡(jiǎn)化的、規(guī)范的和靈活多用的方法來連接計(jì)算機(jī)的內(nèi)部,外部器件到CPU,它支持像時(shí)鐘和電池電能監(jiān)控等器件的工作,并且也支持鍵盤、鼠標(biāo)、顯示器和調(diào)制解調(diào)器的工作。在1995年,ACCESS bus工作組(ABIG)發(fā)布了V3.0技術(shù)文件版本,一些公司(例如:USAR和日本Fujitsu公司都參加到了ABIG的活動(dòng)中,并在智能電池系統(tǒng)接口論壇Smart Battery system Interface Forum:SBS-IF)中積極參與工作。 2.1 關(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所示。 圖1 I2C總線系統(tǒng)電路結(jié)構(gòu)示意圖 2.2 I2C總線接口電路 I2C總線上傳輸?shù)氖菙?shù)字信號(hào),如果I2C總線上掛接的被控集成電路為模擬電路,為便于與被控模擬電路通信,在被控對(duì)象中需要增加I2C總線接口電路,受控IC中I2C總線接口電路工作原理圖如圖2所示。接口電路一般由I2C控制器和控制開關(guān)等電路組成。由CPU送來的數(shù)據(jù)信息經(jīng)譯碼器譯碼后控制信號(hào)才能對(duì)被控IC執(zhí)行控制操作。被控對(duì)象通過I2C總線接口電路接收由CPU發(fā)出的控制指令和數(shù)據(jù),實(shí)現(xiàn)CPU對(duì)被控對(duì)象的控制。 圖2 I2C總線系統(tǒng)的電路結(jié)構(gòu)示意圖 I2C總線是雙向總線系統(tǒng),通過I2C總線CPU可以向被控IC發(fā)送數(shù)據(jù),被控IC也可通過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)品的一致性好,工作可靠性高。 2.3 I2C總線系統(tǒng)的功能 以CPU為核心的I2C總線系統(tǒng),主要用完成以下幾個(gè)功能。 ⑴用戶操作功能 用戶在使用電器時(shí),通常要進(jìn)行有關(guān)控制參量的調(diào)節(jié)、控制等操作,操作時(shí)只需按動(dòng)本機(jī)鍵盤或遙控器鍵盤上的相應(yīng)按鍵,CPU便通過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)后,通過遙控器或本機(jī)操作鍵來完成有關(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)故障自檢信息。被控器送來的低電平應(yīng)答信號(hào),CPU就會(huì)判斷該被控器有故障,并終止數(shù)據(jù)傳送。由于各被控集成電路和器件均有自己的地址,所以,在總線上不同時(shí)間傳送著眾多的控制信號(hào),但各被控器只要把與自己地址相同的控制信號(hào)從總線上取下來,并進(jìn)行識(shí)別和處理,得到相應(yīng)的控制信號(hào),就可以實(shí)現(xiàn)相應(yīng)的控制。 2.4 I2C總線系統(tǒng)的控制過程 ⑴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)試步驟來改變這些控制信息,以確保采用I2C總線的電器處于最佳工作狀態(tài)。 ⑵CPU對(duì)被控電器的控制過程 CPU對(duì)采用I2C總線的被控電器控制需經(jīng)過以下過程。 ①CPU尋址過程。當(dāng)CPU要對(duì)某被控器進(jìn)行控制時(shí),CPU將向總線發(fā)出該被控器的地址指令,被控器收到指令后,便發(fā)出應(yīng)答信息,CPU總線收到應(yīng)答信息后,就將該被控器作為控制對(duì)象。 ②CPU調(diào)用數(shù)據(jù)過程。CPU找到被控器后,就從存儲(chǔ)器中調(diào)出相應(yīng)的用戶信息及控制信息,并通過I2C總線送到被控器,使被控器處于所要求的工作狀態(tài)。 ③被控器執(zhí)行指令的過程。被控器接收到指令后,便對(duì)指令進(jìn)行譯碼,并將譯碼的結(jié)果與自己的控制內(nèi)容編碼進(jìn)行比較,以確定進(jìn)行何種操作,這項(xiàng)工作是由總線接口電路中的譯碼器來完成的。確定進(jìn)行何種操作后,總線接口電路中的相應(yīng)控制開關(guān)便自動(dòng)接通,控制數(shù)據(jù)經(jīng)過控制開關(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ù)最繁重,控制過程最復(fù)雜,損壞的可能性也就最大,所以使用I2C總線的電器應(yīng)盡量避免頻繁開/關(guān)機(jī)。 根據(jù)電器功能的強(qiáng)弱以及在I2C總線上掛接的被控電路的不同,在I2C總線采用的CPU上可引出一組或多組I2C總線。 由I2C總線控制的集成電路或器件必須具有專用的總線端子,即SDA端子與SCL端子。凡是具有SDA、SCL端子(引腳)的集成電路或器件,均可以由總線控制。 2.5 I2C總線信號(hào)的傳輸方式 I2C總線中的兩根信號(hào)線(SDA、SCL)在傳輸各種控制信號(hào)的過程中是有嚴(yán)格分工的。其中,SDA數(shù)據(jù)線用來傳輸各控制信號(hào)的數(shù)據(jù)及這些數(shù)據(jù)占有的地址等內(nèi)容;SCL時(shí)鐘線用來控制器件與被控器件之間的工作節(jié)拍。為保證總線輸出電路得到供電,SDA線和SCL線均通過上拉電阻和電源連接,當(dāng)總線空閑時(shí),SDA和SCL兩線均保持高電平。I2C總線控制信號(hào)傳輸波形如圖3所示。 圖3 I2C總線控制信號(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ù)姆较蛭唬?”表示由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ù)接收無誤時(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未接收到被控器送來的低電平應(yīng)答信號(hào),CPU就會(huì)判斷該被控器有故障,并終止數(shù)據(jù)傳送。由于各被控集成電路和器件均有自己的地址,所以,在總線上不同時(shí)間傳送著眾多的控制信號(hào),但是各被控器只要把與自己的地址相同的控制信號(hào)從總線上取下來,并進(jìn)行識(shí)別和處理,得到相應(yīng)的控制信號(hào),就可以實(shí)現(xiàn)相應(yīng)的控制。 2.6 I2C總線系統(tǒng)與外部電路的連接方式 I2C總線系統(tǒng)的外部電路結(jié)構(gòu)簡(jiǎn)單,它與被控電路之間的連接方式有直接式和隔離式兩種。 (1)直接式I2C總線 直接式I2C總線是指被控集成電路直接或通過電阻掛在I2C總線上,其電路工作原理圖如圖4所示。因?yàn)镃PU的I2C總線輸出端口內(nèi)部電路形式為集電極開路(或漏極開路)形式,所以在CPU的I2C總線輸出端必須通過上拉電阻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引出的總線通過隔離器與被控集成電路相連接。隔離器一般由晶體管組成,其電路工作原理圖如圖5所示。這種電路的優(yōu)點(diǎn)是CPU與被控集成電路被晶體管隔離器隔離開,當(dāng)被控對(duì)象發(fā)生故障使I2C總線上電壓升高時(shí),晶體管會(huì)截止,從而保護(hù)CPU不被高電壓沖擊而損壞。 圖5 隔離式I2C總線工作原理圖 2.7 I2C總線系統(tǒng)與外部電路的有關(guān)引腳 (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不能通過I2C所掛接的電路進(jìn)行控制。 在電路圖上,I2C通/關(guān)閉控制引腳常用Bus OFF(總線關(guān)閉)、Service(維修)、EXT BUS(外部總線)、TEST(測(cè)試)、FACTORY(工廠)來表示。圖6所示為I2C通/斷控制工作原理圖。例如CPU的第36引腳EXT BUS為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ī)通過BC與此CPU相連,BC④引腳接地,使CPU的第36引腳EXT BUS變?yōu)榈碗娖剑珻PU的I2C總線42、43引腳停止輸出。電器的I2C系統(tǒng)由外部計(jì)算機(jī)接管。 圖6 I2C通/斷開控制工作原理圖 在對(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è)置電源和接地端子,因此除了注意檢查主電源引腳電壓外,千萬不要忘記檢查其他電源引腳。 集成電路數(shù)字電源端電壓一般為5V、3.5V或3V等低電壓。數(shù)字電路電源端子常用以下方式標(biāo)注:I2LVCC邏輯電路電源;DVCC數(shù)字電路電源;DVDD數(shù)字電路電源;DIGVDD數(shù)字電路電源;D.GND數(shù)字電路地線等。 ②輔助地址選擇引腳 CPU通過I2C總線對(duì)被控電路的地址進(jìn)行選擇,有時(shí)為了擴(kuò)展I2C總線的功能和電路上的要求,在有些被控電路上還設(shè)有輔助地址選擇引腳,只有對(duì)輔助地址選擇引腳進(jìn)行正確的設(shè)置后,CPU才能通過I2C總線對(duì)這一電路進(jìn)行控制。當(dāng)被控電路的輔助地址選擇引腳電路出觀故障時(shí),將會(huì)造成I2C總線無法控制該電路,使整機(jī)電路功能不正常。在電路圖上,輔助地址選擇引腳常用ADDRESS(地址)、ADR(address地址)、ADDSEL(address selection地址選擇)、MAD(module address組件地址)等英文表示。 3 PM Bus 3.1 關(guān)于PM Bus PM Bus是屬于系統(tǒng)管理實(shí)施論壇(System Implementers Forum:SM-IF)的一個(gè)開放性標(biāo)準(zhǔn),用于定義功率集成電路,所有類型的功率變換電路(例如AC/DC,隔離的DC/DC,非隔離的點(diǎn)負(fù)載(POL)變換器和微處理器供電的變換器等)之間相互通信的一種開放性通信協(xié)議。 有關(guān)PM Bus的有關(guān)技術(shù)文件可以免費(fèi)得到,并且任何對(duì)PM Bus感興趣的公司都可以參與到SM-IF論壇中。 電源管理總線接口論壇(PM Bus-IF)是系統(tǒng)管理接口論壇(SM-IF)的一部份,是一個(gè)非盈利性質(zhì)的工業(yè)標(biāo)準(zhǔn)化組織。 由主要電源產(chǎn)品供應(yīng)商、半導(dǎo)體公司和有關(guān)軟、硬件產(chǎn)品供應(yīng)商參于的PM Bus接口論壇(PM Bus-IF)所制定的PM Bus是一種開放的電源系統(tǒng)標(biāo)準(zhǔn),目前PM Bus接口論壇有30多個(gè)成員,其目的是要促進(jìn)PM Bus的推廣和使用,電源管理總線(Power Management Bus:PM Bus)是關(guān)于電源系統(tǒng)的一個(gè)標(biāo)準(zhǔn)。 在PM Bus中充分定義了電源系統(tǒng)中的變換器和其它相關(guān)部件之間的有關(guān)命令語(yǔ)句,PM Bus控制協(xié)議是建立在系統(tǒng)管理總線(SM Bus)的串行通信協(xié)議基礎(chǔ)上,利用PM Bus可以實(shí)現(xiàn)有關(guān)編程、控制和有關(guān)電源變換產(chǎn)品的實(shí)時(shí)監(jiān)控,是一種用于電源部件之間的模擬和數(shù)字信號(hào)控制的一種方便、實(shí)用的通信控制方式,有良好的互操作性,利用PM Bus可以簡(jiǎn)化電源系統(tǒng)的設(shè)計(jì)和節(jié)省電源系統(tǒng)的設(shè)計(jì)周期。目前使用PM Bus的有關(guān)公司各單如下: 到目前為止,電源系統(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è)“digi pot”的簡(jiǎn)單部件就可以通過微控制器來調(diào)節(jié)電源系統(tǒng)的電壓檢測(cè)信號(hào)和電流檢測(cè)信號(hào)的參數(shù),而“digi pot”這類的器件又是許多采用I2C總線優(yōu)勢(shì)的器件之一。利用I2C總線可以實(shí)現(xiàn)存儲(chǔ)器、顯示器、傳感器和電源控制集成電路之間的互連。 早在1995年,通過各種各樣的總線,(例如RS-232、單線(One Wire)、SPI和I2C等)完成了電池管理工作,這時(shí)對(duì)通信管理的物理接口、命令、數(shù)據(jù)格式均沒有統(tǒng)一的工業(yè)標(biāo)準(zhǔn)。Intel公司和Duracell公司合作開發(fā)了智能電池系統(tǒng)SBS(Smart Battery System),其目的想要做出一個(gè)與電池類型無關(guān)的高級(jí)和精確的電池管理系統(tǒng),并且使這個(gè)智能電池管理系統(tǒng)適用于不同的可充電電池生產(chǎn)廠商生產(chǎn)的可充電電池的充電管理,并降低智能電池管理系統(tǒng)支持多種通信控制協(xié)議的負(fù)擔(dān),這個(gè)物理通信協(xié)議就是系統(tǒng)管理總線(SM Bus),而命令語(yǔ)言就是智能電池?cái)?shù)據(jù)SBD(Smart Battery Data)。 系統(tǒng)管理總線(SM Bus)是I2C總線的一個(gè)版本,是智能電池系統(tǒng)(SBS)的物理層。智能電池系統(tǒng)(SBS)的上一層發(fā)出命令,并在智能電池系統(tǒng)元件之間實(shí)現(xiàn)有關(guān)命令的響應(yīng),智能電池、智能充電器和智能選擇器利用SM Bus的通用命令就可以完成相關(guān)控制信息的傳送和響應(yīng)。這些命令有許多是和I2C中的命令相同的,利用這些命令可以完成電池容量和工作條件的監(jiān)控。同時(shí)更為重要的是,智能電池系統(tǒng)(SBS)中的電池或主控電路還可以對(duì)智能充電器發(fā)出控制命令,利用這些控制命令來設(shè)定充電器的輸出電壓、輸出電流和其它一些重要的工作參數(shù)。在大多數(shù)情況下,輸出電壓命令的分辨在mV數(shù)量級(jí),輸出電流命令的分辨率在mA數(shù)量級(jí),利用SM Bus可以完成和可充電電池類型無關(guān)的充電器系統(tǒng)的管理和控制。 1996年,由Intel和Duracell公司發(fā)起成立的智能電池管理系統(tǒng)接口論壇(SBS-IF)。為了保持智能電池系統(tǒng)(SBS)和SM Bus的優(yōu)越性,其它一些相關(guān)公司也參與到了論壇的工作,特別是美國(guó)德州儀器TI公司參與了電源管理總線接口論壇(PM Bus-IF)的工作。 在筆記本電腦的硬件電路中智能電池系統(tǒng)(SBS)和SM Bus已得到了廣泛的應(yīng)用,在Windows2000系統(tǒng)中也含有SM Bus的軟件驅(qū)動(dòng)程序。 智能電池系統(tǒng)(SBS)和SM Bus有關(guān)技術(shù)內(nèi)容的發(fā)展是和高級(jí)結(jié)構(gòu)與電源接口(ACPI:Advanced Configuration and Power Interface)的有關(guān)技術(shù)內(nèi)容的發(fā)展同步進(jìn)行的。ACPI的第1版本在1996年12月公布,其中,Intel公司發(fā)揮了重要的作用,對(duì)與操作系統(tǒng)和電源管理(OSPM:Operating System-directed Configuration and Power Management)應(yīng)用方面有關(guān)的內(nèi)容,ACPI是一個(gè)很重要的內(nèi)容。如果要實(shí)現(xiàn)SBS和支持SBS系統(tǒng)的SM Bus,需要用到和高級(jí)結(jié)構(gòu)與電源接口(ACPI)兼容的有關(guān)系統(tǒng)。 1998年,SBS-IF發(fā)布了SBS1.1和SMBus1.1版本。SMBus1.1中的主要特點(diǎn)是在每個(gè)SM Bus通信數(shù)據(jù)包的末位加了可選數(shù)據(jù)包檢錯(cuò)字節(jié),采用8位的循環(huán)冗余糾錯(cuò)檢錯(cuò)算法(CRC-8)。 2000年,SBS-IF發(fā)布了SMBus2.0,即所謂基于PCI的SM Bus。SMBus2.0中允許器件的地址被動(dòng)態(tài)分配,然后,外設(shè)元件互聯(lián)特殊興趣小組(PCI-SIG:Peripheral Component Interconnect Special Interest Group)(在2000.10.20日)將它的PCI連接器的第○40和○41引腳分配給SM Bus的時(shí)鐘和數(shù)據(jù)信號(hào)。 在2000年,SBS-IF公布了它用于Windows的SM Bus的驅(qū)動(dòng)程序。和微軟的SM Bus驅(qū)動(dòng)程序不同,SBS-IF推出的SM Bus驅(qū)動(dòng)程序可以用于Windows98系統(tǒng),并且工作時(shí)不需借助于嵌入式控制器。 作為源于1998年的另一個(gè)應(yīng)用實(shí)例,Intel公司公布了它的智能管理接口平臺(tái)IPMI(Intelligent Platform Management Interface)。IPMI1.0采用I2C總線作為它的物理層,IPMI1.5可以使用SM Bus 1.1,并且具有使所傳送的數(shù)據(jù)包出錯(cuò)的檢測(cè)功能。 作為數(shù)控源系統(tǒng),很需要一個(gè)用于電源通信管理的工業(yè)標(biāo)準(zhǔn)協(xié)議,在這個(gè)標(biāo)準(zhǔn)協(xié)議中需注意以下幾方面的問題:首先這個(gè)協(xié)議對(duì)電源系統(tǒng)設(shè)計(jì)人員而言要簡(jiǎn)單、易懂和易學(xué),并且造價(jià)要低。這里I2C總線就是一個(gè)很好的例子,智能電池系統(tǒng)(SBS)采用SM Bus用于可充電電池充電器和背光照明系統(tǒng)的電源管理已有一段時(shí)間了。 在2004年,由電源管理總線(PM Bus)開發(fā)為主的一些公司推出了電源管理用的工業(yè)標(biāo)準(zhǔn),PM Bus采用SM Bus做為它的物理通信層,并且支持SM Bus中的如可選控制信號(hào)線。在現(xiàn)行的PM Bus 1.0中沒有地址仲裁功能,PM Bus的技術(shù)指標(biāo)被分為2部份,第1部份規(guī)范了物理層的有關(guān)技術(shù)指標(biāo),第二部份規(guī)范了命令層的有關(guān)技術(shù)指標(biāo)。同樣,和在SM Bus智能電池系統(tǒng)(SBS)中界定了便攜式電源管理的方法一樣,在PM Bus中也界定了電源子系統(tǒng)的管理方法。 SM Bus的主要任務(wù)由負(fù)載點(diǎn)聯(lián)盟POLA(Point of Load Alliance)和分布式電源開放標(biāo)準(zhǔn)聯(lián)盟DOSA(Distributed-Power Open Standards Alliance)加以賦予。 在2005年,智能電池系統(tǒng)接口論壇(SBS-IF)又被更名為系統(tǒng)管理接口論壇(SM-IF),并且經(jīng)過重新組合,形成2個(gè)論壇,即SBS論壇(SBS-IF)和PM Bus接口論壇(PM Bus-IF)。組織利用了SBS和PM Bus的共生關(guān)系,SBS工作組利用SM Bus來進(jìn)行筆記本電腦中的電源管理和控制已有10余年的時(shí)間,所有這些對(duì)PM Bus的開發(fā)與使用都有很大的幫助。 在2005年3月PM Bus接口論壇推出了PM Bus的1.0版本有關(guān)技術(shù)文件,目前有30多個(gè)公司使用PM Bus,利用PM Bus可以簡(jiǎn)化數(shù)字電源系統(tǒng)的設(shè)計(jì)。 3.2 PM Bus的系統(tǒng)結(jié)構(gòu)圖和有關(guān)命令類型 PM Bus的系統(tǒng)結(jié)構(gòu)圖如圖7所示,有關(guān)命令類型如表1所示。 圖7 PM Bus的系統(tǒng)結(jié)構(gòu)圖 表1 PM Bus的有關(guān)命令類型 |