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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SPI介绍

發布時間:2024/9/18 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 SPI介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.什么是SPI

2.SPI接口

2.1.SPI模式:極性和時鐘相位
2.2.SPI三線總線和多IO配置

3.SPI總線事務

3.1.簡單SPI寫事務
3.2.簡單SPI讀事務
3.3.四線IO事務

1.什么是SPI

SPI(Serial Peripheral Interface)[串行外圍接口]是一種接口總線,通常用于與閃存、傳感器、實時時鐘(RTCs)、模數轉換器等進行通信。 串行外圍接口(SPI)總線是由摩托羅拉公司開發的,用于在主設備和從設備之間提供全雙工同步串行通信。

SPI教程白皮書

2.SPI接口

如圖1所示,一個標準的SPI連接涉及到一個主機master使用串行時鐘(SCK)、主輸出從輸入(MOSI)、主輸出從輸出(MISO)和從選擇(SS)線連接到一個或幾個從機slave。SCK、MOSI和MISO信號可以由從機slave共享,而每個從機slave都有一條惟一的SS線。

Figure 1. 4-wire SPI bus configuration with multiple slaves

2.1.SPI模式:極性和時鐘相位

SPI接口沒有定義數據交換協議,限制了開銷并允許高速數據流。時鐘極性(CPOL)和時鐘相位(CPHA)可以指定為“0”或“1”,形成四種獨特的模式,以提供主從通信的靈活性,如圖2所示。

Figure 2. SPI bus timing

如果CPOLCPHA都為' 0 '(定義為模式0),則在時鐘的前上升沿采樣數據。目前,模式0是SPI總線通信最常見的模式。如果CPOL為' 1 ',CPHA為' 0 '(模式2),則在時鐘的前降邊緣采樣數據。同樣,CPOL = ' 0 '和CPHA = ' 1 ' (Mode 1)在尾降邊緣采樣,CPOL = ' 1 '和CPHA = ' 1 ' (Mode 3)在尾升邊緣采樣。下面的表1總結了可用的模式

CPOL:時鐘極性,表示時鐘線空閑時是高電平1還是低電平0
CPHA:時鐘相位,表示是在時鐘的前沿0還是尾沿1采樣數據。

Mode CPOL CPHA
0 0 0
1 0 1
2 1 0
3 1 1

Table 1. SPI mode definitions

2.2.SPI三線總線和多IO配置

除了標準的4線配置外,SPI接口還擴展到包括各種IO標準,包括用于減少引腳數的3線和用于更高吞吐量的雙或四I/O。

在3線模式下,MOSI和MISO線路組合成單個雙向數據線,如圖3所示。事務是半雙工的,以允許雙向通信。減少數據線的數量并以半雙工模式運行也會降低最大可能的吞吐量; 許多3線設備具有低性能要求,而設計時考慮到低引腳數。

Figure 3. 3-wire SPI configuration with one slave

多I/O變體(如雙I/O和四I/O)在標準外添加了額外的數據線,以提高吞吐量。利用多I/O模式的組件可以與并行器件的讀取速度相媲美,同時仍然可以減少引腳數量。這種性能提升使得能夠從閃存中隨機訪問和直接執行程序(XIP)。

例如,四路I/O設備在與高速設備通信時可提供四倍于標準4線SPI接口的性能。圖4顯示了單個四通道IO從站配置的示例。

Figure 4. Quad IO SPI configuration with one slave

3.SPI總線事務

SPI協議沒有定義數據流的結構; 數據的組成完全取決于組件設計者。但是,許多設備遵循相同的基本格式來發送和接收數據,從而允許來自不同供應商的部件之間的互操作性。

3.1.簡單SPI寫事務

大多數SPI閃存都有一個寫狀態寄存器命令,用于寫入一個或兩個字節的數據,如圖5所示。要寫入狀態寄存器,SPI主機首先啟用當前器件的從選擇線。然后,主設備輸出適當的指令,后跟兩個數據字節,用于定義預期的狀態寄存器內容。由于事務不需要返回任何數據,因此從設備將MISO線保持在高阻抗狀態,并且主設備屏蔽任何輸入數據。最后,從機選擇信號被取消以結束事務。

Figure 5. Write command using a single-byte instruction and two-byte data word

3.2.簡單SPI讀事務

狀態寄存器讀取事務與寫入事務類似,但現在利用從器件返回的數據,如圖6所示。在發送讀取狀態寄存器指令后,從器件開始以MISO線路傳輸數據,數率為每八個時鐘周期一個字節。主機接收比特流并通過取消SS信號來完成事務。

Figure 6. Read command using a single-byte instruction and two-byte data word

3.3.四線IO事務

由于其性能的提高,四線IO在閃存中越來越受歡迎。四線IO沒有使用單輸出和單輸入接口,而是使用4條獨立的半雙工數據線來傳輸和接收數據,其性能是標準四線SPI的四倍。

圖7顯示了Spansion S25FL016K串行NorFLASH器件的讀取示例命令。要從器件讀取,主器件首先在第一個IO線上發送快速讀取命令(EBh),而其他所有命令都處于三態。接下來,主機發送地址; 由于接口現在有4條雙向數據線,因此它可以利用它們在8個時鐘周期內發送一個完整的24位地址和8個模式位。然后,該地址跟隨2個虛擬字節(4個時鐘周期),以允許器件有額外的時間來設置初始地址。

Figure 7. Quad mode fast read sequence for Spansion S25FL016K or equivalent

在主機發送地址周期和虛擬字節之后,組件開始發送數據字節; 每個時鐘周期由分布在4個IO線上的數據半字節組成,每個數據字節總共有兩個時鐘周期。將此與我們簡單讀取事務所需的16個時鐘周期進行比較,很容易看出為什么四模式在高速閃存應用中越來越受歡迎!

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。