專利名稱:內(nèi)部整合電路總線控制電路和控制方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種內(nèi)部整合電路總線控制電路和控制方法。
背景技術:
內(nèi)部整合電路(Inter-1ntegrated Circuit, I2C)總線是當今電子設計中應用非常廣泛的串行總線之一,主要用于電壓、溫度監(jiān)控,電可擦可編程只讀存儲器(electrically erasable programable read-only memory, EEPROM)數(shù)據(jù)的讀寫,光模塊的管理等。其中,一條I2C總線上可以連接多個I2C器件。現(xiàn)有技術中,當I2C總線上器件過多時,經(jīng)常采用I2C驅(qū)動器來增強I2C總線的驅(qū)動能力,每一個I2C器件都有一個唯一的器件地址,其長度一般為7位。該I2C器件地址的前4位由該I2C器件的類型決定,比如,EEPROM器件地址的前4位為1010,溫度傳感器器件地址的前4位為1001,輸入/輸出(Input /Output, I/O)接口器件的器件地址的前4位為0100 ;該I2C器件地址的后3位,一般通過設置該I2C器件的地址管腳A2,Al,AO的高低電平狀態(tài)來實現(xiàn)。比如,I2C總線有4個EEPROM器件的器件地址分別為1010100、1010101、1010110、1010111,其中,每個EEPROM器件的器件地址的后3位通過在器件的地址管腳A2,Al, AO連接上拉電阻或下拉電阻來控制A2,Al, AO的高低電平狀態(tài)。但是,若與地址管腳A2,Al,AO相連接的上拉電阻或下拉電阻中失效時,則該I2C器件的器件地址就發(fā)生變化,與其他I2C器件的器件地址就有可能出現(xiàn)沖突。當I2C主器件操作讀寫該I2C器件時,與該I2C器件的器件地址有沖突的其他I2C器件也會響應I2C主器件的操作,從而造成I2C主器件讀寫數(shù)據(jù)沖突,降低了該I2C總線控制電路的可靠性
發(fā)明內(nèi)容
本發(fā)明提供了一種的I2C總線控制電路和控制方法,解決了現(xiàn)有技術中當I2C主器件操作讀寫I2C器件時,與該器件的器件地址有沖突的其他器件也會響應I2C主器件的操作,從而造成I2C主器件讀寫數(shù)據(jù)出現(xiàn)沖突的問題,利用I2C主器件的輸入/輸出接口控制I2C驅(qū)動器的使能端,從而實現(xiàn)了 I2C主器件控制每一個I2C驅(qū)動器的打開或關閉狀態(tài),提高了該I2C總線控制電路的可靠性。在第一方面,本發(fā)明提供了一種I2C總線控制電路,所述電路包括:I2C主器件、多個I2C器件組;所述I2C器件組包括I2C驅(qū)動器件和多個I2C從器件;所述I2C主器件的I2C接口與所述多個I2C器件組中每個I2C驅(qū)動器件的第一端相連接;所述I2C主器件為所述每個I2C驅(qū)動器件分配的輸入輸出10接口分別與對應的所述I2C驅(qū)動器件的使能端相連接;所述每個I2C驅(qū)動器件的第二端與所述每個I2C驅(qū)動器件所在的所述I2C器件組中的多個I2C從器件相連接;當所述I2C主器件需要與任一所述I2C器件組的所述I2C從器件進行通信時,通過所述I2C主器件為所述I2C器件組的所述I2C驅(qū)動器件分配的輸入輸出10接口向所述I2C 驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài);所述I2C主器件通過所述I2C主器件的I2C接口向所述使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),所述使能狀態(tài)的I2C驅(qū)動器件對所述數(shù)據(jù)進行處理,將所述處理后的數(shù)據(jù)向所述I2C器件組中每個所述I2C從器件發(fā)送;所述每個I2C從器件將自身的器件地址與所述處理后的數(shù)據(jù)中的地址碼進行比較,如果所述I2C從器件的器件地址與所述地址碼相同,所述I2C從器件與所述I2C主器件進行通信。在第一方面的第一種可能的實現(xiàn)方式中,所述多個I2C器件組中的每個I2C從器件的種類不同。結合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述I2C器件組中每個I2C從器件均具有7位器件地址,所述器件地址不同。結合第一方面、第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式中,在第三種可能的實現(xiàn)方式中,所述I2C主器件具體用于向所述多個I2C器件組中的任一 I2C器件組的I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài);其他I2C器件組的I2C驅(qū)動器件處于關閉狀態(tài)。在第二方面,本發(fā)明提供了一種I2C總線控制方法,所述方法包括:當所述I2C主器件需要與任一所述I2C器件組的所述I2C從器件進行通信時,通過所述I2C主器件為所述I2C器件組的所述I2C驅(qū)動器件分配的輸入輸出IO接口向所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài);所述I2C主器件通過所述I2C主器件的I2C接口向所述使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),所述使能狀態(tài)的I2C驅(qū)動器件對所述數(shù)據(jù)進行處理后,將所述 處理后的數(shù)據(jù)向所述I2C器件組中每個所述I2C從器件發(fā)送;當所述每個I2C從器件將自身的器件地址與所述處理后的數(shù)據(jù)中的地址碼進行比較后,如果所述I2C從器件的器件地址與所述地址碼相同,所述I2C從器件與所述I2C主器件進行通信。在第二方面的第一種可能的實現(xiàn)方式中,所述向所述I2C器件組的所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài)具體為:通過所述I2C主器件為所述I2C器件組的所述驅(qū)動器件分配的輸入/輸出I/O接口向所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài);當所述I2C驅(qū)動器件低電平觸發(fā)使能時,則所述I2C主器件將與所述驅(qū)動器件對應的輸入輸出IO接口置為低電平,則所述I2C驅(qū)動器件的使能端也為低電平,從而使得所述I2C驅(qū)動器件處于使能狀態(tài);當所述I2C驅(qū)動器件高電平觸發(fā)使能時,則所述I2C主器件將與所述驅(qū)動器件對應的輸入輸出IO接口置為高電平,則所述I2C驅(qū)動器件的使能端也為高電平,從而使得所述I2C驅(qū)動器件處于使能狀態(tài)。結合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述向所述I2C器件組的所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài)還包括:所述I2C主器件控制所述處于使能狀態(tài)的I2C驅(qū)動器件所在的所述I2C器件組之外的其他所述I2C器件組的I2C驅(qū)動器件處于關閉狀態(tài)。結合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,對所述數(shù)據(jù)進行電平轉換和緩存。通過應用上述的I2C總線控制電路和I2C總線控制方法,利用I2C主器件的輸入輸出接口控制I2C驅(qū)動器的使能端,從而實現(xiàn)了 I2C主器件控制每一個I2C驅(qū)動器的打開或關閉狀態(tài),提聞了該I2C總線控制電路的可罪性。
圖1為本發(fā)明實施例一提供的I2C總線控制電路的示意圖;圖2為本發(fā)明實施例二提供的I2C總線控制方法的流程圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供的I2C總線控制電路和控制方法,通過I2C主器件為I2C器件組的I2C驅(qū)動器件分配的輸入輸出IO接口向I2C驅(qū)動器件發(fā)送使能信號,使得I2C驅(qū)動器件處于使能狀態(tài),而其他I2C驅(qū)動器件處于關閉狀態(tài),通過I2C主器件的I2C接口向使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),使能狀態(tài)的I2C驅(qū)動器件對數(shù)據(jù)進行處理后,將處理后的數(shù)據(jù)向I2C器件組中每個不同種類的I2C從器件發(fā)送;每個I2C從器件接收到處理后的數(shù)據(jù)后,將I2C從器件的器件地址與處理后的數(shù)據(jù)中的地址碼進行比較;當I2C從器件的器件地址與所述地址碼相同時,則I2C從器件與所述I2C主器件進行通信,從而實現(xiàn)了利用I2C驅(qū)動器件將I2C主器件和I2C從器件進行隔離,提高了 I2C總線的驅(qū)動能力,還實現(xiàn)了用一個IO接口控制一個I2C驅(qū)動器件的使能端,且一個I2C驅(qū)動器件驅(qū)動不同種類的I2C從器件,從而大大提高了該I2C總線控制電路的可靠性。圖1為本發(fā)明實施例一提供的I2C總線控制電路的示意圖。如圖所示,本發(fā)明實施例具體包括:I2C主器件11、多個I2C器件組12。其中,每一個I2C器件組包括I2C驅(qū)動器件和多個I2C從器件。其中,每個I2C器件組12中的各個I2C從器件的種類不同。每個I2C從器件皆具有7位的器件地址,該器件地址各不相同。比如,有些從器件的前4位代表該I2C從器件的種類,則同一 I2C器件組12中的各個I2C從器件的器件地址的前4位不同。以I2C驅(qū)動 器件121所在的I2C器件組12為例說明該I2C器件組12的組成,該I2C器件組12包括:I2C驅(qū)動器件121和a個I2C從器件。該a個I2C從器件分別為I2C從器件11、I2C從器件12、I2C從器件13、...和I2C從器件la。另外,其余的I2C器件組12的組成與I2C驅(qū)動器件I所在的I2C器件組12的組成相同,在這里不再贅述。在I2C驅(qū)動器件121所在的I2C器件組12中,I2C從器件11、I2C從器件12、I2C從器件13、...和I2C從器件Ia的種類不同,即I2C從器件11、I2C從器件12、I2C從器件13、...和I2C從器件Ia的器件地址的前4位不同。但是,不同的I2C器件組12之間的I2C
從器件可以相同。比如,I2C從器件11、I2C從器件21、I2C從器件31.....12C從器件31
可以皆為EEPROM器件。第一,該I2C總線控制電路各部分之間的連接關系。I2C主器件的I2C接口與每一個I2C器件組12中的I2C驅(qū)動器件的第一端I,即
I2C驅(qū)動器件121、I2C驅(qū)動器件122、I2C驅(qū)動器件123.....12C驅(qū)動器件12η的第一端
I相連接。其中,該I2C接口具體包括兩根信號線:雙向數(shù)據(jù)線SDA和時鐘線SCL。另外,I2C主器件的I2C接口與每一個I2C器件組12中的I2C驅(qū)動器件之間還包括:I2C總線電阻 R13。I2C主器件為每一個I2C器件組12中的I2C驅(qū)動器件,即I2C驅(qū)動器件121、I2C驅(qū)動器件122、I2C驅(qū)動器件123、...、I2C驅(qū)動器件12η分配一個輸入/輸出I/O接口,且I2C主器件為I2C驅(qū)動器件121、I2C驅(qū)動器件122、I2C驅(qū)動器件123、...、I2C驅(qū)動器件12η
分配的輸入輸出IO接口分別I2C驅(qū)動器件121、I2C驅(qū)動器件122、I2C驅(qū)動器件123.....12C驅(qū)動器件12η的使能端EN相連接。在圖1中,I2C主器件10_1接口與I2C驅(qū)動器件121的使能端EN相連接,I2C主器件10_2接口與I2C驅(qū)動器件122的使能端EN相連接,I2C主器件10_3接口與I2C驅(qū)動器件123的使能端EN相連接,I2C主器件10_4接口與I2C驅(qū)動器件12η的使能端EN相連接。另外,I2C主器件還可以為I2C驅(qū)動器件121、I2C驅(qū)動器件122、I2C驅(qū)動器件123和I2C驅(qū)動器件12η分配其他的IO接口。在本發(fā)明實施例中,只要保證每一個I2C器件組12中的I2C驅(qū)動器件的使能端EN與一個IO接口相連接,而且與每一個I2C器件組12中的I2C驅(qū)動器件的使能端EN相連接的IO接口皆不同,就能達到I2C主器件利用其IO接口分別控制每一個I2C器件組12中的I2C驅(qū)動器件的打開或關閉狀態(tài)。每一個I2C器件組12中的I2C驅(qū)動器件的第二端2與該I2C器件組12中每一個I2C從器件的一端相連接。以I2C驅(qū)動器件121所在的I2C器件組12為例來說明該I2C器件組12的內(nèi)部之間的連接。I2C驅(qū)動器件121的輸出端2皆與I2C從器件11、I2C從器件
12、I2C從器件13,...和I2C從器件Ia的一端相連接。第二,該I2C總線控制電路各部分功能。當I2C主器件11需要與任一個I2C器件組12的I2C從器件進行通信時,通過I2C主器件11為I2C器件組12的驅(qū)動器件分配的輸入輸出IO接口向I2C驅(qū)動器件發(fā)送使能信號,使得I2C驅(qū)動器件處于使能狀態(tài)。I2C主器件通過I2C主器件的I2C接口向使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),使能狀態(tài)的I2C驅(qū)動器件對數(shù)據(jù)進行處理,將處理后的數(shù)據(jù)向I2C器件組每一個I2C從器件發(fā)送。其中,I2C驅(qū)動器件對數(shù)據(jù)進行處理包括電平轉換和緩存。當每一個I2C從器件接收到處理后的數(shù)據(jù)后,將處理后的數(shù)據(jù)中的地址碼與自身的器件地址相比較;只有I2C從器件的器件地址與接收到的地址碼相同時,該I2C從器件才與I2C主器件進行通信。下面以I2C主器件11需要與I2C驅(qū)動器件121所在的I2C器件組12中的I2C從器件11進行通信為例來具體說明該I2C總線控制電路各部分功能。首先I2C主器件11通過與I2C驅(qū)動器件121的使能端EN相連接的10_1接口向I2C驅(qū)動器件121發(fā)送使能信號,使得I2C驅(qū)動器件處于使能狀態(tài)。而其他I2C器件組12中的I2C驅(qū)動器件,I2C驅(qū)動器件121、I2C驅(qū)動器件122、12C驅(qū)動器件123、...、I2C驅(qū)動器件12η處于關閉狀態(tài)。在本發(fā)明實施例中I2C主器件11只能向一個I2C驅(qū)動器件發(fā)送使能信號,不能同時向兩個以上的I2C驅(qū)動器件發(fā)送使能信號。也就是說,只有一個接收使能信號的I2C驅(qū)動器件處于使能狀態(tài),而其他I2C驅(qū)動器件處于關閉狀態(tài)。當I2C驅(qū)動器件121低電平觸發(fā)使能時,則I2C主器件11將與I2C驅(qū)動器件121對應的輸入輸出IO接口即10_1接口置為低電平,則I2C驅(qū)動器件121的使能端也為低電平,從而使得I2C驅(qū)動器件121處于使能狀態(tài);當I2C驅(qū)動器件121高電平觸發(fā)使能時,則所述I2C主器件將與所述驅(qū)動器件對應的輸入輸出IO接口即10_1置為高電平,則I2C驅(qū)動器件121的使能端也為高電平,從而使得I2C驅(qū)動器件121處于使能狀態(tài)。
然后,I2C主器件11通過I2C主器件的12C接口向使能狀態(tài)的I2C驅(qū)動器件121發(fā)送數(shù)據(jù),該數(shù)據(jù)包括地址碼,使能狀態(tài)的I2C驅(qū)動器件對數(shù)據(jù)進行處理后,將處理后的數(shù)據(jù)發(fā)送至與I2C驅(qū)動器件的輸出端相連接的每一個I2C從器件,即I2C從器件11、I2C從器件12、I2C從器件13,...和I2C從器件la。最后,當每一個I2C從器件,即I2C從器件11、I2C從器件12、I2C從器件13、...和I2C從器件Ia接收到處理后的數(shù)據(jù)后,將處理后的數(shù)據(jù)中的地址碼與自身的器件地址進行比較。當其中一個I2C從器件的器件地址與地址碼相同時,則該I2C從器件才與I2C主器件進行通信。比如,I2C從器件11的器件地址與接收到的地址碼相同,則I2C主器件對I2C從器件11進行讀操作或?qū)懖僮?。另外,I2C主器件11需要與其他的I2C器件組12中的I2C從器件進行通信時,與I2C主器件11需要與I2C驅(qū)動器件121所在的I2C器件組12中的I2C從器件11進行通信的過程大致相同,只是使能I2C驅(qū)動器件的IO不同而已,在這里不再贅述。因此,本發(fā)明實施例提供的內(nèi)部整合電路I2C總線控制電路,通過I2C主器件為I2C器件組的I2C驅(qū)動器件分配的輸入輸出IO接口向I2C驅(qū)動器件發(fā)送使能信號,使得I2C驅(qū)動器件處于使能狀態(tài),而其他I2C驅(qū)動器件處于關閉狀態(tài),通過I2C主器件的I2C接口向使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),使能狀態(tài)的I2C驅(qū)動器件對數(shù)據(jù)進行處理后,將處理后的數(shù)據(jù)向I2C器件組中每個不同種類的I2C從器件發(fā)送;每個I2C從器件接收到處理后的數(shù)據(jù)后,將I2C從器件的器件地址與處理后的數(shù)據(jù)中的地址碼進行比較;當I2C從器件的器件地址與所述地址碼相同時,則I2C從器件與所述I2C主器件進行通信,從而實現(xiàn)了利用I2C驅(qū)動器件將I2C主器件和I2C從器件進行隔離,提高了 I2C總線的驅(qū)動能力,還實現(xiàn)了用一個IO接口控制一個I2C驅(qū)動器件的使能端,且一個I2C驅(qū)動器件驅(qū)動不同種類的I2C從器件,從而大大提高了該I2C總線控制電路的可靠性。圖2為本發(fā)明實施例二提供的I2C總線控制方法的流程圖。該方法用于本發(fā)明實施例一提供的I2C總線控制電路 。如圖所示,本發(fā)明實施例具體包括:步驟210,當I2C主器件需要與任一個I2C器件組的I2C從器件進行通信時,通過I2C主器件為該I2C器件組的I2C驅(qū)動器件分配的輸入輸出IO接口向I2C驅(qū)動器件發(fā)送使能信號,使得該I2C驅(qū)動器件處于使能狀態(tài)。除了該I2C器件組以外的其他I2C器件組的I2C驅(qū)動器件處于關閉狀態(tài)。具體地,通過I2C主器件為I2C器件組的驅(qū)動器件分配的輸入輸出IO接口向I2C驅(qū)動器件發(fā)送使能信號,使得I2C驅(qū)動器件處于使能狀態(tài);當I2C驅(qū)動器件低電平觸發(fā)使能時,則I2C主器件將與驅(qū)動器件對應的輸入輸出IO接口置為低電平,則I2C驅(qū)動器件的使能端也為低電平,從而使得I2C驅(qū)動器件處于使能狀態(tài);當I2C驅(qū)動器件高電平觸發(fā)使能時,則I2C主器件將與驅(qū)動器件對應的輸入輸出IO接口置為高電平,則I2C驅(qū)動器件的使能端也為高電平,從而使得I2C驅(qū)動器件處于使能狀態(tài)。步驟220,I2C主器件通過I2C主器件的I2C接口向使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),使能狀態(tài)的I2C驅(qū)動器件對數(shù)據(jù)進行處理后,將處理后的數(shù)據(jù)向I2C器件組中每個I2C從器件發(fā)送。其中,每個I2C從器件的種類不同。其中,I2C驅(qū)動器件對數(shù)據(jù)進行處理具體包括對該數(shù)據(jù)進行電平轉換和緩存。
具體地,每個I2C從器件皆具有7位的器件地址,則屬于同一個I2C從器件組的每個I2C從器件的器件地址各不相同。比如,每個I2C從器件皆的器件地址的前4位代表該I2C從器件的種類,則屬于同一 I2C器件組中的各個I2C從器件的器件地址的前4位不同。步驟230,每個I2C從器件接收到處理后的數(shù)據(jù)后,將每個I2C從器件的器件地址與處理后的數(shù)據(jù)中的地址碼進行比較后,如果I2C從器件的器件地址與地址碼相同時,則該I2C從器件才與I2C主器件進行通信。因此,本發(fā)明實施例提供的內(nèi)部整合電路I2C總線控制方法,通過I2C主器件為I2C器件組的I2C驅(qū)動器件分配的輸入輸出IO接口向I2C驅(qū)動器件發(fā)送使能信號,使得I2C驅(qū)動器件處于使能狀態(tài),而其他I2C驅(qū)動器件處于關閉狀態(tài),通過I2C主器件的I2C接口向使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),使能狀態(tài)的I2C驅(qū)動器件對數(shù)據(jù)進行處理后,將處理后的數(shù)據(jù)向I2C器件組中每個不同種類的I2C從器件發(fā)送;每個I2C從器件接收到處理后的數(shù)據(jù)后,將I2C從器件的器件地址與處理后的數(shù)據(jù)中的地址碼進行比較;當I2C從器件的器件地址與所述地址碼相同時,則I2C從器件與所述I2C主器件進行通信,從而實現(xiàn)了利用I2C驅(qū)動器件將I2C主器件和I2C從器件進行隔離,提高了 I2C總線的驅(qū)動能力,還實現(xiàn)了用一個IO接口控制一個I2C驅(qū)動器件的使能端,且一個I2C驅(qū)動器件驅(qū)動不同種類的I2C從器件,從而大大提高了該I2C總線控制電路的可靠性。以上所述的具體實施方式
,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式
而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的技術方案范圍之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護 范圍之內(nèi)。
權利要求
1.一種內(nèi)部整合電路I2C總線控制電路,其特征在于,所述電路包括:I2C主器件、多個I2C器件組;所述I2C器件組包括I2C驅(qū)動器件和多個I2C從器件; 所述I2C主器件的I2C接口與所述多個I2C器件組中每個I2C驅(qū)動器件的第一端相連接;所述I2C主器件為所述每個I2C驅(qū)動器件分配的輸入輸出IO接口分別與對應的所述I2C驅(qū)動器件的使能端相連接; 所述每個I2C驅(qū)動器件的第二端與所述每個I2C驅(qū)動器件所在的所述I2C器件組中的多個I2C從器件相連接; 當所述I2C主器件需要與任一所述I2C器件組的所述I2C從器件進行通信時,通過所述I2C主器件為所述I2C器件組的所述I2C驅(qū)動器件分配的輸入輸出IO接口向所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài); 所述I2C主器件通過所述I2C主器件的I2C接口向所述使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),所述使能狀態(tài)的I2C驅(qū)動器件對所述數(shù)據(jù)進行處理,將所述處理后的數(shù)據(jù)向所述I2C器件組中每個所述I2C從器件發(fā)送; 所述每個I2C從器件將自身的器件地址與所述處理后的數(shù)據(jù)中的地址碼進行比較,如果所述I2C從器件的器件地址與所述地址碼相同,所述I2C從器件與所述I2C主器件進行通信。
2.根據(jù)權利要求1所述的I2C控制電路,其特征在于,所述多個I2C器件組中的每個I2C從器件的種類不同。
3.根據(jù)權利要求2所述的I2C控制電路,其特征在于,所述I2C器件組中每個I2C從器件均具有7位器件地址,所述器件地址不同。
4.根據(jù)權利要求1至3中任一項所述的I2C控制電路,其特征在于,所述I2C主器件具體用于向所述多個I2C器件組中的任一 I2C器件組的I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài);其他I2C器件組的I2C驅(qū)動器件處于關閉狀態(tài)。
5.一種內(nèi)部整合電路I2C總線控制方法,其特征在于,所述方法包括: 當所述I2C主器件需要與任一所述I2C器件組的所述I2C從器件進行通信時,通過所述I2C主器件為所述I2C器件組的所述I2C驅(qū)動器件分配的輸入輸出IO接口向所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài); 所述I2C主器件通過所述I2C主器件的I2C接口向所述使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),所述使能狀態(tài)的I2C驅(qū)動器件對所述數(shù)據(jù)進行處理后,將所述處理后的數(shù)據(jù)向所述I2C器件組中每個所述I2C從器件發(fā)送; 當所述每個I2C從器件將自身的器件地址與所述處理后的數(shù)據(jù)中的地址碼進行比較后,如果所述I2C從器件的器件地址與所述地址碼相同,所述I2C從器件與所述I2C主器件進行通信。
6.根據(jù)權利要求5所述的I2C總線控制方法,其特征在于,所述向所述I2C器件組的所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài)具體為: 通過所述I2C主器件為所述I2C器件組的所述驅(qū)動器件分配的輸入/輸出I/O接口向所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài); 當所述I2C驅(qū)動器件低電平觸發(fā)使能時,則所述I2C主器件將與所述驅(qū)動器件對應的輸入輸出IO接口置為低電平,則所述I2C驅(qū)動器件的使能端也為低電平,從而使得所述I2C驅(qū)動器件處于使能狀態(tài);當所述I2C驅(qū)動器件高電平觸發(fā)使能時,則所述I2C主器件將與所述驅(qū)動器件對應的輸入輸出IO接口置為高電平,則所述I2C驅(qū)動器件的使能端也為高電平,從而使得所述I2C驅(qū)動器件處于使能狀態(tài)。
7.根據(jù)權利要求5或6所述的I2C總線控制方法,其特征在于,所述向所述I2C器件組的所述I2C驅(qū)動器件發(fā)送使能信號,使得所述I2C驅(qū)動器件處于使能狀態(tài)還包括: 所述I2C主器件控制所述處于使能狀態(tài)的I2C驅(qū)動器件所在的所述I2C器件組之外的其他所述I2C器件組的I2C驅(qū)動器件處于關閉狀態(tài)。
8.根據(jù)權利要求5或6所述的I2C總線控制方法,其特征在于,所述使能狀態(tài)的I2C驅(qū)動器件對所述數(shù)據(jù)進行處理具體為: 對所述數(shù)據(jù)進行電平轉換和緩存。
9.根據(jù)權利要求5或6所述的I2C控制方法,其特征在于,所述I2C器件組中的每個I2C從器件的種類不同。
10.根據(jù)權利要求9所述的I2C控制方法,其特征在于,所述I2C器件組中每個I2C從器件皆具有7位的器件地址,所述器 件地址不同。
全文摘要
本發(fā)明涉及I2C總線控制電路和控制方法,該電路包括I2C主器件、多個I2C器件組;I2C器件組包括I2C驅(qū)動器件和多個I2C從器件;I2C主器件的I2C接口與I2C驅(qū)動器件連接;其IO接口與I2C驅(qū)動器件的使能端連接;I2C驅(qū)動器件的一端與多個I2C從器件連接;I2C主器件向I2C驅(qū)動器件發(fā)送使能信號;I2C主器件向使能狀態(tài)的I2C驅(qū)動器件發(fā)送數(shù)據(jù),I2C驅(qū)動器件對數(shù)據(jù)進行處理后向每個I2C從器件發(fā)送;如果I2C從器件的器件地址與地址碼相同,I2C從器件與I2C主器件進行通信。因此,本發(fā)明實現(xiàn)了I2C主器件控制每一個I2C驅(qū)動器的打開或關閉狀態(tài),提高了該I2C總線控制電路的可靠性。
文檔編號G06F13/20GK103229158SQ201280002933
公開日2013年7月31日 申請日期2012年11月23日 優(yōu)先權日2012年11月23日
發(fā)明者戰(zhàn)岳祥, 姚志強, 羅思 申請人:華為技術有限公司