中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

幫企業(yè)建網(wǎng)站步驟seo公司杭州

幫企業(yè)建網(wǎng)站步驟,seo公司杭州,網(wǎng)站建設(shè)項(xiàng)目概要設(shè)計(jì)方案,吉安網(wǎng)站建設(shè)收費(fèi)提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、通信基本知識(shí)1.1 MCU的參見(jiàn)外設(shè)1.2 通信的分類按基本的類型從傳輸方向上來(lái)分 二、UART(串口通訊)2.1 簡(jiǎn)介2.2 時(shí)序圖分析2.3 UART的…

提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、通信基本知識(shí)
    • 1.1 MCU的參見(jiàn)外設(shè)
    • 1.2 通信的分類
      • 按基本的類型
      • 從傳輸方向上來(lái)分
  • 二、UART(串口通訊)
    • 2.1 簡(jiǎn)介
    • 2.2 時(shí)序圖分析
    • 2.3 UART的局限性
  • 三、I2C
    • 3.1簡(jiǎn)介
    • 3.1 硬件部分的知識(shí)
    • 3.2 通訊規(guī)則與時(shí)序分析:
  • 四、SPI
    • 4.1 簡(jiǎn)介
    • 4.2 時(shí)序圖
  • 五、 總結(jié)


前言

在嵌入式系統(tǒng)開(kāi)發(fā)中,通信協(xié)議扮演著至關(guān)重要的角色。UART、I2C、SPI是三種常用的串行通信協(xié)議,各自具有獨(dú)特的特點(diǎn)和應(yīng)用場(chǎng)景。本教程將深入解析這些協(xié)議的基本原理與時(shí)序。

一、通信基本知識(shí)

1.1 MCU的參見(jiàn)外設(shè)

存儲(chǔ)設(shè)備(SD卡)、顯示設(shè)備(屏幕)、傳感器設(shè)備(GPS、溫濕度傳感器)等等

在這里插入圖片描述

1.2 通信的分類

按基本的類型

串行通信:串行通信是一種通過(guò)一條數(shù)據(jù)線逐位發(fā)送數(shù)據(jù)的通信方式。數(shù)據(jù)按照順序一位接一位地傳輸,這使得串行通信只需要較少的信號(hào)線,通常包括數(shù)據(jù)線、地線以及可能的時(shí)鐘線和控制線。

并行通信
并行通信是一種通過(guò)多條數(shù)據(jù)線同時(shí)傳輸多位數(shù)據(jù)的通信方式。在同一時(shí)鐘周期內(nèi),多個(gè)比特并行傳輸?shù)侥繕?biāo)設(shè)備。通常用于需要高傳輸速率的短距離通信。

從傳輸方向上來(lái)分

單工通信:單工通信就是公路上只允許車輛單向行駛,但數(shù)據(jù)只能從發(fā)送機(jī)發(fā)送給接收機(jī),不能反向發(fā)送
在這里插入圖片描述

半雙工通信:半雙工通信就是公路上允許車輛雙向行駛,數(shù)據(jù)可以在發(fā)送機(jī)和接收機(jī)之間相互傳輸,但是不能同時(shí)發(fā)送。
在這里插入圖片描述
全雙工通信:全雙工通信就是公路上允許車輛同時(shí)雙向行駛,數(shù)據(jù)可以在發(fā)送機(jī)和接收機(jī)之間同時(shí)相互傳輸
在這里插入圖片描述

波特率
波特率是發(fā)送二進(jìn)制數(shù)據(jù)位的速率,單位是bps(即每秒傳輸二進(jìn)制位的數(shù)量)

二、UART(串口通訊)

2.1 簡(jiǎn)介

簡(jiǎn)介:
通用異步收發(fā)器,是一種通用串行、異步通信總線,該總線有兩條數(shù)據(jù)線,可以實(shí)現(xiàn)全雙工的發(fā)送和接收,常用于單片機(jī)與單片機(jī)或外部輔助設(shè)備之間的通信,
在這里插入圖片描述

2.2 時(shí)序圖分析

在這里插入圖片描述
注意
UART從低位開(kāi)始發(fā)送數(shù)據(jù),一次只能發(fā)送8位數(shù)據(jù),加上起始位和停止位,實(shí)際上一共是發(fā)送了10位
UART應(yīng)用的場(chǎng)景
RS232 9針串行接口:一般用于計(jì)算機(jī)和單片機(jī)之間的通信
USB轉(zhuǎn)串口:這個(gè)是目前計(jì)算機(jī)和單片機(jī)之間通信最常見(jiàn)的方式
整體來(lái)說(shuō)UART多用于板間通信,比如單片機(jī)與單片機(jī),單片機(jī)與計(jì)算機(jī),一個(gè)設(shè)備與另一個(gè)設(shè)備之間的通訊。

2.3 UART的局限性

1.不能遠(yuǎn)距離傳輸信號(hào)
因?yàn)榇谕ㄓ嵤褂玫氖荰TL電平,只能在很短的距離進(jìn)行通訊,不然信號(hào)很容易受到干擾,如果需要遠(yuǎn)離的通信,則需要在中間加入抗干擾的芯片,因此,衍生出了RS232(最大支持30米)、RS485(最大距離可以超過(guò)1000米),同時(shí)RS485還增加了一對(duì)多的通信功能。
在這里插入圖片描述
2.通信速遞慢
大部分的情況下,我們使用的最高串口的波特率為115200(11.25KB/s),按照這個(gè)速度,一個(gè)小時(shí)都寫不滿一張64M的SD卡。究其原因,是UART的通信需要雙方約定好特定的波特率,由于早期的單片機(jī)的頻率低,時(shí)鐘精度低的問(wèn)題,雙方不可能保持嚴(yán)格的一致,傳輸?shù)乃俣忍旌苋菀壮霈F(xiàn)誤碼的情況。
解決這個(gè)問(wèn)題的爆發(fā)就是,加入一個(gè)CLOCK的信號(hào),雙方不需要約定具體的通信速度,因此衍生出了SPI(最高的傳輸速度,可突破10M)
在這里插入圖片描述
3.不能一對(duì)多通信(原則上只支持一對(duì)一的方式)
當(dāng)系統(tǒng)有很多個(gè)傳感器時(shí)進(jìn)行數(shù)據(jù)傳輸時(shí),MCU就需要多個(gè)串口來(lái)連接這些設(shè)備,會(huì)導(dǎo)致接口資源的浪費(fèi)。
在這里插入圖片描述
因此,衍生出了I2C通訊,它的最大的優(yōu)勢(shì)就是支持一對(duì)多的通訊方式,
I2C通訊有兩根線,一個(gè)是時(shí)鐘線CLOCK,一個(gè)是數(shù)據(jù)線DATA,每個(gè)設(shè)備都掛在在這兩根線上,故稱為總線。每個(gè)設(shè)備都有自己的獨(dú)立的ID號(hào)(地址)。當(dāng)單片機(jī)想要和任意的設(shè)備通訊時(shí),只需要按照特定的通訊協(xié)議,找到相應(yīng)的設(shè)備進(jìn)行通訊即可。
在這里插入圖片描述

三、I2C

3.1簡(jiǎn)介

簡(jiǎn)介
(1) I2C:是PHILIPS公司開(kāi)發(fā)的一種兩線式、串行、半雙工同步通信總線,可以掛載多個(gè)參與通信的器件,常用于板內(nèi)通信,比如單片機(jī)與外圍芯片之間短距離、低速的信號(hào)傳輸

(2) I2C協(xié)議主要是解決了單片機(jī)一對(duì)多的通信問(wèn)題,通過(guò)構(gòu)建一條信息通道,只需兩個(gè)IO口,兩條線,就可以把電路板上的所有芯片串起來(lái),利用這個(gè)信息通道相互傳輸數(shù)據(jù),相比于UART的通訊方式,大大節(jié)約了單片機(jī)的寶貴的IO資源,也降低了PCB的布線成本

3.1 硬件部分的知識(shí)

(1) 問(wèn)題一:在某一時(shí)刻,如果有兩個(gè)設(shè)備同時(shí)發(fā)送數(shù)據(jù),應(yīng)該會(huì)發(fā)生什么?比如設(shè)備A要發(fā)送1,設(shè)備B 要發(fā)送0,如下圖所示,最終數(shù)據(jù)總線上會(huì)是高電平還是低電平?
在這里插入圖片描述
回答
為解決上述的問(wèn)題,I2C做了一些閹割的處理(這也是I2C硬件設(shè)計(jì)最精髓的地方),
先介紹一下,一般芯片如何輸出高低電平
在芯片10口的內(nèi)部一般會(huì)有兩顆MOS管,上面的MOS管導(dǎo)通就輸出高電平,下面的MOS管導(dǎo)通就輸出高電平
在這里插入圖片描述
如果兩個(gè)芯片都掛在在同一個(gè)數(shù)據(jù)的總線上,在某一時(shí)刻,芯片A輸出高電平,芯片B輸出低電平,此時(shí),電流就直接從電源流入地,造成電路短路,必定元器件內(nèi)燒毀
在這里插入圖片描述
所以,為了避免這種情況的發(fā)生,I2C總線對(duì)于設(shè)備的IO口,做了一些閹割處理,去掉了上面的MOS管,這樣就不可能存在短路的情況了。
在這里插入圖片描述
不過(guò)這樣也會(huì)帶來(lái)另外的問(wèn)題:設(shè)備只能輸出低電平,無(wú)法輸出高電平。
解決辦法
在數(shù)據(jù)總線上,加一顆上拉電阻,那么數(shù)據(jù)總線就默認(rèn)輸出高電平了(也就是后面的通訊時(shí),空閑狀態(tài)為什么是高電平的原因
重新回到一開(kāi)始的問(wèn)題兩個(gè)設(shè)備如果同時(shí)要發(fā)送信號(hào),怎么辦?
在這里插入圖片描述
當(dāng)設(shè)備A輸出高電平,設(shè)備B輸出低電平時(shí),此時(shí)總線式處于低電平的,無(wú)法滿足設(shè)備A的需求,此時(shí)就需要軟件協(xié)議來(lái)解決這個(gè)問(wèn)題(也就是發(fā)送數(shù)據(jù)前,要進(jìn)行尋址的操作,確定通訊的設(shè)備

總結(jié)
I2C為了解決多設(shè)備共用總線,而步燒毀電路的問(wèn)題,采用開(kāi)漏輸出的方案,配合上拉電阻,就可以輸出完整的高低電平,這個(gè)上拉電阻的取值一般在幾千歐姆(4.7k歐姆),如果總線設(shè)備多且通信速度要求高的話,電阻就選著小一些,反之,電阻大一些
在這里插入圖片描述
注意
由于I2C采用開(kāi)漏輸出加上拉電阻的模式,所以I2C的抗干擾的能力比較弱,只適合用于同一塊電路板上的芯片之間的通信,并不適合超過(guò)30cm電路板之間的通訊

3.2 通訊規(guī)則與時(shí)序分析:

SCL時(shí)鐘線:SCL時(shí)鐘線用于同步
SDA數(shù)據(jù)線:用于傳輸數(shù)據(jù)
在這里插入圖片描述

I2C總線能掛載多個(gè)器件,且支持多主機(jī)模式,也就是說(shuō),線路上的任何一個(gè)器件都可以作為主機(jī),但受限于只有一根信號(hào)線,同一也就是發(fā)起和結(jié)束一次通信的權(quán)利時(shí)刻只能有一個(gè)主機(jī),主機(jī)擁有該時(shí)刻下總線的控制權(quán),而從機(jī)只能被主機(jī)呼叫。
問(wèn)題:那線路上有這么多器件,主機(jī)是怎么識(shí)別出自己要呼叫的從機(jī)?
回答
在I2C總線協(xié)議中,每個(gè)器件都有一個(gè)固定的號(hào)碼,他是一個(gè)7位的地址 ,如上圖所示,每個(gè)設(shè)備的地址。例如,主機(jī)要獲取設(shè)備E2PROM的數(shù)據(jù),會(huì)事先發(fā)一個(gè)0x31找到E2PROM設(shè)備
I2C的時(shí)序圖
在這里插入圖片描述
尋址流程
1.I2C協(xié)議發(fā)送數(shù)據(jù)是從高位到低位依次發(fā)送,當(dāng)總線空閑時(shí),SCL時(shí)鐘線和SDA數(shù)據(jù)線均保持高電平,
2.當(dāng)主機(jī)要開(kāi)始傳輸數(shù)據(jù)時(shí),會(huì)先將SDA電平拉低,而此時(shí)SDA數(shù)據(jù)線上這個(gè)從高到低的跳變沿,就是起始位。
3.接下來(lái)就是進(jìn)行期間尋址,在SCL低電平時(shí)依次發(fā)送七位地址位
4.地址發(fā)送完之后,緊接著主機(jī)會(huì)發(fā)送一個(gè)讀寫指示位,低電平表示要發(fā)送數(shù)據(jù),高電平表示要請(qǐng)求數(shù)據(jù)
5.主機(jī)發(fā)送完以上數(shù)據(jù)從機(jī)如果成加接收,會(huì)發(fā)送一個(gè)應(yīng)答位到總線上
注意:只有SCL處于低電平時(shí),SDA可以變化,SCL高電平時(shí),SDA需要保持,以方便數(shù)據(jù)接收方讀取操作
數(shù)據(jù)發(fā)送
在這里插入圖片描述
I2C通信一般流程:
1.主機(jī)發(fā)送起始位并進(jìn)行從機(jī)尋址
2.得到應(yīng)答后主機(jī)開(kāi)始發(fā)送 / 讀取數(shù)據(jù)位
3.數(shù)據(jù)發(fā)送 / 讀取完成主機(jī)發(fā)送停止位結(jié)束此次通信
在這里插入圖片描述

應(yīng)用的設(shè)備:
1.溫濕度傳感器

四、SPI

4.1 簡(jiǎn)介

簡(jiǎn)介
串行外圍設(shè)備接口,是一種高速、全雙工、同步通信總線,常用于單片機(jī)和E2PROM、FLASH、實(shí)時(shí)時(shí)鐘、數(shù)字信號(hào)處理器等器件的通信,它主要是主從方式通信,通常只有一個(gè)主機(jī)和數(shù)個(gè)從機(jī)。
在這里插入圖片描述
SCLK:時(shí)鐘信號(hào),由主機(jī)產(chǎn)生(Must)
MOSl:主機(jī)給從機(jī)發(fā)送指令或數(shù)據(jù)的通道
MIS0:主機(jī)讀取從機(jī)的狀態(tài)或數(shù)據(jù)的通道
CS:從機(jī)片選使能信號(hào)

在同一時(shí)刻,主機(jī)只能跟一個(gè)從機(jī)進(jìn)行通信,當(dāng)總線存在多個(gè)從機(jī)時(shí),需要進(jìn)行片選,將從機(jī)的CS接口電平拉低或者拉低。
在這里插入圖片描述

4.2 時(shí)序圖

以SCLK時(shí)鐘線空閑時(shí)時(shí)高電平為例:
1.當(dāng)SCLK出現(xiàn)下降沿時(shí)(從高電平跳到低電平時(shí)),進(jìn)行數(shù)據(jù)輸出
2.當(dāng)SCLK出現(xiàn)上升沿時(shí)(從低電平跳到高電平時(shí)),進(jìn)行數(shù)據(jù)采樣
在這里插入圖片描述
注意
1.SPI發(fā)送數(shù)據(jù)也是從高位到低位依次發(fā)送數(shù)據(jù)
2.SPI的時(shí)鐘線SCLK在空閑的時(shí)候可以是高電平也可是低電平(由時(shí)鐘的極性決定)
3.和I2C相比,SPI沒(méi)有開(kāi)始位、結(jié)束位、應(yīng)答位,故規(guī)則上簡(jiǎn)單很多

CPIOL時(shí)鐘極性
a. CPOL=0時(shí),SCLK空閑時(shí)狀態(tài)為低電平
b. CPOL=1時(shí),SCLK空閑時(shí)狀態(tài)為高電平

CPHA時(shí)鐘的相位:它決定了什么時(shí)候進(jìn)行數(shù)據(jù)輸出,什么時(shí)候進(jìn)行數(shù)據(jù)采樣
a. CPHA=0時(shí),每個(gè)周期的第一個(gè)跳變沿采樣
b. CPHA=1時(shí),每個(gè)周期的第一個(gè)跳變沿輸出

不管上述哪一種設(shè)置,輸出和采樣都是交替進(jìn)行,以上的兩兩組合,就構(gòu)成了SPI的四種工作模式。

五、 總結(jié)

在這里插入圖片描述
常見(jiàn)的問(wèn)題:UART/I2C/SPI這三種通訊協(xié)議之間的異同點(diǎn)是什么?
回答
1.通訊模式上:
SPI和IIC是同步通信,依賴時(shí)鐘信號(hào);而UART是異步通信,使用起始位和停止位來(lái)界定數(shù)據(jù)包。
2.從通訊的管腳上來(lái)說(shuō):
UART:只使用數(shù)據(jù)線和地線。通信雙方需要預(yù)先約定波特率
I2C:使用兩條線進(jìn)行通信:數(shù)據(jù)線(SDA)和時(shí)鐘線(SCL)。
SPI:使用四條線進(jìn)行通信:主設(shè)備輸出數(shù)據(jù)線(MOSI)、主設(shè)備輸入數(shù)據(jù)線(MISO)、時(shí)鐘線(SCLK)和從設(shè)備選擇線(CS)

3.通訊的速率上:
SPI通常提供最高的數(shù)據(jù)傳輸速度(可突破10M),其次是IIC,UART相對(duì)較慢.

4.多設(shè)備通信方面:
IIC和SPI都支持多設(shè)備通信,但SPI需要為每個(gè)設(shè)備提供單獨(dú)的SS(片選)信號(hào)線,而IIC通過(guò)地址識(shí)別設(shè)備。而UART原則上只支持一對(duì)一的通訊方式。
5.從糾錯(cuò)的方面:
UART有奇偶檢驗(yàn)的方式來(lái)糾錯(cuò),I2C有應(yīng)答的方式來(lái)糾錯(cuò),SPI沒(méi)有

http://www.risenshineclean.com/news/52560.html

相關(guān)文章:

  • 網(wǎng)站設(shè)計(jì)美工多少搜索引擎優(yōu)化大致包含哪些內(nèi)容或環(huán)節(jié)
  • xp怎么做網(wǎng)站服務(wù)器太原做網(wǎng)站的
  • wordpress播放本地mp3seo關(guān)鍵詞排名注冊(cè)價(jià)格
  • 全市網(wǎng)站建設(shè)情況摸底調(diào)查百度網(wǎng)站關(guān)鍵詞排名查詢
  • 網(wǎng)站設(shè)計(jì)制作費(fèi)用多少怎么做互聯(lián)網(wǎng)營(yíng)銷推廣
  • 南陽(yáng)東莞網(wǎng)站建設(shè)公司優(yōu)化排名推廣關(guān)鍵詞
  • 網(wǎng)站可以微信支付是怎么做的域名??烤W(wǎng)頁(yè)推廣大全
  • 網(wǎng)站定制化開(kāi)發(fā)介紹新網(wǎng)
  • 哈爾濱網(wǎng)站建設(shè)2017站長(zhǎng)統(tǒng)計(jì) 網(wǎng)站統(tǒng)計(jì)
  • 西安做網(wǎng)站朋朋抖音關(guān)鍵詞推廣
  • 商城網(wǎng)站建設(shè)系統(tǒng)企業(yè)網(wǎng)站建設(shè)推廣
  • 免費(fèi)網(wǎng)站推廣軟文發(fā)布中國(guó)國(guó)家數(shù)據(jù)統(tǒng)計(jì)網(wǎng)
  • 網(wǎng)站備案密碼忘做seo需要哪些知識(shí)
  • 貴州網(wǎng)絡(luò)推廣公司百色seo快速排名
  • 阿里巴巴吧做網(wǎng)站關(guān)鍵詞排名優(yōu)化網(wǎng)站
  • wordpress foxpay企業(yè)站seo報(bào)價(jià)
  • 虛擬主機(jī)能干什么優(yōu)化網(wǎng)站打開(kāi)速度
  • 確保網(wǎng)站地址沒(méi)有做301跳轉(zhuǎn)新網(wǎng)站怎么做推廣
  • 喬拓云智能建站官網(wǎng)登錄入口廈門關(guān)鍵詞排名提升
  • 網(wǎng)站ie不兼容如何開(kāi)發(fā)網(wǎng)站
  • 唐山市住房城鄉(xiāng)建設(shè)部網(wǎng)站主頁(yè)營(yíng)業(yè)推廣策劃
  • 朝陽(yáng)網(wǎng)站建設(shè)seo是什么技術(shù)
  • 網(wǎng)站建設(shè)好的圖片seo優(yōu)化專員工作內(nèi)容
  • 網(wǎng)站建設(shè)的具體過(guò)程網(wǎng)絡(luò)營(yíng)銷崗位職責(zé)和任職要求
  • wordpress搜索引擎源碼深圳seo招聘
  • 做配音任務(wù)的網(wǎng)站百度搜索推廣費(fèi)用
  • 免費(fèi)雙語(yǔ)網(wǎng)站模板如何把網(wǎng)站推廣
  • jsp網(wǎng)站購(gòu)物車怎么做seo外鏈工具軟件
  • 濟(jì)南個(gè)人網(wǎng)站建設(shè)系統(tǒng)優(yōu)化軟件哪個(gè)最好的
  • 資訊網(wǎng)站模板周口seo公司