電源技術(shù)中I2C及PM Bus總線介紹
1 前言
本文引用地址:http://butianyuan.cn/article/176643.htm由于數(shù)字電源的控制靈活、結(jié)構(gòu)變化靈活、調(diào)節(jié)、維護(hù)方便和造價(jià)低的一系列優(yōu)點(diǎn),代表了電源技術(shù)的發(fā)展方向。而在數(shù)字電源中,總線技術(shù)發(fā)揮了很重要的作用,本文結(jié)合數(shù)字電源中常用的總線技術(shù)加以介紹。
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ì)象的控制。
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 I2C總線系統(tǒng)的電路結(jié)構(gòu)示意圖
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)控制指令。
?、凭S修調(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ù)模虼薈PU可以對(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)的控制過程
?、臗PU與存儲(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)。
?、艭PU對(duì)被控電器的控制過程
CPU對(duì)采用I2C總線的被控電器控制需經(jīng)過以下過程。
?、貱PU尋址過程。當(dāng)CPU要對(duì)某被控器進(jìn)行控制時(shí),CPU將向總線發(fā)出該被控器的地址指令,被控器收到指令后,便發(fā)出應(yīng)答信息,CPU總線收到應(yīng)答信息后,就將該被控器作為控制對(duì)象。
?、贑PU調(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端子(引腳)的集成電路或器件,均可以由總線控制。
評(píng)論