亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種sram型fpga的配置、刷新與程序上注一體化系統(tǒng)的制作方法

文檔序號:6640880閱讀:843來源:國知局
一種sram型fpga的配置、刷新與程序上注一體化系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種SRAM型FPGA的配置、刷新與程序上注一體化系統(tǒng),屬于航天【技術領域】,目的是克服在空間輻照環(huán)境下SRAM型FPGA的SEU(Single Event Upset,單粒子翻轉)問題,具備對長時間在軌工作的SRAM型FPGA進行程序升級的能力。本發(fā)明包括現(xiàn)場可編程邏輯門陣列SRAM型FPGA、綜合管理反熔絲FPGA、配置程序存儲芯片PROM、在軌升級程序存放芯片EEPORM、RS422接口芯片。本發(fā)明可以有效克服長時間在軌工作的SRAM型FPGA的單粒子翻轉問題,可以在不中斷系統(tǒng)工作的情況下,糾正SRAM FPGA內部的單粒子翻轉以及單粒子累積,同時具備對SRAM FPGA在軌程序升級的功能。具備實時性、可靠性、靈活性、通用性以及低成本的特點。
【專利說明】一種SRAM型FPGA的配置、刷新與程序上注一體化系統(tǒng)

【技術領域】
[0001]本發(fā)明屬于電子設備可靠性設計技術和宇航應用【技術領域】,更具體地,涉及一種靜態(tài)隨機存儲器(Static Random Access Memory, SRAM)型現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)的配置、刷新與程序上注一體化的電路與方法。

【背景技術】
[0002]SRAM型FPGA因其高密度以及高性能,已經(jīng)成為目前市場上應用最廣泛的FPGA之一,由于其可重復編程以及可重復配置的特性,近些年來在航天領域開始體現(xiàn)其應用價值,并獲得越來越廣泛的應用。由于SRAM型FPGA是敏感器件,在軌使用時處于空間輻照環(huán)境,空間高能粒子會對器件產(chǎn)生一系列影響,包括總劑量效應(Total 1nizing DoseEffects, TID)和單粒子效應(Single Event Effects, SEE)等,而SEE中的單粒子翻轉(Single Event Upset, SEU)對SRAM型器件的影響尤為明顯,會造成器件內部電路異常而無法正常工作,所以必須考慮單粒子翻轉問題,相應的技術研宄也越來越多。
[0003]現(xiàn)有技術中已有一些相關的方法,以下對一些已經(jīng)發(fā)表的專利進行分析:
[0004](I) 一種SRAM型FPGA SEU運行中修復的方法
[0005]此專利采用定時動態(tài)刷新(洗滌)的方式,從可編程只讀存儲器(ProgrammableRead-Only Memory, PROM)中提取刷新文件寫入FPGA中,使用反熔絲FPGA控制SRAM型FPGAVirtex5刷新。在上電之后,對Virtex5進行全局配置,配置成功后定時刷新Virtex5。
[0006]但是此專利存在以下不足:
[0007](a)不能用指令控制重配,重配置需要硬復位或者斷電重啟;
[0008](b)不能用指令開關刷新使能,上電配置成功即開始刷新;
[0009](c)不能根據(jù)星上環(huán)境靈活調整動態(tài)刷新周期;
[0010](d)不具備在軌升級能力。
[0011](2) 一種基于SRAM型FPGA配置、刷新一體化裝置
[0012]此專利使用Actel公司的RT1020F芯片控制刷新Xilinx公司的XQR2V3000芯片。此專利將配置與刷新結合,事先將刷新的文件生成好固化在PROM中,配置與刷新文件分區(qū)存儲,使用相同的配置接口時序,由RT1020F芯片控制片選數(shù)據(jù)來確定是重配置還是刷新。
[0013]但是此專利存在以下不足:
[0014](a)配置與刷新文件分區(qū)存放,對存儲空間要求較大,不具靈活性;
[0015](b)無程序上注電路,不具備在軌升級能力。
[0016]還有一種用于FPGA的抗單粒子翻轉加固系統(tǒng)及其方法、一種抗SRAMFPGA器件SEU的電路及方法等相關專利都存在類似的不足。


【發(fā)明內容】

[0017]鑒于現(xiàn)有技術的以上缺陷,本發(fā)明提供了一種SRAM型FPGA配置、刷新與程序上注一體化系統(tǒng),其目的在于實現(xiàn)SRAM型FPGA上電全局配置、緩解空間輻照環(huán)境中運行的SRAM型FPGA內部SEU影響和功能在軌升級,具備外存儲器空間需求小,靈活性好,實時性高的特點。
[0018]為了實現(xiàn)上述目的,本發(fā)明提供了一種SRAM型FPGA的配置、刷新與程序上注一體化系統(tǒng),所述系統(tǒng)包括:SRAM型FPGA(1-1)、綜合管理FPGA(1_2)、配置程序存儲芯片PROM(l_3)、在軌升級程序存放芯片電可擦除只讀存儲器(Electrically ErasableRead-Only Memory, EEPROM) (1-4)、遙測遙控接口(1-5),其中:
[0019]所述配置程序存儲芯片PROM (1-3)用于存放SRAM型FPGA (1_1)的配置程序,所述配置程序在衛(wèi)星發(fā)射前固化好,上電之后默認從所述配置程序存儲芯片PR0M(l-3)中讀取配置程序配置所述SRAM型FPGA(1-1);
[0020]所述在軌升級程序存放芯片EEPR0M(1_4),用于衛(wèi)星在軌運行時,存放在軌更新的程序;所述在軌更新的程序,是由綜合管理FPGA(l-2)接收地面上注的程序包并加入漢明校驗碼之后,寫入所述在軌升級程序存放芯片EEPR0M(l-4)的;所述在軌升級程序存放芯片EEPR0M(l-4)包括兩片EEPR0M,兩片EEPROM采用深度擴展的連接方式,數(shù)據(jù)線與地址線共用,通過片選信號CE來選通;
[0021]所述SRAM型FPGA(1-1)的配置方式選用從并模式(Slave Select MAP),其配置口直接與綜合管理FPGA (1-2)相連,由綜合管理FPGA (1-2)控制所述SRAM型FPGA (1_1)的配置加載以及動態(tài)刷新;
[0022]所述遙測遙控接口(1-5),采用RS422電平標準,包括RS422差分信號接收器和RS422差分信號驅動器,所述遙測遙控接口(1-5)用于接收外部發(fā)送過來的遙控指令,同時下傳系統(tǒng)當前的遙測狀態(tài)信息;
[0023]所述綜合管理FPGA (1-2),用于實現(xiàn)以下功能:
[0024](a)接收并響應地面遙控指令,返回系統(tǒng)遙測狀態(tài)信息;
[0025](b)接收地面上傳的SRAM型FPGA(1-1)程序數(shù)據(jù)包,解析包格式并加入校驗碼之后寫入所述在軌升級程序存放芯片EEPORM(1-4)中;
[0026](c)從所述配置存儲芯片PR0M(1_3)讀數(shù)據(jù)配置加載和動態(tài)刷新SRAM型FPGA(1-1);
[0027](d)從所述在軌升級程序存放芯片EERP0M(1_4)中讀數(shù)據(jù)配置加載和動態(tài)刷新所述 SRAM 型 FPGA(1-1);
[0028](e)對在軌升級程序存放芯片EEPROM(1-4)的校驗回寫。
[0029]本發(fā)明的一個實施例中,所述綜合管理FPGA(1_2)包括如下子模塊:通用異步串口模塊(2-1)、遙測遙控模塊(2-2)、上傳數(shù)據(jù)接收模塊(2-3)、寫EEPROM模塊(2_4)、讀EEPROM模塊(2-5)、EEPROM糾錯模塊(2-6)、讀PROM模塊(2-7)、數(shù)據(jù)分配模塊(2-8)、加載控制模塊(2-9)、刷新控制模塊(2-10)和數(shù)據(jù)選擇模塊(2-11),其中:
[0030]所述通用異步串口模塊(2-1),采用標準UART協(xié)議,用于實現(xiàn)串行數(shù)據(jù)收發(fā);
[0031]所述遙測遙控模塊(2-2),用于接收并解析遙控指令包生成的相應的控制信號,送至對應的模塊;對于上注程序數(shù)據(jù)包,解析包格式將數(shù)據(jù)送至上傳數(shù)據(jù)接收模塊(2-3);遙測遙控模塊(2-2)還用于收集系統(tǒng)的所有遙測量信息,組合在一起輸出至地面控制臺;
[0032]所述上傳數(shù)據(jù)接收模塊(2-3),用于將上注程序包中的數(shù)據(jù)解析,加入漢明校驗碼,同時對每包數(shù)據(jù)計算一個和校驗,并根據(jù)上注程序數(shù)據(jù)包序號映射計算在軌升級程序存放芯片EEPROM(1-4)的頁地址,將數(shù)據(jù)與頁地址信號一起送至EEPROM寫模塊(2_4);
[0033]所述寫EEPROM模塊(2_4),用于接收緩存的上注程序包數(shù)據(jù)或者EEPROM糾錯模塊(2-6)送入的校驗糾錯之后的數(shù)據(jù),加入漢明編碼之后寫入在軌升級程序存放芯片EEPROM(1-4);
[0034]所述讀EEPROM模塊(2_5),用于實現(xiàn)對在軌升級程序存放芯片EEPROM (1_4)的讀數(shù)據(jù)操作,當收到從EEPROM重新配置SRAM型(1_1) FPGA的指令或者從EEPROM中動態(tài)刷新SRAM型FPGA(1-1)時,從在軌升級程序存放芯片EEPROM(1_4)中讀配置數(shù)據(jù);
[0035]所述EEPROM糾錯模塊(2_6),用于響應遙測遙控模塊(2_2)生成的EEPROM糾錯使能信號,控制寫EEPROM模塊(2-4)和讀EEPROM模塊(2_5),對寫EEPROM模塊(2_4)和讀EEPROM模塊(2-5)按頁進行校驗;
[0036]所述讀PROM模塊(2-7),用于實現(xiàn)對配置程序存儲芯片PR0M(1_3)的讀數(shù)據(jù)操作,當系統(tǒng)上電、收到從配置程序存儲芯片PROM (1-3)重新配置SRAM型FPGA (1-1)的指令或者從配置程序存儲芯片PROM(1-3)中動態(tài)刷新SRAM型FPGA(1-1)時,從配置程序存儲芯片PROM(1-3)中讀配置數(shù)據(jù);
[0037]所述數(shù)據(jù)分配模塊(2-8),用于實現(xiàn)對配置以及刷新數(shù)據(jù)源的選取,選擇信號由遙測遙控模塊(2-2)送入,控制選擇使用配置程序存儲芯片PROM(1-3)或者在軌升級程序存放芯片EEPROM(1-4)數(shù)據(jù)對SRAM型FPGA(1-1)進行配置;
[0038]所述加載控制模塊(2-9),用于實現(xiàn)對SRAM型FPGA(1-1)的上電配置加載和指令配置加載,配置數(shù)據(jù)源由數(shù)據(jù)分配模塊(2-8)送入;
[0039]所述刷新控制模塊(2-10),用于實現(xiàn)在不影響系統(tǒng)正常工作的情況下,對SRAM型FPGA(1-1)的配置存儲單元進行刷新;使SRAM型FPGA (1-1)中發(fā)生SEU的配置存儲單元的存儲值得以糾正,從而恢復SRAM型FPGA(1-1)原有的功能;
[0040]所述數(shù)據(jù)選擇模塊(2-11),用于選擇SRAM型FPGA(1-1)的配置SelectMAP接口通路,選擇是由加載控制模塊(2-9)接管還是刷新控制模塊接管;當系統(tǒng)剛上電、SRAM型FPGA(1-1)配置加載不成功或者外部送入SRAM型FPGA(1-1)重加載指令時,由加載控制模塊(2-9)接管SRAM型FPGA(1-1)配置SelectMAP接口;當SRAM型FPGA(1-1)配置加載成功且外部送入刷新使能開指令后,由刷新控制模塊(2-10)接管SRAM型FPGA(1-1)的配置SelectMAP 接口。
[0041]本發(fā)明的一個實施例中,所述刷新控制模塊(2-10)包括刷新文件生成模塊(4-1)、刷新文件命令字ROM(4-2)、以及FPGA刷新端口控制模塊(4_3),其中:
[0042]所述刷新文件生成模塊(4-1),用于實現(xiàn)在輸入的配置數(shù)據(jù)流中提取刷新文件,刷新文件生成模塊(4-1)在收到的配置數(shù)據(jù)流中找配置同步字段,然后開始從刷新文件命令字ROM(4-2)中讀取刷新文件命令頭,生成刷新文件,送至FPGA刷新端口控制模塊(4_3)輸出給FPGA ;
[0043]所述刷新文件命令字ROM (4-2),其內部包含兩部分存儲區(qū)域,第一個區(qū)域內容為刷新起始和結束命令,由輸入cmd_addr進行尋址;第二個區(qū)域內容為起始地址、配置數(shù)據(jù)量以及CRC校驗值,由輸入adrnumcrc_addr進行尋址;
[0044]所述FPGA刷新端口模塊(4-3),用于控制SRAM型FPGA (1_1)的配置SelectMAP口,接收到刷新文件生成模塊(4-1)輸出的帶有效信號的刷新數(shù)據(jù)流送至SelectMAP 口的數(shù)據(jù)線,同時將數(shù)據(jù)有效信號反向之后送至CS_B引腳,刷新期間,PROG信號一直為高,F(xiàn)PGA刷新端口控制模塊(4-3)不控PROG信號。
[0045]本發(fā)明的一個實施例中,所述EEPROM糾錯模塊(2_6)對在軌升級程序存放芯片EEPROM(1-4)按頁進行校驗,具體檢驗過程如下:
[0046](3-1)判斷EEPROM EDAC使能是否打開,如果使能打開,進入下一步(3_2),開始EEPROM數(shù)據(jù)糾正過程;否則,繼續(xù)循環(huán)判斷EDAC使能;
[0047](3-2)糾錯模塊每次從在軌升級程序存放芯片EEPR0M(1_4)中讀取一頁數(shù)據(jù),數(shù)據(jù)讀取過程中同時進行判斷(3-3);
[0048](3-3)從在軌升級程序存放芯片EEPR0M(1_4)讀取數(shù)據(jù)過程中,利用漢明碼校驗判斷是否需要糾錯,如果不需要糾錯,則進入(3-4),否則進入(3-9);
[0049](3-4)如果漢明校驗沒有錯誤,繼續(xù)進行和校驗,根據(jù)讀出數(shù)據(jù)計算一個校驗和,然后進行和校驗判斷(3-5);
[0050](3-5)將(3-4)中計算的校驗和與讀出數(shù)據(jù)中的校驗和字段進行對比,相同則和校驗通過,進入(3-6);不相同表示則和校驗不通過,轉入(3-16);
[0051](3-6)清空讀出數(shù)據(jù)緩存,進入(3-7);
[0052](3-7)判斷EEPROM校驗是否完成,如果在軌升級程序存放芯片EEPR0M(1_4)內部數(shù)據(jù)都已經(jīng)經(jīng)過校驗,則校驗完成,進入(3-18),否則繼續(xù)進行校驗,進入(3-8);
[0053](3-8)在軌升級程序存放芯片EEPROM (1-4)數(shù)據(jù)頁地址加1,轉(3_2),循環(huán)進入下一頁校驗;
[0054](3-9)在(3-3)中判斷需要糾錯后,如果錯誤是可以糾正的,則進入(3_10)進行糾錯,否則,轉入(3-16);
[0055](3-10)通過漢明碼進行糾錯,將數(shù)據(jù)中的錯誤比特糾正后,進入(3-11);
[0056](3-11)根據(jù)漢明碼糾錯以后的數(shù)據(jù)計算一個校驗和,然后進行和校驗判斷(3-12);
[0057](3-12)將(3-11)中計算的校驗和與糾錯以后數(shù)據(jù)中的校驗和字段進行對比,相同則和校驗通過,進入(3-13);不相同表示則和校驗不通過,轉入(3-16);
[0058](3-13)將糾錯以后的數(shù)據(jù)寫入數(shù)據(jù)緩存中,等待讀出,在(3-14)中讀出數(shù)據(jù)緩存中的數(shù)據(jù);
[0059](3-14)讀出數(shù)據(jù)緩存中的數(shù)據(jù),讀出同時進行(3-15)的操作;
[0060](3-15)用頁寫模式把緩存中讀出的數(shù)據(jù)寫入到在軌升級程序存放芯片EEPROM(1-4)對應地址中,寫入完成后進入(3-6);
[0061](3-16)如果一次漢明編碼中出現(xiàn)了兩位及兩位以上錯誤,此時EEPROM糾錯模塊(2-6)停止對該頁數(shù)據(jù)的讀操作,并將該頁地址轉成包序號存儲到錯誤頁地址隊列中,或者在一頁數(shù)據(jù)和校驗對比不通過時,同樣將該頁地址轉成包序號存儲到錯誤頁地址隊列中,等待(3-17);
[0062](3-17)流程一旦進入(3-17)步驟,說明在軌升級程序存放芯片EEPR0M(1_4)存儲的當前頁數(shù)據(jù)中出現(xiàn)了不能糾正的錯誤,該頁數(shù)據(jù)只能通過地面上傳才能得以更新;EEPROM糾錯模塊(2-6)則將該頁的起始地址轉換成序號,并將包序號寫入錯誤包序號隊列中;遙測遙控模塊從該隊列中讀取錯誤的包序號并下傳地面。
[0063]本發(fā)明的一個實施例中,所述加載控制模塊(2-9)的配置步驟如下:
[0064](9.1)上電后,或需要重新配置時,綜合管理FPGA(l-2)先將SRAM型FPGA(1_1)的引腳PROG_B,INIT_B,RDWR_B拉低,此時置配置程序存儲芯片PROM (1-3)的CE和RESET/0E無效;
[0065](9.2)當?shù)却龝r間超過設定閾值TPOR后,綜合管理FPGA(1_2)將PR0G_B拉高;PR0G_B拉高后,等待一段時間綜合管理FPGA (1-2)將INIT_B拉高;
[0066](9.3) INIT_B拉高后,等待幾個CLK時鐘周期,將SRAM型FPGA (1_1)的CS_B接取反后的配置數(shù)據(jù)有效信號,同時將配置程序存儲芯片PROM(1-3)的RESET/0E和CE使能;
[0067](9.4) SRAM型FPGA (1-1)進行配置,如果中間檢測到INIT_B引腳出現(xiàn)低電平,說明有CRC校驗錯誤,回到步驟(9.1)重新配置;
[0068](9.5)如果等待一段時間后發(fā)現(xiàn)INIT_B不為低,但DONE信號一直為0,表示配置不成功,同樣回到(9.1)步驟重新配置;
[0069](9.6)如果檢測到INIT_B為高,DONE為高那么SRAM型FPGA(1-1)配置成功,將配置程序存儲芯片PROM (1-3)的CE及RESET/0E置為無效,配置完成。
[0070]本發(fā)明的一個實施例中,所述FPGA刷新文件生成模塊(4-1)生成FPGA刷新文件的流程為:
[0071](6-1)循環(huán)檢測刷新使能,檢測到刷新使能開則進入(6-2),否則繼續(xù)循環(huán)檢測;
[0072](6-2)開始刷新過程,刷新文件生成模塊(4-1)開始接收從配置程序存儲芯片PROM(1-3)或在軌升級程序存放芯片EEPROM(1-4)中連續(xù)讀出配置文件數(shù)據(jù),并同時進行(6-3)及后續(xù)操作;
[0073](6-3)對¢-2)中連續(xù)讀出數(shù)據(jù)中進行序列檢測,判斷讀出數(shù)據(jù)中是否有啟動命令序列AA995566,檢測到啟動命令后進入(6_4),否則繼續(xù)循環(huán)檢測;
[0074](6-4)檢測到啟動命令后,開始對讀出數(shù)據(jù)字節(jié)進行計數(shù),計數(shù)到距配置幀數(shù)據(jù)1(5-3)有N (N代表刷新文件啟動命令集(5-8)的字節(jié)數(shù))個字節(jié)的位置時,進入¢-5),否則繼續(xù)計數(shù);
[0075](6-5)開始從刷新文件命令字ROM(4-2)中讀出第一部分N個字節(jié)的刷新啟動命令集(5-8),伴隨數(shù)據(jù)有效信號輸出到FPGA刷新端口控制模塊(4-3),N字節(jié)輸出完成后,進入(6-6);
[0076](6_6)N字節(jié)的刷新啟動命令集(5-8)輸出完成后,無縫地將接收到的配置幀數(shù)據(jù)1(5-3)和數(shù)據(jù)有效信號輸出,對應為刷新文件的配置幀數(shù)據(jù)1(5-9)和數(shù)據(jù)有效信號,輸出完成后,進入(6-7);
[0077](6-7)配置幀數(shù)據(jù)I (5-9)輸出完成以后連續(xù)輸出一個配置幀大小的全O填充數(shù)據(jù)(5-10)及其數(shù)據(jù)有效信號,輸出完成后,無縫切換到(6-8);
[0078](6-8)從刷新文件命令字ROM(4-2)中讀出第一部分刷新結束命令集(5_11),第一部分刷新文件完成,進入出-9);
[0079](6-9)對(6-2)中接收的配置數(shù)據(jù)字節(jié)計數(shù)進行判斷,計數(shù)到距配置幀數(shù)據(jù)2(5-5)有N(N代表刷新文件啟動命令集(5-8)的字節(jié)數(shù))個字節(jié)的位置時,進入¢-10),否則繼續(xù)計數(shù);
[0080](6-10)?(6-13)開始第二部分刷新文件的生成,各個流程的操作分別與(6_5)?(6-8),只是對應的刷新啟動命令集和配置幀數(shù)據(jù)內容對應為第二部分刷新文件中的內容。完成后進入(6_14);
[0081](6-14)過渡階段,標志著一次完整的刷新文件生成過程結束,進入(6-15);
[0082](6-15)延時等待,直到距離(6-5)開始的時間等于一個刷新周期,再次進入(6-1),循環(huán)以上步驟進行周期刷新。
[0083]本發(fā)明的一個實施例中,所述配置程序存儲芯片PROM(l_3)選用Xilinx公司的XQR17V16反熔絲芯片;所述在軌升級程序存放芯片EEPR0M(l-4)選用2片3D_plus公司的3DEE8M08VS8190MB 芯片;所述 SRAM 型 FPGA(1-1)選用 Xilinx 公司的 XQR2V3000 芯片;所述遙測遙控接口(1-5)選用Intersil公司的HS9-26CLV3IRH-Q芯片作為RS422差分信號接收器,選用Intersil公司的HS9-26CLV32RH-Q芯片作為RS422差分信號驅動器;所述綜合管理FPGA (1-2)選用Actel公司的反熔絲FPGAAX2000。
[0084]和以往傳統(tǒng)技術相比,本發(fā)明所提出的SRAM型FPGA的配置、刷新與程序上注一體化系統(tǒng)具有以下有益效果:
[0085](I)物理上增加了在軌升級程序存放芯片EEPROM,綜合管理FPGA內部增加了遙測遙控模塊、上傳數(shù)據(jù)接收模塊、寫EEPROM模塊、讀EEPROM模塊和EEPROM糾錯模塊,可以通過星地鏈路將SRAM型FPGA (1-1)的配置程序打包后以固定的數(shù)據(jù)幀格式從地面上傳,經(jīng)過遙測遙控模塊(2-2)解析出配置程序數(shù)據(jù),上傳數(shù)據(jù)接收模塊對配置程序數(shù)據(jù)實施檢糾錯算法,在加入錯誤校驗數(shù)據(jù)以后,通過寫EEPROM模塊將所有數(shù)據(jù)寫入在軌升級程序存放芯片EEPROM中。從EEPROM配置或刷新SRAM型FPGA時,讀EEPROM模塊從在軌升級程序存放芯片EEPROM中讀出數(shù)據(jù)并進行解碼輸出,對SRAM型FPGA進行配置。這樣就可以從地面更新升級星上FPGA程序和功能,一顆在軌衛(wèi)星在其數(shù)年或數(shù)十年的工作時間內,其功能可以根據(jù)客戶需求的變更進行改進升級,打破了衛(wèi)星一旦上天便無法改變其功能的局面,提高了衛(wèi)星的靈活性和通用性。并且,在沒有進行從在軌升級程序存放芯片EEPROM中啟動或者刷新操作時,可以開啟EEPROM檢糾錯功能,通過存儲在在軌升級程序存放芯片EEPROM中的配置程序和錯誤校驗數(shù)據(jù),檢測糾正受SEU影響翻轉的比特位,如果不能糾正,則下傳地面,重新上傳對應數(shù)據(jù)包,顯著提高了 EEPROM的抗SEU能力;
[0086](2)由于系統(tǒng)中增加了遙測遙控模塊,可以通過地面遙測遙控指令的方式,綜合管理FPGA可以控制SRAM型FPGA從配置程序存儲芯片PROM或者在軌升級程序存放芯片EEPROM中配置和刷新,并且可以設置SRAM型FPGA刷新開啟或關閉以及刷新周期,對SRAM型FPGA進行動態(tài)刷新,可以減少回讀所需時間及資源消耗,并且根據(jù)星上輻照環(huán)境來靈活調節(jié)刷新周期,可以在保證不影響SRAM型FPGA正常工作的條件下,達到降低系統(tǒng)功耗的有益效果;
[0087](3)刷新控制模塊能夠在從配置程序存儲芯片PROM或者在軌升級程序存放芯片EEPROM讀出原始配置數(shù)據(jù)的時序下,配合從刷新文件命令字ROM中讀出數(shù)據(jù),通過數(shù)據(jù)替換的方式,把原始配置數(shù)據(jù)的配置啟動命令集、BRAM配置幀數(shù)據(jù)、填充數(shù)據(jù)和配置結束命令集替換為刷新文件命令字ROM中讀出的相應字段,從配置文件中生成刷新文件,不需要設置專門用于存儲刷新文件的外存儲器,取得了減少存儲空間,降低板上布線復雜度和節(jié)約物理空間的效果;
[0088](4)總體而言,通過本發(fā)明所構思的以上技術方案與現(xiàn)有技術相比,由于配置、刷新可遙控,刷新文件從配置文件提取生成,內部程序可升級,取得了提升抗SEU能力、減小存儲需求、控制靈活性好、電路功能可升級等一系列的有益效果。

【專利附圖】

【附圖說明】
[0089]圖1是本發(fā)明的硬件電路連接圖;
[0090]圖2是本發(fā)明中綜合管理FPGA內部電路模塊框圖;
[0091]圖3是本發(fā)明中EEPROM糾錯模塊工作流程圖;
[0092]圖4是本發(fā)明中刷新控制模塊組成示意圖;
[0093]圖5是本發(fā)明中SRAM型FPGA配置文件和刷新文件對比圖;
[0094]圖6是本發(fā)明中SRAM型FPGA刷新文件生成流程圖。

【具體實施方式】
[0095]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。
[0096]如圖1所示,本發(fā)明提供了一種SRAM型FPGA的配置、刷新與程序上注一體化系統(tǒng),所述系統(tǒng)包括:SRAM型FPGA (1-1)、綜合管理FPGA (1_2)、配置程序存儲芯片PROM(1_3)、在軌升級程序存放芯片EEPORM(1-4)、遙測遙控接口(1-5),具體地:
[0097](I)配置程序存儲芯片PROM(1-3)選用Xilinx公司的XQR17V16反熔絲芯片(容量16Mbit),用于存放SRAM型FPGA(1-1)的配置程序,在衛(wèi)星發(fā)射前固化好,上電之后默認從配置程序存儲芯片PROM(1-3)中讀取配置程序配置SRAM型FPGA(1-1)。
[0098](2)在軌升級程序存放芯片EEPROM(1-4)選用2片3D_plus公司的3DEE8M08VS8190MB芯片(容量8Mbit X 2片),用于衛(wèi)星在軌運行時,存放在軌更新的程序。綜合管理FPGA(l-2)接收地面上注的程序包加入漢明校驗碼之后,寫入在軌升級程序存放芯片EEPR0M(l-4)中(兩片EEPROM采用深度擴展的連接方式,數(shù)據(jù)線與地址線共用,通過片選信號CE來選通)。
[0099](3) SRAM型FPGA(1-1)選用Xilinx公司的XQR2V3000芯片,配置方式選用從并模式(Slave SelectMAP),配置口直接與綜合管理FPGA (1-2)相連,由綜合管理FPGA (1_2)控制所述SRAM型FPGA(1-1)的配置加載以及動態(tài)刷新。
[0100](4)遙測遙控接口(1-5)采用RS422電平標準,選用Intersil公司的HS9-26CLV31RH-Q芯片作為RS422差分信號接收器,選用Intersil公司的HS9-26CLV32RH-Q芯片作為RS422差分信號驅動器。此RS422接口用于接收外部發(fā)送過來的遙控指令,同時下傳系統(tǒng)當前的遙測狀態(tài)信息。
[0101](5)綜合管理FPGA(l-2)選用Actel公司的反熔絲FPGA AX2000,用于實現(xiàn)以下功會K:
[0102](a)接收并響應地面遙控指令,返回系統(tǒng)遙測狀態(tài)信息;
[0103](b)實現(xiàn)接收地面上傳的SRAM型FPGA(1-1)程序數(shù)據(jù)包,解析包格式并加入校驗碼之后寫入在軌升級程序存放芯片EEPROM (1-4)中;
[0104](c)實現(xiàn)從配置存儲存儲芯片PROM(l-3)讀數(shù)據(jù)配置加載和動態(tài)刷新SRAM型FPGA(1-1);
[0105](d)實現(xiàn)從在軌升級程序存放芯片EERP0M(1_4)中讀數(shù)據(jù)配置加載和動態(tài)刷新SRAM 型 FPGA(1-1);
[0106](e)實現(xiàn)對在軌升級程序存放芯片EEPROM(1-4)的校驗回寫功能。
[0107]具體地,如圖2所示,所述綜合管理FPGA(1_2)包括如下模塊:通用異步串口模塊(2-1)、遙測遙控模塊(2-2)、上傳數(shù)據(jù)接收模塊(2-3)、寫EEPROM模塊(2_4)、讀EEPROM模塊(2-5) ,EEPROM糾錯模塊(2_6)、讀PROM模塊(2_7)、數(shù)據(jù)分配模塊(2_8)、加載控制模塊(2-9)、刷新控制模塊(2-10)和數(shù)據(jù)選擇模塊(2-11),其中:
[0108](I)通用異步串口模塊(2-1),用于采用標準通用異步收發(fā)器(UniversalAsynchronous Receiver/Transmitter, UART)協(xié)議,實現(xiàn)串行數(shù)據(jù)收發(fā)功能。
[0109](2)遙測遙控模塊(2-2),用于接收并解析遙控指令包生成的相應的控制信號,送至對應的模塊,對于上注程序數(shù)據(jù)包,解析包格式將數(shù)據(jù)送至上傳數(shù)據(jù)接收模塊(2-3)。遙測遙控模塊(2-2)還收集系統(tǒng)的所有遙測量信息,組合在一起輸出至地面控制臺。
[0110](3)上傳數(shù)據(jù)接收模塊(2-3),用于將上注程序包中的數(shù)據(jù)解析,加入漢明校驗碼,同時對每包數(shù)據(jù)計算一個和校驗,并根據(jù)上注程序數(shù)據(jù)包序號映射計算在軌升級程序存放芯片EEPROM(1-4)的頁地址,將數(shù)據(jù)與頁地址信號一起送至EEPROM寫模塊(2_4)。
[0111](4)寫EEPROM模塊(2_4),用于接收緩存的上注程序包數(shù)據(jù)或者EEPROM糾錯模塊(2-6)送入的校驗糾錯之后的數(shù)據(jù),加入漢明編碼之后寫入在軌升級程序存放芯片EEPROM(1-4)。
[0112](5)讀EEPROM模塊(2_5),用于實現(xiàn)對在軌升級程序存放芯片EEPROM (1_4)的讀數(shù)據(jù)操作,當收到從EEPROM重新配置SRAM型FPGA(1-1)或者從EEPROM中動態(tài)刷新SRAM型FPGA(1-1)的指令時,從在軌升級程序存放芯片EEPROM(1-4)中讀配置數(shù)據(jù),控制時序按照芯片手冊要求。
[0113](6)EEPROM糾錯模塊(2_6),用于響應遙測遙控模塊(2_2)生成的EEPROM糾錯使能信號,控制寫EEPROM模塊(2-4)和讀EEPROM模塊(2_5),對寫EEPROM模塊(2_4)和讀EEPROM模塊(2-5)按頁進行校驗,模塊工作流程圖如圖3所示,具體流程如下。
[0114]EEPROM糾錯模塊(2_6)對在軌升級程序存放芯片EEPR0M(1_4)按頁進行校驗(每頁數(shù)據(jù)128byte),圖3中流程中各個步驟解釋如下:
[0115](3-1)判斷EEPROM EDAC使能是否打開,如果使能打開,進入下一步(3_2),開始EEPROM數(shù)據(jù)糾正過程;否則,繼續(xù)循環(huán)判斷EDAC使能;
[0116](3-2)糾錯模塊每次從在軌升級程序存放芯片EEPR0M(l-4)中讀取一頁數(shù)據(jù),數(shù)據(jù)讀取過程中同時進行判斷(3-3);
[0117](3-3)從在軌升級程序存放芯片EEPR0M(1_4)讀取數(shù)據(jù)過程中,利用漢明碼校驗判斷是否需要糾錯,如果不需要糾錯,則進入(3-4),否則進入(3-9);
[0118](3-4)如果漢明校驗沒有錯誤,繼續(xù)進行和校驗,根據(jù)讀出數(shù)據(jù)計算一個校驗和,然后進行和校驗判斷(3-5);
[0119](3-5)將(3-4)中計算的校驗和與讀出數(shù)據(jù)中的校驗和字段進行對比,相同則和校驗通過,進入(3-6);不相同表示則和校驗不通過,轉入(3-16);
[0120](3-6)清空讀出數(shù)據(jù)緩存,進入(3-7);
[0121](3-7)判斷EEPROM校驗是否完成,如果在軌升級程序存放芯片EEPR0M(1_4)內部數(shù)據(jù)都已經(jīng)經(jīng)過校驗,則校驗完成,進入(3-18),否則繼續(xù)進行校驗,進入(3-8);
[0122](3-8)在軌升級程序存放芯片EEPR0M(l-4)數(shù)據(jù)頁地址加1,轉(3_2)循環(huán),進入下一頁校驗;
[0123](3-9)在(3-3)中判斷需要糾錯后,如果錯誤是可以糾正的,則進入(3_10)進行糾錯,否則,轉入(3-16);
[0124](3-10)通過漢明碼進行糾錯,將數(shù)據(jù)中的錯誤比特糾正后,進入(3-11);
[0125](3-11)根據(jù)漢明碼糾錯以后的數(shù)據(jù)計算一個校驗和,然后進行和校驗判斷(3-12);
[0126](3-12)將(3-11)中計算的校驗和與糾錯以后數(shù)據(jù)中的校驗和字段進行對比,相同則和校驗通過,進入(3-13);不相同表示則和校驗不通過,轉入(3-16);
[0127](3-13)將糾錯以后的數(shù)據(jù)寫入數(shù)據(jù)緩存中,等待讀出,在(3-14)中讀出數(shù)據(jù)緩存中的數(shù)據(jù);
[0128](3-14)讀出數(shù)據(jù)緩存中的數(shù)據(jù),讀出同時進行(3-15)的操作;
[0129](3-15)用頁寫模式把緩存中讀出的數(shù)據(jù)寫入到在軌升級程序存放芯片EEPROM(1-4)對應地址中,寫入完成后進入(3-6);
[0130](3-16)如果一次漢明編碼中出現(xiàn)了兩位及兩位以上錯誤,此時EEPROM糾錯模塊(2-6)立即停止對該頁數(shù)據(jù)的讀操作,并將該頁地址轉成包序號存儲到錯誤頁地址隊列中,或者在一頁數(shù)據(jù)和校驗對比不通過時,同樣將該頁地址轉成包序號存儲到錯誤頁地址隊列中,等待(3-17);
[0131](3-17)流程一旦進入(3-17)步驟,說明在軌升級程序存放芯片EEPR0M(1_4)存儲的當前頁數(shù)據(jù)中出現(xiàn)了無法糾正的錯誤,該頁數(shù)據(jù)只能通過地面上傳才能得以更新;EEPROM糾錯模塊(2-6)則將該頁的起始地址轉換成序號,并將包序號寫入錯誤包序號隊列中;遙測遙控模塊從該隊列中讀取錯誤的包序號并下傳地面。
[0132](7)讀PROM模塊(2_7),用于實現(xiàn)對配置程序存儲芯片PROM (1_3)的讀數(shù)據(jù)操作,當系統(tǒng)上電、收到從配置程序存儲芯片PROM (1-3)重新配置SRAM型FPGA (1-1)的指令或者從配置程序存儲芯片PROM(1-3)中動態(tài)刷新SRAM型FPGA(1-1)時,從配置程序存儲芯片PROM(1-3)中讀配置數(shù)據(jù),控制時序按照芯片手冊要求。
[0133](8)數(shù)據(jù)分配模塊(2-8),用于實現(xiàn)對配置以及刷新數(shù)據(jù)源的選取,選擇信號由遙測遙控模塊(2-2)送入,控制選擇使用配置程序存儲芯片PROM(1-3)或者在軌升級程序存放芯片EEPR0M(l-4)數(shù)據(jù)對SRAM型FPGA(1-1)進行配置。
[0134](9)加載控制模塊(2-9),用于實現(xiàn)對SRAM型FPGA(1-1)的上電配置加載和指令配置加載,配置數(shù)據(jù)源由數(shù)據(jù)分配模塊(2-8)送入。其配置步驟如下:
[0135](9.1)上電后,或需要重新配置時。綜合管理FPGA(1-2)先將SRAM型FPGA(1-1)的引腳PR0G_B,INIT_B,RDWR_B拉低,此時置PROM的CE和RESET/0E無效。
[0136](9.2)當?shù)却龝r間超過設定閾值TPOR后(大于TP0R)后,綜合管理FPGA(1_2)將PR0G_B拉高。PR0G_B拉高后,等待一段時間綜合管理FPGA(1_2)將INIT_B拉高。
[0137](9.3) INIT_B拉高后,等待幾個CLK時鐘周期,將SRAM型FPGA(1-1)的CS_B接取反后的配置數(shù)據(jù)有效信號,同時將配置程序存儲芯片PROM(1-3)的RESET/0E和CE使能。
[0138](9.4)完成步驟(9.3)后,SRAM型FPGA(H)開始配置,如果中間檢測到INIT_B引腳出現(xiàn)低電平,說明有CRC校驗錯誤,必須回到步驟(9.1)重新配置。
[0139](9.5)如果等待一段時間后發(fā)現(xiàn)INIT_B不為低,但DONE信號一直為0,表示配置不成功。那么同樣回到(9.1)步驟重新配置。
[0140](9.6)如果檢測到INIT_B為高,DONE為高那么SRAM型FPGA(1_1)配置成功,可以將配置程序存儲芯片PROM (1-3)的CE及RESET/0E置為無效,配置完成。
[0141](10)刷新控制模塊(2-10),用于實現(xiàn)在不影響系統(tǒng)正常工作的情況下,對SRAM型FPGA(1-1)的配置存儲單元進行刷新。使SRAM型FPGA(1-1)中發(fā)生SEU的配置存儲單元的存儲值得以糾正,從而恢復SRAM型FPGA(1-1)原有的功能。刷新控制模塊(2_10)包括三個子模塊,分別為刷新文件生成模塊(4-1)、刷新文件命令字ROM(4-2)和FPGA刷新端口控制模塊(4-3),如圖4所示,外部送入的數(shù)據(jù)源是配置數(shù)據(jù)流(從配置程序存儲芯片PROM(1-3)讀出的數(shù)據(jù)或者從在軌升級程序存放芯片EEPROM(1-4)中讀出并經(jīng)過漢明解碼的數(shù)據(jù)),經(jīng)過刷新文件生成模塊(4-1)以后輸出刷新文件,所述刷新控制模塊(4-1)具體包括如下子模塊:
[0142]刷新文件生成模塊(4-1),用于實現(xiàn)在輸入的配置數(shù)據(jù)流中提取刷新文件,而不需要專門的存儲器件存儲刷新文件,節(jié)約了資源。刷新文件和原始配置文件組成對比如圖5所示。刷新文件生成模塊(4-1)在收到的配置數(shù)據(jù)流中找配置同步字段,然后開始從刷新文件命令字ROM(4-2)中讀取刷新文件命令頭,生成刷新文件,送至FPGA刷新控制模塊(4-3)輸出給SRAM型FPGA(1-1)。刷新過程分兩階段,對應的刷新文件也是兩個部分。第一部分的刷新文件是BRAM配置幀數(shù)據(jù)(5-4)之前的,對應圖5中由(5_3)得到的(5_9)部分數(shù)據(jù),第二部分的刷新文件是BRAM配置幀數(shù)據(jù)(5-4)之后的部分,對應圖5中由(5-5)得到的(5-13)部分數(shù)據(jù)。提取兩部分配置數(shù)據(jù),分別加上刷新命令字頭,對應圖5中(5-8)和(5-12)部分數(shù)據(jù),刷新填充數(shù)據(jù),對應圖5中(5-10)和(5-14)部分數(shù)據(jù),刷新命令字尾,對應圖5中(5-11)和(5-15)部分數(shù)據(jù),生成兩部分獨立的刷新文件。刷新命令字頭由刷新文件生成模塊生成地址計數(shù)碼,送至刷新文件命令字ROM讀出對應的命令字,插入到刷新文件中。
[0143]刷新文件命令字ROM(4-2),共內部包含兩部分存儲區(qū)域,第一個區(qū)域內容為刷新起始和結束命令,由輸入cmd_addr進行尋址;第二個區(qū)域內容為起始地址、配置數(shù)據(jù)量以及CRC校驗值,由輸入adrnumcrc_addr進行尋址。
[0144](10.3)綜合(10.1)、(10.2),F(xiàn)PGA刷新文件生成具體流程如圖6所示,具體流程解釋如下:
[0145](6-1)循環(huán)檢測刷新使能,檢測到刷新使能開則進入(6-2),否則繼續(xù)循環(huán)檢測;
[0146](6-2)開始刷新過程,刷新文件生成模塊(4-1)開始接收從配置程序存儲芯片PROM(1-3)或在軌升級程序存放芯片EEPROM(1-4)中連續(xù)讀出配置文件數(shù)據(jù),并同時進行(6-3)及后續(xù)操作;
[0147](6-3)對(6-2)中連續(xù)讀出數(shù)據(jù)中進行序列檢測,判斷讀出數(shù)據(jù)中是否有啟動命令序列AA995566,檢測到啟動命令后進入(6_4),否則繼續(xù)循環(huán)檢測;
[0148](6-4)檢測到啟動命令后,開始對讀出數(shù)據(jù)字節(jié)進行計數(shù),計數(shù)到距配置幀數(shù)據(jù)1(5-3)有N (N代表刷新文件啟動命令集(5-8)的字節(jié)數(shù))個字節(jié)的位置時,進入¢-5),否則繼續(xù)計數(shù);
[0149](6-5)開始從刷新文件命令字ROM(4-2)中讀出第一部分N個字節(jié)的刷新啟動命令集(5-8),伴隨數(shù)據(jù)有效信號輸出到FPGA刷新端口控制模塊(4-3),N字節(jié)輸出完成后,進入(6-6);
[0150](6_6)N字節(jié)的刷新啟動命令集(5-8)輸出完成后,無縫地將接收到的配置幀數(shù)據(jù)1(5-3)和數(shù)據(jù)有效信號輸出,對應為刷新文件的配置幀數(shù)據(jù)1(5-9)和數(shù)據(jù)有效信號,輸出完成后,進入(6-7);
[0151](6-7)配置幀數(shù)據(jù)I (5-9)輸出完成以后連續(xù)輸出一個配置幀大小的全O填充數(shù)據(jù)(5-10)及其數(shù)據(jù)有效信號,輸出完成后,無縫切換到(6-8);
[0152](6-8)從刷新文件命令字ROM(4-2)中讀出第一部分刷新結束命令集(5_11),第一部分刷新文件完成,進入出-9);
[0153](6-9)對(6-2)中接收的配置數(shù)據(jù)字節(jié)計數(shù)進行判斷,計數(shù)到距配置幀數(shù)據(jù)2(5-5)有N(N代表刷新文件啟動命令集(5-8)的字節(jié)數(shù))個字節(jié)的位置時,進入¢-10),否則繼續(xù)計數(shù);
[0154](6-10)?(6-13)開始第二部分刷新文件的生成,各個流程的操作分別與(6_5)?(6-8),只是對應的刷新啟動命令集和配置幀數(shù)據(jù)內容對應為第二部分刷新文件中的內容。完成后進入(6_14);
[0155](6-14)過渡階段,標志著一次完整的刷新文件生成過程結束,進入(6-15);
[0156](6-15)延時等待,直到距離(6-5)開始的時間等于一個刷新周期,再次進入(6-1),循環(huán)以上步驟進行周期刷新。
[0157]FPGA刷新端口控制模塊(4-3),用于控制SRAM型FPGA (1-1)的配置SelectMAP 口,接收到刷新文件生成模塊(4-1)輸出的帶有效信號的刷新數(shù)據(jù)流送至SelectMAP 口的數(shù)據(jù)線,同時將數(shù)據(jù)有效信號反向之后送至CS_B引腳。刷新期間,PROG信號一直為高,F(xiàn)PGA刷新端口控制模塊(4-3)不控制PROG信號。
[0158](11)數(shù)據(jù)選擇模塊(2-11),用于選擇SRAM型FPGA(1-1)的配置SelectMAP接口通路,選擇是由加載控制模塊(2-9)接管還是刷新控制模塊(2-10)接管。當系統(tǒng)剛上電、SRAM型FPGA (1-1)配置加載不成功或者外部送入SRAM型FPGA (1_1)重加載指令時,由加載控制模塊(2-9)接管SRAM型FPGA(1-1)配置SelectMAP接口;當SRAM型FPGA(1-1)配置加載成功且外部送入刷新使能開指令后,由刷新控制模塊(2-10)接管SRAM型FPGA(1-1)配置 SelectMAP 接口。
[0159]本領域的技術人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種SRAM型FPGA的配置、刷新與程序上注一體化系統(tǒng),其特征在于,所述系統(tǒng)包括:SRAM型FPGA(1-1)、綜合管理FPGA(1_2)、配置程序存儲芯片PROM(1_3)、在軌升級程序存放芯片EEPORM(1-4)、遙測遙控接口 (1-5),其中: 所述配置程序存儲芯片PROM(1-3)用于存放SRAM型FPGA(1-1)的配置程序,所述配置程序在衛(wèi)星發(fā)射前固化好,上電之后默認從所述配置程序存儲芯片PR0M(l-3)中讀取配置程序配置所述SRAM型FPGA(1-1); 所述在軌升級程序存放芯片EEPR0M(l-4),用于衛(wèi)星在軌運行時,存放在軌更新的程序;所述在軌更新的程序,是由綜合管理FPGA(l-2)接收地面上注的程序包并加入漢明校驗碼之后,寫入所述在軌升級程序存放芯片EEPR0M(l-4)的;所述在軌升級程序存放芯片EEPROM(1-4)包括兩片EEPR0M,兩片EEPROM采用深度擴展的連接方式,數(shù)據(jù)線與地址線共用,通過片選信號CE來選通; 所述SRAM型FPGA(1-1)的配置方式選用從并模式(Slave Select MAP),其配置口直接與綜合管理FPGA(l-2)相連,由綜合管理FPGA(1-2)控制所述SRAM型FPGA(1_1)的配置加載以及動態(tài)刷新; 所述遙測遙控接口(1-5),采用RS422電平標準,包括RS422差分信號接收器和RS422差分信號驅動器,所述遙測遙控接口(1-5)用于接收外部發(fā)送過來的遙控指令,同時下傳系統(tǒng)當前的遙測狀態(tài)信息; 所述綜合管理FPGA(l-2),用于實現(xiàn)以下功能: (a)接收并響應地面遙控指令,返回系統(tǒng)遙測狀態(tài)信息; (b)接收地面上傳的SRAM型FPGA(1-1)程序數(shù)據(jù)包,解析包格式并加入校驗碼之后寫入所述在軌升級程序存放芯片EEPORM (1-4)中; (c)從所述配置存儲芯片PROM(1-3)讀數(shù)據(jù)配置加載和動態(tài)刷新SRAM型FPGA (1-1); (d)從所述在軌升級程序存放芯片EERP0M(l-4)中讀數(shù)據(jù)配置加載和動態(tài)刷新所述SRAM 型 FPGA(1-1); (e)對在軌升級程序存放芯片EEPROM(1-4)的校驗回寫。
2.如權利要求1所述的系統(tǒng),其特征在于,所述綜合管理FPGA(l-2)包括如下子模塊:通用異步串口模塊(2-1)、遙測遙控模塊(2-2)、上傳數(shù)據(jù)接收模塊(2-3)、寫EEPROM模塊(2-4)、讀EEPROM模塊(2_5)、EEPROM糾錯模塊(2_6)、讀PROM模塊(2_7)、數(shù)據(jù)分配模塊(2-8)、加載控制模塊(2-9)、刷新控制模塊(2-10)和數(shù)據(jù)選擇模塊(2-11),其中: 所述通用異步串口模塊(2-1),采用標準UART協(xié)議,用于實現(xiàn)串行數(shù)據(jù)收發(fā); 所述遙測遙控模塊(2-2),用于接收并解析遙控指令包生成的相應的控制信號,送至對應的模塊;對于上注程序數(shù)據(jù)包,解析包格式將數(shù)據(jù)送至上傳數(shù)據(jù)接收模塊(2-3);遙測遙控模塊(2-2)還用于收集系統(tǒng)的所有遙測量信息,組合在一起輸出至地面控制臺; 所述上傳數(shù)據(jù)接收模塊(2-3),用于將上注程序包中的數(shù)據(jù)解析,加入漢明校驗碼,同時對每包數(shù)據(jù)計算一個和校驗,并根據(jù)上注程序數(shù)據(jù)包序號映射計算在軌升級程序存放芯片EEPR0M(l-4)的頁地址,將數(shù)據(jù)與頁地址信號一起送至EEPROM寫模塊(2_4); 所述寫EEPROM模塊(2-4),用于接收緩存的上注程序包數(shù)據(jù)或者EEPROM糾錯模塊(2-6)送入的校驗糾錯之后的數(shù)據(jù),加入漢明編碼之后寫入在軌升級程序存放芯片EEPROM(1-4); 所述讀EEPROM模塊(2-5),用于實現(xiàn)對在軌升級程序存放芯片EEPROM (1-4)的讀數(shù)據(jù)操作,當收到從EEPROM重新配置SRAM型(1_1) FPGA的指令或者從EEPROM中動態(tài)刷新SRAM型FPGA(1-1)時,從在軌升級程序存放芯片EEPROM(1-4)中讀配置數(shù)據(jù); 所述EEPROM糾錯模塊(2-6),用于響應遙測遙控模塊(2_2)生成的EEPROM糾錯使能信號,控制寫EEPROM模塊(2-4)和讀EEPROM模塊(2_5),對寫EEPROM模塊(2_4)和讀EEPROM模塊(2-5)按頁進行校驗; 所述讀PROM模塊(2-7),用于實現(xiàn)對配置程序存儲芯片PR0M(l-3)的讀數(shù)據(jù)操作,當系統(tǒng)上電、收到從配置程序存儲芯片PR0M(l-3)重新配置SRAM型FPGA(1-1)的指令或者從配置程序存儲芯片PROM(1-3)中動態(tài)刷新SRAM型FPGA(1-1)時,從配置程序存儲芯片PROM(1-3)中讀配置數(shù)據(jù); 所述數(shù)據(jù)分配模塊(2-8),用于實現(xiàn)對配置以及刷新數(shù)據(jù)源的選取,選擇信號由遙測遙控模塊(2-2)送入,控制選擇使用配置程序存儲芯片PR0M(l-3)或者在軌升級程序存放芯片EEPROM(1-4)數(shù)據(jù)對SRAM型FPGA(1-1)進行配置; 所述加載控制模塊(2-9),用于實現(xiàn)對SRAM型FPGA(1-1)的上電配置加載和指令配置加載,配置數(shù)據(jù)源由數(shù)據(jù)分配模塊(2-8)送入; 所述刷新控制模塊(2-10),用于實現(xiàn)在不影響系統(tǒng)正常工作的情況下,對SRAM型FPGA(1-1)的配置存儲單元進行刷新;使SRAM型FPGA (1-1)中發(fā)生SEU的配置存儲單元的存儲值得以糾正,從而恢復SRAM型FPGA(1-1)原有的功能; 所述數(shù)據(jù)選擇模塊(2-11),用于選擇SRAM型FPGA(1-1)的配置SelectMAP接口通路,選擇是由加載控制模塊(2-9)接管還是刷新控制模塊接管;當系統(tǒng)剛上電、SRAM型FPGA(1-1)配置加載或者外部送入SRAM型FPGA(1-1)重加載指令時,由加載控制模塊(2-9)接管SRAM型FPGA(1-1)配置SelectMAP接口 ;當SRAM型FPGA(1-1)配置加載成功且外部送入刷新使能開指令后,由刷新控制模塊(2-10)接管SRAM型FPGA(1-1)的配置SelectMAP 接口。
3.如權利要求1或2所述的系統(tǒng),其特征在于,所述刷新控制模塊(2-10)包括刷新文件生成模塊(4-1)、刷新文件命令字ROM(4-2)、以及FPGA刷新端口控制模塊(4_3),其中: 所述刷新文件生成模塊(4-1),用于實現(xiàn)在輸入的配置數(shù)據(jù)流中提取刷新文件,刷新文件生成模塊(4-1)在收到的配置數(shù)據(jù)流中找配置同步字段,然后開始從刷新文件命令字ROM(4-2)中讀取刷新文件命令頭,生成刷新文件,送至FPGA刷新端口控制模塊(4_3)輸出給 FPGA ; 所述刷新文件命令字R0M(4-2),其內部包含兩部分存儲區(qū)域,第一個區(qū)域內容為刷新起始和結束命令,由輸入cmd_addr進行尋址;第二個區(qū)域內容為起始地址、配置數(shù)據(jù)量以及CRC校驗值,由輸入adrnumcrc_addr進行尋址; 所述FPGA刷新端口模塊(4-3),用于控制SRAM型FPGA (1_1)的配置SelectMAP 口,接收到刷新文件生成模塊(4-1)輸出的帶有效信號的刷新數(shù)據(jù)流送至SelectMAP 口的數(shù)據(jù)線,同時將數(shù)據(jù)有效信號反向之后送至CS_B引腳,刷新期間,PROG信號一直為高,F(xiàn)PGA刷新端口控制模塊(4-3)不控制PROG信號。
4.如權利要求1或2所述的系統(tǒng),其特征在于,所述EEPROM糾錯模塊(2_6)對在軌升級程序存放芯片EEPROM(1-4)按頁進行校驗,具體檢驗過程如下: (3-1)判斷EEPROM EDAC使能是否打開,如果使能打開,進入下一步(3_2),開始EEPROM數(shù)據(jù)糾正過程;否則,繼續(xù)循環(huán)判斷EDAC使能; (3-2)糾錯模塊每次從在軌升級程序存放芯片EEPR0M(l-4)中讀取一頁數(shù)據(jù),數(shù)據(jù)讀取過程中同時進行判斷(3-3); (3-3)從在軌升級程序存放芯片EEPROM(1-4)讀取數(shù)據(jù)過程中,利用漢明碼校驗判斷是否需要糾錯,如果不需要糾錯,則進入(3-4),否則進入(3-9); (3-4)如果漢明校驗沒有錯誤,繼續(xù)進行和校驗,根據(jù)讀出數(shù)據(jù)計算一個校驗和,然后進行和校驗判斷(3-5); (3-5)將(3-4)中計算的校驗和與讀出數(shù)據(jù)中的校驗和字段進行對比,相同則和校驗通過,進入(3-6);不相同表示則和校驗不通過,轉入(3-16); (3-6)清空讀出數(shù)據(jù)緩存,進入(3-7); (3-7)判斷EEPROM校驗是否完成,如果在軌升級程序存放芯片EEPROM (1-4)內部數(shù)據(jù)都已經(jīng)經(jīng)過校驗,則校驗完成,進入(3-18),否則繼續(xù)進行校驗,進入(3-8); (3-8)在軌升級程序存放芯片EEPROM(1-4)數(shù)據(jù)頁地址加1,轉(3_2),循環(huán)進入下一頁校驗; (3-9)在(3-3)中判斷需要糾錯后,如果錯誤是可以糾正的,則進入(3-10)進行糾錯,否則,轉入(3-16); (3-10)通過漢明碼進行糾錯,將數(shù)據(jù)中的錯誤比特糾正后,進入(3-11); (3-11)根據(jù)漢明碼糾錯以后的數(shù)據(jù)計算一個校驗和,然后進行和校驗判斷(3-12); (3-12)將(3-11)中計算的校驗和與糾錯以后數(shù)據(jù)中的校驗和字段進行對比,相同則和校驗通過,進入(3-13);不相同表示則和校驗不通過,轉入(3-16); (3-13)將糾錯以后的數(shù)據(jù)寫入數(shù)據(jù)緩存中,等待讀出,在(3-14)中讀出數(shù)據(jù)緩存中的數(shù)據(jù); (3-14)讀出數(shù)據(jù)緩存中的數(shù)據(jù),讀出同時進行(3-15)的操作; (3-15)用頁寫模式把緩存中讀出的數(shù)據(jù)寫入到在軌升級程序存放芯片EEPR0M(l-4)對應地址中,寫入完成后進入(3-6); (3-16)如果一次漢明編碼中出現(xiàn)了兩位及兩位以上錯誤,此時EEPROM糾錯模塊(2_6)停止對該頁數(shù)據(jù)的讀操作,并將該頁地址轉成包序號存儲到錯誤頁地址隊列中,或者在一頁數(shù)據(jù)和校驗對比不通過時,同樣將該頁地址轉成包序號存儲到錯誤頁地址隊列中,等待(3-17); (3-17)流程一旦進入(3-17)步驟,說明在軌升級程序存放芯片EEPROM(1-4)存儲的當前頁數(shù)據(jù)中出現(xiàn)了無法糾正的錯誤,該頁數(shù)據(jù)只能通過地面上傳才能得以更新;EEPROM糾錯模塊(2-6)則將該頁的起始地址轉換成序號,并將包序號寫入錯誤包序號隊列中;遙測遙控模塊從該隊列中讀取錯誤的包序號并下傳地面。
5.如權利要求1或2所述的系統(tǒng),其特征在于,所述加載控制模塊(2-9)的配置步驟如下: (9.1)上電后,或需要重新配置時,綜合管理FPGA(l-2)先將SRAM型FPGA(1-1)的引腳PR0G_B,INIT_B,RDWR_B拉低,此時置配置程序存儲芯片PROM (1_3)的CE和RESET/0E無效; (9.2)當?shù)却龝r間超過設定閾值TPOR后,綜合管理FPGA (1-2)將PR0G_B拉高;PR0G_B拉高后,等待一段時間綜合管理FPGA (1-2)將INIT_B拉高; (9.3) INIT_B拉高后,等待幾個CLK時鐘周期,將SRAM型FPGA(1-1)的CS_B接取反后的配置數(shù)據(jù)有效信號,同時將配置程序存儲芯片PROM(1-3)的RESET/0E和CE使能; (9.4) SRAM型FPGA(1-1)進行配置,如果中間檢測到INIT_B引腳出現(xiàn)低電平,說明有CRC校驗錯誤,回到步驟(9.1)重新配置; (9.5)如果等待一段時間后發(fā)現(xiàn)INIT_B不為低,但DONE信號一直為0,表示配置不成功,同樣回到(9.1)步驟重新配置; (9.6)如果檢測到INIT_B為高,DONE為高那么SRAM型FPGA (1_1)配置成功,將配置程序存儲芯片PROM (1-3)的CE及RESET/0E置為無效,配置完成。
6.如權利要求1或2所述的系統(tǒng),其特征在于,所述FPGA刷新文件生成模塊(4-1)生成FPGA刷新文件的流程為: (6-1)循環(huán)檢測刷新使能,檢測到刷新使能開則進入(6-2),否則繼續(xù)循環(huán)檢測; (6-2)開始刷新過程,刷新文件生成模塊(4-1)開始接收從配置程序存儲芯片PROM(1-3)或在軌升級程序存放芯片EEPROM(1-4)中連續(xù)讀出配置文件數(shù)據(jù),并同時進行(6-3)及后續(xù)操作; (6-3)對¢-2)中連續(xù)讀出數(shù)據(jù)中進行序列檢測,判斷讀出數(shù)據(jù)中是否有啟動命令序列AA995566,檢測到啟動命令后進入(6_4),否則繼續(xù)循環(huán)檢測; (6-4)檢測到啟動命令后,開始對讀出數(shù)據(jù)字節(jié)進行計數(shù),計數(shù)到距配置幀數(shù)據(jù)1(5-3)有N (N代表刷新文件啟動命令集(5-8)的字節(jié)數(shù))個字節(jié)的位置時,進入¢-5),否則繼續(xù)計數(shù); (6-5)開始從刷新文件命令字ROM(4-2)中讀出第一部分N個字節(jié)的刷新啟動命令集(5-8),伴隨數(shù)據(jù)有效信號輸出到FPGA刷新端口控制模塊(4-3),N字節(jié)輸出完成后,進入(6-6); (6-6)N字節(jié)的刷新啟動命令集(5-8)輸出完成后,無縫地將接收到的配置幀數(shù)據(jù)1(5-3)和數(shù)據(jù)有效信號輸出,對應為刷新文件的配置幀數(shù)據(jù)1(5-9)和數(shù)據(jù)有效信號,輸出完成后,進入(6-7); (6-7)配置幀數(shù)據(jù)1(5-9)輸出完成以后連續(xù)輸出一個配置幀大小的全O填充數(shù)據(jù)(5-10)及其數(shù)據(jù)有效信號,輸出完成后,無縫切換到(6-8); (6-8)從刷新文件命令字ROM(4-2)中讀出第一部分刷新結束命令集(5-11),第一部分刷新文件完成,進入出-9); (6-9)對(6-2)中接收的配置數(shù)據(jù)字節(jié)計數(shù)進行判斷,計數(shù)到距配置幀數(shù)據(jù)2(5-5)有N (N代表刷新文件啟動命令集(5-8)的字節(jié)數(shù))個字節(jié)的位置時,進入(6-10),否則繼續(xù)計數(shù); (6-10)?(6-13)開始第二部分刷新文件的生成,各個流程的操作分別與(6-5)?(6-8),只是對應的刷新啟動命令集和配置幀數(shù)據(jù)內容對應為第二部分刷新文件中的內容。完成后進入(6_14); (6-14)過渡階段,標志著一次完整的刷新文件生成過程結束,進入(6-15); (6-15)延時等待,直到距離(6-5)開始的時間等于一個刷新周期,再次進入(6-1),循環(huán)以上步驟進行周期刷新。
7.如權利要求1或2所述的系統(tǒng),其特征在于,所述配置程序存儲芯片PR0M(l-3)選用Xilinx公司的XQR17V16反熔絲芯片;所述在軌升級程序存放芯片EEPR0M(1_4)選用2片 3D-plus 公司的 3DEE8M08VS8190MB 芯片;所述 SRAM 型 FPGA(1-1)選用 Xilinx 公司的XQR2V3000芯片;所述遙測遙控接口(1-5)選用Intersil公司的HS9-26CLV31RH-Q芯片作為RS422差分信號接收器,選用Intersil公司的HS9-26CLV32RH-Q芯片作為RS422差分信號驅動器;所述綜合管理FPGA(l-2)選用Actel公司的反熔絲FPGA AX2000。
【文檔編號】G06F9/445GK104484214SQ201410851497
【公開日】2015年4月1日 申請日期:2014年12月30日 優(yōu)先權日:2014年12月30日
【發(fā)明者】顏露新, 張?zhí)煨? 顏釗, 吳康, 陳立群, 鐘勝 申請人:華中科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1