摘 要:按照軟件工程的思想,運用讀取代碼、驗證代碼、備份代碼的方法備份系統軟件,通過對專用存貯芯片的代碼重寫,解決專用存貯介質上軟件備份的難題,實現通用與專用存貯介質的軟件備份,達到通用數字聲納平臺軟件備份研究的目的。為數字聲納裝備的軟件維護,特別是軍用聲納裝備的戰場快速保障提供了借鑒參考,具有重要的現實意義。該文從軟硬件兩方面解決了專用存貯介質上聲納軟件備份的難題;實現了多種文件系統及不同存貯格式上的系統軟件備份;在軟件備份研究中汲取了軟件工程的思想。
關鍵詞:數字聲納;軟件備份;存貯介質;存貯芯片
中圖分類號:TP311 文獻標識碼:A 文章編號: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
目前,我國聲納裝備基本實現數字化,電路以數字電路為主,各種控制關系、計算、顯示、檢測等均由軟件實現。盡管數字式電子產品的可靠性要比模擬器件高,但計算機控制系統作為電子產品,容易受到外界的影響,外界溫度、濕度、電壓波動、電磁干擾都有可能使系統受到破壞,直接影響系統的正常使用,從而,軟件備份已成為提高系統可靠性的必要手段。近年來,軟件密集型聲納不斷涌現,系統軟件備份技術已成為聲納裝備保障所面臨的一項重要課題。
1 軟件備份的內涵及特點
軟件備份是指軟件交付用戶后,為預防軟件出錯而進行的一種預防性維護。軟件維護的一般過程是:首先分析系統的軟硬件組成,選擇合適可行的備份方法,接著維護人員按照該方法讀出軟件代碼、驗證、加載、測試、完成后再交給用戶使用。
軟件備份包括4種不同的方式:糾錯性備份、適應性備份、完善性備份或增強、以及預防性備份。軟件備份是軟件產品的重要質量保障,不僅有利于保證系統軟件的運行,而且有助于及時發現軟件設計缺陷,同時對軟件備份技術的研究還可以作為更改設計或維護安排的依據,指導軟件維護性的分析與設計。
2 數字聲納軟件備份技術的現狀
軟件工程要求:運用系統的、規范的和可定量的方法開發、運行和維護軟件。但是,數字聲
納系統軟件的開發、運行和維護并未嚴格遵循這個要求。目前我國艦艇聲納系統軟件備份工作中存在的主要問題包括以下3個方面:
(1) 軟件配置不全,備份工作量大。好多聲納系統軟件由于在研制階段未嚴格按照軟件工程的要求進行,軟件工程過程中配置項不全。對于這樣軟件的備份,要付出很大的代價。
(2) 軟件的技術水平低、備份工具少。在聲納軟件備份領域,關于技術和管理的研究非常匱乏,導致實際備份活動中既沒有方法學的指導,又缺乏自動工具的支持。
(3) 軟件備份過程缺乏嚴格的管理。聲納系統軟件備份工作缺乏一套行之有效且能嚴格執行的管理制度,與軟件開發階段的工程層次嚴重不匹配,給軟件質量帶來了隱患。
3 基于通用數字聲納平臺下系統軟件的備份途徑
要保證軟件備份技術應用于各型號數字聲納,應充分考慮各類系統軟件的存儲介質、接口類型以及文件格式等。下面從基于通用存貯介質與基于專用存貯介質2方面按照軟件工程的思想進行分析,確保該軟件備份技術的通用性。
3.1 系統軟件備份的總體思路
軟件維護中的可恢復性維護適合軍用裝備保障的要求?;謴托员U鲜窃谲浖浞莸幕A上,當系統發生軟件破壞性故障時采用安裝程序對系統進行再安裝,從而迅速恢復原始軟件。目前,能夠在短時間內完成恢復性保障的主要方法是將故障的器件用相同的器件替換。這種替換既包括系統軟件的存儲模塊或芯片的替換,也包括這種存儲模塊或芯片中所存儲內容的替換。
軟件備份需要解決的主要問題有3方面:軟件(代碼)的讀出、讀出軟件的驗證、軟件加載與功能測試。
(1) 軟件的讀出是一切工作的基礎,軟件的讀出方法視不同的硬件系統而不同。
(2) 對于讀出軟件的有效性必須進行驗證,驗證的方法不可能是將其寫回原系統,必須建立一個仿真環境進行驗證。
(3) 對已通過驗證的軟件,還要解決一個軟件加載的問題,對于采用了可讀寫存儲器件的系統來說,可以直接寫入;對于一次性的芯片或模塊,則需要對新的芯片進行處理。
3.2 系統軟件代碼的讀出方式
由于不同型號數字聲納裝備分別采用了DOS,Windows XP 和Linux等不同的操作系統,導致文件系統也不相同。下面對各文件系統進行分析,選擇滿足通用數字聲納平臺的代碼讀出方式。文件系統主要有以下幾種格式:
(1) FAT16。FAT的全稱是“File Allocation Table”(文件分配表系統),其可以被多種操作系統訪問,如MSDOS,Windows所有系列和O1S/2等;
(2) FAT32。FAT32是FAT16文件系統的派生,比 FAT16 支持更小的簇和更大的分區;
(3) NTFS。NTFS(New Technology File System)是Microsoft Windows NT的標準文件系統,但Windows95/98/98SE和Me版都不能識別NTFS文件系統;
(4) Ext2。這是Linux中使用最多的一種文件系統。
由于數字聲納中多種文件系統的存在,導致簇與分區的格式有較大的區別,單一的操作系統無法識別所有分區,專用工具軟件GHOST,DM,PARTMAGIC等不能完成電子盤的分區和數據備份。但電子盤的數據最小單元扇區是統一的,因此,采用扇區讀寫的方式可完成軟件備份。具備外部接口的系統,可以通過連接PC機進行讀寫,可拔插的存儲器件,如EPROM,FLASH、固態硬盤等,可以拔下來,采用通用的讀卡設備讀出存儲器件中的內容,焊接在電路板上的采用在線可編程技術的芯片,讀出其中的內容則必須通過專用的工具。
3.3 系統軟件的代碼驗證
驗證工作可分為開發環境驗證和艦艇驗證。
3.3.1 開發環境驗證
在開發環境上,對軟件進行有效性驗證,主要分以下幾個步驟:
(1) 搭建與原系統相同的軟、硬件仿真平臺;
(2) 明確原系統的聲納信息產生辦法和誤差特性,用于原系統和開發環境的運行結果進行比較;
(3) 在原系統上統計出目標運動要素解算精度,用于與讀出軟件的解算精度進行比較;
(4) 利用聲納模擬器對讀出的軟件進行目標運動要素解算,統計解算結果,與原系統的解算精度進行比較。
經過以上步驟后,可初步驗證讀出軟件的有效性。
3.3.2 艦艇驗證
(1) 通道正確性檢查。檢查讀出的軟件與聲納、導航、雷達、魚雷及導彈等器件之間的信息、命令等是否正確;
(2) 軟件有效性驗證。用原系統聲納發送的信息,對讀出的軟件進行目標運動要素解算,統計解算結果,與原有軟件的解算精度進行比較,從而可驗證讀出軟件的有效性,保證讀出軟件的性能沒有下降。
只有經過實驗室驗證和艦艇驗證后,才能保證軟件的有效性。
3.4 基于通用存貯介質的系統軟件備份
針對基于通用存貯介質(CF卡和PCMCIA卡等)的軟件,雖然具體介質不同,但可采用相同的軟件備份方法:不同容量的通用存貯介質,采用通用讀卡器可對其進行讀寫,但某些卡中采用了多種文件系統,單一操作系統或工具軟件無法識別所有分區,通過專用軟件并使用同容量的通用存貯介質可完成分區和數據備份。如果采用大容量的卡進行替代,須對其容量數據或系統自檢參數進行修改。
3.5 基于專用存貯介質的系統軟件備份
除了通用的可插拔存貯介質外,一些系統軟件直接固化在專用存貯卡或元件上,一般是固化在ROM或FLASH ROM中。
3.5.1 專用存貯卡電路改動:
針對目前一些專用存貯卡較難用相同型號存貯卡進行替換的現狀,可通過對通用存貯卡芯片進行電路改動,進而實現軟件備份。現以E28F008SA存貯芯片為例,研究其電路設計并進行改動。通過對含處理器板在內的各信號進行分析,這里采用目前廣泛應用的存貯芯片E28F016SA進行電路設計。28F016SA相對于28F008SA主要在以下方面存在不同:
28F016SA的工作電源可選擇3.3 V和5 V,而28F008SA只能應用5 V電源;
28F016SA可選擇數據位8位和16位,而28F008SA只能應用8位數據線;
28F016SA是1.2 mm×14 mm×20 mm 56Lead TSOP封裝;
比較28F008SA和28F016SA的電特性以及其讀寫操作時序,28F016SA完全可以代替28F008SA,且硬件設計更靈活。
3.5.2 專用存貯卡軟件備份
編程器采用FPGA集成電路作為地址發生器,根據計算機I/O控制信號生成控制邏輯,對存貯器進行讀寫;采用C++高級語言編程,對讀寫的二進制碼進行轉換、存盤和校驗。如圖1所示。

編程器信號流程(如圖2所示)讀卡器通電后2864迅速完成對FPGA 的配置;運行主控計算機里的讀數據程序,程序產生相應的控制信號和地址信號,其中控制信號用完成對讀卡器的初始化和控制讀數據的規則,地址信號是對應于專用存貯卡上的E28F016SA和F28F016SA兩種存貯芯片的地址;完成對存貯卡的操作后卡存貯芯片的數據由數據通道經接口單元傳入XC3042,簡單處理后傳入主控計算機,計算機在相應位置顯示獲取到的數據,數據可由打印機輸出或主控計算機自動存入數據庫。
所有的信號,包括來自主控計算機和專用存貯卡的信號,均要經由FPGA協調處理后才發生作用。協調用的時鐘信號可以由主控計算機控制或直接由讀卡器的晶體振蕩器發生,進而完成編譯器的芯片改寫。編程器的編程流程圖如圖2所示。

由此可見,基于專用存貯介質的系統軟件可以通過其他專用存貯介質的芯片改寫實現所存貯內容的備份,完成系統軟件備份。
4 結 語
隨著軍事裝備復雜化、體系化、高科技化趨勢日益顯著以及數字聲納的不斷涌現,聲納裝備軟件將成為裝備保障的重點,軟件備份技術將越來越被重視。這里按照軟件工程原理,總結出一套基于通用數字聲納平臺的軟件備份方法,提高了數字聲納在各種復雜環境下的可靠性,為解決數字聲納軟件保障提供了參考依據。但新型裝備的軟件保障尚存在諸多復雜的技術問題亟待解決,必須進一步加強研究。
參 考 文 獻
[1]\\Leszek A.Macia.實用軟件工程\\.北京:機械工業出版社,2007.
[2]曾建潮.軟件工程\\.武漢: 武漢理工大學出版社,2003.
[3]\\Shari Lawrence P.軟件工程理論與實踐\\.北京: 清華大學出版社,2003.
[4]秦英孝.可靠性·維修性·保障性概論\\.北京: 國防工業出版社,2002.
[5]宋太亮.裝備保障性工程\\.北京: 國防工業出版社,2002.
[6]高連華.裝備系統設計與保障性\\.北京: 國防工業出版社,1993.
作者簡介 朱 巖 男,1980年出生,黑龍江大興安嶺人,碩士研究生。研究方向為聲納裝備保障技術。
季陳杰 男,1982年出生,江蘇南通人,碩士研究生。主要從事通信與信息系統軟件開發。
劉旺鎖 男,1964年出生,江蘇連云港人,副教授。主要從事艦船電子裝備保障研究工作。