Iic通信方法以及實(shí)現(xiàn)iic通信的嵌入式系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種實(shí)現(xiàn)IIC通信的嵌入式系統(tǒng),包括:主機(jī)、多個(gè)IIC器件、多路SDA線和單路SCL線;所述多個(gè)IIC器件中的每一個(gè)分別與所述多路SDA線中的一路連接;所述多個(gè)IIC器件中的每一個(gè)都與所述單路SCL線連接;所述主機(jī)通過(guò)所述多路SDA線和所述單路SCL線對(duì)所述多個(gè)IIC器件進(jìn)行操作,其中,當(dāng)通過(guò)所述單路SCL線向所述多個(gè)IIC器件提供SCL時(shí)序信號(hào)時(shí),所述主機(jī)根據(jù)所述SCL時(shí)序信號(hào)和所述多個(gè)IIC器件的地址信息通過(guò)所述多路SDA線向相應(yīng)的多個(gè)IIC器件傳送數(shù)據(jù)信號(hào)。本發(fā)明還提供了IIC通信方法。采用本發(fā)明,可以實(shí)現(xiàn)多路IIC同步通信并降低I/O線的數(shù)量。
【專利說(shuō)明】I IC通信方法以及實(shí)現(xiàn)I IC通信的嵌入式系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)通信【技術(shù)領(lǐng)域】,更具體地,涉及Iic通信方法及實(shí)現(xiàn)IIC通信的嵌入式系統(tǒng)。
【背景技術(shù)】
[0002]IIC芯片的通信除與電源、地線連接外,由時(shí)鐘信號(hào)線SCL及數(shù)據(jù)線SDA兩條線組成。IIC協(xié)議規(guī)定,器件如果有不同地址,可直接并聯(lián)掛接到該兩條總線上。
[0003]當(dāng)前嵌入式系統(tǒng)設(shè)計(jì)中,IIC器件種類多,功能強(qiáng)大,且有時(shí)會(huì)同時(shí)使用多片同種類型的IIC芯片。由于多路IIC芯片的邏輯關(guān)系處于平等地位,優(yōu)先級(jí)相同,不存在先后關(guān)系,甚至有的要求同時(shí)通信,這在傳統(tǒng)Iic通信機(jī)制下,如果多個(gè)器件并聯(lián)掛接到該兩條總線上,只能單路通信完畢后,切到下一通道,不能同步,存在時(shí)間差別,且總體通信速度低。
[0004]并且,有時(shí)Iic器件提供有限地址或僅僅一個(gè)地址,為簡(jiǎn)化設(shè)計(jì),多個(gè)相同器件模塊化設(shè)計(jì)時(shí),往往Iic器件的地址設(shè)計(jì)為同一地址,那么就不能多個(gè)器件并聯(lián)掛接在同一總線上,為解決同步通信及相同地址問(wèn)題,N個(gè)IIC器件意味著需要2N條嵌入式控制器I/
O口線,如圖1所示。
【發(fā)明內(nèi)容】
[0005]針對(duì)上述技術(shù)問(wèn)題,本發(fā)明提供了一種IIC通信方法及實(shí)現(xiàn)IIC通信的嵌入式系統(tǒng),使得既可以實(shí)現(xiàn)IIC同步通信又可以降低I/O 口線的數(shù)量。
[0006]根據(jù)本發(fā)明的一方面,提供了一種實(shí)現(xiàn)IIC通信的嵌入式系統(tǒng),包括:主機(jī)、多個(gè)IIC器件、多路SDA線和單路SCL線;
[0007]所述多個(gè)IIC器件中的每一個(gè)分別與所述多路SDA線中的一路連接;
[0008]所述多個(gè)IIC器件中的每一個(gè)都與所述單路SCL線連接;
[0009]所述主機(jī)通過(guò)所述多路SDA線和所述單路SCL線對(duì)所述多個(gè)IIC器件進(jìn)行操作,其中,當(dāng)通過(guò)所述單路SCL線向所述多個(gè)IIC器件提供SCL時(shí)序信號(hào)時(shí),所述主機(jī)根據(jù)所述SCL時(shí)序信號(hào)和所述多個(gè)IIC器件的地址信息通過(guò)所述多路SDA線向相應(yīng)的多個(gè)IIC器件傳送數(shù)據(jù)信號(hào)。
[0010]在可選實(shí)施例中,每一路SDA線上僅連接一個(gè)IIC器件,并且所述不同路SDA線上的多個(gè)IIC器件的地址相互之間可以相同或者不同。
[0011 ] 在可選實(shí)施例中,所述多個(gè)IIC器件為相同類型的IIC芯片。
[0012]在可選實(shí)施例中,所述多路SDA線中的至少一路SDA線上連接有兩個(gè)以上的IIC器件,并且所述兩個(gè)以上的IIC器件之間的地址互不相同;以及,所述主機(jī)根據(jù)所述SCL時(shí)序信號(hào)和IIC器件的地址信息向相應(yīng)的IIC器件傳送SDA時(shí)序信號(hào)。
[0013]在可選實(shí)施例中,所述IIC器件基于與所述SCL時(shí)序信號(hào)對(duì)應(yīng)的SDA時(shí)序信號(hào)執(zhí)行相應(yīng)的讀取操作或?qū)懭氩僮鳌?br>
[0014]在可選實(shí)施例中,所述主機(jī)接收IIC器件通過(guò)SDA線返回的應(yīng)答信號(hào);所述主機(jī)根據(jù)是否接收到IIC器件返回的應(yīng)答信號(hào)確定后續(xù)對(duì)應(yīng)答的IIC器件進(jìn)行操作或者生成報(bào)警維修信息。
[0015]根據(jù)本發(fā)明的另一方面,還提供了一種IIC通信方法,包括:
[0016]將多個(gè)IIC器件中的每一個(gè)分別與多路SDA線中的一路連接;
[0017]將多個(gè)IIC器件中的每一個(gè)都與同一路SCL線連接;
[0018]通過(guò)所述單路SCL線向所述多個(gè)IIC器件提供SCL時(shí)序信號(hào);
[0019]根據(jù)所述SCL時(shí)序信號(hào)和所述多個(gè)IIC器件的地址信息通過(guò)所述多路SDA線向相應(yīng)的多個(gè)IIC器件傳送數(shù)據(jù)信號(hào)。
[0020]在可選實(shí)施例中,每一路SDA線上僅連接一個(gè)IIC器件,并且所述不同路SDA線上的多個(gè)IIC器件的地址相互之間可以相同或者不同。
[0021]在可選實(shí)施例中,所述多個(gè)IIC器件為相同類型的IIC芯片。
[0022]在可選實(shí)施例中,所述多路SDA線中的至少一路SDA線上連接有兩個(gè)以上的IIC器件,并且所述兩個(gè)以上的IIC器件之間的地址互不相同;以及,根據(jù)所述SCL時(shí)序信號(hào)和Iic器件的地址信息向相應(yīng)的IIC器件傳送SDA時(shí)序信號(hào)。
[0023]本發(fā)明實(shí)施例的多路IIC同步通信方法采用單路SCL線向多個(gè)IIC器件提供SCL時(shí)序信號(hào),通過(guò)SCL線的復(fù)用使得可以僅使用N+1條I/O 口線來(lái)實(shí)現(xiàn)多路IIC同步通信,相比于現(xiàn)有技術(shù)中使用2N條I/O 口線,減少了所使用的I/O 口線的數(shù)量,并且可降低布線復(fù)雜度。此外,本發(fā)明的技術(shù)方案在通信整體速度上是單獨(dú)各路通信整體速度的N倍。
【專利附圖】
【附圖說(shuō)明】
[0024]圖1是現(xiàn)有技術(shù)的實(shí)現(xiàn)IIC同步通信的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖。
[0025]圖2是根據(jù)本發(fā)明一實(shí)施例的實(shí)現(xiàn)多路IIC同步通信的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖。
[0026]圖3是基于現(xiàn)有IIC標(biāo)準(zhǔn)通信協(xié)議的單主機(jī)與單從機(jī)實(shí)現(xiàn)IIC通信的時(shí)序信號(hào)示意圖。
[0027]圖4是圖2所示的嵌入式系統(tǒng)中單主機(jī)與多從機(jī)實(shí)現(xiàn)多路IIC同步通信的時(shí)序信號(hào)不意圖。
[0028]圖5是根據(jù)本發(fā)明另一實(shí)施例的實(shí)現(xiàn)多路IIC同步通信的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0029]下面結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步的說(shuō)明。
[0030]圖2是根據(jù)本發(fā)明一實(shí)施例的實(shí)現(xiàn)多路IIC同步通信的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,嵌入式系統(tǒng)包括主機(jī)、單路SCL線、3路SDA線以及3個(gè)IIC器件(也稱從機(jī))。3個(gè)IIC器件包括標(biāo)號(hào)為12的器件1、標(biāo)號(hào)為14的器件2以及標(biāo)號(hào)為16的器件3。單路SCL線與器件1、器件2和器件3中的每一個(gè)都連接,即SCL線可以復(fù)用。3路SDA線中,SDAl線與器件I連接,SDA2線與器件2連接,SDA3線與器件3連接。
[0031]主機(jī)20通過(guò)SDAl、SDA2和SDA3線和單路SCL線對(duì)器件1、器件2和器件3進(jìn)行操作。當(dāng)主機(jī)20通過(guò)單路SCL線向器件1、器件2和器件3提供SCL時(shí)序信號(hào)時(shí),主機(jī)20 根據(jù)SCL時(shí)序信號(hào)和多個(gè)IIC器件的地址信息通過(guò)所述多路SDA線向相應(yīng)的IIC器件傳送數(shù)據(jù)信號(hào)。
[0032]在一可選實(shí)施例中,將相同的IIC器件配置為具有相同地址,例如,器件1、器件2和器件3類型相同并且被配置為地址相同。這種同步通信機(jī)制優(yōu)選在通信內(nèi)容相同的情況下適用,例如多路存儲(chǔ)器、多路A/D轉(zhuǎn)換器、多路D/A轉(zhuǎn)換器和多路溫度傳感器等。
[0033]在另一可選實(shí)施例中,相同的IIC器件可以配置為具有互不相同的地址。例如,器件1、器件2和器件3類型相同但配置的地址不相同。這樣,主機(jī)20根據(jù)SCL時(shí)序信號(hào)和多個(gè)IIC器件的地址信息通過(guò)多路SDA線向相應(yīng)的IIC器件傳送數(shù)據(jù)信號(hào)。
[0034]當(dāng)通信內(nèi)容不相同時(shí),主機(jī)可以預(yù)先剔除不使用的IIC器件,然后與使用的IIC器件通過(guò)對(duì)應(yīng)的SDA線進(jìn)行通信。此外,該通信機(jī)制能夠隨時(shí)檢測(cè)無(wú)應(yīng)答的器件,例如,在主機(jī)向器件I通過(guò)SDAl線發(fā)送一個(gè)字節(jié)后,器件I會(huì)產(chǎn)生一個(gè)響應(yīng)位,并通過(guò)該SDAl線將響應(yīng)位傳送給主機(jī),如果主機(jī)沒(méi)有接收到該響應(yīng)位,則認(rèn)為器件I無(wú)應(yīng)答,因此后續(xù)不再操作對(duì)應(yīng)于器件I的SDA線或生成關(guān)于器件I的報(bào)警維修信息。
[0035]圖3是基于現(xiàn)有IIC標(biāo)準(zhǔn)通信協(xié)議的單主機(jī)與單從機(jī)實(shí)現(xiàn)IIC通信的時(shí)序信號(hào)示意圖。圖4是圖2所示的嵌入式系統(tǒng)中單主機(jī)與多從機(jī)實(shí)現(xiàn)多路IIC同步通信的時(shí)序信號(hào)示意圖。從圖4可以看出,在復(fù)用SCL線情況下,通過(guò)各路SDA線向器件1、器件2和器件3傳輸數(shù)據(jù)的節(jié)拍一致,實(shí)現(xiàn)了多路IIC同步通信。為了便于理解本發(fā)明技術(shù)方案,本實(shí)施例中僅示出了 3個(gè)IIC器件,然而本領(lǐng)域技術(shù)人員能夠理解IIC器件可以是根據(jù)需求設(shè)置的任意數(shù)量。在本實(shí)施例中,由于SCL線復(fù)用,因此僅需要N+1條I/O 口線;而且在通信整體速度上是單獨(dú)各路通信整體速度的N倍。
[0036]圖5是根據(jù)本發(fā)明另一實(shí)施例的實(shí)現(xiàn)多路IIC同步通信的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖。如圖5所示,該嵌入式系統(tǒng)包括主機(jī)、單路SCL線、3路SDA線以及4個(gè)IIC器件。4個(gè)IIC器件包括標(biāo)號(hào)為12的器件1、標(biāo)號(hào)為14的器件2、標(biāo)號(hào)為16的器件3以及標(biāo)號(hào)為18的器件4。在實(shí)施例中,器件1、器件2、器件3和器件4都與同一路SCL線連接;然而,器件I和器件2與SDAl線連接,器件3與SDA3線連接以及器件4與SDA4線連接。SCL線以及3路SDA線還與主機(jī)20連接。類似地,主機(jī)20可以通過(guò)SCL線向器件1、器件2、器件3和器件4提供SCL時(shí)序信號(hào)。連接在同一路SDA線(即SDAl線)上的器件I和器件2配置為地址信息不同。但器件I或2可以配置為與其他SDA線上的器件地址相同或不同,例如器件3和器件4。
[0037]例如在一實(shí)例中,將SDAl線上的器件I和器件2的地址配置為不相同,但將器件
1、器件3的地址配置為相同,且將器件2和器件4的地址配置為相同,那么主機(jī)可以是在通過(guò)單路SCL線向器件1、器件2、器件3和器件4提供SCL時(shí)序信號(hào)的同時(shí),基于多路通信需求,或根據(jù)器件I和器件3的地址信息通過(guò)SDAl線和SDA3線向器件I和器件3傳送數(shù)據(jù)信號(hào),或根據(jù)器件2和器件4的地址信息通過(guò)SDAl線和SDA4線向器件2和器件4傳送數(shù)據(jù)信號(hào),或根據(jù)器件I的地址信息、器件3的地址信息和器件4的地址信息分別通過(guò)SDAl線、SDA3線和SDA4線向器件1、器件3和器件4傳送數(shù)據(jù)信號(hào),或根據(jù)器件2的地址信息、器件3的地址信息和器件4的地址信息分別通過(guò)SDAl線、SDA3線和SDA4線向器件2、器件3和器件4傳送數(shù)據(jù)信號(hào)。
[0038]例如在其他可選實(shí)例中,可以將器件I和器件2的地址配置為不相同,但將器件3和器件4的地址配置為與器件I和器件2的地址中的任一個(gè)都不相同,或者,將器件3和器件4的地址配置為與器件I相同,或者配置為與器件2相同。
[0039]總的來(lái)說(shuō),在本實(shí)施例的實(shí)現(xiàn)多路IIC同步通信的嵌入式系統(tǒng)中,主機(jī)可以同時(shí)與不同SDA線上的器件通信,但每個(gè)SDA線上同時(shí)只有一個(gè)器件與主機(jī)通信。
[0040]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種多路IIC通信方法,包括:將多個(gè)IIC器件中的每一個(gè)分別與多路SDA線中的一路連接;將多個(gè)IIC器件中的每一個(gè)都與同一路SCL線連接;通過(guò)所述單路SCL線向所述多個(gè)IIC器件提供SCL時(shí)序信號(hào);根據(jù)所述SCL時(shí)序信號(hào)和所述多個(gè)IIC器件的地址信息通過(guò)所述多路SDA線向相應(yīng)的多個(gè)IIC器件傳送SDA時(shí)序信號(hào)。
[0041]可選地,可以是每一路SDA線上僅連接一個(gè)IIC器件,并且不同路SDA線上的多個(gè)IIC器件的地址可以相同,也可以不同??蛇x地,所述多個(gè)IIC器件為相同類型的IIC芯片。
[0042]可選地,所述多路SDA線中的至少一路SDA線上可連接有兩個(gè)以上的IIC器件,并且所述兩個(gè)以上的Iic器件之間的地址互不相同。在根據(jù)所述SCL時(shí)序信號(hào)和IIC器件的地址信息向相應(yīng)的IIC器件傳送SDA時(shí)序信號(hào)。
[0043]在本發(fā)明實(shí)施例中,主機(jī)在SCL時(shí)序的合適位置,同時(shí)操作多路I/O 口,產(chǎn)生多個(gè)SDA時(shí)序;而各路IIC器件分析當(dāng)前SCL時(shí)序信號(hào)節(jié)拍對(duì)應(yīng)的SDA時(shí)序信號(hào)的電平,做相應(yīng)的置高置低操作。從每個(gè)從設(shè)備節(jié)點(diǎn)(即各個(gè)單獨(dú)的器件)本身看來(lái),并不知道有其他設(shè)備的存在,其與主設(shè)備(即主機(jī))正常通信,不知其為多路IIC同步通信中的一路。
[0044]盡管本發(fā)明允許許多不同形式的實(shí)施例,但說(shuō)明書和附圖僅詳細(xì)描述了本發(fā)明的幾個(gè)可能的實(shí)施例。需要理解的是,本公開應(yīng)該視為對(duì)本發(fā)明原理的例示,并不是要將本發(fā)明限制為在所示例的實(shí)施例的范圍內(nèi)。在不脫離本發(fā)明的精神的情況下,本領(lǐng)域技術(shù)人員會(huì)想到許多變形,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)由所附權(quán)利要求書的內(nèi)容確定。
【權(quán)利要求】
1.一種實(shí)現(xiàn)Iic通信的嵌入式系統(tǒng),包括:主機(jī)、多個(gè)IIC器件、多路SDA線和單路SCL線.所述多個(gè)IIC器件中的每一個(gè)分別與所述多路SDA線中的一路連接; 所述多個(gè)IIC器件中的每一個(gè)都與所述單路SCL線連接; 所述主機(jī)通過(guò)所述多路SDA線和所述單路SCL線對(duì)所述多個(gè)IIC器件進(jìn)行操作,其中,當(dāng)通過(guò)所述單路SCL線向所述多個(gè)IIC器件提供SCL時(shí)序信號(hào)時(shí),所述主機(jī)根據(jù)所述SCL時(shí)序信號(hào)和所述多個(gè)IIC器件的地址信息通過(guò)所述多路SDA線向相應(yīng)的多個(gè)IIC器件傳送數(shù)據(jù)信號(hào)。
2.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng),其特征在于: 每一路SDA線上僅連接一個(gè)IIC器件,并且所述不同路SDA線上的多個(gè)IIC器件的地址相互之間相同或者不同。
3.根據(jù)權(quán)利要求2所述的嵌入式系統(tǒng),其特征在于,所述多個(gè)IIC器件為相同類型的IIC芯片。
4.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng),其特征在于: 所述多路SDA線中的至少一路SDA線上連接有兩個(gè)以上的IIC器件,并且所述兩個(gè)以上的IIC器件之間的地址互不相同; 所述主機(jī)根據(jù)所述SCL時(shí)序信號(hào)和IIC器件的地址信息向相應(yīng)的IIC器件傳送SDA時(shí)序信號(hào)。
5.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng),其特征在于, 所述Iic器件基于與所述SCL時(shí)序信號(hào)對(duì)應(yīng)的SDA時(shí)序信號(hào)執(zhí)行相應(yīng)的讀取操作或?qū)懭氩僮鳌?br>
6.根據(jù)權(quán)利要求5所述的嵌入式系統(tǒng),其特征在于,所述主機(jī)接收IIC器件通過(guò)SDA線返回的應(yīng)答信號(hào); 所述主機(jī)根據(jù)是否接收到IIC器件返回的應(yīng)答信號(hào)確定后續(xù)對(duì)應(yīng)答的IIC器件進(jìn)行操作或者生成報(bào)警維修信息。
7.一種IIC通信方法,包括: 將多個(gè)IIC器件中的每一個(gè)分別與多路SDA線中的一路連接; 將多個(gè)IIC器件中的每一個(gè)都與同一路SCL線連接; 通過(guò)所述單路SCL線向所述多個(gè)IIC器件提供SCL時(shí)序信號(hào); 根據(jù)所述SCL時(shí)序信號(hào)和所述多個(gè)IIC器件的地址信息通過(guò)所述多路SDA線向相應(yīng)的多個(gè)IIC器件傳送SDA時(shí)序信號(hào)。
8.根據(jù)權(quán)利要求7所述的IIC通信方法,其特征在于, 每一路SDA線上僅連接一個(gè)IIC器件,并且所述不同路SDA線上的多個(gè)IIC器件相互之間相同或者不同。
9.根據(jù)權(quán)利要求8所述的IIC通信方法,其特征在于,所述多個(gè)IIC器件為相同類型的IIC芯片。
10.根據(jù)權(quán)利要求7所述的IIC通信方法,其特征在于: 所述多路SDA線中的至少一路SDA線上連接有兩個(gè)以上的IIC器件,并且所述兩個(gè)以上的IIC器件之間的地址互不相同;根據(jù)所述SCL時(shí)序信號(hào)和IIC器件的地址信息向相應(yīng)的IIC器件傳送SDA時(shí)序信號(hào)。
【文檔編號(hào)】G06F13/38GK104199796SQ201410478144
【公開日】2014年12月10日 申請(qǐng)日期:2014年9月18日 優(yōu)先權(quán)日:2014年9月18日
【發(fā)明者】王維奎, 陳軍生 申請(qǐng)人:歌爾聲學(xué)股份有限公司