AXI Quad SPI IP核基于AXI-Lite接口的標準SPI設計指南

在標準SPI配置下,SPI設備除了包含基本的SPI特性外,還具備以下一些標準功能,這些功能如下所示:

  • 支持FPGA內部的多主設備配置,其中使用單獨的_I(輸入)、_O(輸出)、_T(三態)表示三態端口。這種配置允許在FPGA內部有多個主設備共享SPI總線,通過三態驅動器來實現。
  • 在默認配置下支持N次8位數據字符的傳輸。默認的SPI模式實現了通過寫入SPI SSR(SPI狀態/控制寄存器)來手動控制SS(從設備選擇)輸出的功能。

? ? ? ?此模式只能與外部從屬設備一起使用。

? ? ? ?在SPI通信中,當FIFO被禁用時,可以選擇一個可選操作,使得主設備在每次傳輸8位字符時? ? ? ? ?自動切換SS(從設備選擇)輸出。這是通過SPI控制寄存器(SPICR)中的某個特定位來實? ? ? ? ? ?現。

? ? ? ?當主設備需要向特定的從設備發送數據時,它會將相應的SS線拉低(通常表示選中該從設? ? ? ? ? ? 備)。然后,在每個8位字符傳輸完成后,主設備會自動切換SS線,以便選擇下一個從設備? ? ? ? ? ? 或繼續與當前從設備通信。

  • 支持多主設備環境,這通常是通過三態驅動器來實現。在多主設備環境中,可能存在多個主設備試圖同時訪問同一從設備的情況,因此需要軟件仲裁來解決可能的沖突。
  • 支持多從設備環境,能夠自動生成額外的從設備選擇輸出信號,以便主設備可以選擇性地與不同的從設備進行通信。
  • 在主模式下,SPI控制器支持的最大時鐘速率可達AXI時鐘速率的一半。
  • 在從模式下,由于AXI和SPI時鐘之間的同步方法,最大時鐘速率降至AXI時鐘速率的四分之一。注意,在從模式下不支持C_SCK_RATIO = 2的配置。當配置為從模式時,需要確保AXI和外部時鐘信號是對齊的。
  • 具有一個可配置的波特率生成器,用于生成SPI時鐘信號。這允許用戶根據應用需求調整SPI通信的速率。
  • 不支持WCOL(寫沖突)標志,因此WCOL不能用作寫沖突錯誤指示。在SPI數據傳輸進行中時,不應向發送寄存器寫入數據。
  • 支持背靠背(back-to-back)事務,即在不中斷的情況下進行多個字節、半字或字的傳輸。這要求發送FIFO在傳輸過程中始終不為空,接收FIFO始終不為滿。
  • 所有SPI傳輸都是全雙工的,意味著主設備向從設備發送一個8位數據字符的同時,從設備也在向主設備發送一個獨立的8位數據字符。這可以視為一個循環的16位移位寄存器,其中SPI主設備中的8位移位寄存器與SPI從設備中的另一個8位移位寄存器相連。

在SPI多主設備配置中,連接到給定從設備(第N個設備)的SPI總線通常由以下四根線組成:

  • Serial Clock (SCK): 串行時鐘線,用于同步主設備和從設備之間的數據傳輸。所有連接到SPI總線的從設備和主設備都共享這根線。

  • IO0 (Master Out, Slave In (MOSI)): 主設備數據輸出,從設備數據輸入線。主設備通過這根線發送數據到從設備,而從設備通過監聽這根線來接收數據。同樣,這根線也是所有連接到SPI總線的設備所共享的。

  • IO1 (Master In, Slave Out (MISO)): 主設備數據輸入,從設備數據輸出線。從設備通過這根線發送數據到主設備,主設備通過監聽這根線來接收數據。這根線也是共享的。

  • Slave Select (SS(N)): 從設備選擇線,也稱為片選線或NSS(Negative Slave Select)。在SPI多主配置中,每個從設備都有一個獨特的SS線,用于標識和選擇該從設備以進行通信。當主設備需要與某個特定的從設備通信時,它會將對應從設備的SS線拉低(激活狀態),而保持其他從設備的SS線為高電平(非激活狀態)。這樣,只有被選中的從設備會響應主設備的通信請求。

雖然SCK、IO0(MOSI)和IO1(MISO)這三根線是共享的,但每個從設備都有一個獨特的SS線,用于在多主配置中區分和選擇從設備,如下圖所示。此外,任何連接到SPI總線的設備(無論是主設備還是從設備)都可以根據配置(例如通過寄存器設置)在運行時動態地切換其角色(從主設備變為從設備,或從從設備變為主設備)。

注:當IP核在主機模式下生成,但通過寄存器配置(60h)將其配置為從機時,SPISEL(Slave Select)信號應由SPI主機驅動到該IP核。這意味著,盡管該IP核可能是在主機模式下創建的,但通過特定的配置,它可以作為從機工作,并從主機接收選擇信號。

每個SPI主機設備都可以生成一個低電平有效、一位熱編碼(one-hot encoded)的SS(N)向量。在這個向量中,每一位都被分配了一個SS信號,用于控制每個SPI從機設備。這意味著主機可以同時管理多個從機,通過不同的SS信號來激活和與特定的從機通信。

SPI主機和從機設備可以都是FPGA內部的,也可以有外部的從機設備。當與外部SPI從機設備接口時,Vivado?Design Suite會自動生成必要的SPI引腳。這提供了與外部硬件通信的接口。

圖3-1展示了多個SPI主機和從機設備的配置。這種配置同樣適用于dual 模式。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/24341.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/24341.shtml
英文地址,請注明出處:http://en.pswp.cn/web/24341.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FM148A,FM146B運行備件

FM148A,FM146B運行備件。電源保險絲倉主控底座的保險絲倉示意圖底座上共有兩個保險絲(800mA),FM148A,FM146B運行備件。(10~73)30/195主控單元2.K-CUT014槽底座地址接口主控站地址撥開關從上到下為二進制數的…

開發網站,如何給上傳圖片的服務器目錄授權

開發網站,上傳圖像時提示”上傳圖片失敗,Impossible to create the root directory /var/www/html/xxxxx/public/uploads/avatar/20240608.“ 在Ubuntu上,你可以通過調整文件夾權限來解決這個問題。首先,確保Web服務器&#xff08…

【筆記】從零開始做一個精靈龍女-裝備階段

這里只記錄相對重要的步驟和一些思路 但是頭發那塊很詳細哦~ (標的小數字不用在意,那個是我網課的時長記錄) 耳環 1.創建一個圓環,調整參數 做好后再復制一個小的 肩甲 2.0-2.4 1.創建圓柱體/球體也可 然后把底部的兩個點刪…

在 Unreal Engine 5.4 中加載 5.3 版本的插件

Unreal Engine 的版本更新可能導致插件的兼容性問題。如果你需要在 Unreal Engine 5.4 中加載 5.3 版本的插件,可能需要進行一些手動調整和重新編譯。本文將詳細介紹如何進行這些操作。 步驟 1: 準備插件文件 下載 5.3 版本的插件: 從官方源或插件開發者…

Xsens動作捕捉系統:角色動畫制作與運動分析領域的先進工具

隨著傳感器技術的不斷進步,動作捕捉技術現在更加趨向于民用化,擁有價格優勢的慣性動作捕捉系統現在更多的出現在獨立動畫工作室與國內外多所高校的實際項目應用中。 憑借無場地限制、價格優惠、校準使用方便、數據采集精確等多項優勢,Xsens慣…

[AI Google] 雙子座模型家族迎來新突破:更快的模型、更長的上下文、AI代理等更多功能

Google發布了Gemini模型家族的更新,包括新的1.5 Flash模型,該模型旨在提高速度和效率,以及Project Astra,這是對未來AI助手愿景的展示。1.5 Flash是專為大規模高頻任務優化的輕量級模型,具有突破性的長上下文窗口。同時…

Diffusers代碼學習: IP-Adapter Inpainting

IP-Adapter還可以通過Inpainting自動管道和蒙圖方式生成目標圖片。 # 以下代碼為程序運行進行設置,使用Inpainting 的自動管道, import os os.environ["HF_ENDPOINT"] "https://hf-mirror.com"from diffusers import AutoPipelin…

【java】速度搭建一個springboot項目

使用軟件:IDEA,mysql 使用框架:springboot mybatis-plus druid 坑點 使用IDEA搭建一個springboot項目的時候,需要考慮一下IDEA版本支持的JDK版本以及maven版本。否則再構建項目,引入pom的時候就會報錯。 需要檢查…

04 uboot 編譯與調試

新手不需要詳細掌握 uboot,只需要知道它是一個什么東西即可,工作中也只是改一些參數而已。 1、uboot 是什么 Linux 系統要啟動就必須需要一個 bootloader 程序,也就說芯片上電以后先運行一段 bootloader 程序。這段 bootloader 程序會先初始化 DDR 等外設,然后將 Linux 內…

利用PowerQuery控制數據行數

PowerBI報表在開發的過程中,經常會遇到數據量非常龐大的情況,在這種情況下,本機連接數據源如果不進行特殊處理的話,那么刷新數據的時候可能會發生數據刷新時間過長、數據加載內存錯誤、開發過程中構建DAX卡頓等情況。 那么在實際開…

不確定性+電動汽車!含高比例新能源和多類型電動汽車的配電網能量管理程序代碼!

前言 能源供應的可持續性和清潔性是當今世界共同關注的議題,配電網與可再生能源發電相結合,通過多能互補和梯級利用,在不同時空取長補短,提高能源利用率,減少溫室氣體排放,是解決能源短缺和環境問題的有效…

遞歸及其使用

遞歸及其使用 1. 什么是遞歸?2. 遞歸解決什么問題?3. 遞歸的步驟4. 使用遞歸的注意事項5. 示例 1. 什么是遞歸? 遞歸是指在函數的定義中使用函數自身的過程。簡單來說,遞歸是通過將大問題分解為更小的子問題來解決問題的一種方法…

[職場] 關于薪酬需要知道的兩個知識點 #知識分享#知識分享

關于薪酬需要知道的兩個知識點 薪酬問題是面試過程中比較核心的問題,也是每次面試必問的。如果你進入到面試的后一階段,這類問題可以讓面試官或企業判斷求職者的要求是否符合企業的薪酬標準,并進一步判斷求職者對自身價值的認可程度。關于薪…

數據結構之快速排序算法(快排)【圖文詳解】

P. S.:以下代碼均在VS2019環境下測試,不代表所有編譯器均可通過。 P. S.:測試代碼均未展示頭文件stdio.h的聲明,使用時請自行添加。 博主主頁:LiUEEEEE ??????????????????? ?? …

【Java數據結構】詳解Stack與Queue(三)

🔒文章目錄: 1.????前言~🥳🎉🎉🎉 2. 隊列(Queue) 2.1隊列的概念 2.2隊列的方法 2.3隊列的使用 2.4循環隊列 循環隊列的介紹 循環隊列圖 如何區分循環隊列是滿還是空…

外掛知識庫的基本知識與內容

外掛知識庫 1.什么是rag? RAG,即LLM在回答問題或生成文本時,會先從大量文檔中檢索出相關的信息,然后基于這些信息生成回答或文本,從而提高預測質量。 2.外掛知識庫的實現思路 只用幾十萬量級的數據對大模型進行微調并不能很好…

第五十六周:文獻閱讀

目錄 摘要 Abstract 文獻閱讀:應用于地表水總磷濃度預測的可解釋CEEMDAN-FE-LSTM-Transformer混合模型 一、現有問題 二、提出方法 三、方法論 1、CEEMDAN(帶自適應噪聲的完全包絡經驗模式分解) 2、FE(模糊熵 &#xff09…

Vue3【十】07使用ref創建基本類型的響應式數據以及ref和reactive區別

Vue3【十】07使用ref創建基本類型的響應式數據以及ref和reactive區別 ref 也可以創建對象類型的響應式數據,不過要使用.value ref 處理對象數據的時候,底層數據還是reactive格式的 reactive 重新分配一個新對象,會失去響應式可以使用Object.a…

自注意力機學習

自注意力機制的核心概念 1. Query, Key 和 Value Query(查詢向量):可以看作是你當前在關注的輸入項。假設你正在閱讀一段文字,這就像你當前在讀的句子。 Key(鍵向量):表示其他所有輸入項的標識…

保姆級 | MySQL的安裝配置教程(非常詳細)

一、下載Mysql 官網步驟 MySQLhttps://www.mysql.com/進入官網首頁 點擊DOWNLOADS 點擊MySQL Community (GPL) Downloads 點擊 小頁面直接進入 MySQL :: Download MySQL Installerhttps://dev.mysql.com/downloads/installer/點擊“Download”下載最新版本,其他…