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