电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章EDA/PLD基于SD 卡的Virtex FPGA 配置方案

基于SD 卡的Virtex FPGA 配置方案

11-20 00:27:29 | http://www.5idzw.com | EDA/PLD | 人气:239
标签:eda技术,eda技术实用教程,http://www.5idzw.com 基于SD 卡的Virtex FPGA 配置方案,http://www.5idzw.com

  在对 SD 卡进行读取时,首先需要读取主引导记录(MBR),获得逻辑扇区的位置,然 后根据该位置读取BIOS 参数数据块(BPB),得到文件分配表(FAT)的位置以及扇区大 小等参数。在读取文件分配表之前,需要先读取根文件夹来获得文件的起始位置,然后再 通过文件分配表获得后续数据的位置。

  得到文件的起始簇号之后,在文件分配表中读取对应该起始簇的字节,获得文件存储的 下一个簇的簇号,这样可以连续的进行读取。在读取一个簇后,即将整簇的数据发送出去。 如果发现文件分配表中某一簇对应的数值是0xFFFF,则说明是文件最后一个簇,这时该簇 的数据可以不足一个整簇,需要对其中的数据进行取舍,以保证发送数据的正确性。

  对配置文件读取和发送的函数伪码如下所示。

  ReadSD_FAT16(){

  读取物理第0 扇区内容,即MBR,获取逻辑0 扇区的位置;

  读取逻辑0 扇区的内容,获取每扇区字节数,每簇扇区数,FAT 表占据的扇区数等参数;

  读取根文件夹的内容,根据配置文件的文件名获取其起始簇号和文件长度;

  将当前簇设置为起始簇;

  While(1){

  读取FAT 中对应当前簇的内容,获得下一个簇的簇号;

  FAT 表中对应当前簇的内容为0xFFFF 时,即说明当前簇是最后一个簇,计算该簇内的有效数据,并进行发送;

  读取当前簇内容,进行发送;

  当前簇指向下一个簇;

  }

  }

  3 结束语

  在当前FPGA 使用领域日趋广泛的情况下,对现有的含有FPGA 的嵌入式产品进行升 级更新成为了一项比较繁琐的工作,特别是在产品数量较多的情况下。本方案提出了采用 SD 卡存储配置数据的配置方案,使用了目前嵌入式系统中常见的ARM 微处理器和SD 卡, 不仅降低了成本,而且利用了现有资源,节省了电路板布线布局的空间。最重要的是使升级 过程更加简洁,在进行调试时也可以灵活使用。本文只给出了对Virtex FPGA 进行配置的情 况,该方案也可以适用于Spartan 系列FPGA。


上一页  [1] [2] 

,基于SD 卡的Virtex FPGA 配置方案
关于《基于SD 卡的Virtex FPGA 配置方案》的更多文章