400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)業(yè÷↕¥→)資訊 » 行(xíng)業(yè)資訊
內(nèi)部資訊行(xíng)業(yè)資訊

SPI、UART、I2C總線詳解(一(yī))

發布日(rì)期:2021-11-05


當您将微(wēi)控制(zhì)器(qì)連接到(dào)♥↔₽傳感器(qì),顯示器(qì)或其他(tā)模塊時(shí),您是(shì)否✔↕考慮過這(zhè)兩種設備是(shì)如(r↕∏ú)何相(xiàng)互通(tōng)信的(de)?他(tā)們到(dào÷¥ σ)底在說(shuō)什(shén)麽?

事(shì)實上(shàng)電(diàn)☆α子(zǐ)設備之間(jiān)的(de)通(tōng)信就(jiù)像人(rén)類之間(β$↔jiān)的(de)交流,雙方都(dōu)需要↑↑<(yào)說(shuō)相(xiàng)同的(de)語言。在電(diàn)子↑≈&(zǐ)産品中,這(zhè)些(xiē)語言稱為(wèi)通(tōng)信協議$ε"ε(yì)。首先我們将從(cóng)一(yī)些(xiē)基本概念入手,然後再詳細說(sεδhuō)明(míng)SPI的(de)工(gōng)作(zuò)原理(lǐ)。


1

串行(xíng)VS并行(xíng)

電(diàn)子(zǐ)設備通(tōng)過發送數(shù)據位從(cóng)而實現(xiàn↑®∑‍)相(xiàng)互交談。位是(shì)二進制(zhì)的(de),隻能(néng)是(♠♥shì)1或0。通(tōng)過電(diàn)壓的(×₹>de)快(kuài)速變化(huà),位從(cóng)一(yī)個(gè‌φΩ )設備傳輸到(dào)另一(yī)個(gè)設備σ≠✔。在以5V工(gōng)作(zuò)的(de)系統中,“0”通(tōng)過0V的(de)短( ♠duǎn)脈沖進行(xíng)通(tōng)信,而“1”通(tōng)過♠₩↕σ5V的(de)短(duǎn)脈沖進行(xíng)通(tōng)&£↔信。 

數(shù)據位可(kě)以通(tōng)過并行(xíng)或串行(xíng)的® →₩(de)形式進行(xíng)傳輸。 在并行(xíng)通(tōng)信中σ×♠,數(shù)據位在導線上(shàng)同時(shí)傳輸λ÷。下(xià)圖顯示了(le)二進制(zhì)(01000011)中字母“C”的(de)↕¥γ并行(xíng)傳輸:

在串行(xíng)通(tōng)信中,‌→>位通(tōng)過單根線一(yī)一(yī)發送。下(xià)圖顯示了(le)二•×進制(zhì)(01000011)中字母“C”的(de)•​×串行(xíng)傳輸:

2

SPI總線

SPI是(shì)一(yī)種常見(jiàn)的(d¥↕™e)設備通(tōng)用(yòng)通(tōn↑¥✘¥g)信協議(yì)。它有(yǒu)一(yī)個(gè)獨特優勢就(jiù$&♠')是(shì)可(kě)以無中斷傳輸數(shù)據,可(kě)以連續地(dì)發送π∑∑或接收任意數(shù)量的(de)位。而在I2C和(hé)UART中,數(shù)£₹¶據以數(shù)據包的(de)形式發送,有(yǒu)著(zhe)限λ¥定位數(shù)。在SPI設備中,設備分(fēn)為(wèi)主機(jī)與從(cóng)機¥×(jī)系統。主機(jī)是(shì)控制(zhì)設備(通(tōng)常是(shì)微(¶✔$wēi)控制(zhì)器(qì)),而從(cóng)機(jīαπ✘→)(通(tōng)常是(shì)傳感器(qì),顯示器(qì)或存儲芯片÷ •γ)從(cóng)主機(jī)那(nà)獲取指令。一(β↔πΩyī)套SPI通(tōng)訊共包含四種信号線:MOSI ♠≈≤∞(Master Output/Slave Input) – 信×≥Ω号線,主機(jī)輸出,從(cóng)機(jī)輸☆φ"入。MISO (Master Input/Slave Output✔✘←) – 信号線,主機(jī)輸入,從(cóng)機(jī)輸出。SCLK  ♥✘←(Clock) – 時(shí)鐘(zhōng)信号。SS/CS  ↑ε<(Slave Select/Chip Select) – 片選™£φ÷信号。

實際上(shàng),從(cóng)機(jī)的(de•&®)數(shù)量受系統負載電(diàn)容的(de)限制( ✘¶÷zhì),它會(huì)降低(dī)主機(jī★ ∏♠)在電(diàn)壓電(diàn)平之間(jiān)準确切換的(de)能(néng)↑♠☆力。

工(gōng)作(zuò)原理(lǐ)

時(shí)鐘(zhōng)信号

每個(gè)時(shí)鐘(zhōng)周&®期傳輸一(yī)位數(shù)據,因此數(shù)據傳輸的(de)速度取決于時(s→®α→hí)鐘(zhōng)信号的(de)頻(pín)率π'↔。 時(shí)鐘(zhōng)信号由于β≈γ是(shì)主機(jī)配置生(shēng)成的(de),因此SPI®‌ •通(tōng)信始終由主機(jī)啓動。 

設備共享時(shí)鐘(zhōng)信号的(de)任何通 ¥↑★(tōng)信協議(yì)都(dōu)稱為(w¶↕èi)同步。SPI是(shì)一(yī)種同步通≠φ(tōng)信協議(yì),還(hái)‌"有(yǒu)一(yī)些(xiē)異步通↔φ(tōng)信不(bù)使用(yòng)時(shí)鐘(zhōng ‌≥)信号。 例如(rú)在UART通(tōng)信中,雙<β方都(dōu)設置為(wèi)預先配置的(de)波特率,該波特率決定了(le)數(shù)'$‍據傳輸的(de)速度和(hé)時(shí)序。

片選信号

主機(jī)通(tōng)過拉低(dī)從(cóng)機(jī)的(d↕"≤e)CS/SS來(lái)使能(néng)通(tōng)信。 ∞<;在空(kōng)閑/非傳輸狀态下(xià),片選線保持高(gāo)電(diàn)平。在主機✔σ (jī)上(shàng)可(kě)以存在多(duō)♣÷個(gè)CS/SS引腳,允許主機(jī)與多(duō)個(g¶€₹è)不(bù)同的(de)從(cóng)機(jī)進行(xíng)通(tōng)™♥‌↑訊。

如(rú)果主機(jī)隻有(yǒu)一(yī)個(gè)片選引腳可∏<≤₹(kě)用(yòng),則可(kě)以通(tōng)過以下(xià€♠₩)方式連接這(zhè)些(xiē)從(cóng)器(qì)件(jiàn):

MOSI和(hé)MISO

主機(jī)通(tōng)過MOSI以串行(xíng)方式将數(shù)據發  ≠↑送給從(cóng)機(jī),從(cóng)機(jī)也(yě)可(φ✘kě)以通(tōng)過MISO将數(shù)據發送給主機(jī),兩者可(kě)以同時(s ​hí)進行(xíng)。所以理(lǐ)論上(shàng),SPI是(shì)一(yī)種全雙工(g₹≥ōng)的(de)通(tōng)訊協議(yì)。

傳輸步驟
1. 主機(jī)輸出時(shí)鐘(zhōng)信号

2. 主機(jī)拉低(dī)SS / CS引腳,激活從(‍πβφcóng)機(jī)

3. 主機(jī)通(tōng)過MOSI将數(shù)據× 發送給從(cóng)機(jī)

4. 如(rú)果需要(yào)響應,則ε↔☆≠從(cóng)機(jī)通(tōng)過MISO将數(shù)據返回給主機(j‌↕ī)

使用(yòng)SPI有(yǒu)一(yī)些(xiē)優點和(hé)缺點,如(‌®××rú)果在不(bù)同的(de)通(tōng)信協議(yì)之間(jiān)進行(xíng)選擇≠β↔,則應根據項目要(yào)求進行(xíng)充分(fēn♣₽)考量。

優劣

優點

SPI通(tōng)訊無起始位和(hé)停止位,因此數(shù)據可(kě)以連續流±↔←¶傳輸而不(bù)會(huì)中斷;沒有(yǒu)像I2C這(zhè)樣÷×的(de)複雜(zá)的(de)從(cónδ$g)站(zhàn)尋址系統,數(shù)據傳輸速率比I2C更高(gāo)(幾乎快∏✘₽γ(kuài)兩倍)。獨立的(de)MISO和(hé•>γλ)MOSI線路(lù),可(kě)以同時(shí)發送和(hé←β≤)接收數(shù)據。


缺點

SPI使用(yòng)四根線(I2C和(hé)UART♥₩<使用(yòng)兩根線),沒有(yǒu)信号接收成功的(d∏ e)确認(I2C擁有(yǒu)此功能(néng)),沒有(yǒu)任何形式的(de)錯(cuò)誤¥ ♣檢查(如(rú)UART中的(de)奇偶校(xiào)驗位等 £≤)。

UART代表通(tōng)用(yòng)✔≥₩☆異步接收器(qì)/發送器(qì)也(yě)稱為(wèi)串口通(tōng)訊,它不(b"→δ♠ù)像SPI和(hé)I2C這(zhè)樣的(de)通(tō≠λαng)信協議(yì),而是(shì)微(wēi)控制(zhì)器(qì∏‍§)中的(de)物(wù)理(lǐ)電(diàn)路(lù)或獨立的(de)IC。UART的(de↔α≥σ)主要(yào)目的(de)是(shì)發¥£&£送和(hé)接收串行(xíng)數(shù)據,其最好(hǎo)的(de)優點是(sh↓±&ì)它僅使用(yòng)兩條線在設備之間(ji£≤→ān)傳輸數(shù)據。UART的(de)原理(l♦π≠ǐ)很(hěn)容易理(lǐ)解,但(dàn)是(shì)如(rú)果您γπ☆"還(hái)沒有(yǒu)閱讀(dú)SPI 通(tōng)訊協議(yì),那(nà)可(kě♥Ωα₩)能(néng)是(shì)一(yī)個(gè)不(bù)錯(cuò)的(de)起點。



轉載汽車(chē)電(diàn)子(zǐ)相(xiàng)關文(wén)章(zhā​₹ng)

轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件(jiàn)

北京德智尚車聯科技有限公司版權所有(yǒu) 京ICP證000000号   技(jì)術(shùα γ)支持:網站(zhàn)建設