1. 程式人生 > >SPI時序圖詳解-SPI介面在模式0下輸出第一位資料的時刻

SPI時序圖詳解-SPI介面在模式0下輸出第一位資料的時刻

SPI介面在模式0下輸出第一位資料的時刻

SPI介面有四種不同的資料傳輸時序,取決於CPOL和CPHL這兩位的組合。圖1中表現了這四種時序,
時序與CPOL、CPHL的關係也可以從圖中看出。

圖1

CPOL是用來決定SCK時鐘訊號空閒時的電平,CPOL=0,空閒電平為低電平,CPOL=1時,

空閒電平為高電平。CPHA是用來決定取樣時刻的,CPHA=0,在每個週期的第一個時鐘沿取樣,

CPHA=1,在每個週期的第二個時鐘沿取樣。

由於我使用的器件工作在模式0這種時序(CPOL=0,CPHA=0),所以將圖1簡化為圖2,
只關注模式0的時序。

圖2


我們來關注SCK的第一個時鐘週期,在時鐘的前沿取樣資料(上升沿,第一個時鐘沿),
在時鐘的後沿輸出資料(下降沿,第二個時鐘沿)。首先來看主器件,主器件的輸出口(MOSI)輸出的資料bit1,
在時鐘的前沿被從器件取樣,那主器件是在何時刻輸出bit1的呢?bit1的輸出時刻實際上在SCK訊號有效以前,
比 SCK的上升沿還要早半個時鐘週期。bit1的輸出時刻與SSEL訊號沒有關係。再來看從器件,
主器件的輸入口MISO同樣是在時鐘的前沿取樣從器件輸出的bit1的,那從器件又是在何時刻輸出bit1的呢。
從器件是在SSEL訊號有效後,立即輸出bit1,儘管此時SCK訊號還沒有起效。關於上面的主器件
和從器件輸出bit1位的時刻,可以從圖3、4中得到驗證。

圖3


注意圖3中,CS訊號有效後(低電平有效,注意CS下降沿後發生的情況),故意用延時程式
延時了一段時間,之後再向資料暫存器寫入了要傳送的資料,來觀察主器件輸出bit1的情況(MOSI)。
可以看出,bit1(值為1)是在SCK訊號有效之前的半個時鐘週期的時刻開始輸出的(與CS訊號無關),
到了SCK的第一個時鐘週期的上升沿正好被從器件取樣。

圖4

圖4中,注意看CS和MISO訊號。我們可以看出,CS訊號有效後,從器件立刻輸出了bit1(值為1)。

通常我們進行的spi操作都是16位的。圖5記錄了第一個位元組和第二個位元組間的相互銜接的過程。
第一個位元組的最後一位在SCK的上升沿被取樣,隨後的SCK下降沿,從器件就輸出了第二個位元組的第一位。

圖5

相關推薦

SPI時序-SPI介面模式0輸出第一資料時刻

SPI介面在模式0下輸出第一位資料的時刻 SPI介面有四種不同的資料傳輸時序,取決於CPOL和CPHL這兩位的組合。圖1中表現了這四種時序, 時序與CPOL、CPHL的關係也可以從圖中看出。 圖1 CPOL是用來決定SCK時鐘訊號空閒時的電平,CPOL=0,空閒電平為低電平,CPOL=1時, 空閒電平

SPI匯流排協議及SPI時序

SPI,是英語Serial Peripheral Interface的縮寫,顧名思義就是序列外圍裝置介面。SPI,是一種高速的,全雙工,同步的通訊匯流排,並且在晶片的管腳上只佔用四根線,節約了晶片的管腳,同時為PCB的佈局上節省空間,提供方便,正是出於這種簡單易用的特性,現在

UML之時序

原文連結:https://blog.csdn.net/fly_zxy/article/details/80911942 什麼是時序圖 時序圖(Sequence Diagram),又名序列圖、循序圖,是一種UML互動圖。它通過描述物件之間傳送訊息的時間順序顯示多個物件之間的動態協作。 讓我們來看一看vis

stm32-SPI通訊原理

ash orf 即使 信號線 時鐘 tro 信號中斷 設備 操作 那麽今天再說說SPI吧,通過前面的IIC其實我們知道,通訊協議,其實就是通過時序來傳輸數據,通過自定義不同的函數來實現數據的傳輸(具體就是按照時序,來讀寫寄存器的標誌位,來完成數據傳輸的具體操作),所以可以通

UART、SPI和I2C

運算 引入 下拉 初始 故障 服務 布線 發的 理由 做單片機開發時UART,SPI和I2C都是我們最經常使用到的硬件接口,我收集了相關的具體材料對這三種接口進行了詳細的解釋。 UART UART是一種通用串行數據總線,用於異步通信。該總線雙向通信,可以實現全雙工傳輸和接收

UML(七)互動時序與協作圖)

一、概念 互動圖描述物件之間的動態合作關係以及合作過程中的行為次序。 互動圖常常用來描述一個用例的行為,顯示該用例中所涉及的物件以及這些物件之間的訊息傳遞情況,即一個用例的實現過程。 互動圖有順序圖和協作圖兩種形式。 時序圖中描述物件按照時間順序的訊息交換。 協作圖著

Spring框架的設計理念與設計模式

 Spring作為現在最優秀的框架之一,已被廣泛的使用,51CTO也曾經針對Spring框架中的JDBC應用做過報道。本文將從另外一個視角試圖剖析出Spring框架的作者設計Spring框架的骨骼架構的設計理念,有那幾個核心元件?為什麼需要這些元件?它們又是如何結合在一

SPI中的極性CPOL和相位CPHA

            我們看上面的圖,發現數據 SI 是對應 SCK 的第一個時鐘沿,再仔細看,資料是在SCK的第一個時鐘邊沿保持穩定【資料被取樣捕獲】,在下一個邊沿改變【SCK 的下降沿資料改變】因此我們得出結論:該系列FLASH 是【資料在第一個時鐘沿被取樣捕獲】或【資料在SPCK 起始邊沿捕獲,在SP

UML(七)——互動時序與協作圖)

一、概念 互動圖描述物件之間的動態合作關係以及合作過程中的行為次序。互動圖常常用來描述一個用例的行為,顯示該用例中所涉及的物件以及這些物件之間的訊息傳遞情況,即一個用例的實現過程。 互動圖有順序圖和協作圖兩種形式。 時序圖中描述物件按照時間順序的訊息交換。協作圖著重描述系統

javascript設計模式之命令模式

這一 clas 例子 別了 logs 操作 book 技術 概念   每種設計模式的出現都是為了彌補語言在某方面的不足,解決特定環境下的問題。思想是相通的。只不過不同的設計語言有其特定的實現。對javascript這種動態語言來說,弱類型的特性,與生俱來的多態性,導致某些設

(轉)oracle視

子句 col 安全性 沒有 pil 重新編譯 語法錯誤 相關 his Oracle視圖詳解 一. 視圖的定義 視圖(view),也稱虛表, 不占用物理空間,這個也是相對概念,因為視圖本身的定義語句還是要存儲在數據字典裏的。視圖只有邏輯定義。每次使用的時候,只是重新執行S

達內-靜態路由與浮動靜態路由-(配版)

達內-靜態路由與浮動靜態路由-(配圖詳解版)路由: 不同網段之間的通信,稱之為“路由”。實現: 路由設備:路由器,多層交換機本質: 通過查詢“路由表”實現“不同網段之間的路由功能”。路由器的工作原理: 1、路由器僅僅關心數據中的 “ 目標IP 地址” ; 2、路由器提取 目標IP

UML類_關聯關系_多對多

col c++代碼 一個 image 技術 pub 每一個 push_back cnblogs 在關聯關系中,很多情況下我們的多重性並不是多對一或者一對多的,而是多對多的。 不過因為我們要考慮裏面的導航性,如果直接搞的話就是需要去維護兩群對象之間多對多的互指鏈接,這就

UML類_聚合關系

聚合 分享 產生 .com 特殊 begin blank .html 表達 結合UML關系,以看臺和基金來介紹聚合關系 aggregation,是一種特殊的關聯關系,既有關聯關系的特質,還獨有“整體 —— 部分(whole &md

useradd思維導

play left 技術分享 .cn 用戶 order inux ont pla useradd思維導圖詳解 本思維導圖,用來說明Linux的的用戶和群組的詳細關系。 Xmind文件和預覽圖: 思維導圖文件用Xmind軟件打開,下載鏈接:useradd詳解.rar 預覽圖:

Oracle物化視

zed 增量 建立 存在 表名 row $$ dbm 數據 現實工作中會有多個數據源同步到一個數據庫完成數據分析的場景,這些數據可以不是實時同步的,我們一般通過定時任務抽取數據到統計分析庫給應用使用。 一般的同步方式可以通過時間戳做全量和增量數據同步(存在原數據變化可能,數

【Oracle】Oracle Database 12c Release 2安裝多

Oracle12c2版數據庫安裝1.1 下載安裝包 oracle官網地址請自行百度oracle,51CTO內容限制不讓我放!1)打開官方網站,找到下載連接,如圖所示。2)選擇更多下載。3)選擇數據庫版本,這裏選擇的是目前的最新版本4)接收許可協議,選在linux版本進行下載5) 接收許可協議,點擊linuxx

Oracle數據庫的安裝 【超詳細的文

ech passwd pat 適用於 下載 當前 play 領域 .so Oracle簡介Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫

MFC如何畫餅

有個畫扇形的API,但是現在先不解釋,因為不懂畫餅圖的原理,你也不懂怎麼用。接下來就一步步帶大家去計算餅圖的扇形兩點座標。 直接看下圖,文字解釋總是太抽象。 接下來就是用Pie這個函式來畫出扇形了。 其原型如下: BOOL Pie( LPCRECT lpRect,