999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2020-06-16 08:47:44顧澤凌楊明遠(yuǎn)趙建華李鴻志
制導(dǎo)與引信 2020年4期
關(guān)鍵詞:指令程序功能

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

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

0 引言

DSP具有運(yùn)行速度快,接口形式多樣,浮點(diǎn)運(yùn)算能力強(qiáng),開發(fā)仿真簡單快速的特點(diǎn),在空間領(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è)變量的在軌編程與重構(gòu),無法滿足當(dāng)前的應(yīng)用需求。1553B作為成熟的空間通信總線接口,數(shù)據(jù)傳輸速率可達(dá)1 Mbps[3],通常采用A/B兩個(gè)通道互為備份,且具有勤務(wù)中斷查詢功能,穩(wěn)定可靠,已經(jīng)在空間領(lǐng)域獲得廣泛的應(yīng)用[4]。通過1553B接口實(shí)現(xiàn)DSP在軌編程與重構(gòu)功能,既可確保傳輸數(shù)據(jù)的穩(wěn)定可靠,又可大大提高數(shù)據(jù)傳輸速率。

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

1.1 接口電路設(shè)計(jì)

星載通信系統(tǒng)遠(yuǎn)程終端(RT)信號(hào)處理機(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的外部存儲(chǔ)器接口(external memory interfaces,EMIF)通道譯碼切換,連通B65170S6RH與DSP的數(shù)據(jù)通道。

圖1 接口電路示意圖

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

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

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

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

表1 DSP部分存儲(chǔ)空間分配表

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

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

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

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

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

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

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

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

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

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

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

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

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

2 實(shí)驗(yàn)驗(yàn)證與結(jié)果分析

2.1 實(shí)驗(yàn)系統(tǒng)組成

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

圖6 實(shí)驗(yàn)系統(tǒng)示意圖

通過測試設(shè)備上位機(jī)的人機(jī)交互界面,可以向星載信號(hào)處理機(jī)下發(fā)指令并接收其反饋的遙測信息。上位機(jī)軟件采用Lab View語言編程,作為面向用戶的圖形語言,其具有開發(fā)靈活、界面友好的特點(diǎn)[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)程序重新啟動(dòng)DSP。其中,每次注入數(shù)據(jù)的字節(jié)數(shù)是4的整數(shù)倍且不超過44字節(jié),界面上的內(nèi)存修改地址即為此次注入的在軌編程數(shù)據(jù)機(jī)器碼即將寫入DSP內(nèi)存空間的首地址,數(shù)據(jù)包長度由上位機(jī)自動(dòng)識(shí)別。內(nèi)存下載則需要輸入即將讀取的DSP內(nèi)存空間的首地址以及數(shù)據(jù)長度(不超過48字節(jié))。上位機(jī)在軌編程注數(shù)與內(nèi)存下載界面如圖7所示。

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

2.2 實(shí)驗(yàn)過程及結(jié)果分析

實(shí)驗(yàn)過程步驟如下:

a)將新功能程序orbit_progme_test2的80個(gè)字節(jié)內(nèi)存數(shù)據(jù)十六進(jìn)制機(jī)器碼分為2包,每包40個(gè)字節(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個(gè)字節(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,此時(shí)address1與jump_code2以隨機(jī)變量形式存在DSP中;

f)發(fā)送在軌編程啟用指令,DSP會(huì)將jump_code2寫入地址address1中以替換原來的jump_code1,并引導(dǎo)程序重新啟動(dòng)DSP從地址0x00000000開始運(yùn)行,當(dāng)運(yùn)行到address1時(shí)就會(huì)轉(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,且運(yùn)行周期穩(wěn)定,滿足設(shè)計(jì)要求。

3 結(jié)論

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

猜你喜歡
指令程序功能
聽我指令:大催眠術(shù)
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
試論我國未決羈押程序的立法完善
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
“程序猿”的生活什么樣
關(guān)于非首都功能疏解的幾點(diǎn)思考
英國與歐盟正式啟動(dòng)“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 无码中字出轨中文人妻中文中| 亚洲成av人无码综合在线观看| 呦视频在线一区二区三区| 国产一区二区三区在线精品专区| 欧美精品在线视频观看| 国产一区二区三区在线无码| 国产视频资源在线观看| 久久精品欧美一区二区| 伊人无码视屏| 国产黄色爱视频| 91青青草视频| 国产美女91视频| 欧美成人一区午夜福利在线| 久久情精品国产品免费| 亚洲精品免费网站| 麻豆国产原创视频在线播放 | 高潮爽到爆的喷水女主播视频| 麻豆精品在线视频| Aⅴ无码专区在线观看| 久久久久免费精品国产| 日韩精品毛片人妻AV不卡| 伊人精品视频免费在线| 亚洲性视频网站| 久久精品午夜视频| 欧美亚洲国产视频| 国产内射一区亚洲| 国产黄色片在线看| 永久免费精品视频| 免费无码网站| 免费视频在线2021入口| 四虎影视8848永久精品| 欧美午夜理伦三级在线观看| www.日韩三级| 亚洲日韩精品无码专区| 国产福利在线观看精品| 亚洲av无码成人专区| 久久精品国产999大香线焦| 午夜视频www| 美女扒开下面流白浆在线试听 | 欧美一级在线播放| 精品无码日韩国产不卡av | 国产欧美日韩专区发布| 国产无遮挡猛进猛出免费软件| 老熟妇喷水一区二区三区| 曰韩免费无码AV一区二区| 国产精品一区二区国产主播| 日本高清有码人妻| 一级不卡毛片| 国产毛片一区| 中文字幕久久波多野结衣| 亚洲美女一级毛片| 亚洲品质国产精品无码| 国产高潮视频在线观看| 久久无码免费束人妻| 婷婷五月在线| 国产区成人精品视频| 亚洲国产91人成在线| 精品国产网站| 色成人亚洲| 一级毛片免费观看久| 久无码久无码av无码| 国产精品入口麻豆| 国产精品手机在线观看你懂的 | 亚洲中文字幕国产av| 国产麻豆另类AV| 日韩人妻无码制服丝袜视频| 亚洲精品日产精品乱码不卡| 99久久精品美女高潮喷水| 亚洲男人天堂2018| 欧美日韩国产综合视频在线观看 | 国产成人AV男人的天堂| 国产无码精品在线播放| 欧美在线视频a| 亚洲高清资源| 91在线一9|永久视频在线| 国产欧美专区在线观看| 欧美午夜在线播放| 国产精品自拍露脸视频| 亚洲精品国产成人7777| 99精品高清在线播放| 久久公开视频| 人妻21p大胆|