《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于SD卡的FPGA配置
基于SD卡的FPGA配置
摘要: 本文首先簡略介紹了幾種當前對Virtex系列FPGA進行配置的方式和其不足之處,在此基礎上提出了一種使用微處理器讀取SD卡中的配置數據,并通過SELECTMAP接口對FPGA進行配置的方案,并輔以電路圖和工作流程圖,以及配置數據在SD卡中的存儲方式進行說明。采用此配置方案可以使產品更新只涉及到修改SD卡中的數據,方便靈活,有利于降低大規模產品升級時的成本,適用于通信、工控等多個領域。
關鍵詞: FPGA SD卡
Abstract:
Key words :

 1.引言

  由于 FPGA 良好的可編程性和優越的性能表現,當前采用FPGA 芯片的嵌入式系統數 量呈現迅速增加的趨勢,特別是在需要進行大規模運算的通信領域。目前FPGA 配置數據一 般使用基于SRAM 的存儲方式,掉電后數據消失,每次上電后都要重新寫入。配置數據的 寫入方式有3 種,即使用JTAG 仿真器、使用專用芯片以及使用微處理器。JTAG 仿真器的 方式在調試的時候使用較多,能隨時修改,但缺點是FPGA 芯片必須與電腦主機連接,失去 了靈活性。使用專用芯片的方式可以將配置數據事先存儲在非易失性存儲介質中,為大規模 升級提供了方便,但不利之處在于專用芯片往往價格較高,并且也必須采用特定的存儲介質, 提升了系統成本,而且沒有利用到板上的現有資源,需要為配置芯片設置出專用的空間,占 用了電路板上的空間資源。而第三種方式可以利用當前嵌入式系統中一般都存在的微處理 器,同時也可以自行選擇合適的存儲介質。下面就這種配置方案進行說明。

  2. 系統介紹

  2.1 系統工作原理

  本配置方案中使用的微控制器是Philips 公司生產的ARM7 處理器LPC2468。FPGA 則 是Xilinx 公司的Virtex SX95T。存儲配置數據的介質是成本較低而且使用廣泛的SD 卡。

  系統的工作原理是上電時微控制器LPC2468 從SD 卡中讀取FPGA 的配置文件,然后 通過其通用IO 管腳模擬FPGA 的某種配置模式的時序,將配置文件寫入到FPGA 的配置 RAM 中。Virtex 系列FPGA 有幾種不同的配置模式,每種配置模式使用到的管腳以及配置 信號的時序都是不同的, 因此對配置模式需要作出合適的選擇。

  2.2 Viretex 系列FPGA 的配置模式

  Viretex 系列FPGA 的配置模式是由上電時其專用配置管腳的狀態決定的,對應的關系 如下表所示:

因在系統中使用微處理器作為主控制器,因此FPGA 的模式需選擇Slave 方式,所以有 2 種模式可以選擇,即Slave SelectMap 和Slave Serial。這2 種模式的區別在與數據管腳的數 目不同,Slave Serial 模式只有1 個管腳用于數據傳輸,屬于串行傳輸,而Slave SelectMap 模式有8 個管腳用于數據傳輸,屬于并行傳輸。這2 種模式可以任意選擇,本文選擇的是 Slave SelectMap 模式。

  2.3 Slave SelectMap 配置模式

  Slave SelectMap 配置模式在管腳信號功能、配置流程、配置數據等方面有自己的特點, 在進行電路板設計以及程序編寫時需要注意。下面對其主要特點進行說明。

  2.3.1 Slave SelectMap 模式使用的管腳信號:

  SelectMap 模式下使用的FPGA 管腳為:

根據上表,可以將微控制器的通用IO 管腳與上述FPGA 管腳連接起來,連接電路圖如圖1 所示:


2.3.2 Slave SelectMap 模式的配置流程

  Slave SelectMap 模式下提供時鐘的是外部器件,本方案中的時鐘信號是CCLK 使用 ARM 芯片的通用IO 進行模擬。同時,該模式下數據管腳有8 個,因此在每個CCLK 的上 升沿,FPGA 可以讀入1 個字節的數據。需要注意的是這1 字節的最高位是D0,而不是一 般微處理器默認的D7,在電路板布線和編寫配置程序時應給予相應改變。

  配置過程的具體流程如圖2 所示。

接收完配置數據后,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]。

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

  2.5 配置文件的讀取和發送

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

  在對 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。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          狠色狠色综合久久| 欧美一激情一区二区三区| 亚洲精品视频中文字幕| 久久亚洲精品网站| 伊人久久婷婷色综合98网| 亚洲免费网站| 欧美日韩国产高清视频| 一本久道久久综合中文字幕| 国产亚洲精品一区二555| 国产麻豆精品在线观看| 久久高清国产| 欧美日本乱大交xxxxx| 国产欧美日韩亚洲| 亚洲欧美视频在线观看视频| 久久精品国产一区二区三区免费看| 性欧美大战久久久久久久免费观看| 欧美在线免费观看视频| 一二三四社区欧美黄| 91久久中文字幕| 亚洲剧情一区二区| 久久九九国产| 欧美另类极品videosbest最新版本| 亚洲国产精品成人久久综合一区| 欧美成人黄色小视频| 欧美一区二区三区男人的天堂| 亚洲麻豆av| 91久久精品网| 久久精品99国产精品日本| 欧美日韩亚洲一区二区三区| 亚洲乱码一区二区| 欧美一级淫片播放口| 国产一区二区三区成人欧美日韩在线观看| 最新国产乱人伦偷精品免费网站| 尤物精品国产第一福利三区| 亚洲六月丁香色婷婷综合久久| 国产日韩一区| 1769国产精品| 国产精自产拍久久久久久蜜| 国内精品嫩模av私拍在线观看| 久久国产加勒比精品无码| 欧美日韩视频在线一区二区| 欧美aaaaaaaa牛牛影院| 欧美国产在线电影| 免费人成网站在线观看欧美高清| 亚洲欧美一区二区原创| 国模 一区 二区 三区| 一区二区三区欧美视频| 亚洲毛片在线观看| 欧美人妖在线观看| 国产一区二区成人| 亚洲电影在线免费观看| 亚洲午夜激情网站| 狠狠色狠狠色综合系列| 韩国av一区二区三区| 欧美午夜精品久久久久久人妖| 亚洲性色视频| 亚洲一区二区三区午夜| 黄色亚洲免费| **性色生活片久久毛片| 国产精品夜夜夜一区二区三区尤| 亚洲在线视频一区| 91久久嫩草影院一区二区| 国产精品欧美日韩久久| 亚洲永久视频| 国产欧美精品| 欧美在线观看www| 亚洲欧美经典视频| 国产亚洲高清视频| 欧美视频网址| 国产专区精品视频| 精品动漫3d一区二区三区免费版| 久久亚洲国产精品日日av夜夜| 亚洲欧美国产va在线影院| 亚洲一二三区视频在线观看| 国产日韩欧美中文| 亚洲你懂的在线视频| 狠狠色香婷婷久久亚洲精品| 亚洲欧美国产日韩中文字幕| 欧美日韩国产一区| 久久一区中文字幕| 亚洲一区bb| 国产精品乱码人人做人人爱| 免费成人黄色片| 国产最新精品精品你懂的| 国产精品日韩精品欧美精品| 欧美永久精品| 亚洲电影免费观看高清| 精品成人久久| 在线视频欧美日韩精品| 日韩天天综合| 欧美电影免费观看大全| 久久av资源网| 依依成人综合视频| 国产精品高清在线| 亚洲人成绝费网站色www| 国产精品乱码久久久久久| 亚洲一区二区三区在线看| 欧美四级在线| 国产精品视频xxx| 一区二区三区精品视频在线观看| 久热这里只精品99re8久| 国产小视频国产精品| 久久精品欧洲| 欧美人在线观看| 欧美日韩视频一区二区| 久久九九免费视频| 欧美一站二站| 国产精品网站视频| 久久三级福利| 久久视频一区| 国产精品专区h在线观看| 国产精品美女久久久久久2018| 国产日韩精品一区二区| 亚洲第一黄色网| 久久久91精品国产一区二区精品| 在线综合亚洲欧美在线视频| 国产精品一级久久久| 国产欧美精品一区二区色综合| 欧美激情成人在线| 国产精品亚洲综合天堂夜夜| 亚洲一级特黄| 免费在线视频一区| 欧美激情2020午夜免费观看| 欧美日韩成人在线播放| 国产香蕉97碰碰久久人人| 欧美日韩国产亚洲一区| 国产精品性做久久久久久| 国产综合18久久久久久| 亚洲黄色影院| 欧美一级二级三级蜜桃| 国产精品一区免费在线观看| 99www免费人成精品| 亚洲在线国产日韩欧美| 99精品国产99久久久久久福利| 国产精品福利在线观看| 亚洲国产一区二区三区a毛片| 国产精品theporn88| 欧美资源在线观看| 亚洲视频在线观看一区| 午夜欧美电影在线观看| 欧美日韩一区不卡| 在线观看国产成人av片| 亚洲精品一区二区三区不| 国产精品久久久久久超碰| 99视频热这里只有精品免费| 亚洲视频中文字幕| 久久亚洲欧美国产精品乐播| 国产亚洲欧美一级| 久久精品免费电影| 亚洲永久免费视频| 亚洲制服丝袜在线| 欧美成人精品1314www| 欧美成人一区二区三区| 日韩视频在线免费观看| 欧美精品v日韩精品v国产精品| 亚洲电影有码| 中文日韩电影网站| 欧美日本韩国一区| 亚洲裸体视频| 精品成人一区二区| 亚洲深夜福利网站| 国产日韩欧美| 欧美成人国产一区二区| 欧美一区二区三区免费观看视频| 99re热精品| 欧美日韩亚洲高清一区二区| 亚洲精品日韩激情在线电影| 亚洲制服少妇| 亚洲国产女人aaa毛片在线| 狠狠色狠狠色综合日日小说| 欧美激情精品久久久久久黑人| 欧美久久久久久久| 美女视频一区免费观看| 国内精品久久久久久| 亚洲一区二区三区四区中文| 国产精品看片你懂得| 欧美激情综合色| 欧美精品xxxxbbbb| 乱码第一页成人| 国产亚洲第一区| 欧美亚男人的天堂| 久久久久久久久久码影片| 激情六月综合| 亚洲丶国产丶欧美一区二区三区| 国产精品99久久久久久久vr| 欧美精品99| 欧美电影电视剧在线观看| 国产精品久久久久久av下载红粉| 卡一卡二国产精品| 欧美电影在线免费观看网站| 欧美日韩色一区| 一本色道久久综合精品竹菊| 午夜一区二区三区不卡视频| 欧美日韩日本国产亚洲在线| 久久久999精品视频| 亚洲视屏在线播放| 国产精品久久久一区二区| 亚洲美洲欧洲综合国产一区| 国产精品色婷婷久久58| 老牛嫩草一区二区三区日本| 欧美中文字幕在线播放| 在线 亚洲欧美在线综合一区| 日韩视频免费看| 欧美另类一区二区三区| 国产永久精品大片wwwapp| 亚洲自拍三区| 欧美高潮视频| 一区二区三区视频免费在线观看| 久久成人18免费网站| 亚洲女女做受ⅹxx高潮| 欧美电影免费| 欧美日韩国产综合一区二区| 一区二区三区无毛| 久久精品国产一区二区三区免费看| 国内久久婷婷综合| 欧美一区二区精品久久911| 韩国久久久久| 国产欧美日韩麻豆91| 欧美日韩 国产精品| 尤物yw午夜国产精品视频明星| 国产色视频一区| 欧美人成在线视频| 欧美在线免费播放| 国产精品自拍网站| 亚洲国产另类久久精品| 欧美日韩亚洲系列| 国产一区二区三区在线免费观看| 欧美激情aaaa| 国产老女人精品毛片久久| 六月天综合网| 日韩午夜免费| 伊人久久大香线蕉综合热线| 老司机一区二区三区| 欧美国产第二页| 久久久久久国产精品一区| 亚洲第一区色| 国语自产精品视频在线看8查询8| 欧美成人中文字幕| 国内揄拍国内精品久久| 国产九区一区在线| 韩国自拍一区| 欧美日韩国产一区二区| 欧美日韩日日骚| 欧美日韩免费看| 午夜精品国产精品大乳美女| 亚洲系列中文字幕| 性做久久久久久久久| 欧美福利一区| 欧美激情第1页| 99国产精品国产精品毛片| 国产一区视频网站| 一区精品在线播放| 久久激五月天综合精品| 国产精品成人va在线观看| 亚洲人午夜精品免费| 最新精品在线| 一本色道久久综合狠狠躁篇怎么玩| 欧美乱妇高清无乱码| 国产亚洲一区二区三区在线播放| 国产精品美女www爽爽爽视频| 在线日本欧美| 欧美在线不卡视频| 香蕉久久精品日日躁夜夜躁| 麻豆精品视频| 久久一区二区三区av| 亚洲夜晚福利在线观看| 国产精品色一区二区三区| 午夜精品成人在线| 欧美福利视频网站| 久久久久一区二区| 香蕉久久精品日日躁夜夜躁| 一个色综合导航| 久久国产精品电影| 亚洲专区在线视频| 亚洲在线成人精品| 99ri日韩精品视频| 狠狠色综合网| 久久免费偷拍视频| 国产手机视频一区二区| 黄色成人av| 国产精品99久久久久久久女警| 亚洲欧美日韩一区二区| 亚洲欧美综合精品久久成人| 好吊色欧美一区二区三区视频| 免费亚洲网站| 国产婷婷色综合av蜜臀av| 国产精品女主播一区二区三区| 久久天堂成人| 国产日韩欧美亚洲一区| 国产日本欧美一区二区| 欧美伊人久久| 激情综合色综合久久综合| 国模叶桐国产精品一区| 国产手机视频一区二区| 麻豆国产精品va在线观看不卡| 欧美凹凸一区二区三区视频| 欧美二区视频| 久久免费精品日本久久中文字幕| 韩国av一区二区三区四区| 国产亚洲精品福利| 欧美在线免费观看亚洲| 国产一区二区日韩精品| 欧美综合二区| 欧美视频一区二区在线观看| 一区免费在线| 国产精品一区二区在线观看不卡| 欧美精品一区二区三区高清aⅴ| 美国三级日本三级久久99| 1769国内精品视频在线播放| 午夜精品一区二区三区在线视| 亚洲欧美日韩一区在线观看| 1769国内精品视频在线播放| 亚洲免费影视| 欧美精品在线一区二区三区| 国产精品久久一区二区三区| 美女主播一区| 一本色道综合亚洲| 欧美精品久久一区二区| 欧美日韩一区二区在线播放| 国产亚洲激情视频在线| 欧美日在线观看| 国产亚洲福利社区一区| 亚洲国产婷婷香蕉久久久久久99| 久久国产精品99久久久久久老狼| 久久国产66| 亚洲精品婷婷| 9色精品在线| 国产综合色在线|