國產gowin開發板GW1NR-9K的PSRAM使用說明


      開發板子采用GW1NNR-LV9LQ144PC6/I5 FPGA器件。具有低功耗,瞬時啟動,高安全性,低成本,方便擴展等特點。本開發板價格價格便宜,板子擴張性容易,幫助用戶比較快速進入國產FPGA學習能力。 

     開發板集成多個GPIO接口和多個LVDS接口,電壓可以從3.3,2.5,1.8,1.2V選擇。用戶可以選擇不同電壓適配不同的IO口。其中每個VCCIO也是獨立供電,可以很簡單改裝成其他的不同bank不同電壓要求。 

     芯片資源GW1NNR-LV9LQFP144的資源有8640的LUT4,並且還有26個18K SRAM快,2個PLL鎖相環,內部自帶PSRAM 64M空間,

       Gowin PSRAM Memory Interface IP是一個通用的PSRAM內存接口IP, 符合PSRAM標准協議。該IP包含PSRAM內存控制邏輯(Memory Controller Logic)與對應的物理層接口(Physical Interface,PHY)設計。Gowin PSRAM Memory Interace IP 為用戶提供一個通用的命令接口,使其與 PSRAM 內存 芯片進行互連,完成用戶的訪存需求。

 

  • 能與標准的 PSRAM 器件接口; 
  • 支持存儲器數據路徑寬度為 8、16、24、32、40、48、56 和 64 位; 
  • 支持 x8 數據寬度的內存芯片; 
  • 可編程突發長度 16、32、64、128; 
  • 時鍾比例為 1:2 
  • 支持初始延時為 6; 
  • 支持固定延時模式; 
  • 支持電源關閉選項; 
  • 可配置的驅動強度; 
  • 可配置的自刷新區域; 
  • 可配置的刷新速率; 
  • 單通道雙通道兩種操作模式 IP 可選。

Gowin PSRAM Memory Interace IP 可支持的數據速率與效率為: 

  • 最高工作數據速率 333Mbps; 
  • 突發長度 128,帶寬效率為 74%; 
  • 突發長度 64,帶寬效率為 59%; 
  • 突發長度 32,帶寬效率為 42%; 
  • 突發長度 16,帶寬效率為 26%

      Gowin PSRAM Memory Interace IP 基本結構如圖 4-1 所示,主要包含 Memory Controller Logic、Physical Interface 等模塊。。 圖 4-1 中的 User Design 是 FPGA 中需要與外部 PSRAM SDRAM 芯片 所連接的用戶設計。 圖 4-1      

 

 

 

        Memory Controller Logic 是 Gowin PSRAM Interace IP 的邏輯模塊,位 於 User Design 與 PHY 之間。Memory Controller Logic 接收來自用戶接口 的命令、地址與數據,並按照一定邏輯順序進行存儲。 用戶發送的寫、讀等命令和地址在 Memory Controller Logic 中進行排序 重組,組合成滿足 PSRAM 協議的數據格式。同時,寫數據時 Memory Controller Logic 會對數據進行重組和緩存,以滿足命令和數據之間的初始延 時值,讀數據時,Memory Controller Logic 會對讀回的數據進行采樣和重組, 恢復成正確數據。 PSRAM Memory Controller 主要由以下幾個模塊組成:CMD 單元、 WR_Data 單元、RD_Data 單元等,主要結構如圖 4-2 所示。

 

       PSRAM 必須經過讀校准操作才能進行正常的寫、讀操作。因此上電后 PHY 會對 PSRAM 進行初始化讀校准操作,初始化完成后返回初始化完成標 志 init_calib,單通道 PSRAM IP 會將兩顆 psram 顆粒同時初始化,而雙通 道 IP 則是兩顆 psram 顆粒各自初始化,並將兩個初始化完成信號分別送出 給用戶使用。

 

 

 

 

 用戶可通過 addr、cmd、cmd_en 等用戶接口發送操作命令與地址。 

addr 為地址數據端口; 連續地址寫操作時,相鄰兩次操作地址自加突發長度/2,連續地址讀操作 相同; 

cmd 為命令數據端口; 

cmd_en 為地址與命令使能信號,高電平有效; 

雙通道 PSRAM IP 和單通道 PSRAM IP 的操作方式一致,但是雙通道

PSRAM IP 兩個通道的命令和地址是獨立的,需要分別給出控制信號。 在應用中,用戶接口的地址總線與物理內存的 ROW、Upper Column、 Lower Column 之間存在一定的映射關系,在本設計中,按照 ROW-Upper Column-Lower Column 的順序進行依次排列,其尋址方案如圖 4-5 所示。用 戶在應用中,只需按照需要給出地址,不需要關心映射關系。

 

 

 

 

用戶在使用 PSRAM 時,讀寫命令間隔需根據顆粒 tRWR 值進行計算, 以 166M 時鍾,顆粒使用 W955D8MBY 為例,tRWR 最小值為 36ns,即讀 寫命令間隔需要大於 6 個時鍾周期,在實際使用讀寫切換中,建議用戶在寫 數據全部寫入后再進行讀取操作,在讀數據全部讀出后,再進行寫操作; 在用戶端實際使用時兩個命令(寫-讀/讀-寫/寫-寫/讀-讀)間隔需滿足最 小間隔周期(圖 4-8 中 Tcmd 周期數),即突發長度為 16 時,命令間隔最小 為 15 個時鍾周期;突發長度為 32 時,命令間隔最小為 19 個時鍾周期;突 發長度為 64 時,命令間隔最小為 27 個時鍾周期;突發長度為 128 時,命令 間隔最小為 43 個時鍾周期。
 

 寫數據

用戶可通過用戶接口 wr_data、data_mask 等端口將寫數據發送給 Gowin PSRAM Memory Interface IP,寫數據經過處理后會發送給 PSRAM 顆粒。 

wr_data 為寫數據端口; 

data_mask 為寫遮掩端口; 

寫數據通道與命令通道之間存在多種時序情況,下圖以突發長度為 16 為 例; 

雙通道 PSRAM IP 與單通道 PSRAM IP 寫操作模式一致,但是雙通道 PSRAM IP 兩個通道的數據端口是獨立的,需要分別給出寫數據;

 

 

 

 讀數據
     用戶可通過用戶接口rd_data、rd_data_valid讀取PSRAM返回的數據。 

 端口 rd_data 為返回的讀數據端口; 

端口信號 rd_data_valid 為讀數據有效端口,當其為高電平時,指示此時 返回的 rd_data 有效; 

讀數據通道與命令通道之間存在多種時序情況,下圖以突發長度為 16 為 例; 

雙通道 PSRAM IP 與單通道 PSRAM IP 讀操作模式一致,但是雙通道 PSRAM IP 兩個通道的數據端口是獨立的,需要分別接收 rd_data_valid 信號和 rd_data 數據

 

 

 

 

 

      配置選項默認。

 

   代碼要記得頂層必須輸出基本的IO口。

    

 

 

 

 

 

 

用上面的開發板子,執行測試。

按鍵KEY1的時候,寫入psram的數據,並且都psram的數據,輸出到串口上面。

十六進制顯示,2個停止位,115200波特率,數據位8位,沒有校驗位。

 

代碼下載鏈接地址 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM