www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]1.引言由于FPGA 良好的可編程性和優(yōu)越的性能表現(xiàn),當(dāng)前采用FPGA 芯片的嵌入式系統(tǒng)數(shù)量呈現(xiàn)迅速增加的趨勢(shì),特別是在需要進(jìn)行大規(guī)模運(yùn)算的通信領(lǐng)域。目前FPGA 配置數(shù)據(jù)一般使用基于SRAM 的存儲(chǔ)方式,掉電后數(shù)據(jù)消失,

1.引言

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

2. 系統(tǒng)介紹

2.1 系統(tǒng)工作原理

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

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

2.2 Viretex 系列FPGA 的配置模式

Viretex 系列FPGA 的配置模式是由上電時(shí)其專用配置管腳的狀態(tài)決定的,對(duì)應(yīng)的關(guān)系 如下表所示:

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

2.3 Slave SelectMap 配置模式

Slave SelectMap 配置模式在管腳信號(hào)功能、配置流程、配置數(shù)據(jù)等方面有自己的特點(diǎn), 在進(jìn)行電路板設(shè)計(jì)以及程序編寫時(shí)需要注意。下面對(duì)其主要特點(diǎn)進(jìn)行說(shuō)明。

2.3.1 Slave SelectMap 模式使用的管腳信號(hào):

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

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

2.3.2 Slave SelectMap 模式的配置流程

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

配置過(guò)程的具體流程如圖2 所示。

接收完配置數(shù)據(jù)后,DONE 管腳會(huì)被拉高。但這并不是表示配置過(guò)程已經(jīng)結(jié)束,系統(tǒng)仍 需要時(shí)鐘來(lái)進(jìn)行后續(xù)的上電啟動(dòng)工作。為保證上電配置過(guò)程的正確進(jìn)行,最好的辦法是將配 置文件中的所有數(shù)據(jù)寫入FPGA 中之后,然后繼續(xù)輸出CCLK 信號(hào),直到DONE 管腳被拉 高。之后,再輸出8 個(gè)周期的CCLK,保證配置能正常完成。

根據(jù)上述流程,配置程序的主要函數(shù)的偽碼如下。

1.初始化函數(shù)SelectMAP_Init,在其它函數(shù)之前運(yùn)行。

SelectMAP_Init(){

將ARM 通用IO 設(shè)置為對(duì)應(yīng)的SelectMap 管腳信號(hào);

設(shè)置 PROGRAM#,CS#和WRITE#管腳為低電平;

延時(shí)至少300ns;

設(shè)置 PROGRAM#為高電平;

循環(huán)檢查INIT#是否變?yōu)楦唠娖?

}

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

SendData(uint8 data){

拉低CCLK;

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

拉高 CCLK;

}

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

void SendData_Sector(uint8 * data){

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

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

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

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

}

2.3.3 配置文件的格式

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

2.4 文件在SD 卡中的存儲(chǔ)

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

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

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

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

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

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

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

ReadSD_FAT16(){

讀取物理第0 扇區(qū)內(nèi)容,即MBR,獲取邏輯0 扇區(qū)的位置;

讀取邏輯0 扇區(qū)的內(nèi)容,獲取每扇區(qū)字節(jié)數(shù),每簇扇區(qū)數(shù),F(xiàn)AT 表占據(jù)的扇區(qū)數(shù)等參數(shù);

讀取根文件夾的內(nèi)容,根據(jù)配置文件的文件名獲取其起始簇號(hào)和文件長(zhǎng)度;

將當(dāng)前簇設(shè)置為起始簇;

While(1){

讀取FAT 中對(duì)應(yīng)當(dāng)前簇的內(nèi)容,獲得下一個(gè)簇的簇號(hào);

FAT 表中對(duì)應(yīng)當(dāng)前簇的內(nèi)容為0xFFFF 時(shí),即說(shuō)明當(dāng)前簇是最后一個(gè)簇,計(jì)算該簇內(nèi)的有效數(shù)據(jù),并進(jìn)行發(fā)送;

讀取當(dāng)前簇內(nèi)容,進(jìn)行發(fā)送;

當(dāng)前簇指向下一個(gè)簇;

}

}

3 結(jié)束語(yǔ)

在當(dāng)前FPGA使用領(lǐng)域日趨廣泛的情況下,對(duì)現(xiàn)有的含有FPGA 的嵌入式產(chǎn)品進(jìn)行升級(jí)更新成為了一項(xiàng)比較繁瑣的工作,特別是在產(chǎn)品數(shù)量較多的情況下。本方案提出了采用SD卡存儲(chǔ)配置數(shù)據(jù)的配置方案,使用了目前嵌入式系統(tǒng)中常見(jiàn)的ARM 微處理器和SD 卡,不僅降低了成本,而且利用了現(xiàn)有資源,節(jié)省了電路板布線布局的空間。最重要的是使升級(jí) 過(guò)程更加簡(jiǎn)潔,在進(jìn)行調(diào)試時(shí)也可以靈活使用。本文只給出了對(duì)Virtex FPGA 進(jìn)行配置的情 況,該方案也可以適用于Spartan 系列FPGA。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

傳統(tǒng)數(shù)據(jù)庫(kù)架構(gòu)已無(wú)法應(yīng)對(duì)設(shè)備數(shù)據(jù)的高并發(fā)寫入、低價(jià)值密度與長(zhǎng)周期存儲(chǔ)需求。M2M數(shù)據(jù)湖架構(gòu)通過(guò)分布式存儲(chǔ)、智能索引與彈性查詢引擎的深度整合,構(gòu)建起支撐萬(wàn)億級(jí)設(shè)備數(shù)據(jù)管理的技術(shù)底座。本文從架構(gòu)設(shè)計(jì)、核心技術(shù)、工程實(shí)踐及典型...

關(guān)鍵字: M2M 數(shù)據(jù)存儲(chǔ)

上海2025年8月13日 /美通社/ -- 8月12日,富士膠片(中國(guó))投資有限公司(以下簡(jiǎn)稱"富士膠片(中國(guó))")在北京舉行FUJIFILM LTO Ultrium 10(以下簡(jiǎn)稱"LTO...

關(guān)鍵字: 富士 數(shù)據(jù)流 數(shù)據(jù)存儲(chǔ) AI

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動(dòng)創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來(lái)一場(chǎng)聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會(huì)——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來(lái) 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開(kāi)發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場(chǎng)可編程門陣列(FPGA)憑借其開(kāi)發(fā)時(shí)間短、成本效益高以及靈活的現(xiàn)場(chǎng)重配置與升級(jí)等諸多優(yōu)點(diǎn),被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無(wú)處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開(kāi)售Altera?的Agilex? 3 FPGA C系列開(kāi)發(fā)套件。此開(kāi)...

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進(jìn)入體內(nèi),并對(duì)體內(nèi)器官或結(jié)構(gòu)進(jìn)行直接觀察和對(duì)疾病進(jìn)行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機(jī)械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運(yùn)用單片機(jī)和FPGA芯片作為主控制器件 , 單片機(jī)接收從PC機(jī)上傳過(guò)來(lái)的顯示內(nèi)容和顯示控制命令 , 通過(guò)命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號(hào)和同步的控制信號(hào)— 數(shù)據(jù)、時(shí)鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機(jī) FPGA LED顯示屏

在異構(gòu)計(jì)算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計(jì)算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時(shí)鐘頻率下實(shí)現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

在全球FPGA市場(chǎng)被Xilinx(AMD)與Intel壟斷的格局下,國(guó)產(chǎn)FPGA廠商高云半導(dǎo)體通過(guò)構(gòu)建自主IP核生態(tài)與智能時(shí)序約束引擎,走出差異化高端化路徑。本文深入解析高云半導(dǎo)體FPGA工具鏈的兩大核心技術(shù)——全棧IP...

關(guān)鍵字: FPGA 高云半導(dǎo)體

2025年6月12日,由安路科技主辦的2025 FPGA技術(shù)沙龍?jiān)谀暇┱秸匍_(kāi),深圳市米爾電子有限公司(簡(jiǎn)稱:米爾電子)作為國(guó)產(chǎn)FPGA的代表企業(yè)出席此次活動(dòng)。米爾電子發(fā)表演講,并展出米爾基于安路飛龍派的核心板和解決方案...

關(guān)鍵字: FPGA 核心板 開(kāi)發(fā)板
關(guān)閉