chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

單片機(jī)I2C和SPI通信的不同

微云疏影 ? 來源:維庫 ? 作者:維庫 ? 2023-06-06 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

I2C和SPI是兩種不同的通信協(xié)議。

聽到協(xié)議,似乎高不可攀,其實(shí)協(xié)議就是人們定義的一個標(biāo)準(zhǔn)而已,我們只要遵照這個標(biāo)準(zhǔn)去做事,就可以。比如公司規(guī)定早上9點(diǎn)上班,我們就9點(diǎn)上班,不然就會扣薪水,這就是個協(xié)議。

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

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

pYYBAGR-nfyAaYLqAAAxOP8z7C0444.png

(這是EEPROM芯片)

pYYBAGR-ngGAeQ_QAAA0gvnokx0676.png

(這是時鐘芯片)

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

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

poYBAGR-ngiAK0-eAAAiSSsuvuU623.png

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

pYYBAGR-ng-ABRg0AAAtqk04pp4049.png

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

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

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

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

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

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

pYYBAGR-nhWAXTyIAAADBO1Eq10680.png

(這就是個時鐘信號)

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

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

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

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

    關(guān)注

    463

    文章

    53898

    瀏覽量

    463694
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6369

    瀏覽量

    139877
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1555

    瀏覽量

    130964
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    I2C總線-通信線纜長度的影響及改進(jìn)措施

    I2C總線確實(shí)不適合遠(yuǎn)距離通信,尤其是需要使用線纜與I2C接口器件進(jìn)行通信,這里的“不適合”并不是說不可以,這也是本文的重點(diǎn)。一般使用I2C
    發(fā)表于 01-21 06:03

    CW32單片機(jī)I2C接口讀寫EEPROM芯片

    一、概述 CW32L083 內(nèi)部集成 2I2C 控制器,能按照設(shè)定的傳輸速率(標(biāo)準(zhǔn),快速,高速)將需要發(fā)送的數(shù)據(jù)按照 I2C 規(guī)范串行發(fā)送到 I2C 總線上,或從總線上接收數(shù)據(jù)
    發(fā)表于 01-12 08:20

    I2C 為什么只要兩根線就能搞定通信?

    的項目,您可能會發(fā)現(xiàn)自己正在使用I2C。I2C通信簡介I2C結(jié)合了SPI和UART的最佳特性。使用I2C
    的頭像 發(fā)表于 01-04 09:14 ?1324次閱讀
    <b class='flag-5'>I2C</b> 為什么只要兩根線就能搞定<b class='flag-5'>通信</b>?

    基于FPGA的I2C控制模塊設(shè)計

    I2C_WRITE_WDATA.v模塊實(shí)現(xiàn)I2C寫時序,I2C_Controller (I2C控制器)例化了I2C_WRITE_WDATA.
    的頭像 發(fā)表于 12-26 09:48 ?3620次閱讀
    基于FPGA的<b class='flag-5'>I2C</b>控制模塊設(shè)計

    SPI、I2C、UART三種串行總線的區(qū)別與對比

    Asynchronous Receiver Transmitter:通用異步收發(fā)器) 2通信方式 SPI和UART可以實(shí)現(xiàn)全雙工,但I2C不行; 3)其他差異 A.
    發(fā)表于 11-20 07:19

    SPI、I2C、I2S、UART:通信協(xié)議解釋

    ? ? ? ? 在嵌入式開發(fā)中,最常用的幾種通信接口無非就是SPI、I2CI2S、UART。名字看起來差不多,但應(yīng)用場景和特性卻大不相同。為什么都叫串行
    的頭像 發(fā)表于 11-18 10:53 ?450次閱讀

    SPI、I2C、I2S、UART:通信協(xié)議對比表

    在嵌入式開發(fā)中,最常用的幾種通信接口無非就是SPI、I2C、I2S、UART。名字看起來差不多,但應(yīng)用場景和特性卻大不相同。很多初學(xué)者容易混淆:為什么都叫串行
    的頭像 發(fā)表于 11-17 10:53 ?1617次閱讀
    <b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>、<b class='flag-5'>I2</b>S、UART:<b class='flag-5'>通信</b>協(xié)議對比表

    深入剖析I2C協(xié)議

    I2C是由Philips開發(fā)的簡單的雙向兩線總線,在深入淺出理解SPI協(xié)議中,我們區(qū)分了單工,半雙工,全雙工協(xié)議數(shù)據(jù)流向的區(qū)別,根據(jù)特征,I2C協(xié)議屬于半雙工協(xié)議(即同一時刻,數(shù)據(jù)單向流動)。此外
    的頭像 發(fā)表于 08-21 15:10 ?3566次閱讀
    深入剖析<b class='flag-5'>I2C</b>協(xié)議

    I2C通信異常問題怎么解決?

    我們在進(jìn)行I2C通信,發(fā)現(xiàn)當(dāng)寫數(shù)據(jù)時SCL和SDA會有下降沿重合的情況,導(dǎo)致通信失敗,請幫忙分析下如何處理? I2C通信代碼如下: sta
    發(fā)表于 08-12 07:45

    I2C總線通信,為什么要進(jìn)行電氣隔離?

    I2C總線采用雙向二線制,支持多主機(jī)多從機(jī)通信,具備高可靠性、抗干擾能力強(qiáng),廣泛應(yīng)用于嵌入式系統(tǒng)中。
    的頭像 發(fā)表于 08-11 11:04 ?2433次閱讀
    <b class='flag-5'>I2C</b>總線<b class='flag-5'>通信</b>,為什么要進(jìn)行電氣隔離?

    第十八章 I2C通信測試

    本章介紹了I2C協(xié)議,其物理層用SDA和SCL雙線,支持多設(shè)備:協(xié)議層含起始/停止信號、應(yīng)答機(jī)制等。還講解W55MH32的I2C外設(shè)及初始化,并進(jìn)行了通信測試代碼的分析。
    的頭像 發(fā)表于 06-19 17:07 ?1230次閱讀
    第十八章 <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>測試

    Keil LPC1769 Evaluation Board支持SPII2C通信嗎?

    OM11084 : Keil LPC1769 Evaluation Board 支持 SPII2C 通信嗎?
    發(fā)表于 04-07 06:33

    I2C總線復(fù)用

    帝晶智慧屏I2C總線復(fù)用
    的頭像 發(fā)表于 03-11 17:20 ?1998次閱讀

    Display and light control evm工具與板子I2C無法通信怎么解決?

    我們的板子是DLPC3478+DLPA3000配置,投影機(jī)跟cy7c65215工具通過I2C連接,I2C總線上無類似MSP430單片機(jī),在
    發(fā)表于 02-27 08:16

    【干貨】帶你了解各類串口:I2C、SPI、RS232、RS485、USB等

    、SPI、RS232、RS422、RS485及USB。1I2C接口I2C接口是一種主要應(yīng)用于集成電路芯片間的通信的接口。最早由Philips公司開發(fā),是一種簡單的
    的頭像 發(fā)表于 02-20 19:31 ?2874次閱讀
    【干貨】帶你了解各類串口:<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>、RS232、RS485、USB等