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

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

  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網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品99久久久久久久久| 91久久黄色| 狠狠干综合网| 国产精品久久国产三级国电话系列| 欧美成人高清视频| 开心色5月久久精品| 久久九九有精品国产23| 亚洲欧美日韩成人| 亚洲欧美一区二区在线观看| 亚洲午夜影视影院在线观看| 夜夜嗨一区二区三区| 99香蕉国产精品偷在线观看| 亚洲伦理网站| 一区二区久久久久| 亚洲视频在线观看免费| 亚洲一区二区3| 亚洲欧美视频一区| 久久av在线看| 久久蜜臀精品av| 久久这里只有| 欧美成人免费在线| 欧美精品激情blacked18| 欧美日韩国产综合久久| 欧美日韩综合视频网址| 国产精品久久久久久户外露出| 国产精品久久久久久av下载红粉| 国产精品日韩二区| 国产网站欧美日韩免费精品在线观看| 国产偷国产偷精品高清尤物| 狠狠色噜噜狠狠色综合久| 亚洲成人中文| 日韩午夜激情| 亚洲一卡二卡三卡四卡五卡| 亚洲欧美日韩一区| 欧美在线播放视频| 亚洲高清视频中文字幕| 亚洲精品小视频在线观看| 亚洲午夜羞羞片| 久久99在线观看| 麻豆精品国产91久久久久久| 欧美激情在线观看| 欧美亚州一区二区三区| 国产精品永久在线| 黄色成人免费观看| 亚洲人成高清| 亚洲永久视频| 亚洲国产精品www| 99在线热播精品免费| 午夜影院日韩| 麻豆精品网站| 欧美日韩一区二区三区免费看| 国产精品理论片在线观看| 国产日韩欧美亚洲一区| 在线激情影院一区| 亚洲无线一线二线三线区别av| 小辣椒精品导航| 99在线|亚洲一区二区| 欧美怡红院视频一区二区三区| 久久野战av| 欧美日韩中文在线观看| 国产啪精品视频| 亚洲国产精品综合| 亚洲一区在线免费| 亚洲欧洲精品成人久久奇米网| 亚洲一区二区三区免费在线观看| 久久久久久亚洲精品中文字幕| 欧美精品97| 国产亚洲欧美日韩日本| 日韩网站免费观看| 久久av老司机精品网站导航| 一本色道久久综合一区| 久久久女女女女999久久| 欧美日韩色综合| 精品成人a区在线观看| 亚洲午夜在线观看视频在线| 亚洲国产精品99久久久久久久久| 亚洲欧美国产视频| 欧美高清在线精品一区| 国产区日韩欧美| 亚洲精品美女久久7777777| 性欧美大战久久久久久久免费观看 | 欧美激情片在线观看| 国产精品一级二级三级| 亚洲精品一区二区在线| 亚洲国产精品国自产拍av秋霞| 亚洲欧美综合v| 欧美日韩国产精品| 在线精品视频一区二区| 亚洲一区在线看| 亚洲午夜精品在线| 欧美国产先锋| 一区久久精品| 久久成人免费网| 欧美在线观看www| 国产精品久久网| 日韩视频免费| 日韩一级视频免费观看在线| 美女免费视频一区| 国内揄拍国内精品少妇国语| 午夜精品久久久久久久99热浪潮| 亚洲四色影视在线观看| 欧美精品自拍| 亚洲人成亚洲人成在线观看| 亚洲丰满少妇videoshd| 久久精品二区亚洲w码| 国产精品亚洲产品| 亚洲特级片在线| 亚洲视频一区二区| 欧美日韩高清在线播放| 亚洲国产综合在线看不卡| 亚洲国产综合在线| 美女精品国产| 亚洲国产精品成人一区二区| 亚洲电影自拍| 免费av成人在线| 亚洲电影第1页| 亚洲日韩成人| 欧美黄色片免费观看| 亚洲国产精品成人综合| 亚洲日本va午夜在线影院| 欧美成人亚洲| 亚洲精华国产欧美| 日韩亚洲不卡在线| 欧美韩国日本综合| 亚洲精品一品区二品区三品区| 日韩午夜三级在线| 欧美日韩视频| 一区二区激情视频| 午夜精品成人在线| 国产欧美在线视频| 久久国产主播精品| 免费久久99精品国产| 亚洲国产精品高清久久久| 日韩一级黄色大片| 国产精品不卡在线| 亚洲欧美第一页| 久久久亚洲国产天美传媒修理工 | 久久精品亚洲国产奇米99| 国产亚洲欧美激情| 久久精品国产一区二区三区免费看| 久久精品在线播放| 怡红院精品视频在线观看极品| 亚洲人成艺术| 欧美人与禽性xxxxx杂性| 99精品欧美一区| 欧美一区二区三区四区夜夜大片| 国产亚洲成人一区| 亚洲激情不卡| 欧美日韩一级片在线观看| 亚洲免费影视第一页| 久久色在线观看| 亚洲人成网站在线观看播放| 亚洲一区二区三区乱码aⅴ| 国产色产综合产在线视频| 亚洲激情啪啪| 国产精品99一区| 午夜精品成人在线| 可以免费看不卡的av网站| 亚洲欧洲日本在线| 西瓜成人精品人成网站| 韩国女主播一区| av不卡免费看| 国产精品在线看| 亚洲精品国产无天堂网2021| 欧美日韩精品免费观看视频完整 | 国产精品久久久久一区二区三区共| 亚洲欧美国产va在线影院| 久久久久国产精品一区三寸| 亚洲激情影院| 欧美在线视频一区二区| 亚洲国产小视频| 欧美在线播放| 亚洲精品一区二区在线| 久久经典综合| 亚洲免费高清| 久久久91精品国产一区二区精品| 亚洲精品一二| 久久视频一区| 中文一区二区| 欧美大片在线观看一区| 亚洲欧美日韩一区在线| 欧美经典一区二区三区| 午夜精品久久久久影视 | 狠狠狠色丁香婷婷综合激情| 中文一区二区在线观看| 国内精品视频一区| 亚洲自拍另类| 最新日韩精品| 久久精品国产综合精品| 亚洲伦理自拍| 久久永久免费| 亚洲欧美国产精品va在线观看| 欧美黄色aa电影| 久久岛国电影| 国产精品永久在线| 中文在线不卡视频| 亚洲大片在线| 久久久久久999| 亚洲伊人久久综合| 欧美日一区二区在线观看|