国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種以太網在線更新FPGA目標程序的方法

2016-11-09 06:35:26沈瀟波顏科峰陳子龍
聲學與電子工程 2016年2期
關鍵詞:存儲空間水聲偏置

沈瀟波 顏科峰 陳子龍

(第七一五研究所,杭州,310023)

一種以太網在線更新FPGA目標程序的方法

沈瀟波 顏科峰 陳子龍

(第七一五研究所,杭州,310023)

為了解決現有水聲通信系統(tǒng)中FPGA目標程序不能在線更新的問題,提供一種在線更新目標程序的方法及系統(tǒng)。待更新的目標程序經由以太網傳輸鏈路發(fā)送至包含FPGA的傳輸節(jié)點,FPGA通過SPI協議,將目標程序寫入flash;重新上電后,FPGA從flash中讀取新的目標程序,完成目標程序在線更新。該方法支持單個節(jié)點的更新及多個節(jié)點批量更新,具有良好的工程應用價值。

水聲通信系統(tǒng);FPGA;目標程序;SPI協議;在線更新

通常情況下,FPGA必須在上電階段,從外部存儲器讀取目標程序,加載配置后才能運行。對于目標程序的在線更新,意味著在FPGA正常運行期間,通過FPGA自身或者其他控制器去主動修改外部存儲器的內容;待下次重新上電后,FPGA才能加載配置更新后的目標程序。本文從實際工程應用出發(fā),給出了一種以太網作為傳輸鏈路,通過上位機在線更新目標程序的方法和系統(tǒng)。

1 問題描述

在水聲通信系統(tǒng)中,傳輸節(jié)點示意如圖1所示,傳輸鏈路無法實現對FPGA目標程序在線更新。本文描述的水聲通信系統(tǒng)由以太網作為傳輸鏈路連接各個節(jié)點,每個節(jié)點均具備中繼轉發(fā)功能;工作狀態(tài)下,“節(jié)點1”的水聲信號經由N-1級節(jié)點轉發(fā)至上位機;其余N-1個節(jié)點的水聲信號以此類推,最終,所有水聲信號由節(jié)點N傳至上位機。

圖1 傳輸節(jié)點示意圖

以Xilinx Spartan-3E系列FPGA為例進行描述。通常情況,FPGA上電主動從Xilinx PROM中讀取目標程序,加載配置后運行。當需要更新Xilinx PROM目標程序時,將節(jié)點結構件拆除,通過專用JTAG接口在Xilinx ISE環(huán)境下完成對目標程序的更新,工作流程煩瑣,且無法實現節(jié)點1至節(jié)點N批量更新。根據文獻[1]所述,Xilinx Spartan-3E 系列FPGA支持第三方廠家生產的SPI(Serial Peripheral Interface)flash存儲目標程序,替換Xilinx PROM功能。通過以太網傳輸鏈路將目標程序通過SPI協議反向從FPGA寫入flash,待重新上電后,FPGA從flash中讀取新的目標程序,實現在線更新的目標,流程如圖2。

圖2 以太網更新程序操作步驟

2 SPI協議

當使用SPI協議配置Xilinx FPGA,FPGA作為主設備,SPI flash作為從設備,如圖3所示。FPGA通過SCK時鐘控制時序,當選通信號SS有效時,數據MOSI隨時鐘節(jié)拍從FPGA至flash;同一時鐘周期,數據MISO從flash至FPGA。

圖3 SPI配置框圖

FPGA上電后,主動從flash讀取目標程序,加載配置后運行。當需要更新目標程序時,FPGA通過傳輸鏈路接收目標程序,以SPI協議對flash進行擦除、讀寫操作,實現對flash內容的更新。

3 MCS格式解析

支持第三方SPI flash的Xilinx FPGA目標程序為MCS格式。一個MCS目標文件由多段記錄組成,每段記錄包含三部分:“9字符前綴”、“內容”及“校驗和”;其中“9字符前綴”為:1個字符“起始”(:)用于表征該段記錄的開始;2個字符“字節(jié)數”用于表征該段記錄的“內容”所包含的字節(jié)數;4字節(jié)“地址”;2字節(jié)“記錄類型”[2,3]。

Xilinx FPGA目標程序主要使用3類“記錄類型”,格式如圖4:Data Record,表示向flash寫入目標程序;End of File Record,表示目標程序結束;Extended Linear Address Record,設置偏置地址值。

圖4 記錄類型

一個MCS目標程序先由“04- Extended Linear Address Record”設置flash存儲空間的偏置地址;隨后是若干段“00-Data Record”將每段的“內容”寫入指定地址的flash存儲空間;接著由“04-Extended Linear Address Record”設置新的存儲空間的偏置地址;若干段“00-Data Record”寫入新偏置地址的flash存儲空間;最后,由“01-End of File Record”表示整個目標程序結束。

4 流程控制

當需要在線更新目標程序時,首先上位機通過以太網發(fā)送“擦除”指令給FPGA,FPGA收到指令對flash進行擦除操作,擦除完成后反饋確認信息給上位機;上位機收到確認信息后,將待更新的目標程序以段為單位發(fā)送至FPGA,FPGA解析后對flash進行“寫入”操作,直至目標程序結束;待FPGA完成所有“寫入”操作,進行校驗操作,讀取“寫入”的內容,以段為單位回傳至上位機,上位機將收到的內容與發(fā)送的目標程序進行比對,校驗正確表明flash目標程序更新成功。更新目標流程如圖5所示。

圖5 更新目標程序流程圖

5 結論

本文所述的以太網在線更新目標程序的方法解決了水聲通信系統(tǒng)中節(jié)點FPGA目標程序無法在線升級的問題。針對結構封閉,不易拆裝的場合,在線升級目標程序操作簡便實用,提高了代碼更新的效率,使得批量生產和維護變得容易,具備良好工程應用價值。該方法已經應用于具體設備中。設計的在線更新方法,需要確保代碼更新期間設備保持供電,一旦操作過程掉電,將導致新的目標程序“寫入”失敗,同時舊的程序已被“擦除”,必須重新通過JTAG下載程序。今后可以考慮外掛兩片flash,切換操作,保證掉電情況下,至少有目標程序可以加載,直至更新成功。

[1] Stephanie Tapp. Configuring Xilinx FPGAs with SPI Serial Flash[Z]. 2010.

[2] Xilinx.PROMGen - Description of PROM/EEPROM file formats: MCS[Z]. 2012.

[3] Xilinx. Spartan-3 Generation Configuration User Guide[Z]. 2009.

猜你喜歡
存儲空間水聲偏置
基于40%正面偏置碰撞的某車型仿真及結構優(yōu)化
基于雙向線性插值的車道輔助系統(tǒng)障礙避讓研究
中國信息化(2022年5期)2022-06-13 11:12:49
基于多種群協同進化算法的數據并行聚類算法
蘋果訂閱捆綁服務Apple One正式上線
綜藝報(2020年21期)2020-11-30 08:36:49
用好Windows 10保留的存儲空間
認知水聲通信系統(tǒng)中OFDM技術的應用
電子制作(2017年22期)2017-02-02 07:10:34
新型多功能水聲應答器電子系統(tǒng)設計
電子制作(2017年19期)2017-02-02 07:08:28
一級旋流偏置對雙旋流杯下游流場的影響
FRFT在水聲信道時延頻移聯合估計中的應用
基于壓縮感知的水聲數據壓縮與重構技術
聲學技術(2014年1期)2014-06-21 06:56:22
手游| 库伦旗| 镇平县| 广饶县| 宁津县| 哈尔滨市| 嘉荫县| 盐源县| 七台河市| 宁陵县| 嘉义市| 密山市| 济南市| 湟源县| 宜兰市| 东乡| 准格尔旗| 莱芜市| 通江县| 保山市| 平武县| 高州市| 平江县| 星子县| 晋中市| 昭觉县| 景德镇市| 云霄县| 永胜县| 丰县| 龙陵县| 泰兴市| 新津县| 明星| 永春县| 林周县| 扎鲁特旗| 新密市| 莱阳市| 黑龙江省| 余姚市|