0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

模擬iic和硬件iic區(qū)別

工程師鄧生 ? 來源:未知 ? 作者:劉芹 ? 2023-09-19 16:50 ? 次閱讀

模擬iic硬件iic區(qū)別

I2C是一種相對(duì)于另一種通信協(xié)議SPI(Serial Peripheral Interface)更高層次的通訊協(xié)議,也稱為I2C總線。I2C(Inter-Integrated Circuit)始于1982年由Philips公司開發(fā)的串行總線技術(shù),主要應(yīng)用于連接集成電路芯片,如處理器傳感器,數(shù)字轉(zhuǎn)換器等。

I2C協(xié)議可以被模擬和硬件實(shí)現(xiàn)。模擬I2C是用兩條GPIO(General Purpose Input Output)管腳的軟件模擬的,將一個(gè)GPIO設(shè)置為數(shù)據(jù)線SDA,另外一個(gè)設(shè)置為時(shí)鐘線SCL。硬件I2C則是通過一個(gè)I2C控制器實(shí)現(xiàn)的,該控制器被建立在微控制器芯片或單獨(dú)的I2C芯片中,通過集成的硬件內(nèi)部邏輯和電路來控制時(shí)序和數(shù)據(jù)格式,實(shí)現(xiàn)I2C總線通信。

I2C協(xié)議傳輸時(shí)分為兩類線,一類為時(shí)鐘線SCL,另一類為數(shù)據(jù)線SDA。時(shí)鐘線由主節(jié)點(diǎn)產(chǎn)生,用于同步數(shù)據(jù)傳輸,數(shù)據(jù)線用于傳輸真正的數(shù)據(jù)。從I2C線上的數(shù)據(jù)格式可以看出I2C的核心是如何處理設(shè)備之間的“沖突”,比如兩個(gè)設(shè)備同時(shí)要向總線上發(fā)送數(shù)據(jù)同時(shí)采用不同的速率,此時(shí)會(huì)出現(xiàn)“沖突”,I2C通過一系列復(fù)雜的算法來解決這種沖突問題。

模擬I2C通信需要使用軟件和硬件上的兩種方法。常見的模擬I2C方法是通過GPIO模擬SCL和SDA信號(hào),并使用GPIO電平高低來識(shí)別時(shí)鐘和數(shù)據(jù)線上的1和0。模擬I2C的主要限制是不能在高速模式下運(yùn)行,并且有可能出現(xiàn)線路噪音、誤碼等問題。

硬件I2C通信更加可靠,并且具有更高的性能。硬件控制器內(nèi)置在微控制器芯片或者單獨(dú)的I2C芯片中,在控制器的支持下,可以實(shí)現(xiàn)高速數(shù)據(jù)傳輸,避免了SCL和SDA之間的相互影響。此外,在硬件I2C中,處理信號(hào)和協(xié)議的復(fù)雜算法已經(jīng)內(nèi)置在控制器中,不需要用戶自己實(shí)現(xiàn),簡(jiǎn)化了通信過程,提高了可靠性。

軟件I2C作為一個(gè)模擬方法,還存在另一個(gè)重要的缺點(diǎn)就是不同于硬件I2C,模擬I2C的芯片在同時(shí)進(jìn)行通信時(shí)需要耗費(fèi)大量的CPU資源,對(duì)內(nèi)存和處理器速度的要求更高。反過來,硬件I2C通??梢栽谌魏?a href="http://ttokpm.com/v/tag/527/" target="_blank">操作系統(tǒng)和平臺(tái)上輕松使用,這種通信協(xié)議不需要使用大量的額外的內(nèi)存或處理器周期。

硬件I2C和模擬I2C都各自具有優(yōu)缺點(diǎn),請(qǐng)根據(jù)您的具體需求來選擇使用哪種方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7454

    瀏覽量

    150856
  • I2C總線
    +關(guān)注

    關(guān)注

    8

    文章

    386

    瀏覽量

    60791
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1188

    瀏覽量

    51837
  • SDA
    SDA
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    28084
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MCU通過IIC口控制TLV320AIC3204,請(qǐng)問MCU的IIC接口和TLV320AIC3204的IIC接口對(duì)接時(shí)需要電平轉(zhuǎn)換嗎?

    MCU通過IIC口控制TLV320AIC3204,該芯片的IOVDD接1.8V,MCU的IIC上拉電平是3.3V,請(qǐng)問MCU的IIC接口和TLV320AIC3204的IIC接口對(duì)接時(shí)
    發(fā)表于 10-30 06:02

    IIC信號(hào)線需要增加上拉電阻,是因?yàn)?b class='flag-5'>IIC的IO是什么

    IIC(Inter-Integrated Circuit,即集成電路總線)信號(hào)線需要增加上拉電阻,這主要是因?yàn)?b class='flag-5'>IIC的IO(輸入輸出)設(shè)計(jì)采用了開漏(Open-Drain)輸出方式。開漏輸出方式在
    的頭像 發(fā)表于 10-06 15:50 ?377次閱讀

    iic通訊的ardunio的文件下載

    里面很多iic通訊的ardunio的文件
    發(fā)表于 07-05 10:55 ?0次下載

    使用STM32F103的硬件IIC,出現(xiàn)BUSY去重新初始化IIC之后,為什么會(huì)每次卡在設(shè)備地址發(fā)送不出去?

    使用STM32F103的硬件IIC,查詢的方式,進(jìn)行通訊,出現(xiàn)BUSY之后,去重新初始化IIC之后,之后為什么會(huì)每次卡在設(shè)備地址發(fā)送不出去啊。求教,求教
    發(fā)表于 05-28 06:43

    示波器如何捕獲和分析IIC波形?

    示波器捕獲和分析IIC(集成電路間通信)波形是一項(xiàng)重要的電子測(cè)量任務(wù),特別是在嵌入式系統(tǒng)和微控制器的調(diào)試過程中。
    的頭像 發(fā)表于 05-20 15:08 ?2635次閱讀

    STM8L051F3手冊(cè)里是否有IIC作為slave的IIC address?

    各位使用過STM8L051F3硬件IIC的朋友們,手冊(cè)里是否有IIC作為slave的IIC address,并沒有看到啊。請(qǐng)大家?guī)兔Ω嬷Vx謝!
    發(fā)表于 05-07 07:25

    stm32f103z系列硬件IIC從機(jī)不能用的原因?

    如題,我在STM32F103C8 48腳下寫的IIC PB6 PB7 硬件IIC從機(jī)可以使用, 把上面的程序改為STM32F103ZE 144腳下的寫的IIC PB6 PB7
    發(fā)表于 05-07 06:56

    巨霖科技將亮相IIC Shanghai并發(fā)表主題演講

    活動(dòng)預(yù)告∣巨霖科技將亮相IIC Shanghai 并發(fā)表主題演講
    的頭像 發(fā)表于 03-27 09:50 ?389次閱讀
    巨霖科技將亮相<b class='flag-5'>IIC</b> Shanghai并發(fā)表主題演講

    FPGA實(shí)現(xiàn)IIC協(xié)議的設(shè)計(jì)

    今天給大家?guī)淼氖?b class='flag-5'>IIC通信,IIC協(xié)議應(yīng)用非常廣泛,例如與MPU6050進(jìn)行通信,配置OV5640攝像頭、驅(qū)動(dòng)OLED屏幕等等,都需要使用到IIC協(xié)議,所以掌握它是非常必要的,廢話不多說,接著往下看。
    的頭像 發(fā)表于 03-04 10:49 ?1151次閱讀
    FPGA實(shí)現(xiàn)<b class='flag-5'>IIC</b>協(xié)議的設(shè)計(jì)

    GD32 MCU碰到IIC總線卡死怎么辦?

    大家在使用MCU IIC通信時(shí),若碰到設(shè)備復(fù)位或者總線干擾等情況,可能會(huì)導(dǎo)致IIC總線卡死,表現(xiàn)上總線上SDA或者SCL其中一根線為低電平,IIC總線一直處于busy狀態(tài)。此時(shí)若代碼上一直等待總線空閑,則可能導(dǎo)致軟件死機(jī),為解決
    的頭像 發(fā)表于 02-24 09:46 ?3613次閱讀
    GD32 MCU碰到<b class='flag-5'>IIC</b>總線卡死怎么辦?

    【CW32學(xué)習(xí)筆記】IIC接口-主機(jī)發(fā)送

    接著就是比較重要的部分了,IIC接口的收發(fā)并不是全自動(dòng)的,因?yàn)橐粋€(gè)完整的通信不僅包括發(fā)數(shù)據(jù)(地址、數(shù)據(jù)什么的),還包含收數(shù)據(jù)(啥也不干也得接收ACK信號(hào)),所以IIC通信的每個(gè)部分基本上都是收發(fā)易位的過程,IIC外設(shè)并不會(huì)自動(dòng)完
    的頭像 發(fā)表于 01-10 15:59 ?593次閱讀
    【CW32學(xué)習(xí)筆記】<b class='flag-5'>IIC</b>接口-主機(jī)發(fā)送

    IIC總線的FPGA實(shí)現(xiàn)說明

    DE2_TV中,有關(guān)于寄存器的配置的部分,采用的方法是通過IIC的功能,這里對(duì)IIC總線的FPGA實(shí)現(xiàn)做個(gè)說明。
    的頭像 發(fā)表于 01-05 10:16 ?985次閱讀
    <b class='flag-5'>IIC</b>總線的FPGA實(shí)現(xiàn)說明

    芯知識(shí) | 什么是語音芯片的IIC控制模式?

    隨著科技的不斷發(fā)展,語音芯片作為現(xiàn)代電子產(chǎn)品中的重要組成部分,其功能和性能也在不斷提升。其中,IIC控制模式是一種常見的語音芯片控制方式,具有高效、靈活的特點(diǎn)。IIC,即
    的頭像 發(fā)表于 12-20 08:41 ?524次閱讀
    芯知識(shí) | 什么是語音芯片的<b class='flag-5'>IIC</b>控制模式?

    MSP430F5529硬件IIC驅(qū)動(dòng)OLED(初始化使用的寄存器)

    MSP430F5529硬件IIC驅(qū)動(dòng)OLED(初始化使用的寄存器)
    發(fā)表于 11-24 16:36 ?1次下載

    MSP430F5529軟件模擬IIC協(xié)議

    MSP430F5529軟件模擬IIC協(xié)議
    發(fā)表于 11-24 16:35 ?0次下載