国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

出于不同背景和市場需求制定了標(biāo)準(zhǔn)通信協(xié)議IIC與SPI

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2020-11-20 10:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現(xiàn)今,在低端數(shù)字通信應(yīng)用領(lǐng)域,我們隨處可見IIC(Inter-Integrated Circuit)和 SPI(Serial Peripheral Interface)的身影。原因是這兩種通信協(xié)議非常適合近距離低速芯片間通信。Philips(for IIC)和Motorola(for SPI)出于不同背景和市場需求制定了這兩種標(biāo)準(zhǔn)通信協(xié)議。

IIC開發(fā)于1982年,當(dāng)時是為了給電視機內(nèi)的CPU和外圍芯片提供更簡易的互聯(lián)方式。電視機是最早的嵌入式系統(tǒng)之一,而最初的嵌入系統(tǒng)是使用內(nèi)存映射(memory-mapped I/O)的方式來互聯(lián)微控制器和外圍設(shè)備的。要實現(xiàn)內(nèi)存映射,設(shè)備必須并聯(lián)入微控制器的數(shù)據(jù)線和地址線,這種方式在連接多個外設(shè)時需大量線路和額外地址解碼芯片,很不方便并且成本高。

為了節(jié)省微控制器的引腳和和額外的邏輯芯片,使印刷電路板更簡單,成本更低,位于荷蘭的Philips實驗室開發(fā)了“Inter-Integrated Circuit”,IIC或I2C ,一種只使用二根線接連所有外圍芯片的總線協(xié)議。最初的標(biāo)準(zhǔn)定義總線速度為100kbps。經(jīng)歷幾次修訂,主要是1995年的400kbps,1998的3.4Mbps。

有跡象表明,SPI總線首次推出是在1979年,Motorola公司將SPI總線集成在他們第一支改自68000微處理器的微控制器芯片上。SPI總線是微控制器四線的外部總線(相對于內(nèi)部總線)。與IIC不同,SPI沒有明文標(biāo)準(zhǔn),只是一種事實標(biāo)準(zhǔn),對通信操作的實現(xiàn)只作一般的抽象描述,芯片廠商與驅(qū)動開發(fā)者通過data sheets和application notes溝通實現(xiàn)上的細(xì)節(jié)。

SPI總線介紹

對于有經(jīng)驗的數(shù)字電子工程師來說,用SPI互聯(lián)兩支數(shù)字設(shè)備是相當(dāng)直觀的。SPI是一種四根信號線協(xié)議,如下圖。

SCLK:Serial Clock (output from master)。

MOSI;SIMO:Master Output,Slave Input(output from master),

MISO;SOMI:Master Input,Slave Output(output from slave)。

SS:Slave Select (active low,outputfrom master)。

SPI是單主設(shè)備(single-master)通信協(xié)議,這意味著總線中的只有一支中心設(shè)備能發(fā)起通信。當(dāng)SPI主設(shè)備想讀/寫從設(shè)備時,它首先拉低從設(shè)備對應(yīng)的SS線(SS是低電平有效),接著開始發(fā)送工作脈沖到時鐘線上,在相應(yīng)的脈沖時間上,主設(shè)備把信號發(fā)到MOSI實現(xiàn)“寫”,同時可對MISO采樣而實現(xiàn)“讀”,如下圖。

SPI有四種操作模式:模式0、模式1、模式2和模式3.它們的區(qū)別是定義了在時鐘脈沖的哪條邊沿轉(zhuǎn)換(toggles)輸出信號,哪條邊沿采樣輸入信號,還有時鐘脈沖的穩(wěn)定電平值(即時鐘信號無效時是高還是低)。每種模式由一對參數(shù)刻畫,它們稱為時鐘極(clock polarity)CPOL與時鐘期(clock phase)CPHA。

主從設(shè)備必須使用相同的工作參數(shù)——SCLKCPOL和CPHA,才能正常工作。如果有多個從設(shè)備,并且它們使用了不同的工作參數(shù),那么主設(shè)備必須在讀寫不同從設(shè)備間重新配置這些參數(shù)。

SPI不規(guī)定最大傳輸速率,沒有地址方案;SPI也沒規(guī)定通信應(yīng)答機制,沒有規(guī)定流控制規(guī)則。事實上,SPI主設(shè)備甚至并不知道指定的從設(shè)備是否存在。這些通信控制都得通過SPI協(xié)議以外自行實現(xiàn)。例如,要用SPI連接一支“命令-響應(yīng)控制型”解碼芯片,則必須在SPI的基礎(chǔ)上實現(xiàn)更高級的通信協(xié)議。

SPI并不關(guān)心物理接口電氣特性,例如信號的標(biāo)準(zhǔn)電壓。在最初,大多數(shù)SPI應(yīng)用都是使用間斷性時鐘脈沖和以字節(jié)為單位傳輸數(shù)據(jù)的,但現(xiàn)在有很多變種實現(xiàn)了連續(xù)性時間脈沖和任意長度的數(shù)據(jù)幀。

IIC總線介紹

與SPI的單主設(shè)備不同,IIC是多主設(shè)備的總線,IIC沒有物理的芯片選擇信號線,沒有仲裁邏輯電路,只使用兩條信號線——serial data(SDA)和serial clock(SCL)。

IIC協(xié)議規(guī)定:

每一支IIC設(shè)備都有一個唯一的七位設(shè)備地址。

數(shù)據(jù)幀大小為8位的字節(jié)。

數(shù)據(jù)(幀)中的某些數(shù)據(jù)位,用于控制通信的開始、停止、方向(讀寫)和應(yīng)答機制。

IIC數(shù)據(jù)傳輸速率有標(biāo)準(zhǔn)模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps),另外一些變種實現(xiàn)了低速模式(10kbps)和快速+模式(1Mbps)。

物理實現(xiàn)上,IIC總線由兩根信號線和一根地線組成。兩根信號線都是雙向傳輸?shù)模瑓⒖枷聢D。IIC協(xié)議標(biāo)準(zhǔn)規(guī)定發(fā)起通信的設(shè)備稱為主設(shè)備,主設(shè)備發(fā)起一次通信后,其它設(shè)備均為從設(shè)備。

IIC通信過程大概如下。首先,主設(shè)備發(fā)一個START信號,這個信號就像對所有其它設(shè)備喊:請大家注意!然后其它設(shè)備開始監(jiān)聽總線以準(zhǔn)備接收數(shù)據(jù)。接著,主設(shè)備發(fā)送一個7位設(shè)備地址加一位的讀寫操作的數(shù)據(jù)幀。當(dāng)所設(shè)備接收數(shù)據(jù)后,比對地址自己是否目標(biāo)設(shè)備。如果比對不符,設(shè)備進(jìn)入等待狀態(tài),等待STOP信號的來臨;如果比對相符,設(shè)備會發(fā)送一個應(yīng)答信號——ACKNOWLEDGE作回應(yīng)。

當(dāng)主設(shè)備收到應(yīng)答后便開始傳送或接收數(shù)據(jù)。數(shù)據(jù)幀大小為8位,尾隨一位的應(yīng)答信號。主設(shè)備發(fā)送數(shù)據(jù),從設(shè)備應(yīng)答;相反主設(shè)備接數(shù)據(jù),主設(shè)備應(yīng)答。當(dāng)數(shù)據(jù)傳送完畢,主設(shè)備發(fā)送一個STOP信號,向其它設(shè)備宣告釋放總線,其它設(shè)備回到初始狀態(tài)。

基于IIC總線的物理結(jié)構(gòu),總線上的START和STOP信號必定是唯一的。另外,IIC總線標(biāo)準(zhǔn)規(guī)定:SDA線的數(shù)據(jù)轉(zhuǎn)換必須在SCL線的低電平期,在SCL線的高電平期,SDA線的上數(shù)據(jù)是穩(wěn)定的。

在物理實現(xiàn)上,SCL線和SDA線都是漏極開路(open-drain),通過上拉電阻外加一個電壓源。當(dāng)把線路接地時,線路為邏輯0,當(dāng)釋放線路,線路空閑時,線路為邏輯1。基于這些特性,IIC設(shè)備對總線的操作僅有“把線路接地”——輸出邏輯0。

IIC總線設(shè)計只使用了兩條線,但相當(dāng)優(yōu)雅地實現(xiàn)任意數(shù)目設(shè)備間無縫通信,堪稱完美。我們設(shè)想一下,如果有兩支設(shè)備同時向SCL線和SDA線發(fā)送信息會出現(xiàn)什么情況。

基于IIC總線的設(shè)計,線路上不可能出現(xiàn)電平?jīng)_突現(xiàn)象。如果一支設(shè)備發(fā)送邏輯0,其它發(fā)送邏輯1,那么線路看到的只有邏輯0。也就是說,如果出現(xiàn)電平?jīng)_突,發(fā)送邏輯0的始終是“贏家”。

總線的物理結(jié)構(gòu)亦允許主設(shè)備在往總線寫數(shù)據(jù)的同時讀取數(shù)據(jù)。這樣,任何設(shè)備都可以檢測沖突的發(fā)生。當(dāng)兩支主設(shè)備競爭總線的時候,“贏家”并不知道競爭的發(fā)生,只有“輸家”發(fā)現(xiàn)了沖突——當(dāng)它寫一個邏輯1,卻讀到0時——而退出競爭。

十位設(shè)備地址

任何IIC設(shè)備都有一個7位地址,理論上,現(xiàn)實中只能有127種不同的IIC設(shè)備。實際上,已有IIC的設(shè)備種類遠(yuǎn)遠(yuǎn)多于這個限制,在一條總線上出現(xiàn)相同的地址的IIC設(shè)備的概率相當(dāng)高。為了突破這個限制,很多設(shè)備使用了雙重地址——7位地址加引腳地址(external configuration pins)。IIC標(biāo)準(zhǔn)也預(yù)知了這種限制,提出10位的地址方案。

10位的地址方案對IIC協(xié)議的影響有兩點:

第一,地址幀為兩個字節(jié)長,原來的是一個字節(jié)。

第二,第一個字節(jié)前五位最高有效位用作10位地址標(biāo)識,約定是“11110”。

除了10位地址標(biāo)識,標(biāo)準(zhǔn)還預(yù)留了一些地址碼用作其它用途,如下表:

時鐘拉伸

在IIC通信中,主設(shè)備決定了時鐘速度。因為時鐘脈沖信號是由主設(shè)備顯式發(fā)出的。但是,當(dāng)從設(shè)備沒辦法跟上主設(shè)備的速度時,從設(shè)備需要一種機制來請求主設(shè)備慢一點,這種機制稱為時鐘拉伸。而基于IIC結(jié)構(gòu)的特殊性,這種機制得到實現(xiàn)。當(dāng)從設(shè)備需要降低傳輸?shù)乃俣鹊臅r候,它可以按下時鐘線,逼迫主設(shè)備進(jìn)入等待狀態(tài),直到從設(shè)備釋放時鐘線,通信才繼續(xù)。

高速模式

原理上講,使用上拉電阻來設(shè)置邏輯1,會限制總線的最大傳輸速度。而速度是限制總線應(yīng)用的因素之一。這也說明為什么要引入高速模式(3.4Mbps)。在發(fā)起一次高速模式傳輸前,主設(shè)備必須先在低速的模式下(例如快速模式)發(fā)出特定的“High Speed Master”信號。為縮短信號的周期和提高總線速度,高速模式必須使用額外的I/O緩沖區(qū)。另外,總線仲裁在高速模式下可屏蔽掉。更多的信息請參與總線標(biāo)準(zhǔn)文檔。

IIC與SPI對比

我們來對比一下IIC和SPI的一些關(guān)鍵點。

1、總線拓?fù)浣Y(jié)構(gòu)信號路由硬件資源耗費

IIC只需兩根信號線,而標(biāo)準(zhǔn)SPI至少四根信號,如果有多個從設(shè)備,信號需要更多。一些SPI變種雖然只使用三根線——SCLK、SS和雙向的MISO/MOSI,但SS線還是要和從設(shè)備一對一根。另外,如果SPI要實現(xiàn)多主設(shè)備結(jié)構(gòu),總線系統(tǒng)需額外的邏輯和線路。用IIC構(gòu)建系統(tǒng)總線唯一的問題是有限的7位地址空間,但這個問題新標(biāo)準(zhǔn)已經(jīng)解決——使用10位地址。從第一點上看,IIC是明顯的大贏家。

2、數(shù)據(jù)吞吐傳輸速度

如果應(yīng)用中必須使用高速數(shù)據(jù)傳輸,那么SPI是必然的選擇。因為SPI是全雙工,IIC的不是。SPI沒有定義速度限制,一般的實現(xiàn)通常能達(dá)到甚至超過10Mbps。IIC最高的速度也就快速+模式(1Mbps)和高速模式(3.4Mbps),后面的模式還需要額外的I/O緩沖區(qū),還并不是總是容易實現(xiàn)的。

3、優(yōu)雅性

IIC常被稱更優(yōu)雅于SPI。公正的說,筆者更傾向于認(rèn)為兩者同等優(yōu)雅和健壯。IIC的優(yōu)雅在于它的特色——用很輕盈的架構(gòu)實現(xiàn)了多主設(shè)備仲裁和設(shè)備路由。但是對使用的工程師來講,理解總線結(jié)構(gòu)更費勁,而且總線的性能不高。

SPI的優(yōu)點在于它的結(jié)構(gòu)相當(dāng)?shù)闹庇^簡單,容易實現(xiàn),并且有很好擴展性。SPI的簡單性不足稱其優(yōu)雅,因為要用SPI搭建一個有用的通信平臺,還需要在SPI之上構(gòu)建特定的通信協(xié)議軟件。也就是說要想獲得SPI特有而IIC沒有的特性——高速性能,工程師們需要付出更多的勞動。另外,這種自定的工作是完全自由的,這也說明為什么SPI沒有官方標(biāo)準(zhǔn)。IIC和SPI都對低速設(shè)備通信提供了很好的支持,不過,SPI適合數(shù)據(jù)流應(yīng)用,而IIC更適合“字節(jié)設(shè)備”的多主設(shè)備應(yīng)用。

總結(jié)

在數(shù)字通信協(xié)議簇中,IIC和SPI常稱為“小”協(xié)議,相對EthernetUSBSATA、PCI-Express等傳輸速度達(dá)數(shù)百上千兆字節(jié)每秒的總線。但是,我們不能忘記的是各種總線的用途是什么。“大”協(xié)議是用于系統(tǒng)外的整個系統(tǒng)之間通信的,“小”協(xié)議是用于系統(tǒng)內(nèi)各芯片間的通信,沒有跡象表明“大”協(xié)議有必要取代“小”協(xié)議。IIC和SPI的存在和流行體現(xiàn)了“夠用就好”的哲學(xué)。回應(yīng)文首,IIC和SPI如此流行,它是任何一位嵌入式工程師必備的工具。

責(zé)任編輯:lq

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

    關(guān)注

    48

    文章

    8385

    瀏覽量

    164640
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3747

    瀏覽量

    133653
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1885

    瀏覽量

    101285

原文標(biāo)題:通信協(xié)議 IIC 與 SPI 最全對比

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    松下A6伺服通信協(xié)議介紹

    松下A6伺服通信協(xié)議是工業(yè)自動化領(lǐng)域中廣泛使用的一種高性能通信標(biāo)準(zhǔn),其設(shè)計旨在實現(xiàn)伺服驅(qū)動器與控制器之間的高效數(shù)據(jù)交互。該協(xié)議基于松下自主開發(fā)的通信架構(gòu),支持多種
    的頭像 發(fā)表于 03-02 17:16 ?539次閱讀
    松下A6伺服<b class='flag-5'>通信協(xié)議</b>介紹

    重型車輛J1939通信協(xié)議是什么

    重型車輛J1939通信協(xié)議是美國汽車工程師協(xié)會(SAE)制定的基于控制器局域網(wǎng)(CAN)的高層通信協(xié)議標(biāo)準(zhǔn),主要用于重型車輛及商用車輛中電子控制單元(ECU)之間的實時、可靠數(shù)據(jù)交換。 一、協(xié)
    的頭像 發(fā)表于 02-04 17:46 ?1095次閱讀

    機器人通信協(xié)議EtherCAT和CAN如何選擇

    當(dāng)下,雖然行業(yè)中存在許多通信協(xié)議,但業(yè)內(nèi)人士普遍認(rèn)為,EtherCAT和CAN兩大協(xié)議,是機器人行業(yè)未來最重要的兩大協(xié)議
    的頭像 發(fā)表于 01-27 15:54 ?2606次閱讀

    RA MCU眾測寶典 | IIC之【RA2E1】IIC通信的OLED顯示

    ,到OLED驅(qū)動函數(shù)編寫、圖像文字取模與顯示,一起感受僅用SDA和SCL兩條線,就能實現(xiàn)設(shè)備間數(shù)據(jù)交互與可視化的便捷魅力。開啟寶典簡介IIC通信協(xié)議IIC(Inte
    的頭像 發(fā)表于 01-01 10:04 ?1894次閱讀
    RA MCU眾測寶典 | <b class='flag-5'>IIC</b>之【RA2E1】<b class='flag-5'>IIC</b><b class='flag-5'>通信</b>的OLED顯示

    協(xié)議“老將”,連接工業(yè)智能的橋梁——一文讀懂ModBus通信協(xié)議

    一、什么是ModBus? ModBus是一種串行通信協(xié)議,由Modicon公司(現(xiàn)施耐德電氣)于1979年推出,最初用于可編程邏輯控制器(PLC)之間的通信。如今,它已成為工業(yè)自動化領(lǐng)域的通信標(biāo)準(zhǔn)
    發(fā)表于 12-15 10:08

    通信協(xié)議IICSPI最全對比分析

    非常適合近距離低速芯片間通信。Philips(for IIC)和Motorola(for SPI)出于不同背景
    發(fā)表于 12-10 06:04

    FPGA實現(xiàn)基于SPI協(xié)議的Flash驅(qū)動控制芯片擦除

    本篇博客具體包括SPI協(xié)議的基本原理、模式選擇以及時序邏輯要求,采用FPGA(EPCE4),通過SPI通信協(xié)議,對flash(W25Q16BV)存儲的固化程序進(jìn)行芯片擦除操作。
    的頭像 發(fā)表于 12-02 10:00 ?2586次閱讀
    FPGA實現(xiàn)基于<b class='flag-5'>SPI</b><b class='flag-5'>協(xié)議</b>的Flash驅(qū)動控制芯片擦除

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

    不能?本文一次梳理清楚。 一、通信協(xié)議快速對照表 協(xié)議 全稱 線數(shù) 通信方式 速率 應(yīng)用場景 特點 SPI Serial Peripheral Interface 4根常用線(MOSI
    的頭像 發(fā)表于 11-18 10:53 ?549次閱讀

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

    ,有的不能?本文一次梳理清楚。一、通信協(xié)議快速對照表協(xié)議全稱線數(shù)通信方式速率應(yīng)用場景特點SPISerialPeripheralInterface4根常用線(MOSI
    的頭像 發(fā)表于 11-17 10:53 ?1750次閱讀
    <b class='flag-5'>SPI</b>、I2C、I2S、UART:<b class='flag-5'>通信協(xié)議</b>對比表

    Xilinx FPGA串行通信協(xié)議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設(shè)計。本文深入分析Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統(tǒng)設(shè)計中關(guān)鍵的串行通信協(xié)議。介紹
    的頭像 發(fā)表于 11-14 15:02 ?2548次閱讀
    Xilinx FPGA串行<b class='flag-5'>通信協(xié)議</b>介紹

    電能質(zhì)量在線監(jiān)測裝置支持哪些通信協(xié)議

    現(xiàn)代電能質(zhì)量在線監(jiān)測裝置支持豐富的通信協(xié)議,覆蓋工業(yè)控制、智能電網(wǎng)、物聯(lián)網(wǎng)等多領(lǐng)域需求,核心協(xié)議類型及典型應(yīng)用如下: 一、工業(yè)標(biāo)準(zhǔn)協(xié)議(主流
    的頭像 發(fā)表于 11-12 10:12 ?682次閱讀

    能源行業(yè)是否有電能質(zhì)量在線監(jiān)測裝置的專用通信協(xié)議標(biāo)準(zhǔn)

    能源行業(yè)針對電能質(zhì)量在線監(jiān)測裝置已形成專用通信協(xié)議標(biāo)準(zhǔn)體系,覆蓋電力、新能源、微電網(wǎng)等細(xì)分領(lǐng)域,其核心標(biāo)準(zhǔn)如下: 一、電力行業(yè)專用標(biāo)準(zhǔn) Q/GDW 10650.3-2021 電能質(zhì)量監(jiān)測技術(shù)規(guī)范由
    的頭像 發(fā)表于 09-26 17:28 ?1264次閱讀

    分布式能源并網(wǎng)的通信協(xié)議有哪些?

    在分布式能源(如光伏、儲能、微電網(wǎng))并網(wǎng)場景中,通信協(xié)議需滿足 設(shè)備互聯(lián)、數(shù)據(jù)傳輸、遠(yuǎn)程控制、調(diào)度協(xié)同 等核心需求,不同協(xié)議因設(shè)計目標(biāo)不同,適用于從設(shè)備層到調(diào)度層的不同層級。以下按 “國際標(biāo)準(zhǔn)
    的頭像 發(fā)表于 09-18 16:40 ?1588次閱讀
    分布式能源并網(wǎng)的<b class='flag-5'>通信協(xié)議</b>有哪些?

    工業(yè)通信協(xié)議都有哪些?#三格電子

    通信協(xié)議
    三格電子科技
    發(fā)布于 :2025年08月28日 10:35:26

    哪些協(xié)議是工業(yè)通信協(xié)議?#三格電子

    通信協(xié)議
    三格電子科技
    發(fā)布于 :2025年08月27日 14:16:07