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

?

基于動態(tài)加載的FPGA 在線更新方法

2022-07-23 07:41邵龍
電子設(shè)計工程 2022年14期
關(guān)鍵詞:信號處理總線動態(tài)

邵龍

(中國電子科技集團(tuán)公司第十研究所,四川成都 610036)

綜合化電子系統(tǒng)定義了通用信號處理模塊(SPM)、通用數(shù)據(jù)處理模塊(DPM)等6 類通用功能模塊,每一類模塊都包括模塊支持單元(MSU)、處理單元(PU)、模塊物理接口(MPI)等組成單元[1-6]。通用信號處理模塊的處理單元由典型信號處理器DSP/FPGA 組成,單獨(dú)由FPGA 組成處理單元的信號處理模塊就形成了FPGA 型信號處理模塊。相較于DSP,F(xiàn)PGA 具備硬件并行優(yōu)勢,擁有更高的運(yùn)算能力[7-9],提供更豐富的I/O 資源,因此,F(xiàn)PGA 型信號處理模塊綜合化電子系統(tǒng)的應(yīng)用廣泛。

FPGA 程序更新通常采用FPGA 廠家提供的基于邊界掃描方式對外掛FLASH 芯片進(jìn)行編程[10],但該方法操作繁瑣、效率低[11-12]。采用在線更新的方式,可以解決FPGA 程序維護(hù)更新效率低的問題。目前,F(xiàn)PGA 在線更新有如下兩種常規(guī)方案。常規(guī)方案一:FPGA 功能程序內(nèi)含F(xiàn)PGA 在線更新模塊,通過該模塊實現(xiàn)將FPGA 程序更新到FPGA 外掛存儲器中[13-15]。常規(guī)方案二:FPGA 程序存儲在其他處理器(通用信號處理模塊中一般為DSP)外掛存儲器中,通過DSP 實現(xiàn)FPGA 在線更新[16-18]。

1 現(xiàn)有解決方案的局限性

現(xiàn)有的一些方案中有如下缺點:常規(guī)方案一中,由于FPGA 在線更新模塊內(nèi)置在FPGA 功能程序中,不僅增加功能應(yīng)用與在線更新的耦合、占用寶貴的FPGA 內(nèi)部資源,而且如果更新失敗,還將導(dǎo)致FPGA在線更新功能完全失效,只能通過JTAG 燒寫才能恢復(fù)。常規(guī)方案二中,由于FPGA 程序存儲在DSP 外掛存儲器中,F(xiàn)PGA 的加載就只能采用被動加載模式,加載速度比主動加載慢;另外,在沒有DSP 的FPGA型信號處理模塊中,常規(guī)方案二根本無法實現(xiàn)。

針對現(xiàn)有FPGA 在線更新技術(shù)中存在的不足,基于綜合化電子系統(tǒng)中每個模塊都包括模塊支持單元(MSU),文中提供一種綜合化電子系統(tǒng)中加載速度快、松耦合、不依賴DSP 的基于動態(tài)加載的FPGA在線方法。

2 FPGA在線更新電路

如圖1 所示,在綜合化電子系統(tǒng)中,基于動態(tài)加載的FPGA 在線更新電路包括電連接在綜合化系統(tǒng)與FLASH 芯片之間的MSU 和FPGA,其中,MSU 包含處理器系統(tǒng)PS 和可編程邏輯PL,PL 內(nèi)置PSPLIF 總線讀寫器、FPGA 程序加載控制器和FLASH 塊選擇器。PS 一端通過控制總線接入綜合化系統(tǒng),另一端通過PSPLIF 連接PL 的PSPLIF 總線讀寫器。PL 的FPGA 程序加載控制器通過一根輸出和兩根輸入離散線連接FPGA 的PROG、INIT 和DONE 管腳,PL 的FLASH 塊選擇器通過n根地址控制線連接FLASH 高n位地址管腳。FPGA 一端通過數(shù)據(jù)總線接入綜合化系統(tǒng),另一端通過FPGA 并行加載接口BPI 連接FLASH 的控制接口、數(shù)據(jù)接口和除高n位地址管腳以外的地址接口。

圖1 FPGA在線更新電路框圖

在線更新時,PL 的FLASH 塊選擇器選中FPGA在線更新程序所在的FLASH 塊,通過PL 的FPGA 程序加載控制器動態(tài)加載FPGA 在線更新程序。

FPGA 在線更新程序內(nèi)部電路包括包收發(fā)器、包解析器和包燒寫器,包收發(fā)器通過數(shù)據(jù)總線接入綜合化系統(tǒng)數(shù)據(jù)總線,包燒寫器通過BPI 與FLASH 連接。包收發(fā)器用于如下情況:1)當(dāng)數(shù)據(jù)總線有FPGA程序數(shù)據(jù)包到達(dá)時,包收發(fā)器用于接收數(shù)據(jù)包并將數(shù)據(jù)包輸出到包解析器;2)當(dāng)接收到包解析器輸出的包傳輸結(jié)果時,包收發(fā)器用于將包傳輸結(jié)果輸出到綜合化系統(tǒng)數(shù)據(jù)總線;3)接收到包燒寫器輸出的包燒寫結(jié)果時,包收發(fā)器用于將包燒寫結(jié)果輸出到綜合化系統(tǒng)數(shù)據(jù)總線。包解析器用于當(dāng)包收發(fā)器輸入FPGA 程序更新數(shù)據(jù)包時,檢查包的完整性和確定傳輸結(jié)果的有效性,并輸出傳輸結(jié)果到包收發(fā)器,如果完整有效,提取出待燒寫地址、待燒寫長度和待燒寫數(shù)據(jù),并輸出到包燒寫器。包燒寫器用于當(dāng)包解析器輸入待燒寫地址、待燒寫長度和待燒寫數(shù)據(jù)時,將長度為待燒寫長度的待燒寫數(shù)據(jù)通過BPI 寫入FLASH 的待燒寫地址中,校驗燒寫結(jié)果,并輸出燒寫結(jié)果到包收發(fā)器。

3 FPGA在線更新方法

如圖2 所示,綜合化電子系統(tǒng)中基于動態(tài)加載的FPGA 在線更新方法主要包括動態(tài)加載FPGA 在線更新程序和執(zhí)行FPGA 在線更新程序?qū)崿F(xiàn)FPGA在線更新,細(xì)分為5 個步驟:

圖2 FPGA在線更新方法流程圖

1)FPGA 在線更新電路通過PS 接收控制總線上動態(tài)加載指令,將默認(rèn)塊號(FPGA 在線更新程序所在的塊)寫入PL 的FLASH 塊選擇器中,選擇FPGA在線更新程序所在的FLASH 塊為當(dāng)前有效塊;

2)PS 通過PSPLIF 總線讀寫器控制PL 的FPGA程序加載控制器輸出低電平脈沖到FPGA 的PROG管腳,啟動FPGA 加載流程,加載FPGA 在線更新程序,并通過判斷FPGA 的DONE 信號,確認(rèn)FPGA 在線更新程序加載成功;

3)PS 通過控制總線上報FPGA 在線更新程序加載成功,接收待燒寫FLASH 塊號,通過PSPLIF 總線讀寫器將待燒寫FLASH 塊號寫入PL 的FLASH 塊選擇器,選擇待燒寫FLASH 塊為當(dāng)前有效塊,并通過控制總線上報模塊做好了FPGA 在線更新準(zhǔn)備;

4)FPGA 的包收發(fā)器接收在線更新數(shù)據(jù)包,將包輸出到包解析器,包解析器檢查包的完整性和確定傳輸結(jié)果的有效性,并輸出傳輸結(jié)果到包收發(fā)器,如果完整有效,提取出待燒寫地址、待燒寫長度和待燒寫數(shù)據(jù),并輸出到包燒寫器;

5)包收發(fā)器發(fā)送傳輸結(jié)果,包燒寫器將長度為待燒寫長度的待燒寫數(shù)據(jù)通過BPI 寫入FLASH 的待燒寫地址中,校驗燒寫結(jié)果,輸出燒寫結(jié)果到包收發(fā)器,并發(fā)送燒寫結(jié)果。

其中,步驟1)~3)在MSU 中執(zhí)行,實現(xiàn)FPGA 在線更新程序的動態(tài)加載和待燒寫扇區(qū)的選取;步驟4)、步驟5)屬于FPGA 在線更新程序,在FPGA 中執(zhí)行,實現(xiàn)待更新FPGA 程序的接收和燒寫。

4 工程應(yīng)用及性能對比

基于動態(tài)加載的FPGA 在線更新電路及方法已應(yīng)用在某綜合化系統(tǒng)FPGA 密集型信號處理模塊(SPM-F)的FPGA 在線更新中。

FPGA 密集型信號處理模塊硬件框圖如圖3 所示。MSU 采用TI 公司的C2000 系列處理器C28235作為PS,選用XILINX 公司的Spartan 系列可編程邏輯器件XC3S1400 作為PL。C28235 的一端通過CAN總線接入綜合化系統(tǒng)控制總線,另一端通過外部接口XINTF 連接XC3S1400。FPGA 的一端通過SRIO總線接入綜合化系統(tǒng)數(shù)據(jù)總線,另一端通過BPI 與FLASH 連接。XC3S1400 通過一根輸出離散線與FPGA 的PROG 管腳連接,XC3S1400 通過兩根輸入離散線與FPGA 的INIT 和DONE 管腳連接,XC3S1400通過3 根地址控制線連接FLASH 高3 位地址管腳,3根地址控制線將FLASH 分成塊號為0~7 的8 塊,F(xiàn)PGA 在線更新程序放在塊號為7 的FLASH 塊中。

圖3 FPGA密集型信號處理模塊硬件框圖

系統(tǒng)硬件架構(gòu)框圖如圖4 所示。FPGA 密集型信號處理模塊通過SRIO 分別接入主備SRIO 網(wǎng)絡(luò),通過CAN 分別接入主備CAN 網(wǎng)絡(luò)。I/O 模塊通過CAN 總線發(fā)送動態(tài)加載指令至FPGA 密集型信號處理模塊C2000,C2000 將塊號7 寫入XC3S1400 的FLASH 塊選擇器中,選擇FPGA 在線更新程序所在的FLASH 塊為當(dāng)前有效塊;C2000 通過XINTF 控制XC3S1400 的FPGA 程序加載控制器,加載FPGA 在線更新程序,并通過判斷FPGA 的DONE 信號,確認(rèn)FPGA在線更新程序加載成功。C2000通過CAN總線向I/O 模塊上報FPGA 在線更新程序加載成功,并接收I/O 模塊通過CAN 總線下發(fā)的待燒寫FLASH 塊號,通過XINTF 將待燒寫FLASH 塊號寫入XC3S1400的FLASH 塊選擇器中,選擇待燒寫FLASH 塊為當(dāng)前有效塊,并通過CAN 總線向I/O 模塊上報:模塊做好了FPGA 在線更新準(zhǔn)備。

圖4 系統(tǒng)硬件架構(gòu)框圖

FPGA 在線更新程序的FPGA 的包收發(fā)器通過SRIO 接收I/O 模塊發(fā)送的在線更新數(shù)據(jù)包,并將包輸出到包解析器,包解析器檢查包的完整性和確定傳輸結(jié)果的有效性,并輸出傳輸結(jié)果到包收發(fā)器,如果完整有效,提取出待燒寫地址、待燒寫長度和待燒寫數(shù)據(jù),并輸出到包燒寫器;包收發(fā)器通過SRIO 向I/O模塊發(fā)送傳輸結(jié)果,包燒寫器將長度為待燒寫長度的待燒寫數(shù)據(jù)通過BPI 寫入FLASH 的待燒寫地址中,校驗燒寫結(jié)果,輸出燒寫結(jié)果到包收發(fā)器,包收發(fā)器通過SRIO 向I/O 模塊發(fā)送燒寫結(jié)果。

基于動態(tài)加載的FPGA 在線更新方法與常規(guī)方案一和常規(guī)方案二的性能對比如表1 所示。相對于常規(guī)方案一,基于動態(tài)加載的FPGA 在線更新方法具有功能應(yīng)用與在線更新解耦、不占用功能應(yīng)用的FPGA 處理資源、更新失敗時不需要采用JTAG 下載等優(yōu)勢。相對于常規(guī)方案二,基于動態(tài)加載的FPGA在線更新方法具有加載速度快,不需要額外處理器的優(yōu)勢。

表1 性能對比

5 結(jié)論

文中提出了一種基于動態(tài)加載的FPGA 在線更新方法,不僅通過避免需要增加DSP 才能實現(xiàn)FPGA在線更新,降低了成本和系統(tǒng)復(fù)雜度,而且通過避免在線更新模塊內(nèi)置于FPGA 功能應(yīng)用程序中,減少了系統(tǒng)耦合和處理資源的占用。多個大型綜合化系統(tǒng)的應(yīng)用實踐表明,該方法是一種在綜合化電子系統(tǒng)中實現(xiàn)FPGA 在線更新的有效方法。

猜你喜歡
信號處理總線動態(tài)
國內(nèi)動態(tài)
國內(nèi)動態(tài)
包裝過程稱量信號處理方法研究
國內(nèi)動態(tài)
關(guān)于CAN總線的地鐵屏蔽門控制思路論述
動態(tài)
Q&A熱線
PCI9030及其PCI總線接口電路設(shè)計
大冶市| 内江市| 苏尼特左旗| 宽甸| 秦安县| 拜泉县| 灌云县| 达拉特旗| 霍城县| 吉首市| 博湖县| 芦溪县| 金堂县| 顺义区| 辽阳市| 广宗县| 大埔区| 治多县| 集贤县| 松江区| 苏尼特左旗| 枝江市| 湖南省| 蒙城县| 阿拉善盟| 离岛区| 洞口县| 桦甸市| 广平县| 县级市| 南溪县| 鄂伦春自治旗| 五家渠市| 遂宁市| 福清市| 兴海县| 龙口市| 建宁县| 中阳县| 邯郸市| 吉木乃县|