基于FPGA的QSPI PSRAM控制器设计及测试实验(2)——FIFO接口

文章目录

  • FPGA电路优化
  • FIFO接口设计
  • Nios II总线结构

FPGA电路优化

由于上一章讲解的RTL电路过于繁琐,导致Controller模块的组合电路过多,极大影响了控制PSRAM的最高频率。
下图是Controller模块的RTL电路。
基于FPGA的QSPI PSRAM控制器设计及测试实验(2)——FIFO接口_第1张图片本章根据QSPI协议,设计了一种针对PSRAM的FIFO数据传输接口。利用预编译的思想,将大部分组合逻辑放于软件端,仅需FIFO interface模块直接将存储好的命令按CLK依次输出即可,极大提高PSRAM的工作频率,但缺点是会引入额外的总线时延,非常适合用于PSRAM功能调试。
基于FPGA的QSPI PSRAM控制器设计及测试实验(2)——FIFO接口_第2张图片

改进后FIFO interface模块的电路复杂度降低如下。

基于FPGA的QSPI PSRAM控制器设计及测试实验(2)——FIFO接口_第3张图片


FIFO接口设计

AP Memory的某款QSPI PSRAM为例,下图为其在QPI模式下的寄存器读取时序。当数据选通线CE#为低,命令(Cmd),地址(Addr),等待延时(Wait)三个阶段严格按照CLK依次发出,即可在第四个阶段(Dout)访问到PSRAM的寄存器数据。
双口双时钟FIFO的使用十分必要,因为一边是来自软件端的命令预编译时钟,另一边是来自同步PSRAM的数据时钟。避免异步时钟带来的问题。FIFO_PC中数据存储模式可见下表,各信号均以时钟为节拍变化,模拟了PSRAM命令时序。有此模式,PSRAM的任何命令均可灵活、便捷的通过C语言辅助设计出来。

基于FPGA的QSPI PSRAM控制器设计及测试实验(2)——FIFO接口_第4张图片
ps:亦可转换为SPI模式进行数据传输,简化为传统的SI,SO两根数据传输线。当然QPI模式下传输效率会更高,用户可根据具体应用场景进行选择。


Nios II总线结构

在FPGA上搭建简易的SOPC,可以以软件的方式,便捷地访问多种外设。
以Nios II处理器为中心的小型总线结构如下图所示。生成片内RAM可存储软件端的指令。通过Avalon_mm总线,可通过寻址方式访问JATG,PIO,FIFO,DRAM控制器等外设。
本章设计的FIFO同样挂与Avalon_mm总线上,成为软件与硬件沟通的桥梁。

基于FPGA的QSPI PSRAM控制器设计及测试实验(2)——FIFO接口_第5张图片


了解更多PSRAM敬请留言,登入https://www.apmemory.com/或 扫码加入AP Memory公众号了解更多PSRAM!

基于FPGA的QSPI PSRAM控制器设计及测试实验(2)——FIFO接口_第6张图片

你可能感兴趣的:(QSPI,PSRAM,fpga,sdram,fifo,ddr,spi)