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