電源技術(shù)中I2C及PM Bus總線
I2C總線中的兩根信號線(SDA、SCL)在傳輸各種控制信號的過程中是有嚴(yán)格分工的。其中,SDA數(shù)據(jù)線用來傳輸各控制信號的數(shù)據(jù)及這些數(shù)據(jù)占有的地址等內(nèi)容;SCL時(shí)鐘線用來控制器件與被控器件之間的工作節(jié)拍。為保證總線輸出電路得到供電,SDA線和SCL線均通過上拉電阻和電源連接,當(dāng)總線空閑時(shí),SDA和SCL兩線均保持高電平。I2C總線控制信號傳輸波形如圖3所示。
圖3 I2C總線控制信號傳輸波形
(1)時(shí)鐘線控制信號
SCL線為高電平期間,SDA線上傳輸?shù)臄?shù)據(jù)必須保持穩(wěn)定,在此期間,控制器件與被控制器件之間可以交換數(shù)據(jù);SCL線為低電平期間,SDA線上傳輸?shù)臄?shù)據(jù)可以變化,即允許數(shù)據(jù)線上電平高低跳變。
(2)數(shù)據(jù)線控制信號
數(shù)據(jù)線上傳輸?shù)目刂菩盘?,均按圖3所示的內(nèi)容和順序先后傳輸:起始狀態(tài)信號、被控電路地址、讀寫方式(數(shù)據(jù)傳輸方向位)、應(yīng)答信號、數(shù)據(jù)信號、應(yīng)答信號、數(shù)據(jù)信號、應(yīng)答信號、終止?fàn)顟B(tài)信號。
在時(shí)鐘線為高電平期間,數(shù)據(jù)線上一個(gè)電平由高到低的跳變規(guī)定為起始狀態(tài),電平由低到高的跳變規(guī)定為終止?fàn)顟B(tài),起始狀態(tài)信號和終止?fàn)顟B(tài)信號均由CPU發(fā)出。當(dāng)CPU發(fā)出起始狀態(tài)信號后,總線即處于占用狀態(tài);當(dāng)CPU發(fā)出終止?fàn)顟B(tài)信號后,總線又處于空閑狀態(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))信號,這個(gè)應(yīng)答信號是由CPU發(fā)出的,在應(yīng)答位時(shí)鐘期間,CPU釋放數(shù)據(jù)線,以便被控器在這一位上送出應(yīng)答信號。
當(dāng)被控器的數(shù)據(jù)接收無誤時(shí),被控器發(fā)出低電平應(yīng)答信號,經(jīng)確認(rèn)后的數(shù)據(jù)才有效。當(dāng)數(shù)據(jù)被確認(rèn)后,CPU便可以繼續(xù)傳送數(shù)據(jù)并繼續(xù)對數(shù)據(jù)加以確認(rèn),直到CPU發(fā)出終止?fàn)顟B(tài)信號為止。若在應(yīng)答位時(shí)鐘期間,CPU未接收到被控器送來的低電平應(yīng)答信號,CPU就會判斷該被控器有故障,并終止數(shù)據(jù)傳送。由于各被控集成電路和器件均有自己的地址,所以,在總線上不同時(shí)間傳送著眾多的控制信號,但是各被控器只要把與自己的地址相同的控制信號從總線上取下來,并進(jìn)行識別和處理,得到相應(yīng)的控制信號,就可以實(shí)現(xiàn)相應(yīng)的控制。
2.6 I2C總線系統(tǒng)與外部電路的連接方式
I2C總線系統(tǒng)的外部電路結(jié)構(gòu)簡單,它與被控電路之間的連接方式有直接式和隔離式兩種。
(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ù)目煽啃?,防止誤動作進(jìn)人維修狀態(tài)和防止由于外部干擾信號改變I2C總線數(shù)據(jù)。穩(wěn)壓管VS是為了防止外部高電壓損壞CPU的I2C總線輸出端的內(nèi)部電路。
圖4 直接式I2C總線工作原理圖
(2)隔離式I2C總線
隔離式I2C總線是指CPU引出的總線通過隔離器與被控集成電路相連接。隔離器一般由晶體管組成,其電路工作原理圖如圖5所示。這種電路的優(yōu)點(diǎn)是CPU與被控集成電路被晶體管隔離器隔離開,當(dāng)被控對象發(fā)生故障使I2C總線上電壓升高時(shí),晶體管會截止,從而保護(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(測試)、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)榈碗娖?,CPU的I2C總線42、43引腳停止輸出。電器的I2C系統(tǒng)由外部計(jì)算機(jī)接管。
圖6 I2C通/斷開控制工作原理圖
評論