一種星載dsp軟件任務動態重構電路及重構方法
【技術領域】
[0001 ]本發明涉及一種星載DSP軟件任務動態重構電路及重構方法,屬于星載DSP任務重 構技術領域。
【背景技術】
[0002] 隨著微納衛星、片上衛星的快速發展,對其電子系統的微小型化、低功耗的需求日 趨明顯。集成微系統作為扁平化設計的新模式,將信息感知、數據處理、驅動控制等功能單 元,采用MCM、SIP、TSV等封裝技術,集成在一個芯片大小的封裝體內,極大地提升了系統的 集成度。
[0003] DSP作為高性能處理單元,采用修正的哈佛結構和專用的硬件乘法,可以快速實現 各種信號處理算法,已被廣泛的應用在航天的各個領域。因此,將DSP集成到微系統中將極 大提高微系統的處理器能力,將滿足各類運算任務的需求。
[0004] 然而,目前的DSP的工作模式主要作為主機單獨運行,采用DSP+PR0M的系統架構, 系統上電時由PR0M加載程序數據到DSP的運行空間中,該方法雖然可以滿足程序啟動,但是 只能實現惟一任務的加載。無法在處理器調度下動態加載程序來支撐復雜任務的動態切換 要求。目前,已有研究提出DSP作為從處理器,在主控處理器的調度下執行任務的工作模式, 以及相應的主控理器+DSP+總線隔離芯片的系統架構。然而,該方式對于微系統而言,由于 引入了總線隔離芯片,必然帶來系統面積、功耗的增加。同時,較低的總線隔離芯片利用率 也降低了系統的功能密度。
[0005] 綜上可知,目前已有的板級設計方法,都不能較好的滿足微系統中DSP軟件任務動 態重構的需求。
[0006] 因此,FT-6713的任務如果能夠滿足動態重構或切換,將極大提升星載電子系統的 靈活性。然而,目前的FT-6713的工作機制是采用PR0M+FT-6713的模式,FT-6713的任務被初 始化在存儲器中,系統上電后,對任務進行加載,FT-6713所執行的任務將受到限制,與微納 衛星快速集成、靈活應用的設計理念相悖。
【發明內容】
[0007] 本發明的技術解決問題是:克服現有技術的不足,提供了一種星載DSP軟件任務動 態重構電路及重構方法,解決了星載D S P芯片動態重構的問題,同時不增加額外芯片和功 耗。
[0008] 本發明的技術解決方案是:
[0009] 一種星載DSP軟件任務動態重構電路,包括:FPGA芯片、DSP芯片、CHJ芯片、第一 Flash芯片、第一 SRAM芯片和第二SRAM芯片;
[0010] 地面站將DSP重構程序上注到CPU芯片中,第一Flash芯片和第一SRAM芯片用于存 儲上注到CPU芯片的DSP重構程序,CPU芯片從第一 SRAM芯片中讀取數據,并通過FPGA傳輸給 DSP芯片,從而對DSP芯片進行軟件任務動態重構;第二SRAM芯片用于存儲DSP重構程序。
[0011] 所述FPGA芯片、DSP芯片、CPU芯片、第一 Flash芯片、第一 SRAM芯片和第二SRAM芯片 均為衛星上的原有芯片。
[0012] FPGA芯片、DSP芯片、CPU芯片、第一 Flash芯片、第一 SRAM芯片和第二SRAM芯片均以 同一個SIP芯片的形式實現。
[0013] 所述FPGA芯片采用BQ2V1000型號,DSP芯片采用FT-6713型號,CPU芯片采用BM3101 型號。
[0014] -種星載DSP軟件任務動態重構方法,步驟如下:
[0015] (1)地面站生成針對星載DSP芯片的配置文件,即DSP重構程序;
[0016] (2)令DSP芯片和CPU芯片上電啟動,將DSP芯片設置為HPI引導模式;
[0017] (3)地面站將生成的DSP重構程序上注給CPU芯片,CPU芯片判斷所述DSP重構程序 的大小,與預設的CPU存儲閾值進行比較,如果DSP重構程序的大小超過所述CPU存儲閾值, 則地面站上注的DSP重構程序同時存入第一Flash芯片和第一SRAM芯片中,否則,地面站上 注的DSP重構程序同時存入第一Flash芯片和CPU芯片的內部RAM中;
[0018] (4)上注的DSP重構程序存儲完畢之后,CPU芯片將第一 SRAM芯片中的數據發送給 FPGA芯片,FPGA芯片與DSP芯片之間實現HPI通信,將DSP重構程序發送給DSP芯片;FPGA芯片 判斷所述DSP重構程序的大小,與預設的DSP存儲閾值進行比較,如果DSP重構程序的大小超 過所述DSP存儲閾值,則所述DSP重構程序存入第二SRAM芯片中,否則,DSP重構程序直接存 入DSP芯片內部RAM中;
[0019] (5)DSP芯片根據存儲在第二SRAM芯片中的DSP重構程序或者存儲在DSP芯片內部 RAM中的DSP重構程序進行重構操作,重構完成后,FGPA芯片將FPGA芯片與DSP芯片之間的通 信管腳置為三態,將FPGA芯片與CPU芯片之間的通信管腳也置為三態。
[0020] FPGA芯片與DSP芯片之間實現HPI通信具體為:
[0021]
[0022] 其中,!〇^111、!0^10、冊111^為05?芯片的冊1控制管腳,冊14、冊1(:和冊10為05?芯 片內的HPI控制寄存器。
[0023] 本發明與現有技術相比的有益效果是:
[0024] (1)通過實時動態重構提升DSP任務執行的靈活性。可以在軌動態重新注入FT- 6713所執行的新任務,而不是通過任務調度機制來增加或減少某個任務。提尚了任務重構 的范圍,減小了傳統方法的局限性;
[0025] (2)利用資源復用的方式實現了總線信號隔離。傳統的方法利用總線隔離器件來 完成不同總線接口器件的通信,增加了系統的體積和功耗,所隔離信號數量同時受到總線 隔離器件接口的限制。本發明采用BQ2V1000,在內部實現了靈活的接口轉換邏輯。而 BQ2V1000是星載電子系統的一部分,本設計進行了復用,既實現了總線的隔離,又降低了系 統的體積。
[0026] (3)通過動態重構的方式進一步降低了系統功耗。采用動態重構技術所實現的配 置通路,在非注入狀態下,接口設計為高阻態進行總線隔離,內部邏輯恢復初始態,不產生 通路電流,在工作狀態下,內部邏輯選通,實現配置通路。通過動態切換的模式,實現了低功 耗設計。
【附圖說明】
[0027]圖1為本發明電路結構示意圖;
[0028]圖2為本發明方法流程圖;
[0029]圖3為本發明HPI加載軟件流程。
【具體實施方式】
[0030]下面結合附圖對本發明的【具體實施方式】進行進一步的詳細描述。
[0031] 1系統架構
[0032] 本方法基于資源復用的思路,力爭在不增加器件的基礎上,實現DSP任務的動態重 構。本方法主要利用了系統中集成的FPGA芯片作為構建BM3101處理器和DSP HPI接口的配 置通路,并由BM3101處理器中運行的軟件程序,驅動BM3101處理器總線時序的變化來實現 DSP程序的動態加載和啟動。本方法的設計由2部分構成,即硬件配置通路和軟件驅動。其系 統架構如圖1所示。
[0033] 硬件部分,是完成DSP任務重構的物理連接部分。它包括BM3101處理器和FPGA的互 聯、DSP的HPI接口與FPGA的互聯、BM3101處理器與FLASH的互聯、BM3101處理器與SDRAM的互 聯、DSP處理器與SDRAM的互聯。
[0034]軟件部分,是完成DSP軟件任務數據的加載和啟動。該部分由數據加載模塊和程序 啟動模塊構成。
[0035]如圖1所示,本發明提供的一種星載DSP軟件任務動態重構電路,包括:FPGA芯片、 DSP芯片、CPU芯片、第一 Flash芯片、第一 SRAM芯片和第二SRAM芯片;
[0036] 地面站將DSP重構程序上注到CPU芯片中,第一Flash芯片和第一SRAM芯片用于存 儲上注到CPU芯片的DSP重構程序,CPU芯片從第一 SRAM芯片中讀取數據,并通過FPGA傳輸給 DSP芯片,從而對DSP芯片進行軟件任務動態重構;第二SRAM芯片用于存儲DSP重構程序。
[0037] 所述FPGA芯片、DSP芯片、CPU芯片、第一 Flash芯片、第一 SRAM芯片和第二SRAM芯片 均為衛星上的原有芯片。
[0038] FPGA芯片、DSP芯片、CPU芯片、第一 Flash芯片、第一 SRAM芯片和第二SRAM芯片均以 同一個SIP芯片的形式實現。
[0039] 所述FPGA芯片采用BQ2V1000型號,DSP芯片采用FT-6713型號,CPU芯片采用BM3101 型號。
[0040] (1)FT-6713 與 BQ2V1000互聯設計
[0041 ] FT-6713 地址線 A2 接到 BQ2V1000 的 I0_L04P_2,FT-6713 地址線 A3 接到 BQ2V1000 的 I0_L04N_2,FT-6713 地址線 A4 接到 BQ2V1000 的 I0_L24N_2,FT-6713 地址線 A5 接到 BQ2V1000 的 I0_L24P_2,DSP 地址線 A6 接到 BQ2V1000 的 I0_L03P_2/VREF_2,DSP 地址線 A7 接到 BQ2V1000 的 I0_L03_2,DSP 地址線 A8 接到 BQ2V1000 的 I0_L02N_2/VRP_2,DSP 地址線 A9 接到 BQ2V1000 的 I0_L22N_2,DSP 地址線 A10 接到 BQ2V1000 的 I0_L49P_2,DSP 地址線 All 接到 BQ2V1000 的 10_ L49N_2,FT-6713 地址線 A12 接到 BQ2V1000 的 I0_L04N_1,FT-6713 地址線 A13 接到 BQ2V1000 的 I0_L48N_2, FT-6713 地址線 A14 接到BQ2V1000 的 I0_L48P_2, FT-6713 地址線 A15 接到 BQ2V1000 的 I0_L02P_2/VRN_2,FT-6713 地址線 A16 接到 BQ2V1000 的 I0_L06P_1,FT-6713 地址 線 A17 接到 BQ2V1000 的 I0_L19N_1,FT-6713 地址線 A18 接到 BQ2V1000 的 I0_L49P_1,FT-6713 地址線 A19 接到 BQ2V1000 的 I0_L05P_1,FT-6713 地址線 A20 接到 BQ2V1000 的 I0_L43P_2,FT-6713 地址線 A21 接到 BQ2V1000 的 I0_L54P_2,FT-6713 數據線 DO 接到 BQ2V1000 的 I0_L22N_3, FT-6713 數據線 D1 接到BQ2V1000 的 I0_L54N_3
[0042] FT-6713 數據線 D2 接到 BQ2V1000 的 I0_L51N_3/VREF_3,FT-6713 數據線 D3 接到 BQ2V1000 的 I0_L51P_3,FT-6713 數據線 D4 接到 BQ2V1000 的 I0_L94P_3,FT-6713 數據線 D5 接 到BQ2V1000 的 I0_L94N_3,FT-6713 數據線 D6 接到 BQ2V1000 的 I0_L91P_2,FT-6713 數據線 D7 接到 BQ2V1000 的 10_1^9613^1'-6713數據線08接到8〇2¥1000的10_1^96卩_3
[0043] FT-6713 數據線 D9 接到 BQ2V1000 的 I0_L94P_2,FT-6713 數據線 D10 接到 BQ2V1000 的 I0_L94N_2,FT-6713 數據線 D11 接到 BQ2V1000 的 I0_L93P_2/VREF_2,FT-6713 數據線 D12 接到 BQ2V1000 的 I0_L93N_2,FT-6713 數據線 D13 接到 BQ2V1000 的 I0_L51P_2/VREF_2,FT-6713 數 據線 D14 接到 BQ2V1000 的 I0_L91N_2,FT-6713 數據線 D15 接到 BQ2V1000 的 I0_L46P_2,FT-6713