h1_key

當前位置:首頁 >新聞資訊 > 技術文章>I2C基礎知識介紹
I2C基礎知識介紹
2023-04-24 5679次

  I2C是什么?

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

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



  I2C總線的介紹

  

 

  I2C總線概述

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


  I2C總線特點

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

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

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

  


 

  I2C總線基礎知識

  I2C總線通信的常識與術語


  常識

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

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

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

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


  術語

  發(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)。

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

  


 

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

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

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

  應答信號與非應答信號:

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

  

 

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


  I2C總線的應用

  I2C總線的主要用途

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

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

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

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

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


  I2C總線的使用注意事項

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

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

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

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

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

 

  • XILINX賽靈思 XC9572XL-7VQG44C
  • 賽靈思(XILINX)作為全球領先的可編程邏輯解決方案供應商,其推出的 XC9572XL-7VQG44C 更是一款備受矚目的產品。XC9572XL-7VQG44C 屬于賽靈思的 CPLD(復雜可編程邏輯器件)系列,采用先進的 CMOS 技術制造,具有卓越的性能和可靠性。該器件封裝形式為 44 引腳的 TQFP,這種封裝不僅占用空間小,還能提供良好的電氣性能和散熱性能。
    2024-09-19 3次
  • XILINX賽靈思 XC95144XL-10CS144I
  • 賽靈思(XILINX)作為全球領先的可編程邏輯解決方案供應商,其推出的 XC95144XL-10CS144I 更是一款備受矚目的產品。XC95144XL-10CS144I 屬于賽靈思的 CPLD(復雜可編程邏輯器件)系列,采用先進的 CMOS 技術制造,具有卓越的性能和可靠性。該器件封裝形式為 144 引腳的 LCSBGA封裝,這種封裝不僅占用空間小,還能提供良好的電氣性能和散熱性能。
    2024-09-19 2次
  • XILINX賽靈思 XC2C128-7TQG144C
  • 賽靈思(XILINX)作為全球領先的可編程邏輯解決方案供應商,其推出的 XC2C128-7TQG144C 更是一款備受矚目的產品。XC2C128-7TQG144C 屬于賽靈思的 CPLD(復雜可編程邏輯器件)系列,采用先進的 CMOS 技術制造,具有卓越的性能和可靠性。該器件封裝形式為 144 引腳的 TQFP,這種封裝不僅占用空間小,還能提供良好的電氣性能和散熱性能。
    2024-09-19 4次
  • XILINX賽靈思 XC95288XL-10TQG144I
  • 賽靈思(XILINX)作為全球領先的可編程邏輯解決方案供應商,其推出的 XC95288XL-10TQG144I 更是一款備受矚目的產品。XC95288XL-10TQG144I 屬于賽靈思的 CPLD(復雜可編程邏輯器件)系列,采用先進的 CMOS 技術制造,具有卓越的性能和可靠性。該器件封裝形式為 144 引腳的 TQFP,這種封裝不僅占用空間小,還能提供良好的電氣性能和散熱性能。
    2024-09-19 2次
  • XILINX賽靈思 XC9572-15TQG100C
  • 賽靈思(XILINX)作為全球領先的可編程邏輯解決方案供應商,其推出的 XC9572-15TQG100C 更是一款備受矚目的產品。XC9572-15TQG100C 屬于賽靈思的 CPLD(復雜可編程邏輯器件)系列,采用先進的 CMOS 技術制造,具有卓越的性能和可靠性。該器件封裝形式為 100 引腳的 LQFP,這種封裝不僅占用空間小,還能提供良好的電氣性能和散熱性能。
    2024-09-19 1次

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

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