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

基于多次加載方案的嵌入式飛控軟件在線升級方法

2016-12-14 03:33:07黃彥勃魯興舉郭鴻武
無線電工程 2016年12期
關鍵詞:程序

黃彥勃,魯興舉,郭鴻武

(國防科技大學 機電工程與自動化學院,湖南 長沙 410073)

?

基于多次加載方案的嵌入式飛控軟件在線升級方法

黃彥勃,魯興舉,郭鴻武

(國防科技大學 機電工程與自動化學院,湖南 長沙 410073)

在以DSP為核心的飛行器控制系統使用和維護過程中,經常需要對其嵌入式軟件進行在線升級。通過JTAG接口進行軟件升級的方式在飛控組件裝機后變得非常不方便。研究了通過串行接口進行飛控軟件在線升級的方法,基于DSP多次加載方案和雙重校驗機制在TMS320C6713B DSP系統上實現了飛控代碼遠距離、可靠的燒錄和自啟動,驗證了方法的有效性。

DSP;飛控軟件;串行接口;多次加載方案;在線升級

0 引言

現代飛行器所要完成的任務越來越復雜,其飛行控制方式由遙控飛行向自主飛行和智能飛行發展,對飛行控制系統也提出了多功能、低成本、高精度和小型化的設計要求。DSP(Digital Signal Processor)作為一種高性能、低功耗、實時性高且支持高級語言開發的處理器,成為飛行控制計算機的首選[1]。以DSP為核心的飛控軟件開發過程中,常常使用仿真器通過JTAG(Joint Test Action Group )接口進行在線調試與加載。采用這種方法,程序載入速度快、連線簡單,在分系統調試和各系統功能驗證時非常方便。但在飛控系統整機試驗、外場試驗等環境下就暴露了它的弊端:由于JTAG信號是TTL電平,隨著傳輸距離的增加,其信號變形會加劇,這就要求仿真器與DSP必須近距離連接。若產品已經組裝好,就不得不進行拆分,近距離接上仿真器才能實現軟件調試與上傳升級。而拆分產品這一過程會給整個系統帶來很多隱患,所以簡化這一過程,降低軟件調試與升級的風險顯得尤為重要。此外,對于已經交付的飛控系統,也會有在線升級軟件的需求。

針對DSP嵌入式軟件在線升級這一需求,人們提出了多種可行的解決方案,包括通過串口[2-3]、PCI總線[4]、以太網[5]和USB總線[6]等接口進行DSP軟件的遠程更新。文獻[7]中介紹了C6000系列DSP的二次加載方案,著重分析了各類DSP在二次加載時的方式與方法。文獻[8]中進行了TMS320C641X系列DSP引導方法的研究,著重探討了ROM引導與HPI(Host Port Interface)引導。文獻[9]針對DSP在線燒寫程序通用性不強的現象,從存儲空間配置等方面出發設計了具有可快速移植的在線燒寫程序。目前通過串口燒寫用戶程序存在一些技術限制:① 駐留程序代碼容量受限,導致功能有限,比如有的無法對燒錄進入FLASH中數據的正確性進行實時反饋;有的在結束時校驗了程序體積,無法實時計算每一幀的校驗和;② DSP片內資源有限,導致在串口通信的實現上比較繁瑣等。

本文針對現有技術的不足,在DSP+FPGA的硬件架構下,基于多次加載方案設計了與飛控軟件獨立的駐留升級軟件;基于雙重校驗機制實現了飛控軟件的串口在線升級。

1 系統軟硬件結構

1.1 硬件組成

本文使用TI公司的TMS320C6713B DSP處理器(以下簡稱C6713),通過數據、地址總線完成與FPGA的通信,是實現系統數模轉換、數據加工和用戶控制算法程序運行的硬件平臺。由于C6713自帶的接口資源不豐富,但具有很強的可擴展性,所以使用FPGA實現外圍接口的擴展設計出DSP+FPGA的硬件結構。FPGA使用XiLinx公司的XC3S1000-4FT256I(以下簡稱XC3S1000),利用其硬件資源實現對C6713的硬件資源擴展。由于C6713上沒有提供異步串行接口,只有同步串行接口,因而使用FPGA建立UART(通用異步串行接口)與地面站通信,然后通過數據、地址總線完成DSP對FLASH存儲器的讀寫操作。基于串口的飛控軟件上傳系統結構如圖1所示。

圖1 基于串口的飛控軟件上傳系統結構

1.2 軟件結構設計

目前有2種實現方案:① 將支持軟件下載的模塊與飛控軟件的功能模塊合并在一個程序中,通過設置飛控系統的狀態來控制軟件的功能;② 將上述2個模塊分置于2個程序,通過運行指針跳轉實現程序切換。

由于飛控軟件自身具有多功能性、高集成性和高穩定性的特點,所以在飛控軟件設計時應盡可能保持飛控軟件功能的專用性。因此,為保證飛控軟件的穩定性以及軟件上傳的可靠性采用駐留軟件與飛控軟件相獨立設計的方案。駐留軟件主要功能是實現飛控軟件代碼的接收及燒錄功能。為確保燒錄可靠性,在燒錄模塊中采用2次校驗機制。駐留軟件結構如圖2所示。

圖2 駐留軟件結構

飛控軟件的功能主要體現在2個方面:① 飛行控制,使飛行器按照預先設定的姿態角、高度、航線和航向等信息來改變飛機的飛行姿態和航跡,并使飛行器在空中保持穩定的飛行姿態和航跡;② 飛行管理,主要完成飛行參數的采集、導航數據計算、故障的診斷、應急情況的處理、無線通信、外部任務設備的管理和控制等工作[10]。飛控軟件結構如圖3所示。

圖3 飛控軟件結構

2 飛控軟件在線升級方案設計

2.1 基于多次加載方案的嵌入式軟件在線升級原理

以TI DSP C6713B為例,其加載方式有主機(Host)加載、仿真(Emulation)加載和EMIF加載3種。主機加載是由外部主機通過HPI初始化CPU的存儲空間,在完成初始化工作之后通過HPI中斷結束導引過程,CPU退出復位狀態[11]。仿真加載是通過仿真器來設置DSPINT,使CPU在0地址處執行命令。EMIF加載是通過EDMA控制器將外部ROM中的一段固定大小的代碼(通常為Bootloader)復制到內部RAM中加載完成后CPU開始從0地址執行。

由于駐留軟件和飛控軟件均存儲在外部ROM中,通過各自的Bootloader實現自啟動,因此,本文在EMIF加載方式的基礎上,擴展形成多次加載方式。加載啟動過程如圖4所示。

圖4 基于多次加載的飛控軟件啟動過程

具體步驟如下:① 使用DSP燒寫軟件將DSP駐留程序燒寫進FLASH,待DSP下電重啟復位后,DSP自動搬移FLASH始端的駐留軟件的Bootloader至RAM中,然后Bootloader再將存儲在FLASH中的駐留程序搬移至DSP內部RAM中運行,完成駐留軟件的啟動;② 駐留軟件等待用戶上傳飛控軟件,若在45 s內收到從地面站發來的飛控軟件代碼則駐留程序啟動燒錄功能,將上傳的飛控軟件燒寫進FLASH中,若沒有收到則自動跳轉至指定的飛控軟件的Bootloader起始地址執行;③ 通過飛控軟件Bootloader啟動飛控軟件。若沒有飛控程序可以執行則CPU進入IDLE狀態。若系統已有飛控程序且無需上傳新的飛控程序時可通過PC端發送啟動飛控程序的指令直接運行飛控程序不在需要等待45 s。

2.2 存儲空間分配

多次加載方案要求在FLASH中存儲2個軟件,分別為DSP駐留軟件和飛控軟件。2個軟件燒錄的方式如下:首先通過仿真器將駐留程序燒寫至FLASH地址0x90000000處,給駐留軟件預留的空間為256 K即對應FLASH地址為0x90000000-0x9003FFFF;通過駐留軟件燒錄的飛控軟件代碼儲存在FLASH中的地址為0x90040000-0x901DFFFF。程序在加載時先將駐留程序搬移CPU零地址處運行,駐留程序的BOOT段位于RAM的零地址,中斷向量表位于0x00000400處,飛控軟件的BOOT段位于0x00005000處,中斷向量表位于0x00005400處。故飛控軟件向DSP搬移的起始地址為0x00005400。具體FLASH與片內RAM的使用情況如圖5和圖6所示。

圖5 FLASH存儲空間使用情況

圖6 DSP片內RAM使用情況

2.3 DSP在線升級串口設計

飛控軟件在線升級串口設計包括物理鏈路層和通訊協議層兩方面內容。

本文的飛控系統通過RS-422接口與地面站進行通訊。具體通信方式采用全雙工模式,傳輸波特率為921.6 kbps,幀長度為210 bytes,發送端和接收端之間采用光耦隔離。

在設計通信協議時,考慮到數據可能受到干擾,必須采取相應的措施保證駐留軟件接收和燒錄飛控程序代碼時的可靠性。

干擾大致可分為2類:

① 通信傳輸過程中的干擾;

② 飛控計算機可能受到的電磁干擾。

由干擾產生的錯誤類型則大致分為3類:

① 隨機錯誤,即代表傳輸信息的二進制碼發生“0”“1”相互反轉,且概率相等,錯誤位置隨機,錯誤發生事件相互獨立;

② 突發錯誤,特點為錯誤的二進制碼之間具有較強的關聯性,一旦突發,若干位將一起出錯,存儲器錯誤具有該特征;

③ 單向錯誤,即每個二進制碼元發生“0”“1”反轉的概率相等,但這2種錯誤不在同一組數據中同時發生[12]。

為確保地面站與飛控系統之間的通信可靠性,本文設計了雙重校驗機制,具體如下:

① 上傳飛控程序由地面站單向發起。地面站每發送一個幀到飛控系統后等待飛控系統反饋數據并進行比對,校驗正確后地面站再發送下一幀數據。如果數據有誤則重發該幀。

② 飛控系統在確認數據幀接收正確后開始數據幀燒寫,并在完成每一幀的燒寫之后,進行回讀和比對,然后向地面站反饋數據燒寫狀態。一旦狀態異常則地面站重發該幀數據,飛控系統再次進行接收和燒寫。

2.4 DSP駐留軟件詳細設計

駐留軟件的任務是:從地面站接收命令以及飛控代碼文件;對接收到的代碼進行正確性校驗,完成飛控代碼的燒錄;控制CPU向飛控軟件跳轉。

DSP駐留軟件設計的難點在于:① 完成大規模數據穩定傳輸的同時,保證FLASH燒寫的正確性;② 實現從駐留軟件到飛控軟件的跳轉并實現飛控軟件的自啟動,跳轉方式包括計時自動跳轉與授命跳轉;③ 盡量壓縮程序體積,給飛控軟件留有更大的空間。

如前所述,駐留軟件采用了與飛控軟件分離設計的方案,其具體實現為:在駐留程序啟動后首先判斷是否收到燒寫用戶程序的指令。收到指令后駐留程序進入燒寫模式,首先將收到的數據進行校驗并向地面站報文;其次為了提高傳輸效率在燒寫第一幀數據前先將FLASH扇區進行擦除以方便后續幀的燒寫;最后將接收到的校驗正確的每一幀數據燒寫進FLASH中,并從FLASH中回讀與接收到的原始數據進行校驗,并向地面站報文。駐留軟件根據通信協議中的結束幀來判斷用戶程序上傳結束。2次校驗均根據通信協議建立數據幀錯誤重發機制,最多允許一幀數據連續錯誤3次。飛控軟件在線升級流程圖如圖7所示。

跳轉模塊用于實現從駐留軟件向飛控軟件跳轉。常見的實現跳轉功能的方式有2種:① 通過設計外部開關量來實現遠程加載模式和正常運行模式的切換[2];② 通過設計軟件時間窗來實現程序的跳轉。方案1由于存在占用有限I/O資源以及在應用中可能出現誤操作等風險本文將采用方案2中的軟件時間窗跳轉方案。該功能的具體實現方案為:等待45 s,若在45 s內收到執行飛控軟件命令則直接跳過剩余時間直接運行飛控軟件,或是在45 s內收到從地面站傳來的飛控軟件則執行上傳功能;如果在45 s內沒有收到任何指令,則運行飛控軟件。運行程序時將飛控軟件的Bootloader搬入DSP并將CPU運行指針指向用戶Bootloader程序搬入后的首地址。軟件實現時使用了C語言和匯編語言的混合編程。

圖7 飛控軟件在線升級流程

2.5 地面站軟件設計

地面站軟件負責對整個飛控系統的硬、軟件進行檢測及升級維護。其中,升級維護模塊負責飛控軟件的在線升級,其主要功能包括串口配置、與目標機C6713駐留軟件進行指令和數據傳輸等。

在進行飛控軟件在線升級時,將生成好的十六進制形式的飛控軟件代碼逐幀發送給DSP駐留軟件,并接收傳回的幀校驗信息,在必要時進行幀重發。升級完成后,飛控系統下電即可完成軟件升級過程。

由于駐留軟件啟動后存在45 s的升級等待時間窗,地面站可通過指令啟動飛控跳轉,從而提前使DSP向飛控軟件跳轉。

3 試驗驗證

在實際中,利用不同批次的飛控計算機產品進行了多次飛控軟件上傳和燒寫試驗,以驗證本文方法的可行性和可靠性。試驗用飛控計算機主板如圖8所示。

通過RS-422串口上傳飛控軟件過程如圖9所示,其中綠線為飛控代碼幀。總的飛控代碼體積為 210 KB左右,在線燒寫耗時為170±5 s。在實驗過程中,地面站軟件偶爾出現回傳數據校驗出錯的提示,經過重發再校驗后糾正了錯誤;而燒寫過程全部成功,沒有出現過錯誤。試驗證明雙重校驗機制提高了飛控軟件通過串口在線上傳的成功率,并通過數據接收成功和數據燒錄正確2個提示增強操作人員的信心。

圖8 試驗用飛控板

圖9 飛控軟件代碼上傳時的數據幀(最下方的波形)

在完成飛控軟件升級后,系統即可斷電重啟,在等待時間窗內,DSP收到從地面站發來的啟動用戶軟件指令之后,便可跳轉并啟動飛控軟件。通過CCS開發環境中的時鐘統計功能,可以得到飛控軟件跳轉及啟動耗時380±3 ms。

4 結束語

本文針對DSP+FPGA嵌入式系統的程序在線升級問題,設計了一種通過RS-422串行接口的上傳和燒錄方案。在系統上電后的時間窗內,駐留軟件可從串口接收地面站上傳的飛控軟件代碼,并在燒寫成功后利用多次加載方式實現飛控軟件的跳轉和啟動。這種方案避免了通過拆機方式進行程序升級的困難,降低了系統的維護成本,對飛控系統開發及其他嵌入式應用系統的設計具有一定參考價值。

[1] 古新宇,李宗伯.基于雙DSP架構的微小型無人機飛控系統[J].兵工自動化2010,28(8):79-85.

[2] 許少尉,劉 碩,景德勝.基于TMS320C6713B的遠程軟件加載設計與實現[J].航空計算技術,2013,43(4):122-128.

[3] 李聲飛.基于串口通信的DSP程序動態加載技術[J].電訊技術,2011,51(6):121-124.

[4] 劉 宇,劉治斌,朱秀林.基于PCI總線的DSP系統應用程序的更新[J].現代電子技術,2013,36(6):113-117.

[5] 王 敏,黃戰華,孫秋實.DSP系統程序遠程更新的研究與實現[J].計算機工程與應用,2012,48(8):109-111.

[6] 吳海燕,張曉玲.一種基于TMS320C6000系列芯片的多DSP 程序動態加載方案[J].電子元器件應用,2008(12):17-19.

[7] 龍小民,王 維.一種基于DSP的二次加載程序方法[J].數據采集與處理,2012,27(S2):393-395.

[8] 黃 康.TMS320C641X系列DSP引導方法研究[J].現代電子技術,2010(21):207-209.

[9] 龔松顯,王光輝,陳 勇.DSP在線燒寫程序的可移植性設計[J].單片機與嵌入式系統應用,2013(8):29-31.

[10] HE Qing-hua,YANG Min.Design of a Small UAV Flight Control System Based on DSP[J].2008,36(1):254-257.

[11] TI.TMS3206713/6713BFloating Point Digital Signal Processors[M].USA:Texas Instrument,2004.

[12] 何國偉,王 緯.軟件可靠性[M].北京:國防工業出版,1998.

[13] WOLFW.Computers as Components: Principles of Embedded Computing System Design(第2版)[M].北京:機械工業出版社,2009.

[14] 張雄偉,曹鐵勇.DSP芯片的原理與開發應用[M].北京:電子工業出版社,2001.

[15] 任麗香.TMS320C6000系列DSPs芯片的原理與應用[M].北京:電子工業出版社,2000.

黃彥勃 男,(1991—),碩士研究生。主要研究方向:飛行器制導與控制。

魯興舉 男,(1978—),博士,講師。主要研究方向:飛行器制導與控制。

An Online Upgrade Method of Embedded Flight Control Software Based on Multiple Loading Design

HUANG Yan-bo,LU Xing-ju,GUO Hong-wu

(CollegeofMechatronicEngineeringandAutomation,NationalUniversityofDefenseTechnology,ChangshaHu’nan410073,China)

The online upgrade is always needed for embedded control software in the process of using and maintaining a DSP-core flight control system.One way of software upgrade is realized by Joint Test Action Group(JTAG) interface,but this method has great inconvenience after flight equipment assembled.This paper studies an online upgrade method for flight control software through serial interface.Based on DSP’s multiple loading design and double checking mechanism,the code is burned and self-started remotely and reliably on TMS320C6713B DSP system,and the availability of this method is proved.

DSP;flight control software;serial interface;multiple loading design;online upgrade

10.3969/j.issn.1003-3106.2016.12.18

黃彥勃,魯興舉,郭鴻武.基于多次加載方案的嵌入式飛控軟件在線升級方法[J].無線電工程,2016,46(12):73-77.

2016-08-29

國家自然科學基金資助項目(61403407)。

TN391.4

A

1003-3106(2016)12-0073-05

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 亚洲美女操| 国产日韩欧美视频| 欧美激情网址| 欧美日韩专区| 国产极品嫩模在线观看91| 欧美日本激情| 国产一级无码不卡视频| 特级毛片8级毛片免费观看| 成人欧美日韩| 日韩午夜福利在线观看| 亚洲精品不卡午夜精品| 欧美日韩激情| 美女免费黄网站| 亚洲欧洲日韩综合色天使| 亚洲国产av无码综合原创国产| 老司机精品久久| 一区二区无码在线视频| 欧美日韩精品在线播放| 免费看的一级毛片| 日本不卡在线播放| 日韩av无码精品专区| 无码久看视频| 自拍亚洲欧美精品| 天堂在线视频精品| 午夜精品影院| 亚洲妓女综合网995久久| 伊人色在线视频| 18禁黄无遮挡网站| 国产永久在线观看| 色综合久久无码网| 视频一区视频二区中文精品| 免费欧美一级| 亚洲成aⅴ人片在线影院八| 国产大全韩国亚洲一区二区三区| 亚洲视频免费在线看| 欧美亚洲国产精品第一页| 在线免费看片a| av色爱 天堂网| 亚洲av综合网| 国产精品夜夜嗨视频免费视频| 亚洲精品在线观看91| 国模沟沟一区二区三区| 波多野结衣国产精品| 国产网站免费| 欧美不卡在线视频| 亚洲乱码在线播放| 国产va视频| 就去色综合| 67194在线午夜亚洲 | 亚洲色图综合在线| 国产福利在线观看精品| 天堂成人av| 久热re国产手机在线观看| 国产无码在线调教| 性视频一区| 国产精品综合久久久| 久久婷婷六月| 日韩123欧美字幕| 亚洲天堂2014| www.亚洲天堂| 国产午夜精品鲁丝片| 亚洲美女高潮久久久久久久| 国产精品自在拍首页视频8| 91久久性奴调教国产免费| 亚洲AV无码不卡无码 | 国产特一级毛片| 91探花在线观看国产最新| 亚洲精品中文字幕无乱码| 久久久精品无码一区二区三区| 国产精品手机在线观看你懂的| 国产精女同一区二区三区久| 综合成人国产| 四虎永久免费在线| 天天做天天爱天天爽综合区| 精品福利国产| av色爱 天堂网| 国产国语一级毛片| 又黄又爽视频好爽视频| 亚洲综合色婷婷| 玩两个丰满老熟女久久网| 97se综合| 成人韩免费网站|