摘 要:按照軟件工程的思想,運(yùn)用讀取代碼、驗(yàn)證代碼、備份代碼的方法備份系統(tǒng)軟件,通過對(duì)專用存貯芯片的代碼重寫,解決專用存貯介質(zhì)上軟件備份的難題,實(shí)現(xiàn)通用與專用存貯介質(zhì)的軟件備份,達(dá)到通用數(shù)字聲納平臺(tái)軟件備份研究的目的。為數(shù)字聲納裝備的軟件維護(hù),特別是軍用聲納裝備的戰(zhàn)場(chǎng)快速保障提供了借鑒參考,具有重要的現(xiàn)實(shí)意義。該文從軟硬件兩方面解決了專用存貯介質(zhì)上聲納軟件備份的難題;實(shí)現(xiàn)了多種文件系統(tǒng)及不同存貯格式上的系統(tǒng)軟件備份;在軟件備份研究中汲取了軟件工程的思想。
關(guān)鍵詞:數(shù)字聲納;軟件備份;存貯介質(zhì);存貯芯片
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004373X(2008)1808703
Research of Software Backup on a General Digital Sonar Platform
ZHU Yan1,JI Chenjie2,LIU Wangsuo1
(1.College of Electronic Engineering,Naval University of Engineering,Wuhan,430033,China;2.Army 91774 of Navy,Shanghai,200083,China)
Abstract:According to an idea of software engineering,system software backup is accomplished by the reading of codes,writing of codes and backup of codes.In order to settle the problem of special storage medium backup,by rewritting the codes of chips,research of software backup on a general digital sonar platform of general and special storage mediums is achieved.It offers references for software maintenance of digital sonar,especially fast safeguard of military sonar in a battlefield.The innovation points of this article include:settle the problem of special storage medium backup from software and hardware,achieve system software backup on multifile systems and different storage format,derive software engineering idea for research software backup.
Keywords:digital sonar;software backup;storage medium;storage chip
目前,我國聲納裝備基本實(shí)現(xiàn)數(shù)字化,電路以數(shù)字電路為主,各種控制關(guān)系、計(jì)算、顯示、檢測(cè)等均由軟件實(shí)現(xiàn)。盡管數(shù)字式電子產(chǎn)品的可靠性要比模擬器件高,但計(jì)算機(jī)控制系統(tǒng)作為電子產(chǎn)品,容易受到外界的影響,外界溫度、濕度、電壓波動(dòng)、電磁干擾都有可能使系統(tǒng)受到破壞,直接影響系統(tǒng)的正常使用,從而,軟件備份已成為提高系統(tǒng)可靠性的必要手段。近年來,軟件密集型聲納不斷涌現(xiàn),系統(tǒng)軟件備份技術(shù)已成為聲納裝備保障所面臨的一項(xiàng)重要課題。
1 軟件備份的內(nèi)涵及特點(diǎn)
軟件備份是指軟件交付用戶后,為預(yù)防軟件出錯(cuò)而進(jìn)行的一種預(yù)防性維護(hù)。軟件維護(hù)的一般過程是:首先分析系統(tǒng)的軟硬件組成,選擇合適可行的備份方法,接著維護(hù)人員按照該方法讀出軟件代碼、驗(yàn)證、加載、測(cè)試、完成后再交給用戶使用。
軟件備份包括4種不同的方式:糾錯(cuò)性備份、適應(yīng)性備份、完善性備份或增強(qiáng)、以及預(yù)防性備份。軟件備份是軟件產(chǎn)品的重要質(zhì)量保障,不僅有利于保證系統(tǒng)軟件的運(yùn)行,而且有助于及時(shí)發(fā)現(xiàn)軟件設(shè)計(jì)缺陷,同時(shí)對(duì)軟件備份技術(shù)的研究還可以作為更改設(shè)計(jì)或維護(hù)安排的依據(jù),指導(dǎo)軟件維護(hù)性的分析與設(shè)計(jì)。
2 數(shù)字聲納軟件備份技術(shù)的現(xiàn)狀
軟件工程要求:運(yùn)用系統(tǒng)的、規(guī)范的和可定量的方法開發(fā)、運(yùn)行和維護(hù)軟件。但是,數(shù)字聲
納系統(tǒng)軟件的開發(fā)、運(yùn)行和維護(hù)并未嚴(yán)格遵循這個(gè)要求。目前我國艦艇聲納系統(tǒng)軟件備份工作中存在的主要問題包括以下3個(gè)方面:
(1) 軟件配置不全,備份工作量大。好多聲納系統(tǒng)軟件由于在研制階段未嚴(yán)格按照軟件工程的要求進(jìn)行,軟件工程過程中配置項(xiàng)不全。對(duì)于這樣軟件的備份,要付出很大的代價(jià)。
(2) 軟件的技術(shù)水平低、備份工具少。在聲納軟件備份領(lǐng)域,關(guān)于技術(shù)和管理的研究非常匱乏,導(dǎo)致實(shí)際備份活動(dòng)中既沒有方法學(xué)的指導(dǎo),又缺乏自動(dòng)工具的支持。
(3) 軟件備份過程缺乏嚴(yán)格的管理。聲納系統(tǒng)軟件備份工作缺乏一套行之有效且能嚴(yán)格執(zhí)行的管理制度,與軟件開發(fā)階段的工程層次嚴(yán)重不匹配,給軟件質(zhì)量帶來了隱患。
3 基于通用數(shù)字聲納平臺(tái)下系統(tǒng)軟件的備份途徑
要保證軟件備份技術(shù)應(yīng)用于各型號(hào)數(shù)字聲納,應(yīng)充分考慮各類系統(tǒng)軟件的存儲(chǔ)介質(zhì)、接口類型以及文件格式等。下面從基于通用存貯介質(zhì)與基于專用存貯介質(zhì)2方面按照軟件工程的思想進(jìn)行分析,確保該軟件備份技術(shù)的通用性。
3.1 系統(tǒng)軟件備份的總體思路
軟件維護(hù)中的可恢復(fù)性維護(hù)適合軍用裝備保障的要求?;謴?fù)性保障是在軟件備份的基礎(chǔ)上,當(dāng)系統(tǒng)發(fā)生軟件破壞性故障時(shí)采用安裝程序?qū)ο到y(tǒng)進(jìn)行再安裝,從而迅速恢復(fù)原始軟件。目前,能夠在短時(shí)間內(nèi)完成恢復(fù)性保障的主要方法是將故障的器件用相同的器件替換。這種替換既包括系統(tǒng)軟件的存儲(chǔ)模塊或芯片的替換,也包括這種存儲(chǔ)模塊或芯片中所存儲(chǔ)內(nèi)容的替換。
軟件備份需要解決的主要問題有3方面:軟件(代碼)的讀出、讀出軟件的驗(yàn)證、軟件加載與功能測(cè)試。
(1) 軟件的讀出是一切工作的基礎(chǔ),軟件的讀出方法視不同的硬件系統(tǒng)而不同。
(2) 對(duì)于讀出軟件的有效性必須進(jìn)行驗(yàn)證,驗(yàn)證的方法不可能是將其寫回原系統(tǒng),必須建立一個(gè)仿真環(huán)境進(jìn)行驗(yàn)證。
(3) 對(duì)已通過驗(yàn)證的軟件,還要解決一個(gè)軟件加載的問題,對(duì)于采用了可讀寫存儲(chǔ)器件的系統(tǒng)來說,可以直接寫入;對(duì)于一次性的芯片或模塊,則需要對(duì)新的芯片進(jìn)行處理。
3.2 系統(tǒng)軟件代碼的讀出方式
由于不同型號(hào)數(shù)字聲納裝備分別采用了DOS,Windows XP 和Linux等不同的操作系統(tǒng),導(dǎo)致文件系統(tǒng)也不相同。下面對(duì)各文件系統(tǒng)進(jìn)行分析,選擇滿足通用數(shù)字聲納平臺(tái)的代碼讀出方式。文件系統(tǒng)主要有以下幾種格式:
(1) FAT16。FAT的全稱是“File Allocation Table”(文件分配表系統(tǒng)),其可以被多種操作系統(tǒng)訪問,如MSDOS,Windows所有系列和O1S/2等;
(2) FAT32。FAT32是FAT16文件系統(tǒng)的派生,比 FAT16 支持更小的簇和更大的分區(qū);
(3) NTFS。NTFS(New Technology File System)是Microsoft Windows NT的標(biāo)準(zhǔn)文件系統(tǒng),但Windows95/98/98SE和Me版都不能識(shí)別NTFS文件系統(tǒng);
(4) Ext2。這是Linux中使用最多的一種文件系統(tǒng)。
由于數(shù)字聲納中多種文件系統(tǒng)的存在,導(dǎo)致簇與分區(qū)的格式有較大的區(qū)別,單一的操作系統(tǒng)無法識(shí)別所有分區(qū),專用工具軟件GHOST,DM,PARTMAGIC等不能完成電子盤的分區(qū)和數(shù)據(jù)備份。但電子盤的數(shù)據(jù)最小單元扇區(qū)是統(tǒng)一的,因此,采用扇區(qū)讀寫的方式可完成軟件備份。具備外部接口的系統(tǒng),可以通過連接PC機(jī)進(jìn)行讀寫,可拔插的存儲(chǔ)器件,如EPROM,F(xiàn)LASH、固態(tài)硬盤等,可以拔下來,采用通用的讀卡設(shè)備讀出存儲(chǔ)器件中的內(nèi)容,焊接在電路板上的采用在線可編程技術(shù)的芯片,讀出其中的內(nèi)容則必須通過專用的工具。
3.3 系統(tǒng)軟件的代碼驗(yàn)證
驗(yàn)證工作可分為開發(fā)環(huán)境驗(yàn)證和艦艇驗(yàn)證。
3.3.1 開發(fā)環(huán)境驗(yàn)證
在開發(fā)環(huán)境上,對(duì)軟件進(jìn)行有效性驗(yàn)證,主要分以下幾個(gè)步驟:
(1) 搭建與原系統(tǒng)相同的軟、硬件仿真平臺(tái);
(2) 明確原系統(tǒng)的聲納信息產(chǎn)生辦法和誤差特性,用于原系統(tǒng)和開發(fā)環(huán)境的運(yùn)行結(jié)果進(jìn)行比較;
(3) 在原系統(tǒng)上統(tǒng)計(jì)出目標(biāo)運(yùn)動(dòng)要素解算精度,用于與讀出軟件的解算精度進(jìn)行比較;
(4) 利用聲納模擬器對(duì)讀出的軟件進(jìn)行目標(biāo)運(yùn)動(dòng)要素解算,統(tǒng)計(jì)解算結(jié)果,與原系統(tǒng)的解算精度進(jìn)行比較。
經(jīng)過以上步驟后,可初步驗(yàn)證讀出軟件的有效性。
3.3.2 艦艇驗(yàn)證
(1) 通道正確性檢查。檢查讀出的軟件與聲納、導(dǎo)航、雷達(dá)、魚雷及導(dǎo)彈等器件之間的信息、命令等是否正確;
(2) 軟件有效性驗(yàn)證。用原系統(tǒng)聲納發(fā)送的信息,對(duì)讀出的軟件進(jìn)行目標(biāo)運(yùn)動(dòng)要素解算,統(tǒng)計(jì)解算結(jié)果,與原有軟件的解算精度進(jìn)行比較,從而可驗(yàn)證讀出軟件的有效性,保證讀出軟件的性能沒有下降。
只有經(jīng)過實(shí)驗(yàn)室驗(yàn)證和艦艇驗(yàn)證后,才能保證軟件的有效性。
3.4 基于通用存貯介質(zhì)的系統(tǒng)軟件備份
針對(duì)基于通用存貯介質(zhì)(CF卡和PCMCIA卡等)的軟件,雖然具體介質(zhì)不同,但可采用相同的軟件備份方法:不同容量的通用存貯介質(zhì),采用通用讀卡器可對(duì)其進(jìn)行讀寫,但某些卡中采用了多種文件系統(tǒng),單一操作系統(tǒng)或工具軟件無法識(shí)別所有分區(qū),通過專用軟件并使用同容量的通用存貯介質(zhì)可完成分區(qū)和數(shù)據(jù)備份。如果采用大容量的卡進(jìn)行替代,須對(duì)其容量數(shù)據(jù)或系統(tǒng)自檢參數(shù)進(jìn)行修改。
3.5 基于專用存貯介質(zhì)的系統(tǒng)軟件備份
除了通用的可插拔存貯介質(zhì)外,一些系統(tǒng)軟件直接固化在專用存貯卡或元件上,一般是固化在ROM或FLASH ROM中。
3.5.1 專用存貯卡電路改動(dòng):
針對(duì)目前一些專用存貯卡較難用相同型號(hào)存貯卡進(jìn)行替換的現(xiàn)狀,可通過對(duì)通用存貯卡芯片進(jìn)行電路改動(dòng),進(jìn)而實(shí)現(xiàn)軟件備份?,F(xiàn)以E28F008SA存貯芯片為例,研究其電路設(shè)計(jì)并進(jìn)行改動(dòng)。通過對(duì)含處理器板在內(nèi)的各信號(hào)進(jìn)行分析,這里采用目前廣泛應(yīng)用的存貯芯片E28F016SA進(jìn)行電路設(shè)計(jì)。28F016SA相對(duì)于28F008SA主要在以下方面存在不同:
28F016SA的工作電源可選擇3.3 V和5 V,而28F008SA只能應(yīng)用5 V電源;
28F016SA可選擇數(shù)據(jù)位8位和16位,而28F008SA只能應(yīng)用8位數(shù)據(jù)線;
28F016SA是1.2 mm×14 mm×20 mm 56Lead TSOP封裝;
比較28F008SA和28F016SA的電特性以及其讀寫操作時(shí)序,28F016SA完全可以代替28F008SA,且硬件設(shè)計(jì)更靈活。
3.5.2 專用存貯卡軟件備份
編程器采用FPGA集成電路作為地址發(fā)生器,根據(jù)計(jì)算機(jī)I/O控制信號(hào)生成控制邏輯,對(duì)存貯器進(jìn)行讀寫;采用C++高級(jí)語言編程,對(duì)讀寫的二進(jìn)制碼進(jìn)行轉(zhuǎn)換、存盤和校驗(yàn)。如圖1所示。
編程器信號(hào)流程(如圖2所示)讀卡器通電后2864迅速完成對(duì)FPGA 的配置;運(yùn)行主控計(jì)算機(jī)里的讀數(shù)據(jù)程序,程序產(chǎn)生相應(yīng)的控制信號(hào)和地址信號(hào),其中控制信號(hào)用完成對(duì)讀卡器的初始化和控制讀數(shù)據(jù)的規(guī)則,地址信號(hào)是對(duì)應(yīng)于專用存貯卡上的E28F016SA和F28F016SA兩種存貯芯片的地址;完成對(duì)存貯卡的操作后卡存貯芯片的數(shù)據(jù)由數(shù)據(jù)通道經(jīng)接口單元傳入XC3042,簡(jiǎn)單處理后傳入主控計(jì)算機(jī),計(jì)算機(jī)在相應(yīng)位置顯示獲取到的數(shù)據(jù),數(shù)據(jù)可由打印機(jī)輸出或主控計(jì)算機(jī)自動(dòng)存入數(shù)據(jù)庫。
所有的信號(hào),包括來自主控計(jì)算機(jī)和專用存貯卡的信號(hào),均要經(jīng)由FPGA協(xié)調(diào)處理后才發(fā)生作用。協(xié)調(diào)用的時(shí)鐘信號(hào)可以由主控計(jì)算機(jī)控制或直接由讀卡器的晶體振蕩器發(fā)生,進(jìn)而完成編譯器的芯片改寫。編程器的編程流程圖如圖2所示。
由此可見,基于專用存貯介質(zhì)的系統(tǒng)軟件可以通過其他專用存貯介質(zhì)的芯片改寫實(shí)現(xiàn)所存貯內(nèi)容的備份,完成系統(tǒng)軟件備份。
4 結(jié) 語
隨著軍事裝備復(fù)雜化、體系化、高科技化趨勢(shì)日益顯著以及數(shù)字聲納的不斷涌現(xiàn),聲納裝備軟件將成為裝備保障的重點(diǎn),軟件備份技術(shù)將越來越被重視。這里按照軟件工程原理,總結(jié)出一套基于通用數(shù)字聲納平臺(tái)的軟件備份方法,提高了數(shù)字聲納在各種復(fù)雜環(huán)境下的可靠性,為解決數(shù)字聲納軟件保障提供了參考依據(jù)。但新型裝備的軟件保障尚存在諸多復(fù)雜的技術(shù)問題亟待解決,必須進(jìn)一步加強(qiáng)研究。
參 考 文 獻(xiàn)
[1]\\Leszek A.Macia.實(shí)用軟件工程\\.北京:機(jī)械工業(yè)出版社,2007.
[2]曾建潮.軟件工程\\.武漢: 武漢理工大學(xué)出版社,2003.
[3]\\Shari Lawrence P.軟件工程理論與實(shí)踐\\.北京: 清華大學(xué)出版社,2003.
[4]秦英孝.可靠性·維修性·保障性概論\\.北京: 國防工業(yè)出版社,2002.
[5]宋太亮.裝備保障性工程\\.北京: 國防工業(yè)出版社,2002.
[6]高連華.裝備系統(tǒng)設(shè)計(jì)與保障性\\.北京: 國防工業(yè)出版社,1993.
作者簡(jiǎn)介 朱 巖 男,1980年出生,黑龍江大興安嶺人,碩士研究生。研究方向?yàn)槁暭{裝備保障技術(shù)。
季陳杰 男,1982年出生,江蘇南通人,碩士研究生。主要從事通信與信息系統(tǒng)軟件開發(fā)。
劉旺鎖 男,1964年出生,江蘇連云港人,副教授。主要從事艦船電子裝備保障研究工作。