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

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

3天內不再提示

STM32的IIC通信原理詳解

CHANBAEK ? 來源:頭條號秋天滴風 ? 作者:頭條號秋天滴風 ? 2023-04-25 09:51 ? 次閱讀

本文將介紹STM32 IIC的通信原理和協(xié)議

①IIC總線簡介

②IIC總線協(xié)議與讀寫操作

③STM32 IIC控制器介紹

①IIC總線簡介

IIC是inter integrated circuit的簡稱,IIC是由PHILIPS公司開發(fā)的兩線式串行總線;該總線具有接口線少、易于控制、通訊速率高等有點,在微電子控制領域被廣泛使用。

IIC總線具備以下特征:

1、同步通信,半雙工,以字節(jié)為傳輸單位;

2、兩條線路、SDA和SCL;

3、掛載在IIC總線上的設備均可為主設備、亦可為從設備;

4、具有3種傳輸速率,最高可達3.4Mbit/s;可通過總線時鐘的頻率和總線上拉電阻來配置傳輸速率;

5、多主機功能、7位和10位地址模式、可以軟件復位、1字節(jié)緩沖帶DMA功能;

IIC總線的物理連接如下圖:

wKgaomRHMiuAJiZ1AAFCzFaaXMk575.jpg

SDA和SCL總線上會有上拉電阻,總線上可以掛在一定數(shù)量的設備通過總線進行通訊、當總線空閑時總線上處于高電平。

②IIC總線協(xié)議與讀寫操作

wKgZomRHMiuABQVPAAB673MwkaE255.jpg

IIC總線協(xié)議包括:起始信號、終止信號、數(shù)據(jù)、應答部分;

起始信號:當總線處于空閑狀態(tài)時SDA SCL兩根線上是高電平,若此時SDA由高變低、則定義為起始信號;

終止信號:當SCL處于高電平時,若此時SDA由低變高、則定義為終止信號;

起始信號、終止信號顧名思義是通信的開始和終止,這兩個信號都有主設備發(fā)起;

數(shù)據(jù):可分為地址數(shù)據(jù)、和真實意義上的地址內存儲的數(shù)據(jù);

應答:應答可以有應答信號和非應答信號,該信號是跟在數(shù)據(jù)后面;

若主設備向從設備寫1個數(shù)據(jù)會有以下過程:

起始信號>從機地址+寫位ACK>寫入地址ACK>寫入數(shù)據(jù)ACK>終止信號

wKgaomRHMiyATB1FAAAcPJmFsxU058.jpg

若主設備向從設備讀1個數(shù)據(jù)會有以下過程:

起始信號>從機地址+寫位ACK>要讀的地址ACK>起始信號>從機地址+讀位ACK>地址內的數(shù)據(jù)NACK>終止信號

wKgZomRHMiyAKXDoAAAkzK4W93g109.jpg

若讀多個數(shù)據(jù)就是“從機地址+讀位ACK>地址內的數(shù)據(jù)NACK”重復幾次

③STM32 IIC控制器介紹

STM32這種芯片是具有IIC控制器的,這樣可以通過硬件產生IIC時序;但有些簡單的單片機就可能沒有IIC控制器,那我們如何與IIC設備通訊呢?答案就是軟件模擬IIC時序,軟件模擬IIC時序相比更加操作繁瑣、效率低。

STM32的IIC片上外設是用來專門實現(xiàn)IIC通訊協(xié)議的,我們只要配置好該外設,就可以產生通訊信號、收發(fā)數(shù)據(jù)并緩存起來,CPU檢測外設的狀態(tài)和訪問數(shù)據(jù)寄存器就能完成數(shù)據(jù)的收發(fā),這樣減輕了CPU的工作負擔、使得軟件設計的效率提高。

以下是STM32 IIC控制器的框圖:

wKgaomRHMi2AG_D2AAJkjKYFaiw398.jpg

引腳對應表:

wKgaomRHMi2AEdi2AACXiu1X8uc847.jpg

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

    關注

    114

    文章

    16987

    瀏覽量

    183043
  • STM32
    +關注

    關注

    2290

    文章

    11017

    瀏覽量

    362516
  • IIC總線
    +關注

    關注

    1

    文章

    67

    瀏覽量

    20762
  • 通信原理
    +關注

    關注

    10

    文章

    125

    瀏覽量

    32182
  • 總線協(xié)議

    關注

    0

    文章

    132

    瀏覽量

    15182
收藏 1人收藏
  • jf_573744481

評論

相關推薦
熱點推薦

STM32U3 IIC通信后,SPI+GPDMA 進入循環(huán)發(fā)送,DMA無法使能寄存器USEF=1怎么解決?

)); 現(xiàn)象:當data1=0x00 時,SPI+GPDMA正常發(fā)送,當data1不等于0x00 時比如0x01等,GPDMA并不能使能。把IIC代碼注釋了,能夠正常發(fā)送SPI+GPMDA。IIC確實是能通信的。
發(fā)表于 06-09 07:05

STM32U3 IIC通信后,SPI+GPDMA 進入循環(huán)發(fā)送,DMA無法使能寄存器USEF=1怎么辦?

)); 現(xiàn)象:當data1=0x00 時,SPI+GPDMA正常發(fā)送,當data1不等于0x00 時比如0x01等,GPDMA并不能使能。把IIC代碼注釋了,能夠正常發(fā)送SPI+GPMDA。IIC確實是能通信的。
發(fā)表于 06-05 06:51

STM32項目分享:智能鞋柜

01—項目簡介1.功能詳解STM32智能鞋柜功能如下:DHT11檢測鞋柜溫濕度,溫度低于閾值開啟加熱,濕度高于閾值開啟加熱和通風;P
的頭像 發(fā)表于 05-27 18:04 ?152次閱讀
<b class='flag-5'>STM32</b>項目分享:智能鞋柜

STM32U3 IIC通信后,SPI+GPDMA 進入循環(huán)發(fā)送,DMA無法使能寄存器USEF=1怎么解決?

)); 現(xiàn)象:當data1=0x00 時,SPI+GPDMA正常發(fā)送,當data1不等于0x00 時比如0x01等,GPDMA并不能使能。把IIC代碼注釋了,能夠正常發(fā)送SPI+GPMDA。IIC確實是能通信的。
發(fā)表于 04-29 06:01

STM32項目分享:STM32智能語音分類垃圾桶

01—項目簡介1.功能詳解STM32智能語音分類垃圾桶功能如下:1.STM32F103C8T6單片機系統(tǒng)板作為主控單元2.舵機驅動垃
的頭像 發(fā)表于 03-15 10:02 ?1167次閱讀
<b class='flag-5'>STM32</b>項目分享:<b class='flag-5'>STM32</b>智能語音分類垃圾桶

STM32項目分享:STM32智能語音臺燈

—項目簡介1.功能詳解STM32智能語音臺燈功能如下:1.STM32F103C8T6單片機系統(tǒng)板作為主控單元2.按鍵切換模式,支
的頭像 發(fā)表于 03-15 10:02 ?1120次閱讀
<b class='flag-5'>STM32</b>項目分享:<b class='flag-5'>STM32</b>智能語音臺燈

DLPC3435 IIC通信時候會干擾到DLPC3435正常工作,導致顯示花屏或者畫面不動怎么解決?

IIC通信導致DLPC3435出現(xiàn)BUG,導致花屏。 想提問題的是:IIC通信真的會干擾到DLPC3435嗎?如果真的是這樣要如何規(guī)規(guī)避這個問題呢?
發(fā)表于 02-21 09:53

STM32項目分享:機智云智慧農業(yè)系統(tǒng)

01—項目簡介1.功能詳解基于STM32的機智云智慧農業(yè)系統(tǒng)。功能如下:溫濕度采集:使用DHT11溫濕度傳感器采集環(huán)境溫濕度土壤濕度
的頭像 發(fā)表于 12-19 18:40 ?1244次閱讀
<b class='flag-5'>STM32</b>項目分享:機智云智慧農業(yè)系統(tǒng)

STM32項目分享:智能臺燈系統(tǒng)

01—項目簡介1.功能詳解基于STM32智能臺燈系統(tǒng)。功能如下:亮度控制:按鍵控制照明燈的亮度(5擋亮度)計時功能:按鍵啟動計時,累
的頭像 發(fā)表于 11-29 01:02 ?1926次閱讀
<b class='flag-5'>STM32</b>項目分享:智能臺燈系統(tǒng)

一個板子上兩個tlv320adc5120,能否通過一個IIC通信,兩個器件如何區(qū)分地址

一個板子上兩個tlv320adc5120,能否通過一個IIC通信,兩個器件如何區(qū)分地址
發(fā)表于 10-09 08:25

IIC信號線需要增加上拉電阻,是因為IIC的IO是什么

IIC通信中扮演著至關重要的角色,而上拉電阻的加入則是實現(xiàn)這種通信方式有效性和可靠性的關鍵。以下是對此現(xiàn)象的介紹: 一、IIC通信與開漏輸出
的頭像 發(fā)表于 10-06 15:50 ?1931次閱讀

第19.1 章-星瞳科技 OpenMV視覺循跡功能 超詳細OpenMV與STM32單片機通信

第19.1 章-[星瞳科技]OpenMV視覺循跡功能 超詳細OpenMV與STM32單片機通信 (有完整版源碼) 【星曈科技】OpenMv筆記——利用OpenMV與STM32進行串口通信
的頭像 發(fā)表于 08-20 11:41 ?1531次閱讀
第19.1 章-星瞳科技 OpenMV視覺循跡功能 超詳細OpenMV與<b class='flag-5'>STM32</b>單片機<b class='flag-5'>通信</b>

IIC通信模式下,如何提高INA260測量電流的精度?

IIC通信模式下,如何提高INA260測量電流的精度?
發(fā)表于 08-19 06:18

iic通訊的ardunio的文件下載

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

NSA2302iic通訊地址

最近正在用NSA2302這個芯片,想問一下NSA2302的IIC通信地址是出廠時就設置好的嗎,還是買回來后需要自己燒寫,我使用數(shù)據(jù)手冊里給出的通信地址一直無法建立IIC
發(fā)表于 07-04 09:55

電子發(fā)燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品