電源中常用的總線技術(shù)
⑶故障自檢功能
由于I2C總線上的信息是由SDA和SCL兩線串行數(shù)據(jù)信號線雙向傳輸?shù)?,因此CPU可以對I2C總線的通信情況和被控集成電路的工作狀態(tài)進(jìn)行監(jiān)測,并在屏幕上顯示檢測結(jié)果,為維修人員提供有關(guān)故障自檢信息。被控器送來的低電平應(yīng)答信號,CPU就會判斷該被控器有故障,并終止數(shù)據(jù)傳送。由于各被控集成電路和器件均有自己的地址,所以,在總線上不同時間傳送著眾多的控制信號,但各被控器只要把與自己地址相同的控制信號從總線上取下來,并進(jìn)行識別和處理,得到相應(yīng)的控制信號,就可以實現(xiàn)相應(yīng)的控制。
2.4 I2C總線系統(tǒng)的控制過程
⑴CPU與存儲器之間的數(shù)據(jù)交換
I2C總線系統(tǒng)中的存儲器存儲有兩種信息:一是用戶信息,是用戶寫入的控制信息,此信息用戶可以更改,如各種模擬控制量(例如電源的OVP、OCP、OTP和所需輸出電壓值等);另一種是控制信息,是由廠家寫入的控制數(shù)據(jù),此信息用戶不能改變。電器正常工作時,CPU從存儲器中取出有關(guān)用戶信息和控制信息,并送往被控電路使其處于正常工作狀態(tài);當(dāng)調(diào)整電器時,CPU也從存儲器中取出控制信息,檢修人員使用正確的調(diào)試步驟來改變這些控制信息,以確保采用I2C總線的電器處于最佳工作狀態(tài)。
⑵CPU對被控電器的控制過程
CPU對采用I2C總線的被控電器控制需經(jīng)過以下過程。
①CPU尋址過程。當(dāng)CPU要對某被控器進(jìn)行控制時,CPU將向總線發(fā)出該被控器的地址指令,被控器收到指令后,便發(fā)出應(yīng)答信息,CPU總線收到應(yīng)答信息后,就將該被控器作為控制對象。
②CPU調(diào)用數(shù)據(jù)過程。CPU找到被控器后,就從存儲器中調(diào)出相應(yīng)的用戶信息及控制信息,并通過I2C總線送到被控器,使被控器處于所要求的工作狀態(tài)。
③被控器執(zhí)行指令的過程。被控器接收到指令后,便對指令進(jìn)行譯碼,并將譯碼的結(jié)果與自己的控制內(nèi)容編碼進(jìn)行比較,以確定進(jìn)行何種操作,這項工作是由總線接口電路中的譯碼器來完成的。確定進(jìn)行何種操作后,總線接口電路中的相應(yīng)控制開關(guān)便自動接通,控制數(shù)據(jù)經(jīng)過控制開關(guān)送到D/A轉(zhuǎn)換器,轉(zhuǎn)換成模擬控制電壓,用以控制相應(yīng)的模擬電路,完成有關(guān)操作。I2C總線數(shù)據(jù)傳送最繁忙的時刻是在采用I2C總線電路的剛開機(jī)一瞬間,由于被控電路沒有存儲數(shù)據(jù)的功能,因此,每次開機(jī)時CPU都要從存儲器中取出控制數(shù)據(jù),送往各被控器,使被控器進(jìn)人相應(yīng)的工作狀態(tài)。因此,剛開機(jī)時CPU的控制任務(wù)最繁重,控制過程最復(fù)雜,損壞的可能性也就最大,所以使用I2C總線的電器應(yīng)盡量避免頻繁開/關(guān)機(jī)。
根據(jù)電器功能的強(qiáng)弱以及在I2C總線上掛接的被控電路的不同,在I2C總線采用的CPU上可引出一組或多組I2C總線。
由I2C總線控制的集成電路或器件必須具有專用的總線端子,即SDA端子與SCL端子。凡是具有SDA、SCL端子(引腳)的集成電路或器件,均可以由總線控制。
2.5 I2C總線信號的傳輸方式
I2C總線中的兩根信號線(SDA、SCL)在傳輸各種控制信號的過程中是有嚴(yán)格分工的。其中,SDA數(shù)據(jù)線用來傳輸各控制信號的數(shù)據(jù)及這些數(shù)據(jù)占有的地址等內(nèi)容;SCL時鐘線用來控制器件與被控器件之間的工作節(jié)拍。為保證總線輸出電路得到供電,SDA線和SCL線均通過上拉電阻和電源連接,當(dāng)總線空閑時,SDA和SCL兩線均保持高電平。I2C總線控制信號傳輸波形如圖3所示。
圖3 I2C總線控制信號傳輸波形
(1)時鐘線控制信號
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ù)據(jù)線上一個電平由高到低的跳變規(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ù)姆较蛭?,?”表示由CPU發(fā)送數(shù)據(jù),“1”表示CPU接收數(shù)據(jù)。每傳輸一個數(shù)據(jù)字節(jié)后,跟著一位應(yīng)答(確認(rèn))信號,這個應(yīng)答信號是由CPU發(fā)出的,在應(yīng)答位時鐘期間,CPU釋放數(shù)據(jù)線,以便被控器在這一位上送出應(yīng)答信號。
當(dāng)被控器的數(shù)據(jù)接收無誤時,被控器發(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)答位時鐘期間,CPU未接收到被控器送來的低電平應(yīng)答信號,CPU就會判斷該被控器有故障,并終止數(shù)據(jù)傳送。由于各被控集成電路和器件均有自己的地址,所以,在總線上不同時間傳送著眾多的控制信號,但是各被控器只要把與自己的地址相同的控制信號從總線上取下來,并進(jìn)行識別和處理,得到相應(yīng)的控制信號,就可以實現(xiàn)相應(yīng)的控制。
2.6 I2C總線系統(tǒng)與外部電路的連接方式
I2C總線系統(tǒng)的外部電路結(jié)構(gòu)簡單,它與被控電路之間的連接方式有直接式和隔離式兩種。
(1)直接式I2C總線
直接式I2C總線是指被控集成電路直接或通過電阻掛在I2C總線上,其電路工作原理圖如圖4所示。因為CPU的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)點是CPU與被控集成電路被晶體管隔離器隔離開,當(dāng)被控對象發(fā)生故障使I2C總線上電壓升高時,晶體管會截止,從而保護(hù)CPU不被高電壓沖擊而損壞。
圖5 隔離式I2C總線工作原理圖
評論