女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

搞懂時序帶你玩轉SPI?

FPGA之家 ? 來源:玩轉嵌入式 ? 作者:玩轉嵌入式 ? 2021-05-29 11:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、什么是SPI?SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是 Motorola 公司推出的一種同步串行接口技術,是一種高速、全雙工、同步的通信總線。2、SPI優點支持全雙工通信

通信簡單

數據傳輸速率塊

1eda1b7e-bfcf-11eb-9e57-12bb97331649.jpg

3、缺點沒有指定的流控制,沒有應答機制確認是否接收到數據,所以跟IIC總線協議比較在數據可靠性上有一定的缺陷。

4、特點

(1):高速、同步、全雙工、非差分、總線式

(2):主從機通信模式5、SPI電路連接

(1):SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,有三線制和四線制之分。信號線包括SDI(串行數據輸入 Serial Digital IN)、SDO(串行數據輸出 Serial Digital OUT)、SCLK(時鐘)、CS(片選)。

(2):SDO/MOSI – 主設備數據輸出,從設備數據輸入

(3):SDI/MISO – 主設備數據輸入,從設備數據輸出

(4):SCLK – 時鐘信號,由主設備產生;(5):CS/SS – 從設備使能信號,由主設備控制。當有多個從設備的時候,因為每個從設備上都有一個片選引腳接入到主設備機中,當主設備和某個從設備通信時將需要將從設備對應的片選引腳電平拉低(一般低有效)。

1ef21878-bfcf-11eb-9e57-12bb97331649.png

6、SPI通信模式分析SPI通信有4種不同的模式,不同的從設備在出廠時配置模式已經固定, 這是不能改變的,但通信雙方設備必須工作在同一模式下,所以可以對主設備的SPI模式進行配置,通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制主設備的通信模式。 具體模式具體如下:

:CPOL=0,CPHA=0

Mode1:CPOL=0,CPHA=1

Mode2:CPOL=1,CPHA=0

Mode3:CPOL=1,CPHA=1

模式 CPOL CPHA
Mode0 0 0
Mode1 0 1
Mode2 1 0
Mode3 1 1

時鐘極性CPOL是用來配置SCLK電平的有效態的;

時鐘相位CPHA是用來配置數據采樣是發生在第幾個邊沿的。 CPOL=0表示當SCLK=0時處于空閑態,所以SCLK處于高電平時有效;

CPOL=1表示當SCLK=1時處于空閑態,所以SCLK處于低電平時有效;

CPHA=0表示數據采樣是在第1個邊沿,數據發送在第2個邊沿;

CPHA=1表示數據采樣是在第2個邊沿,數據發送在第1個邊沿; SPI主模塊和與之通信的外設通信時,兩者的時鐘相位和極性應該保持一致。7、SPI 時序詳解CPOL=0,CPHA=0:此時空閑態時,SCLK處于低電平,數據采樣是在第1個邊沿,也就是SCLK由低電平到高電平的跳變,所以數據采樣是在上升沿,數據發送是在下降沿。 CPOL=0,CPHA=1:此時空閑態時,SCLK處于低電平,數據發送是在第1個邊沿,也就是SCLK由低電平到高電平的跳變,所以數據采樣是在下降沿,數據發送是在上升沿。 CPOL=1,CPHA=0:此時空閑態時,SCLK處于高電平,數據采集是在第1個邊沿,也就是SCLK由高電平到低電平的跳變,所以數據采集是在下降沿,數據發送是在上升沿。 CPOL=1,CPHA=1:此時空閑態時,SCLK處于高電平,數據發送是在第1個邊沿,也就是SCLK由高電平到低電平的跳變,所以數據采集是在上升沿,數據發送是在下降沿。

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

1f2a0814-bfcf-11eb-9e57-12bb97331649.png

我們來關注SCK的第一個時鐘周期,在時鐘的前沿采樣數據(上升沿,第一個時鐘沿),在時鐘的后沿輸出數據(下降沿,第二個時鐘沿)。首先來看主器件,主器件的輸出口(MOSI)輸出的數據bit1,在時鐘的前沿被從器件采樣,那主器件是在何時刻輸出bit1的呢?bit1的輸出時刻實際上在SCK信號有效以前,比SCK的上升沿還要早半個時鐘周期。

bit1的輸出時刻與SSEL信號沒有關系。再來看從器件,主器件的輸入口MISO同樣是在時鐘的前沿采樣從器件輸出的bit1的,那從器件又是在何時刻輸出bit1的呢。從器件是在SSEL信號有效后,立即輸出bit1,盡管此時SCK信號還沒有起效。 從這張圖就可以很清楚的看出主從器件的bit1是怎樣輸出的。

1f5a253a-bfcf-11eb-9e57-12bb97331649.png

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1804

    瀏覽量

    95960
  • IIC
    IIC
    +關注

    關注

    11

    文章

    306

    瀏覽量

    39503
  • SCK
    SCK
    +關注

    關注

    0

    文章

    7

    瀏覽量

    16429
  • miso
    +關注

    關注

    0

    文章

    7

    瀏覽量

    5593

原文標題:SPI怎么玩?搞懂時序,運用自如

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何讓SPI額外發出一個時鐘?

    現將2個ADC芯片進行菊花鏈式連接,手冊上給的時序圖中,兩個芯片讀數中間需要額外插入一個時鐘時序,要怎樣控制SPI輸出單個時鐘。還是說只能去用IO口模擬時序。IO口模擬的話速率又不如
    發表于 06-13 07:30

    ADuM3151/ADuM3152/ADuM3153用于SPI的3.75 kV、7通道、SPI隔離器、數字隔離器技術手冊

    變壓器技術,在CLK、MO/SI、MI/SO和SSSPI總線信號中具有低傳播延遲特性,可支持最高17 MHz的SPI時鐘速率。這些通道在工作時具有14 ns傳播延遲和1 ns抖動,以針對SPI優化時序
    的頭像 發表于 06-04 11:23 ?322次閱讀
    ADuM3151/ADuM3152/ADuM3153用于<b class='flag-5'>SPI</b>的3.75 kV、7通道、<b class='flag-5'>SPI</b>隔離器、數字隔離器技術手冊

    零死角玩轉STM32——中級篇

    本文共4冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 《零死角玩轉 STM32》系列教程由初級篇、中級篇、高級篇、系統篇、四個部分組成,更適合初學者,步步為營,從入門到精通
    發表于 05-21 13:56

    FPGA時序約束之設置時鐘組

    Vivado中時序分析工具默認會分析設計中所有時鐘相關的時序路徑,除非時序約束中設置了時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組中時
    的頭像 發表于 04-23 09:50 ?464次閱讀
    FPGA<b class='flag-5'>時序</b>約束之設置時鐘組

    【CW32模塊使用】0.96寸SPI單色屏

    硬件SPI與軟件SPI相比,硬件SPI是靠硬件上面的SPI控制器,所有的時鐘邊緣采樣,時鐘發生,還有時序控制,都是由硬件完成的。它降低了CP
    的頭像 發表于 03-29 17:29 ?2601次閱讀
    【CW32模塊使用】0.96寸<b class='flag-5'>SPI</b>單色屏

    TLC1543怎么直接用SPI接口控制,不需要模擬時序

    自己在做SST51與TLC1543的連接,而SST51集成SPI接口,想咨詢TLC1543怎么直接用SPI接口控制,不需要模擬時序。請指教,謝謝
    發表于 02-11 07:49

    ADS1118 spi通信時序的問題誰來解答一下

    我用ADS1118做4路單端模擬信號的采集,按照DATASHEET 上的SPI時序從SDI引腳輸入4BYTE的數據(配置字發送2次),SDO引腳一直保持為高電平。請問這是何種原因?望解答。 請問
    發表于 01-20 08:40

    LPC1768用仿SPI時序去驅動ADS1248,轉換不對是哪里的問題?

    我以前用LPC1758仿SPI時序驅動ADS1248,沒有問題,轉換正確;近來我用LPC1768也是用仿SPI時序去驅動ADS1248,但是轉換不對。發現/DRDY信號為一個10
    發表于 01-10 06:42

    把DAC8803的LDAC管腳接地,其他SPI時序正常,DAC可以正常工作嗎?

    請問一下,如果把DAC8803 的LDAC管腳接地,其他SPI時序正常,DAC可以正常工作嗎?如果能正常工作應該如何操作? 我現在是把LDAC管腳一直接地,時序按數據手冊上的時序操作
    發表于 01-06 06:55

    DAC7568按數據手冊上要求的SPI時序不能配置,內部參考是否也沒有輸出,為什么?

    按數據手冊上要求的SPI時序不能配置,內部參考是否也沒有輸出,手冊上面介紹的操作有沒有順序要求,沒有給出來。試了上面所有寫操作也沒有輸出輸入您的問題
    發表于 12-31 06:21

    KeyStone架構串行外設接口(SPI)手冊

    )、MOSI(主設備輸出從設備輸入線)、MISO(主設備輸入從設備輸出線)和CS/SS(片選線)。SPI協議支持主從模式,其中主設備生成時鐘信號并控制數據傳輸的時序,而從設備響應主設備的請求。這種協議廣泛應用于嵌入式系統中,因為它簡單、高效,并且能夠支持多種不同的數據速率
    發表于 12-16 10:33 ?0次下載

    ADS9224R使用SPI常規模式,讀數據無返回,請問具體的讀數據的時序應該是怎樣的?

    使用SPI常規模式,讀數據無返回,請問具體的讀數據的時序應該是怎樣的?我的操作是常規模式使用zone 1,拉高CONVST后再拉低,然后等待READY變高,拉低CS,進行數據的讀取,讀取不到數據
    發表于 11-28 06:11

    請問下DAC1282的SPI時序是CPOL=0,CPHA=0嗎?

    請問下DAC1282的SPI時序是CPOL=0,CPHA=0嗎?還有就是此芯片通訊不是全雙工的嗎?寫寄存器的操作碼Figure 49. 顯示是0100XXXX,但是文字描述卻是0010XXXX,到底是哪個為準。現在調試就是SPI
    發表于 11-26 06:44

    瀚海微SD NAND之SD 協議(42)SPI總線時序

    SPI總線時序圖 所有時序圖使用以下原理圖和縮寫: 所有定時值的定義如表所示。 主機在收到卡響應后,應保持時鐘運行至少NcR時鐘周期。此限制適用于命令和數據響應令牌。 命令/響應 主機對卡的命令響應
    的頭像 發表于 10-21 10:19 ?733次閱讀
    瀚海微SD NAND之SD 協議(42)<b class='flag-5'>SPI</b>總線<b class='flag-5'>時序</b>

    玩轉TI MSP430 LaunchPad

    電子發燒友網站提供《玩轉TI MSP430 LaunchPad.pdf》資料免費下載
    發表于 08-30 10:51 ?0次下載
    <b class='flag-5'>玩轉</b>TI MSP430 LaunchPad