微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于SDRAM文件结构存储的数据缓存系统FPGA实现

基于SDRAM文件结构存储的数据缓存系统FPGA实现

时间:10-25 来源:本站整理 点击:

的思想,降低了设计的复杂性,易于调试。

  3.2 低层写辅助控制模块的设计

  写辅助控制模块用来实现对原始数据和第1次计算数据基于文件结构的存储。为了提高系统效率,第1次计算所需的数据和原始数据同时存储。其总体设计框图如图5所示。

  

  写辅助控制模块在主控状态机进入写工作模式时激活,通过将原始数据分为2路,一路进入原始数据缓存控制模块实现对原始数据的缓存,当原始数据的数据量积累到SDRAM一次突发写所需长度时,该控制模块发出写标志信号通知写模式控制状态机,写模式控制状态机响应写标志信号,向SDRAM驱动控制器发出写指令字控制SDRAM将原始数据写入SDRAM的原始数据区;另一路进入1st计算数据构造与缓存控制模块,该模块用来完成1st计算数据的帧头与数据的构造和缓存,当帧头构造完毕时,通知写模式控制状态机,将帧头(包含数据存储首地址信息)写入到SDRAM的帧头区中,同时当新数据量达到一次突发写入时,将新数据写入SDRAM的计算数据区中,直到将所有数据都写入到SDRAM的对应区内,写模式控制状态机发出写完成标志信号,反馈给高层主控状态机。

  3.3 低层读辅助控制模块的设计

  读辅助控制模块,接收读指令字,该指令字包括帧数、帧长和偏移地址。帧数表征着本次命令要从SDRAM中读取多少帧数据,帧长表示每帧数据要读取的长度(按采样点数算),偏移地址控制对数据的移位读操作。按照指令要求从SDRAM的高BANK区,读出数据送往后端。图6是其总体设计框图。

  

  读辅助控制模块在主控状态机进入读工作模式开始工作,它先控制SDRAM驱动器从SDRAM帧头区中读取一个帧头,送入缓存及帧头更新模块,该模块一方面按照指令字更新帧头信息中的数据到达与结束时间,另一方面从帧头信息中找到本帧数据的存储首地址然后加上读指令字中的偏移地址算出本次对数据读操作的起始地址,该地址反馈给读模式控制状态机,控制SDRAM从该地址开始顺序读出数据,完成一帧数据的读取操作送往数据缓存模块,重复以上操作直到完成读指令任务,读模式控制状态机发出读完成标志信号,反馈给高层主控状态机。

  3.4 低层数据重组帧辅助控制模块的设计

  数据重组帧辅助控制模块,接收重组帧指令字,该指令字包括重组帧帧数、帧长、帧间隔以及抽取因子,控制SDRAM读取原始数据,生成新的需要的数据帧结构,并按文件结构将其写到SDRAM的计算数据区中。其总体设计框图7所示。

  

  数据重组帧辅助控制模块在主控状态机进入重组帧工作模式时开始工作,新数据帧结构生成及缓存模块先构造第一帧数据的帧头信息,当帧头构造完毕后,它向重组帧模式控制状态机发出帧头完毕信号,状态机收到信号后向SDRAM发出写命令将新的数据帧头写入到帧头区中,然后它按照重组帧指令字的要求从SDRAM的原始数据区读出原始数据送往新数据生成模块,当新数据的数据量达到一次突发写长度时,再控制SDRAM将新的数据写入到SDRAM的重组帧数据区中,直到将一帧新的数据都存储到SDRAM中,记录此时的写地址并将其作为下一帧数据的存储首地址加入到下一帧帧头信息中,并发出构造第2帧帧头的命令,等待第2帧帧头完毕标志,重复上面的操作,直到完成要求的重组帧指令。完成操作后重组帧模式控制状态机发出重组帧完成标志信号,反馈给高层主控状态机。

  4 硬件平台及实测结果

  在xilinx的开发工具ISE环境下完成了系统的整体设计与仿真,利用xilinx公司的xc2v3000-4fg676FPGA芯片和MICRONE公司的MT48LC32M1 6A2SDRAM芯片搭建了硬件平台,并进行测试。其实测结果如图8所示。

  

  主控状态机接收上层的控制命令(写命令、读命令和重组帧命令)分别启动写工作模式、读工作模式和重组帧工作模式;低层各控制模块在完成任务时将完成标志(写完成标志、读完成标志和重组帧完成标志)反馈给主控状态机控制其跳转到就绪状态继续等待下次命令。结果证明该缓存系统实现了预定功能,可以对数据进行更方便的操作与管理。

  5 结语

  本文提出一种基于文件结构存储方式的新数据缓存系统,利用FPGA设计结构化状态机通过对SDRAM的读写控制,完成了具有数据重组帧功能的缓存系统设计。系统具有速度快,可靠性好,灵活性强,功能扩展容易的优点。该系统已应用于实际项目试验,在基于实时复杂信号处理的缓存系统中有很好的应用前景。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top