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

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

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

IIC通訊實現(xiàn)過程

嵌入式應用開發(fā) ? 來源:嵌入式應用開發(fā) ? 作者:嵌入式應用開發(fā) ? 2022-09-28 15:09 ? 次閱讀

IIC(Inter Integrated Circuit)兩根線,一條時鐘線SCL和一條數(shù)據(jù)線SDA,所以是半雙工通信,主從模式,支持一對多。

poYBAGMz8vSAe-nYAABtT1FCkDA845.png

假設主機A給從機B發(fā)數(shù)據(jù)(A.SCL接B.SCL,A.SDA接B.SDA),根據(jù)應用,A可以同時接B,C,D??臻e時,SDA和SCL上的電平都為高電平。

起始和停止

起始條件S:當SCL高電平時,SDA由高電平向低電平轉(zhuǎn)換;停止條件P:當SCL高電平時,SDA由低電平向高電平轉(zhuǎn)換。起始和停止條件一般由主機產(chǎn)生,總線在起始條件后處于busy的狀態(tài),在停止條件的某段時間后,總線才再次處于空閑狀態(tài)。

poYBAGMz8wuAc0FKAACXBuxOWoA490.png

空閑時SDA和SCL上的電平都為高電平。A先把SDA拉低,等SDA變?yōu)榈碗娖胶笤侔裇CL拉低(以上兩個動作構(gòu)成了I2C的起始位),此時SDA就可以發(fā)送數(shù)據(jù)了,與此同時,SCL發(fā)送一定周期的脈沖,SDA發(fā)送數(shù)據(jù)和SCL發(fā)送脈沖的要符合的關(guān)系是:SDA必須在SCL是高電平時保持有效,在SCL是低電平時發(fā)送下一位(SCL會在上升沿對SDA進行采樣)。

傳輸與響應

一次傳8位數(shù)據(jù),8位數(shù)據(jù)傳輸結(jié)束后A釋放SDA,SCL再發(fā)一個脈沖(這是第九個脈沖),觸發(fā)B將SDA置為低電平表示確認(該低電平稱為ACK)。最后SCL先變?yōu)楦唠娖?,SDA再變?yōu)楦唠娖剑ㄒ陨蟽蓚€動作稱為結(jié)束標志),如果B沒有將SDA置為0,則A停止發(fā)送下一幀數(shù)據(jù)。

整體時序

I2C總線上的每個設備都有唯一地址,數(shù)據(jù)包傳輸時先發(fā)送地址位,接著才是數(shù)據(jù)。一個地址字節(jié)由7個地址位(可以掛128個設備)和1個指示位組成(7位尋址模式),0表示寫,1表示讀。一般芯片手冊I2C地址都是7位地址,有些與某個引腳的電平相關(guān),主機控制最后讀寫位。實際項目一般都是采用I2C庫,有的庫要求傳入的是8位的寫的地址,有的是7位,由接口函數(shù)再區(qū)分讀寫補位。當然,最愚蠢的辦法是從0到255定時循環(huán)讀某個寄存器地址,讀到正確值時的地址就是正確的從機地址。

poYBAGMz8x6AWuqnAAEXyiJToS4554.png

一般情況下使用I2C庫,除了配置從機地址,其他的起始、結(jié)束等時序等其實不太關(guān)注,只需要配置時鐘頻率,一般看從機最大支持多少,以及主機的系統(tǒng)時鐘,太高會偶爾出現(xiàn)錯誤,再沒有時間要求的情況下,時鐘越低越穩(wěn)定。

審核編輯:湯梓紅

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

    關(guān)注

    36

    文章

    5832

    瀏覽量

    174902
  • 通訊
    +關(guān)注

    關(guān)注

    9

    文章

    884

    瀏覽量

    34779
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    293

    瀏覽量

    38206
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    17010
收藏 人收藏

    評論

    相關(guān)推薦

    IIC通訊實現(xiàn)方式

    ;   // 數(shù)據(jù)左移一位 ,step to lowwer data bit     }}原來 IIC 通訊發(fā)送數(shù)據(jù)
    發(fā)表于 01-02 16:24

    單片機IIC通訊實

    `  IIC通訊在單片機開發(fā)中是比較常見的一種通訊協(xié)議,也有很多網(wǎng)友對其進行了詳細分析,但是作者發(fā)現(xiàn)網(wǎng)友大多是對IIC進行理論上的講解,很少有具體分析
    發(fā)表于 01-14 16:56

    基于stm32的串口通訊實過程是怎樣的

    基于寄存器與基于固件庫的stm32 LED流水燈例子的編程方式有什么差異?基于stm32的串口通訊實過程是怎樣的?
    發(fā)表于 09-29 07:33

    IIC總線通訊實現(xiàn)具體分為哪幾種呢

    不講原理(網(wǎng)上詳細講原理的有很多),只講其代碼實現(xiàn)。對于單片機使用者來說,IIC總線通訊實現(xiàn)具體分兩種,一種是硬件實現(xiàn),另一種是軟件模擬,硬件實現(xiàn)
    發(fā)表于 12-09 06:14

    STM32的IIC通訊過程該怎樣去實現(xiàn)

    什么是I2C呢?其完整的傳輸流程是怎樣的呢?STM32的IIC通訊過程該怎樣去實現(xiàn)呢?
    發(fā)表于 02-10 07:17

    MM440變頻器與plc的通訊實現(xiàn)

    本內(nèi)容提供了MM440變頻器與plc的通訊實現(xiàn) 詳細介紹了各個步驟及實現(xiàn)方法
    發(fā)表于 04-18 16:10 ?138次下載
    MM440變頻器與plc的<b class='flag-5'>通訊實現(xiàn)</b>

    RS232+RS485實現(xiàn)通訊實驗板

    本文介紹一種將 RS232,RS485,及紅外接口集成在一起的PC機--單片機多功能通訊實驗板,用于實現(xiàn)PC機與單片機間的串口通信、紅外通信及PC機與PC機間的通訊實驗。
    發(fā)表于 09-20 11:39 ?3566次閱讀
    RS232+RS485<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>通訊實</b>驗板

    java_串口通訊實

    java_串口通訊實例說明
    發(fā)表于 11-09 17:48 ?75次下載

    基于掌上電腦電動車信息終端通訊實現(xiàn)的研究

    信息顯示,故障再現(xiàn)是電動車輛的開發(fā)過程中一個重要的研究課題。顯示終端和信號采集前端的通訊實現(xiàn)是這個課題的一個重要研究技術(shù)。結(jié)合采用聯(lián)想電腦天璣和嵌入式操作系統(tǒng)Windows CE開發(fā)而成的電動車輛信息終端,介紹一種簡單、高效信息終端的
    發(fā)表于 04-18 14:12 ?5次下載

    AVR單片機串口USART與PC通訊實

    AVR單片機串口USART與PC通訊實
    發(fā)表于 12-29 20:55 ?36次下載

    礦用通風機監(jiān)測系統(tǒng)設計及通訊實現(xiàn)付勝

    礦用通風機監(jiān)測系統(tǒng)設計及通訊實現(xiàn)_付勝
    發(fā)表于 03-15 08:00 ?0次下載

    臨震電磁信息監(jiān)測儀網(wǎng)絡通訊實現(xiàn)瞿旻

    臨震電磁信息監(jiān)測儀網(wǎng)絡通訊實現(xiàn)_瞿旻
    發(fā)表于 03-15 08:00 ?0次下載

    一文解讀IIC總線的FPGA實現(xiàn)原理及過程

    本文首先介紹了IIC總線概念和IIC總線硬件結(jié)構(gòu),其次介紹了IIC總線典型應用,最后詳細介紹了IIC總線的FPGA實現(xiàn)原理及
    發(fā)表于 05-31 10:56 ?6635次閱讀
    一文解讀<b class='flag-5'>IIC</b>總線的FPGA<b class='flag-5'>實現(xiàn)</b>原理及<b class='flag-5'>過程</b>

    兩個S7-200-PLC之間Modbus通訊實現(xiàn)(從站)

    兩個S7-200-PLC之間Modbus通訊實現(xiàn)(從站)方法。
    發(fā)表于 04-25 11:24 ?28次下載

    STM32串口1通訊實驗程序下載

    STM32串口1通訊實驗程序下載
    發(fā)表于 12-30 10:34 ?83次下載