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

?

基于1553B的DSP在軌編程設(shè)計與實現(xiàn)

2020-06-16 08:47:44顧澤凌楊明遠(yuǎn)趙建華李鴻志
制導(dǎo)與引信 2020年4期
關(guān)鍵詞:信號處理上位內(nèi)存

張 衡, 顧澤凌, 楊明遠(yuǎn), 趙建華, 李鴻志

(上海無線電設(shè)備研究所,上海201109)

0 引言

DSP具有運行速度快,接口形式多樣,浮點運算能力強(qiáng),開發(fā)仿真簡單快速的特點,在空間領(lǐng)域已獲得廣泛應(yīng)用[1]。但DSP對單粒子輻照等空間特殊環(huán)境比較敏感,容易產(chǎn)生單粒子故障,加上空間應(yīng)用的不確定性,往往需要對DSP進(jìn)行在軌編程[2]。隨著空間載荷任務(wù)越來越多樣,功能越來越復(fù)雜,對DSP在軌編程與重構(gòu)的數(shù)據(jù)量和速度的要求越來越高。而傳統(tǒng)在軌編程采用RS422通信方式,存在傳輸速率低、穩(wěn)定性差的缺陷,一般只能用于某個變量的在軌編程與重構(gòu),無法滿足當(dāng)前的應(yīng)用需求。1553B作為成熟的空間通信總線接口,數(shù)據(jù)傳輸速率可達(dá)1 Mbps[3],通常采用A/B兩個通道互為備份,且具有勤務(wù)中斷查詢功能,穩(wěn)定可靠,已經(jīng)在空間領(lǐng)域獲得廣泛的應(yīng)用[4]。通過1553B接口實現(xiàn)DSP在軌編程與重構(gòu)功能,既可確保傳輸數(shù)據(jù)的穩(wěn)定可靠,又可大大提高數(shù)據(jù)傳輸速率。

1 電路與軟件設(shè)計

1.1 接口電路設(shè)計

星載通信系統(tǒng)遠(yuǎn)程終端(RT)信號處理機(jī)1553B通信接口的組成如圖1所示。電路采用輻射加固1553B遠(yuǎn)程終端芯片B65170S6RH作為1553B接口控制器,選用1553B總線隔離變壓芯片T31S01/B3226-S進(jìn)行A/B總線變壓器耦合[5]。由于B65170S6RH采用+5 V供電,需要經(jīng)過電平轉(zhuǎn)換芯片JSR164245SA進(jìn)行+3.3 V電平轉(zhuǎn)換,再由FPGA進(jìn)行DSP的外部存儲器接口(external memory interfaces,EMIF)通道譯碼切換,連通B65170S6RH與DSP的數(shù)據(jù)通道。

圖1 接口電路示意圖

1.2 在軌編程軟件設(shè)計

(1)跳轉(zhuǎn)指令與驗證程序設(shè)計

DSP在軌編程的基本原理是改變跳轉(zhuǎn)指令編碼讓程序跳轉(zhuǎn)到新函數(shù)。當(dāng)檢測到在軌運行的DSP芯片出現(xiàn)單粒子故障并精確定位后,或用戶提出擴(kuò)展功能的要求后,需要對在軌程序進(jìn)行修改或添加新的功能程序。這種修改不能在原來的程序上進(jìn)行,而要建立新的功能程序,為新程序分配存放段地址,保證程序重啟后,當(dāng)其跳入新的指令編碼時,運行的是新的功能程序。

以內(nèi)部RAM存儲空間為1 MB的DSP為例,其內(nèi)部RAM 地址范圍為0x00000000~0x000FFFFF,如表1所示。

表1 DSP部分存儲空間分配表

為在軌編程分配專用內(nèi)存空間,并為新程序分配存放段地址,空間及地址分配流程如圖2所示。首先在分配內(nèi)存空間的.cmd文件中選擇某一區(qū)間作為在軌編程專用空間;然后指定好加載段地址,并指向ISRAM地址;最終在聲明變量的.h頭文件中將要修改的新函數(shù)分配到上述指定的段地址[6]。需要強(qiáng)調(diào)的是地面使用的DSP芯片型號規(guī)格及其程序必須與在軌運行的星載信號處理機(jī)中使用的一致。

圖2 分配專用空間和指定新程序存放段地址流程圖

驗證程序是在原始的DSP程序中,設(shè)計一段測試程序,函數(shù)名為orbit_progme_test1。其功能是設(shè)置2個局部變量a和b,若a>b,則在軌編程測試標(biāo)志test_orbit_flag輸出為0x AA,并在上位機(jī)界面顯示,否則輸出為0x55。新功能程序orbit_progme_test2則與之相反。新的功能程序編輯完成后,在待替換程序入口處用新程序的函數(shù)名替換原程序的函數(shù)名,連接仿真器進(jìn)行編譯,編譯無誤后將新程序的.out文件加載到DSP芯片,在新程序入口處設(shè)置斷點,選擇機(jī)器碼顯示。待替換功能程序與新功能程序及其機(jī)器碼如表2所示。

由表2可知,該程序起始地址為圖2指定的段地址0x00030000,地址0x00030000~0x0003004C中存儲的十六進(jìn)制內(nèi)存數(shù)據(jù)機(jī)器碼就是需要上注到DSP的新功能程序代碼。

表2 待替換功能程序與新功能程序及其機(jī)器碼表

跳轉(zhuǎn)指令碼替換程序流程如圖3所示。圖中address1為待替換跳轉(zhuǎn)指令所在的內(nèi)存地址(即原程序函數(shù)orbit_progme_test1的入口地址),同時也是新的跳轉(zhuǎn)指令所在的內(nèi)存地址(即新程序函數(shù)orbit_progme_test2的入口地址),機(jī)器碼jump_code1為待替換的跳轉(zhuǎn)指令編碼,機(jī)器碼jump_code2為新的跳轉(zhuǎn)指令編碼。當(dāng)程序重啟并運行到地址address1時,就會跳轉(zhuǎn)到指令編碼jump_code2指向的功能函數(shù)orbit_progme_test2而不是jump_code1指向的orbit_progme_test1。

圖3 跳轉(zhuǎn)指令編碼替換示意圖

(2)在軌注數(shù)與內(nèi)存下載設(shè)計

在完成了指令編碼跳轉(zhuǎn)功能與驗證程序設(shè)計之后,還需要將新的功能程序、新的指令編碼及其所在內(nèi)存地址的十六進(jìn)制機(jī)器碼上注到DSP之中。傳統(tǒng)的RS422通信根據(jù)幀頭判斷數(shù)據(jù)到來,并計算校驗和以保證數(shù)據(jù)的正確性,這種方式已經(jīng)無法滿足當(dāng)前在軌編程大數(shù)據(jù)量、快速可靠的要求。而1553B接口通信是通過勤務(wù)指令觸發(fā)中斷寄存器,不需要DSP解析數(shù)據(jù)幀頭,無需校驗和,且傳輸速率能達(dá)到1 Mbps,遠(yuǎn)遠(yuǎn)高于RS422接口,確保了傳輸?shù)目煽啃耘c時效性。

本設(shè)計中1553B采用的存儲緩沖方式為循環(huán)128字,每次總線控制(BC)端觸發(fā)在軌編程勤務(wù)中斷寄存器時,DSP將其循環(huán)128字存儲器復(fù)位,即每次從該循環(huán)128字存儲器起始地址開始存儲數(shù)據(jù)[7]。將新功能程序代碼拆分為每包不超過44字節(jié)的數(shù)據(jù)包,依次上注到在軌運行的DSP芯片中,DSP接收并將上注的代碼數(shù)據(jù)依次寫入指定內(nèi)存地址,程序流程如圖4所示。

圖4 將新功能程序代碼寫入DSP指定地址流程圖

為了確保注入數(shù)據(jù)的正確性,需要內(nèi)存下載(也稱為內(nèi)存下卸)完成數(shù)據(jù)對比。從DSP內(nèi)存中讀取之前注入的數(shù)據(jù),每次至多讀取48個字節(jié)且為4的整數(shù)倍,組成24個字的1553B內(nèi)存下載數(shù)據(jù)包,不夠24個字時則用0x AAAA補(bǔ)齊。內(nèi)存下載工作流程如圖5所示。

圖5 DSP內(nèi)存下載流程圖

2 實驗驗證與結(jié)果分析

2.1 實驗系統(tǒng)組成

采用帶有1553B板卡計算機(jī)的測試設(shè)備模擬星載數(shù)管分系統(tǒng)BC端,實驗接口電路所在的星載信號處理機(jī)為RT端。測試設(shè)備給星載信號處理機(jī)供電,并通過2根雙絞屏蔽線分別與星載信號處理機(jī)的A/B雙通道進(jìn)行1553B通信。實驗系統(tǒng)示意圖如圖6所示。

圖6 實驗系統(tǒng)示意圖

通過測試設(shè)備上位機(jī)的人機(jī)交互界面,可以向星載信號處理機(jī)下發(fā)指令并接收其反饋的遙測信息。上位機(jī)軟件采用Lab View語言編程,作為面向用戶的圖形語言,其具有開發(fā)靈活、界面友好的特點[8]。針對DSP在軌編程,上位機(jī)軟件主要包括:在軌編程注數(shù),即將新功能程序的十六進(jìn)制機(jī)器碼上注到DSP指定地址;內(nèi)存下載,即從DSP指定地址下載一定數(shù)量的內(nèi)存數(shù)據(jù);待替換跳轉(zhuǎn)指令所在地址注入,即將圖3中的address1上注到DSP暫存;新的跳轉(zhuǎn)指令注入,即將圖3中的jump_code1上注到DSP暫存;新功能程序啟用,即通過引導(dǎo)程序重新啟動DSP。其中,每次注入數(shù)據(jù)的字節(jié)數(shù)是4的整數(shù)倍且不超過44字節(jié),界面上的內(nèi)存修改地址即為此次注入的在軌編程數(shù)據(jù)機(jī)器碼即將寫入DSP內(nèi)存空間的首地址,數(shù)據(jù)包長度由上位機(jī)自動識別。內(nèi)存下載則需要輸入即將讀取的DSP內(nèi)存空間的首地址以及數(shù)據(jù)長度(不超過48字節(jié))。上位機(jī)在軌編程注數(shù)與內(nèi)存下載界面如圖7所示。

圖7 上位機(jī)數(shù)據(jù)上注及其下載界面

2.2 實驗過程及結(jié)果分析

實驗過程步驟如下:

a)將新功能程序orbit_progme_test2的80個字節(jié)內(nèi)存數(shù)據(jù)十六進(jìn)制機(jī)器碼分為2包,每包40個字節(jié),起始地址分別為0x00030000與0x00030028;

b)將內(nèi)存數(shù)據(jù)上注到對應(yīng)的內(nèi)存地址,內(nèi)存數(shù)據(jù)及其對應(yīng)的內(nèi)存地址如表2所示;

c)當(dāng)步驟b)的第1包數(shù)據(jù)上注完成后,從地址0x00030000開始下載40個字節(jié),與步驟b)注入的數(shù)據(jù)進(jìn)行對比,確認(rèn)數(shù)據(jù)傳輸無誤;

d)重復(fù)步驟b)與步驟c)從地址0x00030028開始進(jìn)行第2包數(shù)據(jù)注入與下載;

e)第2包數(shù)據(jù)上注完成并確認(rèn)無誤后,在上位機(jī)注入待替換跳轉(zhuǎn)指令所在地址address1與新的跳轉(zhuǎn)指令jump_code2,此時address1與jump_code2以隨機(jī)變量形式存在DSP中;

f)發(fā)送在軌編程啟用指令,DSP會將jump_code2寫入地址address1中以替換原來的jump_code1,并引導(dǎo)程序重新啟動DSP從地址0x00000000開始運行,當(dāng)運行到address1時就會轉(zhuǎn)入跳轉(zhuǎn)指令jump_code2,指向程序orbit_progme_test2并執(zhí)行程序orbit_progme_test2。

經(jīng)過步驟a)到步驟f),上位機(jī)在軌編程標(biāo)志由0x55變?yōu)?x AA,完成在軌編程。經(jīng)測試,1553B接口數(shù)據(jù)率達(dá)到了1 Mbps,且運行周期穩(wěn)定,滿足設(shè)計要求。

3 結(jié)論

本文針對星載信號處理機(jī)DSP芯片在軌編程數(shù)據(jù)量大且可靠性要求高的難題,基于1553B接口完成了接口電路及在軌編程軟件設(shè)計,并搭建實驗系統(tǒng),完成了實驗驗證,為星載信號處理機(jī)的DSP在軌編程方案設(shè)計提供了參考。

猜你喜歡
信號處理上位內(nèi)存
“春夏秋冬”的內(nèi)存
《信號處理》征稿簡則
信號處理(2018年5期)2018-08-20 06:16:02
《信號處理》第九屆編委會
信號處理(2018年5期)2018-08-20 06:16:00
特斯拉 風(fēng)云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
《信號處理》征稿簡則
信號處理(2018年8期)2018-07-25 12:25:42
《信號處理》第九屆編委會
信號處理(2018年8期)2018-07-25 12:24:56
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
以新思路促推現(xiàn)代農(nóng)業(yè)上位
基于內(nèi)存的地理信息訪問技術(shù)
西盟| 富民县| 巴青县| 杂多县| 曲靖市| 罗山县| 志丹县| 登封市| 曲松县| 西乌珠穆沁旗| 武清区| 彭泽县| 从化市| 江华| 宁晋县| 深州市| 黄大仙区| 黔西| 探索| 伊宁县| 广灵县| 静海县| 历史| 桂阳县| 庆安县| 马公市| 儋州市| 大洼县| 肃宁县| 潮安县| 宣化县| 林芝县| 曲沃县| 上林县| 连南| 罗城| 长岛县| 栖霞市| 鸡西市| 连城县| 张家港市|