色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

單片機I2C和SPI通信的不同

微云疏影 ? 來源:維庫 ? 作者:維庫 ? 2023-06-06 10:47 ? 次閱讀

I2C和SPI是兩種不同的通信協議。

聽到協議,似乎高不可攀,其實協議就是人們定義的一個標準而已,我們只要遵照這個標準去做事,就可以。比如公司規定早上9點上班,我們就9點上班,不然就會扣薪水,這就是個協議。

用I2C通信的芯片常用的就是EEPROM芯片,如Atmel的AT24CXX系列,此外,還有一些其它功能的芯片。用SPI通信的芯片有外置FLASH芯片,同樣,還有其他功能的一些芯片。

I2C通信需要用到兩個引腳:SDA SCL。SCL是時鐘引腳,SDA是數據引腳。

pYYBAGR-nfyAaYLqAAAxOP8z7C0444.png

(這是EEPROM芯片)

pYYBAGR-ngGAeQ_QAAA0gvnokx0676.png

(這是時鐘芯片)

SPI通信需要3個引腳或者4個引腳:CS SCK MOSI MISO。SPI通信芯片的引腳名稱不一定都是這幾個名稱,可能還有會別的名稱,但是意思是一樣的,例如MOSI引腳的意思是“主機輸出從機輸入”,某個SPI接口的芯片就有可能會寫成SDI,因為這個SPI器件是作為從機的,所以它的SDI的意思就是“從機數據輸入引腳”。

SPI通信過程為:把CS引腳拉低,然后SCK輸出時鐘,然后就可以在MOSI引腳上輸出數據,同時可以在MISO上獲得數據了。

poYBAGR-ngiAK0-eAAAiSSsuvuU623.png

(這是一個SPI FLASH芯片,DO是MISO,DI是MOSI,CLK是SCK,功能一樣,叫法不一樣而已)

pYYBAGR-ng-ABRg0AAAtqk04pp4049.png

(這是一個SPI接口的ADC芯片,Dout是MISO,DCLOCK就是SCK,這個芯片有3個SPI引腳)

大部分單片機上面都會帶有I2C口和SPI口,有可能還會有好幾個I2C口和SPI口。不過,不帶I2C口和SPI口的單片機,也可以通過普通引腳的模擬他們的時序來進行通信。

而且,如果是初學者的話,一定要學習一下用普通引腳模擬,對他們的通信本質理解更深刻。

通信全程,其實就是控制引腳高低電平和檢測引腳高低電平的過程,話說,控制單片機的引腳高低電平和檢測引腳的高低電平,天學單片機就會了,所以,I2C通信和SPI通信也沒什么難的地方。

給大家講一個簡單的通信過程,例如我們稱下面的通信名稱為KJLWT,名字是不是看起來很吊,其實是“科技老頑童”的拼音首字母,因為接下來的協議是我剛剛發明的,所以以此命名^_^。主要是讓大家理解,名稱就是用來嚇唬人的。

我們用兩條線來通信,一條時鐘線,一條數據線。時鐘線,其實就是用來產生一個脈沖波形,再說的直接一點,就是把引腳變高變低的信號,如下圖:

pYYBAGR-nhWAXTyIAAADBO1Eq10680.png

(這就是個時鐘信號)

例如我們規定,在時鐘引腳為高電平的時候,讀取數據引腳的電平,連續8個時鐘,就可以讀到一個字節了。那給數據的那一端,要怎么給數據呢?也很簡單,給數據的那一端,在檢測到低電平的時候,就把要發送的數據按照位體現在數據引腳上面。例如一個數據:0x88,寫成二進制以后就是1000 1000。我們來看一下傳輸這個數據的過程:從機檢測時鐘引腳,檢測到一個下降沿(就是從高電平落到了低電平),就把要發送的數據的bit7體現在數據引腳上,例如1000 1000的bit7是1,就把數據引腳變高電平,主機在時鐘引腳的高電平,檢測這個數據引腳,把這個位記錄下來,從機再次發現時鐘引腳的下降沿后,再把數據的bit6體現在數據引腳上,由于1000 1000 的bit6是0,所以從機把數據引腳拉低,然后當時鐘引腳為高電平的時候,主機檢測數據引腳的高低電平,再把bit6記錄下來,……以此8次,就可以把一個字節由從機傳輸到主機了。是不是很簡單呢?

時鐘的速率,就是傳輸數據的快慢,以上面講的為例,如果脈沖的周期為1秒鐘,也就是1Hz,那么傳輸一個字節就需要8秒鐘;如果脈沖的周期為1毫秒,也就是1KHz,那么輸出一個字節只需要8毫秒。這下你就理解通信的速率是什么意思了吧?

I2C通信,SPI通信,只不過是在我剛才講的例子上面,又多了一些協議內容。具體的協議,你們隨便找一個I2C和SPI通信接口的芯片看一下時序圖就可以了。我們要做的,就是用單片機的引腳,把它的時序做出來。

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

    關注

    455

    文章

    50851

    瀏覽量

    423916
  • 通信
    +關注

    關注

    18

    文章

    6034

    瀏覽量

    136021
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1488

    瀏覽量

    123833
收藏 人收藏

    評論

    相關推薦

    探索GPIO/ADC/LED/I2C/SPI/USB…的完整世界

    今天了解的是GPIO/ADC/LED/I2C/SPI/USB硬件接口設計及其注意事項,希望對大家有所幫助。
    的頭像 發表于 11-17 09:59 ?366次閱讀
    探索GPIO/ADC/LED/<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/USB…的完整世界

    51單片機STC8H8K64U通過RA8889/RA8876如何控制彩屏 I2C源碼下載

    用51單片機STC8H8K64U驅動彩屏,控制器采用瑞佑RA8889. 使用軟件模擬I2C方式通信,驅動大屏顯示。
    的頭像 發表于 11-01 11:02 ?445次閱讀
    51<b class='flag-5'>單片機</b>STC8H8K64U通過RA8889/RA8876如何控制彩屏 <b class='flag-5'>I2C</b>源碼下載

    詳解I2C總線與SPI總線的區別

    I2C(Inter-Integrated Circuit)表示集成電路互連,是一種用于線路板內部芯片之間通信的總線。
    的頭像 發表于 10-16 15:16 ?4619次閱讀
    詳解<b class='flag-5'>I2C</b>總線與<b class='flag-5'>SPI</b>總線的區別

    通過I2C進行TPS65987和TPS65988 SPI閃存固件更新

    電子發燒友網站提供《通過I2C進行TPS65987和TPS65988 SPI閃存固件更新.pdf》資料免費下載
    發表于 09-29 10:31 ?0次下載
    通過<b class='flag-5'>I2C</b>進行TPS65987和TPS65988 <b class='flag-5'>SPI</b>閃存固件更新

    DHT11用的是SPI還是I2C

    DHT11并不使用SPII2C通信協議,而是采用單總線(1-Wire)協議進行通信 。單總線協議是由美國DALLAS達爾斯公司推出的外圍串行擴展總線,具有簡潔的線路連接和較低的功耗特
    的頭像 發表于 09-04 09:11 ?1153次閱讀

    簡單認識I2C通信協議

    I2C(Inter-Integrated Circuit)通信協議是由飛利浦公司(現為恩智浦半導體)開發的一種簡單、雙向二線制同步串行總線協議。自1982年發布以來,I2C協議因其高效、靈活和易于實現的特點,在電子設備間的數據交
    的頭像 發表于 07-25 18:06 ?1486次閱讀

    I2CSPI、UART的通信過程還可以這樣理解

    到目前為止,I2C、SPI和UART等仍然是電子嵌入式設備中最常用的通信協議,本文,我們將剖析這三種協議,讓大家清楚、直觀的了解它們的功能、優點和局限性,并輔以GIF動圖展示。一、IIC協議I
    的頭像 發表于 05-23 08:10 ?7225次閱讀
    <b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、UART的<b class='flag-5'>通信</b>過程還可以這樣理解

    STM8L001J3單片機SPI通信數據異常怎么解決?

    最近在做一個項目,選擇STM8L001J3外掛做數據處理,由于通信速度和準確性考慮,沒有用STM8L001J3的I2C和USART接口,采用SPI做叢和主機進行
    發表于 04-24 07:55

    SPII2C通信協議:應用與區別

    本文深入解析了SPII2C這兩種通信協議的特點、工作原理和應用場景。SPI適用于高速數據傳輸,常用于存儲器芯片和顯示器驅動等領域;I2C
    的頭像 發表于 04-22 16:45 ?1843次閱讀

    逼真動畫展示I2C、SPI、UART的通信過程

    到目前為止,I2CSPI和UART等仍然是電子嵌入式設備中最常用的通信協議,本文,我們將剖析這三種協議,讓大家清楚、直觀的了解它們的功能、優點和局限性,并輔以GIF動圖展示。I2C
    的頭像 發表于 04-12 08:27 ?995次閱讀
    逼真動畫展示<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、UART的<b class='flag-5'>通信</b>過程

    總結usart、uart、i2c、spi區別及相關知識

    USART、UART、I2CSPI是四種不同的串行通信協議,它們各自具有獨特的特點和應用領域
    的頭像 發表于 04-10 09:47 ?1802次閱讀
    總結usart、uart、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b>區別及相關知識

    請問STM32F103 I2C通信SPI通信哪種方式更穩定?

    STM32F103這顆料I2C通信SPI通信哪種方式更穩定?
    發表于 03-22 06:24

    藍牙串口通訊總線——I2C/SPI/UART

    嵌入式工程師在做串口通信調試工作的時候,會經常用到I2CSPI、UART這3條總線,I2C、SPI、UART這三種
    的頭像 發表于 01-22 09:41 ?1666次閱讀
    藍牙串口通訊總線——<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/UART

    使用兩片ADU360進行I2C通信,當與從進行通信時,從無法進入I2C中斷是為什么?

    問題說明:使用兩片ADU360進行I2C通信,主機使用IO口模擬方式,從使用內部外設 主機IO口模擬方式,確認是可行,當與從進行通信時,
    發表于 01-15 06:47

    XV4001BC車載用SPI/I2C輸出接口的數字輸出

    XV4001BC車載用SPI/I2C輸出接口的數字輸出,可實現角速度輸出和溫度傳感器輸出,滿足汽車導航和通訊系統的要求。SPI / I2C 輸出接口角速度輸出(16bit)、溫度傳感
    發表于 01-02 16:33 ?0次下載
    主站蜘蛛池模板: 午夜DY888国产精品影院| 久久综合香蕉久久久久久久| 韩国免费啪啪漫画无遮拦健身教练| 美女扣逼软件| 亚洲成人在线免费观看| 国产AV果冻传奇麻豆| 日本精品久久久久中文字幕 1| 5580免费午夜福利院| 久久亚洲精品专区蓝色区| 伊伊人成亚洲综合人网| 护士日本xx厕所| 亚洲人精品午夜射精日韩| 国产在线精品视频免费观看| 午夜亚洲精品不卡在线 | 国产亚洲精品A久久777777 | 国产精一品亚洲二区在线播放| 色窝窝777欧美午夜精品影院| 超碰日韩人妻高清视频| 日本理论片和搜子同居的日子2| free俄罗斯性xxxxhd派对| 欧美激情精品久久久久| pkf女尸studiosxnxx| 人与禽物videos另类| 国产91综合| 性与肉体电影免费观看| 国厂精品114福利电影| 亚洲中文字幕乱码熟女在线| 久久婷婷五月综合色丁香花| 91精品国产入口| 日本wwwxx| 国产毛多水多高潮高清| 亚洲视频免费| 免费毛片试看| 高清欧美一区二区三区| 亚洲合集综合久久性色| 久热久热精品在线观看| caoporen超碰在线视频| 天天看片视频免费观看| 黃色带三级a级| av女优快播| 午夜影院费试看黄|