<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SPI怎么玩?搞懂時(shí)序,運(yùn)用自如

          共 2122字,需瀏覽 5分鐘

           ·

          2021-12-24 02:04

          關(guān)注、星標(biāo)公眾號,直達(dá)精彩內(nèi)容

          文章來源:玩轉(zhuǎn)嵌入式

          整理:技術(shù)讓夢想更偉大 |?李肖遙

          1、什么是SPI?
          SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是 Motorola 公司推出的一種同步串行接口技術(shù),是一種高速、全雙工同步的通信總線。
          2、SPI優(yōu)點(diǎn)
          支持全雙工通信
          通信簡單
          數(shù)據(jù)傳輸速率塊

          3、缺點(diǎn)
          沒有指定的流控制,沒有應(yīng)答機(jī)制確認(rèn)是否接收到數(shù)據(jù),所以跟IIC總線協(xié)議比較在數(shù)據(jù)可靠性上有一定的缺陷。
          4、特點(diǎn)
            (1):高速、同步、全雙工、非差分、總線式
            (2):主從機(jī)通信模式
          5、SPI電路連接
            (1):SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,有三線制四線制之分。信號線包括SDI(串行數(shù)據(jù)輸入 Serial Digital IN)、SDO(串行數(shù)據(jù)輸出 Serial Digital OUT)、SCLK(時(shí)鐘)、CS(片選)。
            (2):SDO/MOSI?– 主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入
            (3):SDI/MISO?– 主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出
            (4):SCLK?– 時(shí)鐘信號,由主設(shè)備產(chǎn)生;
            (5):CS/SS?– 從設(shè)備使能信號,由主設(shè)備控制。當(dāng)有多個(gè)從設(shè)備的時(shí)候,因?yàn)槊總€(gè)從設(shè)備上都有一個(gè)片選引腳接入到主設(shè)備機(jī)中,當(dāng)主設(shè)備和某個(gè)從設(shè)備通信時(shí)將需要將從設(shè)備對應(yīng)的片選引腳電平拉低(一般低有效)。

          6、SPI通信模式分析 
          SPI通信有4種不同的模式,不同的從設(shè)備在出廠時(shí)配置模式已經(jīng)固定, 這是不能改變的,但通信雙方設(shè)備必須工作在同一模式下,所以可以對主設(shè)備的SPI模式進(jìn)行配置,通過CPOL(時(shí)鐘極性)和CPHA(時(shí)鐘相位)來控制主設(shè)備的通信模式。
            具體模式具體如下:
           ?。篊POL=0,CPHA=0
            Mode1:CPOL=0,CPHA=1
            Mode2:CPOL=1,CPHA=0
            Mode3:CPOL=1,CPHA=1
          模式CPOLCPHA
          Mode000
          Mode101
          Mode210
          Mode311
          時(shí)鐘極性CPOL是用來配置SCLK電平的有效態(tài)的;
          時(shí)鐘相位
          CPHA是用來配置數(shù)據(jù)采樣是發(fā)生在第幾個(gè)邊沿的。
           CPOL=0表示當(dāng)SCLK=0時(shí)處于空閑態(tài),所以SCLK處于高電平時(shí)有效;
           
          CPOL=1表示當(dāng)SCLK=1時(shí)處于空閑態(tài),所以SCLK處于低電平時(shí)有效;
           
          CPHA=0表示數(shù)據(jù)采樣是在第1個(gè)邊沿,數(shù)據(jù)發(fā)送在第2個(gè)邊沿;
           
          CPHA=1表示數(shù)據(jù)采樣是在第2個(gè)邊沿,數(shù)據(jù)發(fā)送在第1個(gè)邊沿;
          SPI主模塊和與之通信的外設(shè)通信時(shí),兩者的時(shí)鐘相位和極性應(yīng)該保持一致。
          7、SPI 時(shí)序詳解
          CPOL=0,CPHA=0:此時(shí)空閑態(tài)時(shí),SCLK處于低電平,數(shù)據(jù)采樣是在第1個(gè)邊沿,也就是SCLK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。
          CPOL=0,CPHA=1:此時(shí)空閑態(tài)時(shí),SCLK處于低電平,數(shù)據(jù)發(fā)送是在第1個(gè)邊沿,也就是SCLK由低電平到高電平的跳變,所以數(shù)據(jù)采樣是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。
          CPOL=1,CPHA=0:此時(shí)空閑態(tài)時(shí),SCLK處于高電平,數(shù)據(jù)采集是在第1個(gè)邊沿,也就是SCLK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在下降沿,數(shù)據(jù)發(fā)送是在上升沿。
          CPOL=1,CPHA=1:此時(shí)空閑態(tài)時(shí),SCLK處于高電平,數(shù)據(jù)發(fā)送是在第1個(gè)邊沿,也就是SCLK由高電平到低電平的跳變,所以數(shù)據(jù)采集是在上升沿,數(shù)據(jù)發(fā)送是在下降沿。

          注意:SPI主設(shè)備能夠控制時(shí)鐘信號,因?yàn)镾PI通信并不像UART或者IIC通信那樣有專門的通信周期、通信起始信號、通信結(jié)束信號;所以SPI協(xié)議只能通過控制時(shí)鐘信號線,在沒有數(shù)據(jù)交流的時(shí)候,時(shí)鐘線要么是保持高電平,要么是保持低電平。
          例如:工作在模式0這種時(shí)序(CPOL=0,CPHA=0),如下:

          我們來關(guān)注SCK的第一個(gè)時(shí)鐘周期,在時(shí)鐘的前沿采樣數(shù)據(jù)(上升沿,第一個(gè)時(shí)鐘沿),在時(shí)鐘的后沿輸出數(shù)據(jù)(下降沿,第二個(gè)時(shí)鐘沿)。首先來看主器件,主器件的輸出口(MOSI)輸出的數(shù)據(jù)bit1,在時(shí)鐘的前沿被從器件采樣,那主器件是在何時(shí)刻輸出bit1的呢?bit1的輸出時(shí)刻實(shí)際上在SCK信號有效以前,比SCK的上升沿還要早半個(gè)時(shí)鐘周期。bit1的輸出時(shí)刻與SSEL信號沒有關(guān)系。再來看從器件,主器件的輸入口MISO同樣是在時(shí)鐘的前沿采樣從器件輸出的bit1的,那從器件又是在何時(shí)刻輸出bit1的呢。從器件是在SSEL信號有效后,立即輸出bit1,盡管此時(shí)SCK信號還沒有起效。
          從這張圖就可以很清楚的看出主從器件的bit1是怎樣輸出的。

          ???????????????? ?END ?????????????????

          關(guān)注我的微信公眾號,回復(fù)“加群”按規(guī)則加入技術(shù)交流群。

          歡迎關(guān)注我的視頻號:

          點(diǎn)擊“閱讀原文”查看更多分享,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。

          瀏覽 31
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产福利视频在线播放 | 中文字幕无码A片 | 在线观看亚洲免费视频 | 免费av毛片 | 先锋影音男人资源 |