在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于SRAM的FPGA配置數(shù)據(jù)存儲方式解析方案

            基于SRAM的FPGA配置數(shù)據(jù)存儲方式解析方案

            作者: 時間:2012-06-25 來源:網(wǎng)絡(luò) 收藏

            2.發(fā)送數(shù)據(jù)的函數(shù)SendData_Byte,發(fā)送1 字節(jié)的數(shù)據(jù)。

            SendData(uint8 data){

            拉低CCLK;

            將 D0~D7 電平設(shè)置為與data 對應(yīng)的狀態(tài);

            拉高 CCLK;

            }

            3.發(fā)送數(shù)據(jù)的函數(shù)SendData_Sector,發(fā)送SD 卡中1 個扇區(qū)的數(shù)據(jù)。

            void SendData_Sector(uint8 * data){

            聲明計數(shù)器,并將初始值設(shè)為0;

            調(diào)用 SendData_Byte 發(fā)送1 個字節(jié)的數(shù)據(jù),計數(shù)器加1;

            檢查 BUSY 管腳的狀態(tài),等待其變?yōu)榈碗娖?

            檢查計數(shù)器是否到達(dá)規(guī)定的數(shù)據(jù)塊大小,達(dá)到時函數(shù)返回,未到達(dá)時繼續(xù)發(fā)送數(shù)據(jù);

            }

            2.3.3 配置文件的格式

            支持將配置文件生成為幾種不同的格式,但在本方案中不是所有格式都可以使用 的。一般最常用的格式是.BIN 和.BIT 格式。由于.BIT 格式包含頭部開銷,會增加額外的處 理過程,因此本方案沒有支持.BIT 格式的數(shù)據(jù),僅推薦使用.BIN 格式。

            2.4 文件在SD 卡中的存儲

            發(fā)送數(shù)據(jù)前,需要先從SD 卡中讀取配置文件。所有文件在SD 卡中都是按照一定的格式來組織的,本方案默認(rèn)文件采用FAT16 格式進(jìn)行存儲。FAT16 格式下,SD 卡的結(jié)構(gòu)如下圖所示[3]。

            主引導(dǎo)記錄中最重要的參數(shù)是邏輯扇區(qū)的起始地址。獲得該參數(shù)后即可以讀取BIOS 參 數(shù)數(shù)據(jù)塊(BPB)。BPB 中存儲了扇區(qū)(Sector)、簇(Cluster)、文件分配表(FAT)的 大小,以及分區(qū)總扇區(qū)數(shù)等參數(shù),是文件進(jìn)行操作時必不可少的。文件分配表則是指明了文 件存儲的位置,這些位置是以簇為單位的。每個簇包含的扇區(qū)數(shù)目在BPB 中說明。根文件 夾中存儲了各不同文件的文件名和起始簇以及文件大小等信息。

            2.5 配置文件的讀取和發(fā)送

            根據(jù)上述SD 卡存儲格式的說明,可以對存儲在其中的配置數(shù)據(jù)進(jìn)行讀取并發(fā)送出去。在本方案中,數(shù)據(jù)的讀取和發(fā)送是同時進(jìn)行的。

            在對 SD 卡進(jìn)行讀取時,首先需要讀取主引導(dǎo)記錄(MBR),獲得邏輯扇區(qū)的位置,然 后根據(jù)該位置讀取BIOS 參數(shù)數(shù)據(jù)塊(BPB),得到文件分配表(FAT)的位置以及扇區(qū)大 小等參數(shù)。在讀取文件分配表之前,需要先讀取根文件夾來獲得文件的起始位置,然后再 通過文件分配表獲得后續(xù)數(shù)據(jù)的位置。

            得到文件的起始簇號之后,在文件分配表中讀取對應(yīng)該起始簇的字節(jié),獲得文件存儲的 下一個簇的簇號,這樣可以連續(xù)的進(jìn)行讀取。在讀取一個簇后,即將整簇的數(shù)據(jù)發(fā)送出去。 如果發(fā)現(xiàn)文件分配表中某一簇對應(yīng)的數(shù)值是0xFFFF,則說明是文件最后一個簇,這時該簇 的數(shù)據(jù)可以不足一個整簇,需要對其中的數(shù)據(jù)進(jìn)行取舍,以保證發(fā)送數(shù)據(jù)的正確性。

            對配置文件讀取和發(fā)送的函數(shù)偽碼如下所示。



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉