基于AHB总线的串行PSRAM高速访问设计
发布时间:2021-09-29 08:59
随着信息科技的发展,需要缓存大量的数据,Io T芯片内部的SRAM存储资源需求也逐渐变大。SRAM价格较高、容量相对较小,在芯片设计中会限制SRAM的面积,而PSRAM存储技术正好弥补这些不足,使其得到广泛应用。由此,本文设计了基于AHB的串行PSRAM高速访问方案,可实现对SQPI接口的PSRAM不同模式的控制,高效的完成读写操作。该设计经过了仿真验证以及FPGA验证测试,可实现对PSRAM的访问需求。
【文章来源】:科学技术创新. 2020,(31)
【文章页数】:2 页
【部分图文】:
AHB访问SQPI PSRAM架构
FIFO模块:这里PSRAM是串行通信单bit传输,而MCU的AHB总线是32bit并行传输,这就造成速度差,MCU必须等待本次数据输出完成后才能传输下一次数据。为此,本文采用了64x32bit FIFO实现数据缓存,MCU需要写的数据会存入到FIFO中,同时其所要写入的地址也会被寄存下来;然后在AHB_to_SPI模块的控制下,依次由SPI Master发送出去。MCU写完数据就认为其已经将数据写入到PSRAM,而后面的一系列操作完全由硬件自主完成。MCU在读取PSRAM数据时也是类似,该模块会在数据到来后通知MCU来读取数据,这里可以采用产生中断方式或者MCU轮询方式实现。SQPI Master模块:主要实现PSRAM SQPI的通信接口协议,实现对片选信号ce_n、通信时钟sclk以及输入输出信号的时序控制。该模块进行了FSM状态设计,用来控制各种状态切换。在PSRAM的SQPI时序中有指令段、地址段和数据段,如图2所示。这里给出了SPI mode读操作下的数据分配,其中指令段占用8bit,地址段占用24bit,数据段每次输出8bit数据可连续输出;同时这里也指出了数据流顺序,以及各个信号的时序。
在状态机设计时,分为四种状态IDLE状态、CMD状态(指令发送)、ADDR状态(地址发送)以及DATA状态(数据发送和接收),如图3所示。在MCU对PSRAM进行寻址操作时,会触发状态机进入CMD状态;8bit指令发送完毕后,会根据是否发送PSRAM地址,选择进入ADDR状态或DATA状态。当进入ADDR状态,会等待24bit地址发送完成后,进入DATA状态;如果不需要发送地址,则直接进入DATA状态。在DATA状态,会进行数据发送或者数据接收。该状态会根据需要接收的数据或发送的数据个数,以及FIFO的状态来决定是否跳出DATA状态,返回IDLE。在RTL设计完成之后,搭建测试平台进行测试。在该设计中,内核时钟采用16MHz;SQPI时钟采用60MHz,可进行分频60MHz/30MHz/15MHz。MCU内核采用Cortex-M0,外挂PSRAM仿真模型进行仿真,验证了该设计的正确性。最后,在FPGA平台上进行了系统测试,并选用了某厂家的64Mbit SQPI PSRAM进行了验证,访问模式采用60MHz Quad SPI mode,测试结果符合设计要求。
【参考文献】:
期刊论文
[1]DDR2 SDRAM控制器IP功能测试与FPGA验证[J]. 陈平,张春,张一山,姜汉钧,王志华. 微电子学. 2016(02)
[2]基于SDRAM大容量缓存FIFO控制器的设计与实现[J]. 李丽斯,杨立杰,殷晔,安佰岳,刘康丽. 计算机测量与控制. 2015(08)
[3]基于SPI总线的FRAM存储设计[J]. 王磊,江小华. 现代电子技术. 2013(04)
[4]基于伪静态存储器的设计[J]. Jarrod Eliason. 中国集成电路. 2008(06)
[5]移动应用中高密度低功率1TPSRAM的新兴架构[J]. Rajesh Manapat,Manoj Roge. 中国集成电路. 2002(09)
本文编号:3413437
【文章来源】:科学技术创新. 2020,(31)
【文章页数】:2 页
【部分图文】:
AHB访问SQPI PSRAM架构
FIFO模块:这里PSRAM是串行通信单bit传输,而MCU的AHB总线是32bit并行传输,这就造成速度差,MCU必须等待本次数据输出完成后才能传输下一次数据。为此,本文采用了64x32bit FIFO实现数据缓存,MCU需要写的数据会存入到FIFO中,同时其所要写入的地址也会被寄存下来;然后在AHB_to_SPI模块的控制下,依次由SPI Master发送出去。MCU写完数据就认为其已经将数据写入到PSRAM,而后面的一系列操作完全由硬件自主完成。MCU在读取PSRAM数据时也是类似,该模块会在数据到来后通知MCU来读取数据,这里可以采用产生中断方式或者MCU轮询方式实现。SQPI Master模块:主要实现PSRAM SQPI的通信接口协议,实现对片选信号ce_n、通信时钟sclk以及输入输出信号的时序控制。该模块进行了FSM状态设计,用来控制各种状态切换。在PSRAM的SQPI时序中有指令段、地址段和数据段,如图2所示。这里给出了SPI mode读操作下的数据分配,其中指令段占用8bit,地址段占用24bit,数据段每次输出8bit数据可连续输出;同时这里也指出了数据流顺序,以及各个信号的时序。
在状态机设计时,分为四种状态IDLE状态、CMD状态(指令发送)、ADDR状态(地址发送)以及DATA状态(数据发送和接收),如图3所示。在MCU对PSRAM进行寻址操作时,会触发状态机进入CMD状态;8bit指令发送完毕后,会根据是否发送PSRAM地址,选择进入ADDR状态或DATA状态。当进入ADDR状态,会等待24bit地址发送完成后,进入DATA状态;如果不需要发送地址,则直接进入DATA状态。在DATA状态,会进行数据发送或者数据接收。该状态会根据需要接收的数据或发送的数据个数,以及FIFO的状态来决定是否跳出DATA状态,返回IDLE。在RTL设计完成之后,搭建测试平台进行测试。在该设计中,内核时钟采用16MHz;SQPI时钟采用60MHz,可进行分频60MHz/30MHz/15MHz。MCU内核采用Cortex-M0,外挂PSRAM仿真模型进行仿真,验证了该设计的正确性。最后,在FPGA平台上进行了系统测试,并选用了某厂家的64Mbit SQPI PSRAM进行了验证,访问模式采用60MHz Quad SPI mode,测试结果符合设计要求。
【参考文献】:
期刊论文
[1]DDR2 SDRAM控制器IP功能测试与FPGA验证[J]. 陈平,张春,张一山,姜汉钧,王志华. 微电子学. 2016(02)
[2]基于SDRAM大容量缓存FIFO控制器的设计与实现[J]. 李丽斯,杨立杰,殷晔,安佰岳,刘康丽. 计算机测量与控制. 2015(08)
[3]基于SPI总线的FRAM存储设计[J]. 王磊,江小华. 现代电子技术. 2013(04)
[4]基于伪静态存储器的设计[J]. Jarrod Eliason. 中国集成电路. 2008(06)
[5]移动应用中高密度低功率1TPSRAM的新兴架构[J]. Rajesh Manapat,Manoj Roge. 中国集成电路. 2002(09)
本文编号:3413437
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3413437.html