日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SPI协议简单介绍

發(fā)布時(shí)間:2023/12/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SPI协议简单介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

導(dǎo)言

SPI是串行擴(kuò)展總線。

串行總線技術(shù)可以使系統(tǒng)的硬件設(shè)計(jì)大大簡化、系統(tǒng)的體積減小、可靠性提高。同時(shí)系統(tǒng)的更改和擴(kuò)充極為容易。

常用的串行擴(kuò)展總線有:I2C(Inter IC Bus)總線、單總線(1-WIRE BUS)、SPI(Serial Peripheral Interface)總線及Microwire/PLUS等。

一、SPI協(xié)議

SPI總線是微控制器四線的外部總線。SPI沒有明文標(biāo)準(zhǔn),是一種事實(shí)總線,對通信操作的實(shí)現(xiàn)由芯片廠商和驅(qū)動(dòng)開發(fā)者通過data sheet和application notes溝通實(shí)現(xiàn)的細(xì)節(jié)。SPI是四根信號(hào)線協(xié)議,如下:

SCLK:Serial Clock(Output from master);

MOSI:Master Output Slave Input(Outpt from Master);

MISO:Master Input Slave Output(Output from Slave);

SS:Slave Select(Active low,Output from Master);

二、 SPI協(xié)議通信

SPI是單主設(shè)備通信,總線中只有一個(gè)設(shè)備發(fā)起通信,能發(fā)起通信的設(shè)備稱為主設(shè)備。當(dāng)SPI主設(shè)備想讀/寫從設(shè)備時(shí),首先拉低對應(yīng)從設(shè)備的SS線SS是低電平有效);然后發(fā)送工作脈沖到時(shí)鐘線上,在相應(yīng)的脈沖時(shí)間上,主設(shè)備把信號(hào)發(fā)到MOSI實(shí)現(xiàn)寫同時(shí)可以對MISO線采樣實(shí)現(xiàn)讀

三、SPI操作模式

SPI有四種操作模式:模式0、模式1、模式2、模式3。

這幾個(gè)模式之間的區(qū)別是定義了在時(shí)鐘脈沖的哪條邊沿轉(zhuǎn)換(toggles)輸出信號(hào),哪條邊沿采樣輸入信號(hào),還有時(shí)鐘脈沖的穩(wěn)定電平值(即時(shí)鐘信號(hào)無效時(shí)是高還是低)。每種模式由兩個(gè)參數(shù)描述,稱為時(shí)鐘極CPOL(clock polarity)與時(shí)鐘期CPHA(clock phase)。

Mode = Bit[CPOL]Bit[CPHA]

CPOL=0表示 SCK在空閑狀態(tài)時(shí)為0;

CPOL=1表示 SCK在空閑狀態(tài)時(shí)為1;

CPHA=0表示 在SCK第一個(gè)邊沿時(shí)輸入輸出數(shù)據(jù)有效;

CPHA=1表示 在SCK第二個(gè)邊沿時(shí)輸入輸出數(shù)據(jù)有效;

一般從器件的工作模式是固定的,主機(jī)要跟從機(jī)采用一樣的工作模式,雙方才能正常通信。如果有多個(gè)從設(shè)備,且從設(shè)備使用了不同的工作參數(shù),那么主設(shè)備與不用的從設(shè)備通信時(shí)必須重新配置這些參數(shù)。

3.1 Mode0

Mode0時(shí),CPOL=0,CPHA=0,SCK空閑狀態(tài)為低電平,主機(jī)數(shù)據(jù)在每個(gè)上升沿被從機(jī)采樣,數(shù)據(jù)輸出同理。?

3.2 Mode1

Mode1時(shí),CPOL=0,CPHA=1,SCK空閑時(shí)為低電平,在SCK第二個(gè)邊沿時(shí)數(shù)據(jù)有效,即SCK下降沿有效。

?3.3 Mode2

Mode2時(shí),CPOL=1,CPHA=0,SCK空閑時(shí)為高電平,在SCK第一個(gè)邊沿時(shí)數(shù)據(jù)有效,即SCK下降沿有效。

3.4 Mode3

Mode3時(shí),CPOL=1,CPHA=1,SCK空閑狀態(tài)為高電平,主機(jī)數(shù)據(jù)在第二個(gè)邊沿時(shí)有效,即每個(gè)上升沿被從機(jī)采樣,數(shù)據(jù)輸出同理。

?四、SPI基本時(shí)序

SS為低電平時(shí),表示對應(yīng)的從機(jī)設(shè)備被使能,在每個(gè)SCK周期可以傳輸1Bit數(shù)據(jù),采樣時(shí)刻取決于器件支持的SPI mode,根據(jù)不同SPI器件的控制方法,在進(jìn)行正式的數(shù)據(jù)讀寫操作前,一般需要先寫入控制字,然后是寄存器地址和數(shù)據(jù)。

如下是FM25V05鐵電存儲(chǔ)器采用SPI模式0的寫時(shí)序,SS(CS)被拉低,主機(jī)數(shù)據(jù)在每個(gè)上升沿被從機(jī)采樣,Opcode是控制字,控制字采樣結(jié)束后開始采樣數(shù)據(jù)。

?如下是FM25V05鐵電存儲(chǔ)器采用SPI模式0的讀時(shí)序:

?需要注意的是在SS下降沿和SCLK第一個(gè)邊沿,或SS上升沿和SCLK最后一個(gè)邊沿之間要留有一定的延遲時(shí)間,一般是0.5個(gè)SCLK周期。

參考:

?【1】關(guān)于SPI協(xié)議,看這一篇文章就夠了!-面包板社區(qū)

?【2】總線I2C和SPI,工程師喜歡用哪一個(gè)?

?

總結(jié)

以上是生活随笔為你收集整理的SPI协议简单介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。