當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]1 概述現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)器件具有高密度、低功耗、高速、高可靠性等優(yōu)點(diǎn),在航空航天、通信、工業(yè)控制等方面得到了大量應(yīng)用。FPGA的處理器分為軟核和硬核,并且軟核處理器具有

1 概述

現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)器件具有高密度、低功耗、高速、高可靠性等優(yōu)點(diǎn),在航空航天、通信、工業(yè)控制等方面得到了大量應(yīng)用。FPGA的處理器分為軟核和硬核,并且軟核處理器具有高度的靈活性和可配置性。

由于FPGA器件采用的是SRAM工藝,在斷電的情況下FPGA內(nèi)的配置數(shù)據(jù)將丟失,所以需要非易失的存儲(chǔ)器來結(jié)合FPGA完成嵌入式系統(tǒng)的設(shè)計(jì)。EPCS(Erasable Programmable Configurable Serial)Flash屬于串行接口Flash,具有接口簡單、體積小、配置方便的特點(diǎn),通常用來存儲(chǔ)FPGA的配置文件和Nios II的軟件可執(zhí)行代碼。在經(jīng)過合理的配置后,系統(tǒng)在上電后就可以從EPCS Flash中讀取這些文件來啟動(dòng)整個(gè)系統(tǒng)。

為了能使系統(tǒng)得到更靈活的應(yīng)用,充分發(fā)揮FPGA的靈活性、高效性,F(xiàn)PGA的軟硬件程序都需要方便的更新和升級功能;而當(dāng)形成產(chǎn)品后,通過JTAG和Nios II IDE工具來聯(lián)合完成對EPCS Flash的更新燒寫很不方便。為此,本文結(jié)合Altera公司提供的工具,提出了一種遠(yuǎn)程在線更新FPGA配置文件和Nios II程序文件的方法。

2 系統(tǒng)硬件結(jié)構(gòu)

系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

 

 

圖1 系統(tǒng)硬件結(jié)構(gòu)圖

系統(tǒng)主要有上位機(jī)系統(tǒng)、FPGA系統(tǒng)、EPCS Flash三個(gè)主體部分。上位機(jī)系統(tǒng)提供人機(jī)交互的部分,F(xiàn)PGA系統(tǒng)包括Nios II處理器、EPCS控制器、網(wǎng)絡(luò)及串行接口和其他外部接口,EPCS Flash主要用于存儲(chǔ)FPGA的配置文件和Nios程序映像文件。上位機(jī)系統(tǒng)通過FPGA集成的網(wǎng)絡(luò)及串行接口來完成通信工作。

FPGA采用Altera公司的Cyclone III系統(tǒng)的EP3C40F484I7N芯片。它具有低功耗、高集成度、易于使用的特性。EPCS Flash采用Altera公司的EPCS16SI16N芯片,它支持多種可配置的時(shí)鐘源,最高支持100 MHz的外部時(shí)鐘源,具有16 Mb的存儲(chǔ)空間,足夠滿足一般的FPGA配置文件和Nios程序文件的存儲(chǔ)需要。

3 更新程序處理流程

更新FPGA的配置文件和Nios II的應(yīng)用程序的流程如圖2所示。

 

 

圖2 更新程序處理流程

本方法把由Nios II IDE生成的FPGA配置文件和Nios II程序文件合并,并編程為一個(gè)可以直接執(zhí)行的、包含F(xiàn)PGA配置文件和Nios II程序文件的二進(jìn)制BIN文件。然后把該文件通過Xmodem協(xié)議由上位機(jī)系統(tǒng)傳輸給Nios II的應(yīng)用程序。Nios II的應(yīng)用程序接收到完整的BIN文件后,把該BIN文件寫入到EPCS Flash中。最后,Nios II的應(yīng)用程序停止看門狗,程序重新啟動(dòng),即完成了FPGA的遠(yuǎn)程在線更新程序的過程。

4 合并程序文件

Nios II的啟動(dòng)要經(jīng)歷兩個(gè)過程:

① FPGA器件本身的配置過程。如果內(nèi)部邏輯中使用了Nios II,則配置完成的FPGA中包含有Nios II軟核CPU。

② Nios II本身的應(yīng)用過程。一旦FPGA配置成功后,Nios II就被邏輯中的復(fù)位電路復(fù)位,從reset地址開始執(zhí)行代碼。

Nios II IDE將FPGA的配置文件(.sof文件)和應(yīng)用程序(.elf文件)轉(zhuǎn)成flash格式文件,轉(zhuǎn)換后的flash格式文件是一種SRecord格式數(shù)據(jù),包含如下區(qū)域:

[6]。各字段的意思分別如下:表示記錄的類型;表示數(shù)據(jù)的長度;

表示數(shù)據(jù)寫入的起始地址,該字段的長度取決于的取值;表示存儲(chǔ)的數(shù)據(jù);表示校驗(yàn)位。

配置文件和應(yīng)用程序可能有多個(gè)段,每個(gè)段前面都插有一個(gè)“程序記錄”。一個(gè)“程序記錄”由2個(gè)32位的數(shù)據(jù)構(gòu)成,一個(gè)是32位的整數(shù),另一個(gè)是32位的地址,分別表示程序段本身的長度和程序段的運(yùn)行時(shí)地址。其存儲(chǔ)布局如圖3所示。

 

 

圖3 Flash文件存儲(chǔ)布局

為了在更新程序時(shí)把FPGA配置文件和Nios II應(yīng)用程序一起更新,把FPGA配置文件和Nios II應(yīng)用程序合并成一個(gè)文件,并且把合并后的Flash格式的文件轉(zhuǎn)換成不需要地址解碼就能直接執(zhí)行的二進(jìn)制BIN文件。具體處理流程如圖4所示。

 

 

圖4 合并程序文件流程

在合并程序的過程中,去掉了flash文件中的長度、目的地址等用于解析程序的信息,并且把程序映像由字符格式轉(zhuǎn)換為二進(jìn)制格式。合并后的BIN文件包含F(xiàn)PGA配置文件和Nios II應(yīng)用程序,并且Nios II應(yīng)用程序緊挨在FPGA配置文件的后面,其存儲(chǔ)布局如圖5所示。

程序文件第n個(gè)程序段映像

Len1~Len1+L2程序文件第1個(gè)程序段映像

配置文件第n個(gè)程序段映像

0~L1配置文件第1個(gè)程序段映像

 

 

圖5 BIN文件存儲(chǔ)布局

5 Nios II更新程序模塊處理

Nios II程序中的更新程序模塊主要負(fù)責(zé)從上位機(jī)接收合并后的可執(zhí)行BIN文件,并把該BIN文件寫入EPCS Flash,處理流程如圖6所示。

5.1 程序文件的傳輸

Nios II應(yīng)用程序中的更新程序模塊和上位機(jī)系統(tǒng)采用Xmodem協(xié)議傳輸程序文件,Xmodem協(xié)議是一種網(wǎng)口和串口通信中廣泛用到的異步傳輸協(xié)議。

如果在程序傳輸過程中出現(xiàn)錯(cuò)誤,更新程序模塊能夠通過設(shè)置超時(shí)來退出更新程序的狀態(tài)。

5.2 對EPCS Flash的讀寫

由于EPCS Flash的串行配置器件定義了特殊的讀寫協(xié)議,所以Nios II程序只能通過Altera提供的HAL API(Application Program Interface,應(yīng)用程序接口)來完成讀寫Flash。打開、關(guān)閉Flash設(shè)備的API為:alt_flash_open_dev()和alt_flash_close_dev()。操作Flash讀寫的API為:alt_read_flash()和alt_write_flash_block()。清除Flash的API為alt_erase_falsh_block()。

結(jié)語

本文以提高FPGA遠(yuǎn)程更新程序的方便性為目標(biāo),提出了一種基于EPCS Flash的遠(yuǎn)程在線更新FPGA程序的方法,從而在應(yīng)用中能夠使基于FPGA的產(chǎn)品更加方便地維護(hù)升級。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉