I2c設(shè)備通信方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供了一種I2C設(shè)備通信方法及系統(tǒng),其中,所述I2C設(shè)備通信方法用于多個(gè)I2C設(shè)備之間的數(shù)據(jù)傳輸,所述多個(gè)I2C設(shè)備中數(shù)據(jù)發(fā)送方在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。多個(gè)I2C設(shè)備之間在傳輸數(shù)據(jù)之前,數(shù)據(jù)發(fā)送方先傳輸一開(kāi)始通信信息,避免了所述多個(gè)I2C設(shè)備中數(shù)據(jù)接收方的數(shù)據(jù)被錯(cuò)誤的改寫(xiě),提高了數(shù)據(jù)傳輸?shù)挠行院桶踩浴?br>【專(zhuān)利說(shuō)明】
12G設(shè)備通信方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其是一種I2C設(shè)備通信方法及系統(tǒng)。
【背景技術(shù)】
[0002]在嵌入式項(xiàng)目中,經(jīng)常會(huì)用到I2C(Inter_Integrated Circuit)總線。I2C總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線(包括時(shí)鐘信號(hào)線及數(shù)據(jù)信號(hào)線),用于連接微控制器及其外圍設(shè)備,是微電子通信領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開(kāi)發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤(pán)、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。
[0003]I2C總線自問(wèn)世以來(lái),因其具有接口線小、控制方式簡(jiǎn)單、器件封裝形式小、通信速率較高等優(yōu)點(diǎn),而備受各企業(yè)的青睞。
[0004]當(dāng)前,在服務(wù)器主板上一般會(huì)運(yùn)用I2C總線將外圍設(shè)備連接到系統(tǒng)上。但是在實(shí)現(xiàn)外圍設(shè)備與所述主板的通信過(guò)程中,外圍設(shè)備中的I2C存儲(chǔ)器中的數(shù)據(jù)有可能被錯(cuò)誤的改寫(xiě)掉,從而降低了數(shù)據(jù)傳輸?shù)挠行院桶踩浴?br>
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種I2C設(shè)備通信方法及系統(tǒng),以解決I2C設(shè)備中存儲(chǔ)的數(shù)據(jù)被錯(cuò)誤改寫(xiě)的問(wèn)題,從而提高數(shù)據(jù)傳輸?shù)挠行浴?br>[0006]為了達(dá)到上述目的,本發(fā)明提供了一種I2C設(shè)備通信方法及系統(tǒng),其中,所述I2C設(shè)備通信方法用于多個(gè)I2C設(shè)備之間的數(shù)據(jù)傳輸,所述多個(gè)I2C設(shè)備中數(shù)據(jù)發(fā)送方在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。
[0007]優(yōu)選的,在上述的I2C設(shè)備通信方法中,所述開(kāi)始通信信息包括一第一字節(jié)和一第二字節(jié),所述第一字節(jié)為00000000,所述第二字節(jié)為00000001。
[0008]優(yōu)選的,在上述的I2C設(shè)備通信方法中,在傳輸所述開(kāi)始通信信息時(shí),先傳輸所述第一字節(jié),再傳輸所述第二字節(jié)。
[0009]優(yōu)選的,在上述的I2C設(shè)備通信方法中,用于I2C主控器與I2C被控器之間的數(shù)據(jù)傳輸。
[0010]優(yōu)選的,在上述的I2C設(shè)備通信方法中,用于多個(gè)I2C主控器之間的數(shù)據(jù)傳輸。
[0011]優(yōu)選的,在上述的I2C設(shè)備通信方法中,用于多個(gè)I2C主控器之間以及I2C主控器與I2C被控器之間的數(shù)據(jù)傳輸。
[0012]優(yōu)選的,在上述的I2C設(shè)備通信方法中,當(dāng)多個(gè)所述I2C主控器之間進(jìn)行數(shù)據(jù)傳輸時(shí),若一數(shù)據(jù)接收方未收到所述開(kāi)始通信信息時(shí),則所述數(shù)據(jù)接收方放棄數(shù)據(jù)發(fā)送方傳輸?shù)臄?shù)據(jù)。
[0013]本發(fā)明還提供了一種I2C設(shè)備通信系統(tǒng),包括多個(gè)I2C設(shè)備,所述多個(gè)I2C設(shè)備中數(shù)據(jù)發(fā)送方在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。
[0014]優(yōu)選的,在上述的I2C設(shè)備通信系統(tǒng)中,所述開(kāi)始通信信息包括一第一字節(jié)和一第二字節(jié),所述第一字節(jié)為00000000,所述第二字節(jié)為00000001。
[0015]優(yōu)選的,在上述的I2C設(shè)備通信系統(tǒng)中,在傳輸所述開(kāi)始通信信息時(shí),先傳輸所述第一字節(jié),再傳輸所述第二字節(jié)。
[0016]優(yōu)選的,在上述的I2C設(shè)備通信系統(tǒng)中,所述I2C設(shè)備包括至少一I2C被控器和至少一 12C主控器。
[0017]優(yōu)選的,在上述的I2C設(shè)備通信系統(tǒng)中,所述I2C設(shè)備包括多個(gè)I2C主控器。
[0018]優(yōu)選的,在上述的I2C設(shè)備通信系統(tǒng)中,當(dāng)多個(gè)所述I2C主控器之間進(jìn)行數(shù)據(jù)傳輸時(shí),若數(shù)據(jù)接收方未收到所述開(kāi)始通信信息,則所述數(shù)據(jù)接收方放棄數(shù)據(jù)發(fā)送方傳輸?shù)臄?shù)據(jù)。
[0019]在本發(fā)明提供的I2C設(shè)備通信方法及系統(tǒng)中,多個(gè)I2C設(shè)備之間在傳輸數(shù)據(jù)之前,所述多個(gè)I2C設(shè)備中的數(shù)據(jù)發(fā)送方先傳輸一開(kāi)始通信信息,避免了 I2C設(shè)備中數(shù)據(jù)接收方的數(shù)據(jù)被錯(cuò)誤的改寫(xiě),提高了數(shù)據(jù)傳輸?shù)挠行院桶踩浴?br>【附圖說(shuō)明】
[0020]圖1為本發(fā)明實(shí)施例一中I2C設(shè)備通信系統(tǒng)的示意圖;
[0021]圖2為本發(fā)明實(shí)施例二中I2C設(shè)備通信系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0022]下面將結(jié)合示意圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行更詳細(xì)的描述。根據(jù)下列描述和權(quán)利要求書(shū),本發(fā)明的優(yōu)點(diǎn)和特征將更清楚。需說(shuō)明的是,附圖均采用非常簡(jiǎn)化的形式且均使用非精準(zhǔn)的比例,僅用以方便、明晰地輔助說(shuō)明本發(fā)明實(shí)施例的目的。
[0023]實(shí)施例一
[0024]本發(fā)明實(shí)施例提供了一種I2C設(shè)備通信系統(tǒng),如圖1所示,包括多個(gè)I2C設(shè)備,所述多個(gè)I2C設(shè)備之間在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。所述I2C設(shè)備包括I2C被控器和至少一 I2C主控器。所述I2C被控器和至少一個(gè)I2C主控器之間通過(guò)I2C總線進(jìn)行數(shù)據(jù)傳輸。
[0025]所述I2C設(shè)備包括一個(gè)I2C主控器以及多個(gè)I2C被控器,所述I2C主控器和多個(gè)I2C被控器之間通過(guò)I2C總線進(jìn)行數(shù)據(jù)傳輸。也就是說(shuō)當(dāng)是一個(gè)I2C主控器和多個(gè)I2C被控器之間進(jìn)行數(shù)據(jù)傳輸時(shí),在所述I2C主控器和多個(gè)I2C被控器在進(jìn)行數(shù)據(jù)傳輸之前,所述I2C主控器將以廣播的形式先發(fā)送一開(kāi)始通信信息,并在所述開(kāi)始通信信息之后進(jìn)行數(shù)據(jù)傳輸。
[0026]進(jìn)一步的,所述開(kāi)始通信信息包括一第一字節(jié)和一第二字節(jié),所述I2C主控器以廣播的形式先發(fā)送所述第一字節(jié),然后再發(fā)送所述第二字節(jié),所述第一字節(jié)為00000000,所述第二字節(jié)為00000001。由于所述第一字節(jié)和第二字節(jié)均是以廣播的形式發(fā)出,所以所述I2C設(shè)備通信系統(tǒng)中的I2C被控器均作好接收數(shù)據(jù)的準(zhǔn)備,且無(wú)需返回?cái)?shù)據(jù)包給所述I2C主控器。緊接著所述I2C主控器發(fā)送出需要傳輸?shù)臄?shù)據(jù),所述需要傳輸?shù)臄?shù)據(jù)中包括接收該需要傳輸?shù)臄?shù)據(jù)的I2C被控器的地址,該地址所對(duì)應(yīng)的I2C被控器開(kāi)始接收數(shù)據(jù),而其他I2C被控器則忽略所述需要傳輸?shù)臄?shù)據(jù)。
[0027]本實(shí)施例還提供了一種I2C設(shè)備通信方法,用于多個(gè)I2C設(shè)備之間的數(shù)據(jù)通傳輸,所述多個(gè)I2C設(shè)備之間在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。
[0028]具體的,所述I2C設(shè)備包括至少一I2C被控器和至少一I2C主控器。在本實(shí)施例中,所述I2C設(shè)備包括一個(gè)I2C主控器以及多個(gè)I2C被控器,也就是說(shuō),在一個(gè)I2C主控器和多個(gè)I2C被控器之間進(jìn)行數(shù)據(jù)傳輸,在所述I2C主控器和多個(gè)I2C被控器在進(jìn)行數(shù)據(jù)傳輸之前,所述I2C主控器將以廣播的形式先發(fā)送一開(kāi)始通信信息,并在所述開(kāi)始通信信息之后進(jìn)行數(shù)據(jù)傳輸。
[0029]進(jìn)一步的,所述開(kāi)始通信信息包括第一字節(jié)和第二字節(jié),所述I2C主控器以廣播的形式先發(fā)送所述第一字節(jié),然后再發(fā)送所述第二字節(jié),所述第一字節(jié)為00000000,所述第二字節(jié)為00000001。由于所述第一字節(jié)和第二字節(jié)均是以廣播的形式發(fā)出,所以所述I2C設(shè)備通信系統(tǒng)中的I2C被控器均作好接收數(shù)據(jù)的準(zhǔn)備,且無(wú)需返回?cái)?shù)據(jù)包給所述I2C主控器。緊接著所述I2C主控器發(fā)送出需要傳輸?shù)臄?shù)據(jù),所述需要傳輸?shù)臄?shù)據(jù)中包括接收該需要傳輸?shù)臄?shù)據(jù)的I2C被控器的地址,該地址所對(duì)應(yīng)的I2C被控器開(kāi)始接收數(shù)據(jù),而其他I2C被控器則忽略所述需要傳輸?shù)臄?shù)據(jù)。
[0030]在本發(fā)明的其他實(shí)施例中,還可以是多個(gè)I2C主控器同時(shí)與一個(gè)I2C被控器之間進(jìn)行數(shù)據(jù)傳輸,此時(shí),要求所述I2C被控器為多端口被控器。同時(shí),所述多個(gè)I2C主控器之間也可以進(jìn)行數(shù)據(jù)傳輸,所述多個(gè)I2C主控器之間進(jìn)行數(shù)據(jù)傳輸?shù)倪^(guò)程如下的實(shí)施例二中所述。
[0031]實(shí)施例二
[0032]本發(fā)明實(shí)施例提供了一種I2C設(shè)備通信系統(tǒng),如圖2所示,包括多個(gè)I2C設(shè)備,所述多個(gè)I2C設(shè)備之間在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。所述多個(gè)I2C設(shè)備之間通過(guò)I2C總線進(jìn)行數(shù)據(jù)傳輸。
[0033]所述I2C設(shè)備包括多個(gè)I2C主控器,而不包括I2C被控器時(shí),也就是說(shuō),當(dāng)需要在多個(gè)I2C主控器之間進(jìn)行數(shù)據(jù)傳輸時(shí),如同實(shí)施例一一樣,在所述多個(gè)I2C主控器之間進(jìn)行數(shù)據(jù)傳輸之前,也需要發(fā)送所述開(kāi)始通信信息,所述開(kāi)始通信信息包括第一字節(jié)和第二字節(jié),所述第一字節(jié)為00000000,所述第二字節(jié)為00000001,并且也是先發(fā)送所述第一字節(jié),然后在發(fā)送所述第二字節(jié)。進(jìn)一步的,所述第二字節(jié)即為I2C協(xié)議中的START BYTE。所述I2C主控器也是以廣播的形式將所述開(kāi)始通信信息發(fā)送出去,以通知其他I2C主控器作好接收數(shù)據(jù)的準(zhǔn)備。緊接著所述I2C主控器發(fā)送出需要傳輸?shù)臄?shù)據(jù),所述需要傳輸?shù)臄?shù)據(jù)中包括接收該需要傳輸?shù)臄?shù)據(jù)的I2C主控器的地址,該地址所對(duì)應(yīng)的I2C主控器開(kāi)始接收數(shù)據(jù),而其他I2C主控器則忽略所述需要傳輸?shù)臄?shù)據(jù)。當(dāng)該地址所對(duì)應(yīng)的I2C主控器未接收到所述開(kāi)始通信信息時(shí),該地址所對(duì)應(yīng)的I2C主控器將忽略所述需要傳輸?shù)臄?shù)據(jù)。因此,當(dāng)所述I2C設(shè)備包括多個(gè)I2C主控器時(shí),可以理解為所述多個(gè)I2C主控器之間是以一種加密的方式來(lái)傳輸所述需要傳輸?shù)臄?shù)據(jù),而所述開(kāi)始通信信息即為加密的密碼,從而保證了數(shù)據(jù)的安全性和有效性。
[0034]本實(shí)施例還提供了一種I2C設(shè)備通信方法,用于多個(gè)I2C設(shè)備之間的數(shù)據(jù)通傳輸,所述多個(gè)I2C設(shè)備之間在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。
[0035]所述I2C設(shè)備包括多個(gè)I2C主控器,而不包括I2C被控器,也就是說(shuō),需要在多個(gè)I2C主控器之間進(jìn)行數(shù)據(jù)傳輸,在所述多個(gè)I2C主控器之間進(jìn)行數(shù)據(jù)傳輸之前,也需要發(fā)送所述開(kāi)始通信信息,并且也是先發(fā)送所述第一字節(jié),然后在發(fā)送所述第二字節(jié)。所述I2C主控器也是以廣播的形式將所述開(kāi)始通信信息發(fā)送出去,以通知其他I2C主控器作好接收數(shù)據(jù)的準(zhǔn)備。緊接著所述I2C主控器發(fā)送出需要傳輸?shù)臄?shù)據(jù),所述需要傳輸?shù)臄?shù)據(jù)中包括接收該需要傳輸?shù)臄?shù)據(jù)的I2C主控器的地址,該地址所對(duì)應(yīng)的I2C主控器開(kāi)始接收數(shù)據(jù),而其他I2C主控器則忽略所述需要傳輸?shù)臄?shù)據(jù)。當(dāng)該地址所對(duì)應(yīng)的I2C主控器未接收到所述開(kāi)始通信信息時(shí),該地址所對(duì)應(yīng)的I2C主控器將忽略所述需要傳輸?shù)臄?shù)據(jù)。因此,當(dāng)所述I2C設(shè)備包括多個(gè)I2C主控器時(shí),可以理解為所述多個(gè)I2C主控器之間是以一種加密的方式來(lái)傳輸所述需要傳輸?shù)臄?shù)據(jù),而所述開(kāi)始通信信息即為加密的密碼,從而保證了數(shù)據(jù)的安全性和有效性。
[0036]綜上,在本發(fā)明實(shí)施例提供的I2C設(shè)備通信方法及系統(tǒng)中,多個(gè)I2C設(shè)備之間在傳輸數(shù)據(jù)之前,所述多個(gè)I2C設(shè)備中的數(shù)據(jù)發(fā)送方先傳輸一開(kāi)始通信信息,避免了所述多個(gè)I2C設(shè)備中數(shù)據(jù)接收方的數(shù)據(jù)被錯(cuò)誤的改寫(xiě),提高了數(shù)據(jù)傳輸?shù)挠行院桶踩浴?br>[0037]上述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不對(duì)本發(fā)明起到任何限制作用。任何所屬技術(shù)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的技術(shù)方案的范圍內(nèi),對(duì)本發(fā)明揭露的技術(shù)方案和技術(shù)內(nèi)容做任何形式的等同替換或修改等變動(dòng),均屬未脫離本發(fā)明的技術(shù)方案的內(nèi)容,仍屬于本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種I2C設(shè)備通信方法,用于多個(gè)I2C設(shè)備之間的數(shù)據(jù)傳輸,其特征在于,所述多個(gè)I2C設(shè)備中數(shù)據(jù)發(fā)送方在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。2.如權(quán)利要求1所述的I2C設(shè)備通信方法,其特征在于,所述開(kāi)始通信信息包括一第一字節(jié)和一第二字節(jié),所述第一字節(jié)為00000000,所述第二字節(jié)為00000001。3.如權(quán)利要求2所述的I2C設(shè)備通信方法,其特征在于,在傳輸所述開(kāi)始通信信息時(shí),先傳輸所述第一字節(jié),再傳輸所述第二字節(jié)。4.如權(quán)利要求1所述的I2C設(shè)備通信方法,其特征在于,用于I2C主控器與I2C被控器之間的數(shù)據(jù)傳輸。5.如權(quán)利要求1所述的I2C設(shè)備通信方法,其特征在于,用于多個(gè)I2C主控器之間的數(shù)據(jù)傳輸。6.如權(quán)利要求1所述的I2C設(shè)備通信方法,其特征在于,用于多個(gè)I2C主控器之間以及I2C主控器與I2C被控器之間的數(shù)據(jù)傳輸。7.如權(quán)利要求5或6所述的I2C設(shè)備通信方法,其特征在于,當(dāng)多個(gè)所述I2C主控器之間進(jìn)行數(shù)據(jù)傳輸時(shí),若一數(shù)據(jù)接收方未收到所述開(kāi)始通信信息,則所述數(shù)據(jù)接收方放棄數(shù)據(jù)發(fā)送方傳輸?shù)臄?shù)據(jù)。8.—種I2C設(shè)備通信系統(tǒng),其特征在于,包括多個(gè)I2C設(shè)備,所述多個(gè)I2C設(shè)備中數(shù)據(jù)發(fā)送方在傳輸數(shù)據(jù)之前,先傳輸一開(kāi)始通信信息。9.如權(quán)利要求8所述的I2C設(shè)備通信系統(tǒng),其特征在于,所述開(kāi)始通信信息包括一第一字節(jié)和一第二字節(jié),所述第一字節(jié)為00000000,所述第二字節(jié)為00000001。10.如權(quán)利要求9所述的I2C設(shè)備通信系統(tǒng),其特征在于,在傳輸所述開(kāi)始通信信息時(shí),先傳輸所述第一字節(jié),再傳輸所述第二字節(jié)。11.如權(quán)利要求8所述的12C設(shè)備通信系統(tǒng),其特征在于,所述12C設(shè)備包括至少一12C被控器和至少一 I2C主控器。12.如權(quán)利要求8所述的12C設(shè)備通信系統(tǒng),其特征在于,所述12C設(shè)備包括多個(gè)12C主控器。13.如權(quán)利要求12所述的I2C設(shè)備通信系統(tǒng),其特征在于,當(dāng)多個(gè)所述I2C主控器之間進(jìn)行數(shù)據(jù)傳輸時(shí),若數(shù)據(jù)接收方未收到所述開(kāi)始通信信息,則所述數(shù)據(jù)接收方放棄數(shù)據(jù)發(fā)送方傳輸?shù)臄?shù)據(jù)。
【文檔編號(hào)】G06F13/42GK105975425SQ201610278189
【公開(kāi)日】2016年9月28日
【申請(qǐng)日】2016年4月28日
【發(fā)明人】施敏捷
【申請(qǐng)人】英業(yè)達(dá)科技有限公司, 英業(yè)達(dá)股份有限公司