基于SRAM的FPGA配置数据存储方式解析方案

来源:元器件交易网 作者:—— 时间:2012-02-17 15:57

  接收完配置数据后,DONE 管脚会被拉高。但这并不是表示配置过程已经结束,系统仍 需要时钟来进行后续的上电启动工作。为保证上电配置过程的正确进行,最好的办法是将配 置文件中的所有数据写入FPGA 中之后,然后继续输出CCLK 信号,直到DONE 管脚被拉 高。之后,再输出8 个周期的CCLK,保证配置能正常完成。

  根据上述流程,配置程序的主要函数的伪码如下。

  1.初始化函数SelectMAP_Init,在其它函数之前运行。

  SelectMAP_Init(){

  将ARM 通用IO 设置为对应的SelectMap 管脚信号;

  设置 PROGRAM#,CS#和WRITE#管脚为低电平;

  延时至少300ns;

  设置 PROGRAM#为高电平;

  循环检查INIT#是否变为高电平;

  }

  2.发送数据的函数SendData_Byte,发送1 字节的数据。

  SendData(uint8 data){

  拉低CCLK;

  将 D0~D7 电平设置为与data 对应的状态;

  拉高 CCLK;

  }

  3.发送数据的函数SendData_Sector,发送SD 卡中1 个扇区的数据。

  void SendData_Sector(uint8 * data){

  声明计数器,并将初始值设为0;

  调用 SendData_Byte 发送1 个字节的数据,计数器加1;

  检查 BUSY 管脚的状态,等待其变为低电平;

  检查计数器是否到达规定的数据块大小,达到时函数返回,未到达时继续发送数据;

  }

  2.3.3 配置文件的格式

  FPGA 支持将配置文件生成为几种不同的格式,但在本方案中不是所有格式都可以使用 的。一般最常用的格式是.BIN 和.BIT 格式。由于.BIT 格式包含头部开销,会增加额外的处 理过程,因此本方案没有支持.BIT 格式的数据,仅推荐使用.BIN 格式。

  2.4 文件在SD 卡中的存储

  发送数据前,需要先从SD 卡中读取配置文件。所有文件在SD 卡中都是按照一定的格式来组织的,本方案默认文件采用FAT16 格式进行存储。FAT16 格式下,SD 卡的结构如下图所示[3]。

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子