h1_key

當(dāng)前位置:首頁 >新聞資訊 > 技術(shù)文章>I2C基礎(chǔ)知識介紹
I2C基礎(chǔ)知識介紹
2023-04-24 5734次

  I2C是什么?

  在消費電子和工業(yè)電子等領(lǐng)域中,會使用各種類型的芯片,有時需要快速地進行數(shù)據(jù)交互,為了使用最簡單的方式使這些芯片互聯(lián)互通,于是I2C誕生了。I2C(Inter-Integrated Circuit)是一種通用的總線協(xié)議。它是Philips公司半導(dǎo)體事業(yè)部(現(xiàn)在的NXP)在80年代初為方便主板、嵌入式系統(tǒng)設(shè)計的一種簡單、雙向二線制同步串行總線。由于其簡單性,它被廣泛用于微控制器與傳感器陣列、顯示器、IoT設(shè)備、EEPROM等之間的通信。I2C的專利在2006年11月1日已到期,大家可以免費使用。

  對于硬件工程師來說,只需要2個管腳,極少的連接線和面積,就可以實現(xiàn)芯片間的通信,對于軟件設(shè)計人員來說,可以使用同一個I2C驅(qū)動庫,來實現(xiàn)不同器件的驅(qū)動,大大減少了軟件的開發(fā)時間。極低的工作電流,降低了系統(tǒng)的功耗,完善的應(yīng)答機制大大增強了通信的可靠性。



  I2C總線的介紹

  

 

  I2C總線概述

  I2C總線采用兩條線路——串行數(shù)據(jù)(SDA)和串行時鐘(SCL)線在連接到總線的器件間傳遞信息。每個器件都有一個唯一的地址識別,而且都可以作為一個發(fā)送器或接收器(由器件的功能決定)。比如,在系統(tǒng)中LCD驅(qū)動器只是一個接收器,而存儲器則既可以接收又可以發(fā)送數(shù)據(jù)。除了發(fā)送器和接收器外,器件在執(zhí)行數(shù)據(jù)傳輸時也可以被看作是主機或從機。主機是初始化總線的數(shù)據(jù)傳輸并產(chǎn)生允許傳輸?shù)臅r鐘信號的器件。此時,任何被尋址的器件都被認(rèn)為是從機。


  I2C總線特點

  ●它是一個支持多器件的總線。在一個I2C通信總線中,可連接多個I2C通信器件,支持多個通信主機及多個通信從機。

  ●SDA和SCL都是雙向線路,都通過一個電流源或上拉電阻連接到正的電源電壓(見下圖),當(dāng)總線空閑時,兩條線路上都是高電平。連接到總線的器件輸出級必須是漏極開路或集電極開路才能執(zhí)行線與的功能。

  ●多個主機同時使用總線時,為了防止數(shù)據(jù)沖突,會利用仲裁方式?jīng)Q定由哪個器件占用總線。在I2C總線上產(chǎn)生時鐘信號通常是主機器件的責(zé)任。當(dāng)在總線上傳輸數(shù)據(jù)時,每個主機產(chǎn)生自己的時鐘信號。主機發(fā)出的總線時鐘信號只有在以下的情況才能被改變:慢速地從機器件控制時鐘線并延長時鐘信號,或者在發(fā)生仲裁時被另一個主機改變。

  


 

  I2C總線基礎(chǔ)知識

  I2C總線通信的常識與術(shù)語


  常識

  ●多主機總線,如果兩個或更多主機同時初始化,數(shù)據(jù)傳輸可以通過重提檢測和仲裁防止數(shù)據(jù)被破壞。

  ●串行的8bit雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s。

  ●連接到相同I2C總線的器件數(shù)量只受到總線的最大電容400pF的限制。

  ●I2C通信的數(shù)據(jù)以8bit為單位,每次發(fā)送完一個數(shù)據(jù)都要等待接收方的ACK信號。


  術(shù)語

  發(fā)送器:發(fā)送數(shù)據(jù)到總線的器件。

  接收器:從總線接收數(shù)據(jù)的器件。

  主機:發(fā)送起始/終止信號和時鐘信號的器件。

  從機:被主機尋址的器件。

  仲裁:是一個在有多個主機同時嘗試控制總線但只允許其中一個控制總線并使傳輸不被破壞的過程。

  同步:兩個或多個器件同步時鐘信號的過程。

  SDA:數(shù)據(jù)線通信期間,SDA的電平改變只能發(fā)生在SCL在低電平期間。

  SCL:時鐘線。

  

 


  I2C總線通信中共有以下幾種狀態(tài)

  ●空閑狀態(tài):SDA和SCL兩條信號線同時處于高電平。

  ●起始狀態(tài):SCL為高電平,SDA由高電平到低電平。起始信號由主控器發(fā)起,發(fā)起前處于空閑狀態(tài)。

  ●結(jié)束狀態(tài):SCL為高電平,SDA由低電平到高電平。結(jié)束信號由主控器發(fā)起,發(fā)起后處于空閑狀態(tài)。

  


 

  有效的數(shù)據(jù)位傳輸:

  在I2C總線上傳送的每一位數(shù)據(jù)都有一個時鐘脈沖相對應(yīng)(或同步控制),即在SCL串行時鐘的配合下,數(shù)據(jù)在SDA上從高位向低位依次串行傳送每一位的數(shù)據(jù)。

  進行數(shù)據(jù)傳送時,在SCL呈現(xiàn)高電平期間,SDA上的電平必須保持穩(wěn)定,低電平為數(shù)據(jù)0,高電平為數(shù)據(jù)1。只有在SCL為低電平期間,才允許SDA上的電平改變狀態(tài)。

  應(yīng)答信號與非應(yīng)答信號:

  I2C總線上的所有數(shù)據(jù)都是以8位字節(jié)傳送的,發(fā)送器每發(fā)送一個字節(jié),就在第9個時鐘脈沖期間釋放數(shù)據(jù)線,由接收器反饋一個應(yīng)答信號。應(yīng)答信號為低電平時,規(guī)定為有效應(yīng)答位(ACK簡稱應(yīng)答位),表示接收器已經(jīng)成功地接收了該字節(jié);應(yīng)答信號為高電平時,規(guī)定為非應(yīng)答位(NACK),一般表示接收器接收該字節(jié)沒有成功。對于反饋有效應(yīng)答位ACK的要求是,接收器在第9個時鐘脈沖之前的低電平期間將SDA線拉低,并且確保在該時鐘的高電平期間為穩(wěn)定的低電平。

  

 

  關(guān)于I2C總線的基礎(chǔ)知識大概介紹到這里,I2C總線經(jīng)過這么多年行業(yè)應(yīng)用已非常廣泛,下面我們就來聊下大家所關(guān)心的I2C總線的應(yīng)用。


  I2C總線的應(yīng)用

  I2C總線的主要用途

  用于與顯示器件的對接:通過I2C總線,可以使處理器和顯示器件之間的交互更加方便與快捷,實現(xiàn)更加智能化的人機交互控制。

  用于外圍芯片的接口:I2C總線可以和可編程的外圍芯片進行對接,如定時器,繼電器和存儲器等,可以大大減少數(shù)據(jù)通信和控制電路的連接線數(shù)量,降低系統(tǒng)復(fù)雜度,節(jié)省成本。

  用于傳感器的接口:I2C總線可以實現(xiàn)各種類型的傳感器和微處理器或微控制器之間的高速通信,從而可以實現(xiàn)復(fù)雜的控制系統(tǒng),以及實時監(jiān)測系統(tǒng)狀態(tài)。

  用于模擬和數(shù)字芯片的接口:I2C總線用于主機與模擬和數(shù)字芯片之間的數(shù)據(jù)傳輸,同時也可以實現(xiàn)外設(shè)和外設(shè)之間的快速傳輸,這種鏈路通信方式有助于滿足系統(tǒng)各部分通信協(xié)作和控制需求。

  用于系統(tǒng)間的擴展:I2C總線可以連接兩個或者更多的系統(tǒng),實現(xiàn)系統(tǒng)間的快速擴展,避免系統(tǒng)因拓?fù)浣Y(jié)構(gòu)問題而出現(xiàn)混亂情況。比如:GPIO擴展、電平轉(zhuǎn)換、系統(tǒng)熱插拔緩沖等等。


  I2C總線的使用注意事項

  I2C總線不支持多級主機,只支持單級,只有一個主機可以激活總線,這個主機負(fù)責(zé)控制和管理,總線的數(shù)據(jù)傳輸,多個主機存在時,只能有一個處于激活狀態(tài),其他主機要進行數(shù)據(jù)通信時,必須先通知當(dāng)前主機放權(quán),再等待放權(quán)成功后才能激活。

  I2C總線只支持先進先出等單向數(shù)據(jù)傳輸,不支持雙向數(shù)據(jù)傳輸和多級傳輸。

  主機要保證在總線上傳輸?shù)臄?shù)據(jù)字節(jié)不能超過1024字節(jié)。

  在I2C總線中,主機只能改變數(shù)據(jù)傳輸?shù)乃俣龋瑥臋C只能接受主機傳輸?shù)臄?shù)據(jù)速度。

  如果使用多根I2C總線時,可以設(shè)置不同的總線地址來辨別不同的從機和主機,不同總線之間應(yīng)盡量避免長度和信號強度兩者可能存在差異。如果需要連接多根I2C總線,就需要使用I2C總線糾錯技術(shù),確保數(shù)據(jù)傳輸?shù)恼_性。

 

  • XILINX賽靈思 XC7K160T-2FBG484E
  • 賽靈思(XILINX)作為行業(yè)的領(lǐng)軍企業(yè),其推出的 XC7K160T-2FBG484E 更是一款備受矚目的產(chǎn)品。XC7K160T-2FBG484E 屬于賽靈思 7 系列 FPGA(現(xiàn)場可編程門陣列),具有強大的性能和豐富的功能。
    2024-09-25 84次
  • XILINX賽靈思 XCKU085-2FLVA1517E
  • 賽靈思(XILINX)作為全球領(lǐng)先的可編程邏輯器件供應(yīng)商,其推出的 XCKU085-2FLVA1517E 以卓越的性能和豐富的功能,成為眾多電子工程師和設(shè)計師的首選。XCKU085-2FLVA1517E 屬于賽靈思 UltraScale 架構(gòu)系列產(chǎn)品,采用先進的 20 納米工藝技術(shù)制造。這一工藝不僅帶來了更高的性能,還實現(xiàn)了更低的功耗,為各種復(fù)雜的電子系統(tǒng)設(shè)計提供了理想的解決方案。
    2024-09-25 69次
  • XILINX賽靈思 XCKU060-1FFVA1517C
  • 賽靈思(XILINX)作為全球領(lǐng)先的可編程邏輯解決方案供應(yīng)商,其 XCKU060-1FFVA1517C 更是一款備受矚目的產(chǎn)品。XCKU060-1FFVA1517C 屬于賽靈思 UltraScale 架構(gòu)系列,采用了先進的 16 納米 FinFET 工藝技術(shù)。這一工藝帶來了諸多優(yōu)勢,如更高的性能、更低的功耗以及更小的芯片尺寸。
    2024-09-25 76次
  • XILINX賽靈思 XCKU060-2FFVA1517E
  • 賽靈思(XILINX)作為行業(yè)的領(lǐng)軍企業(yè),其推出的 XCKU060-2FFVA1517E 更是一款備受矚目的產(chǎn)品。XCKU060-2FFVA1517E 屬于賽靈思 UltraScale 架構(gòu)系列的 FPGA(現(xiàn)場可編程門陣列)。它融合了先進的技術(shù)和強大的性能,為各種復(fù)雜的應(yīng)用場景提供了高度靈活且可靠的解決方案。
    2024-09-25 63次
  • XILINX賽靈思 XC7Z035-3FFG676E
  • 賽靈思(XILINX)作為全球領(lǐng)先的可編程邏輯解決方案供應(yīng)商,其 XC7Z035-3FFG676E 更是一款備受矚目的產(chǎn)品。XC7Z035-3FFG676E 屬于賽靈思 Zynq - 7000 系列,該系列將處理器系統(tǒng)(PS)和可編程邏輯(PL)完美結(jié)合,為用戶提供了高度靈活的解決方案。這款器件采用了先進的 28 納米工藝技術(shù),在性能、功耗和成本之間實現(xiàn)了出色的平衡。
    2024-09-25 59次

    萬聯(lián)芯微信公眾號

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺
    關(guān)注公眾號,優(yōu)惠活動早知道!
    10s
    溫馨提示:
    訂單商品問題請移至我的售后服務(wù)提交售后申請,其他需投訴問題可移至我的投訴提交,我們將在第一時間給您答復(fù)
    返回頂部