王黎明,鄭 健,張福生
(中國人民解放軍91388部隊 廣東 湛江 524022)
隨著信息技術(shù)與總線技術(shù)的不斷發(fā)展,國家日前的大型武器平臺也向自動化、信息化發(fā)展,復(fù)雜性越來越高。這類武器系統(tǒng)通常由多個分系統(tǒng)、子設(shè)備組成,通過不同種類的總線連接在一起[1]。艦艇作為主要的作戰(zhàn)平臺之一,在國防中發(fā)揮重要的作用,經(jīng)歷了新舊總線技術(shù),現(xiàn)今已發(fā)展到分布式的體系結(jié)構(gòu)[2]。現(xiàn)役艦艇總線接口主要有:RS232和RS422串口、1553B總線接口以及以太網(wǎng)接口等。串口的傳輸率較低,不適合大數(shù)據(jù)量的傳輸,同時會造成數(shù)據(jù)采集點分散的弊端;1553B總線對信號傳輸電纜和連接器均具有嚴(yán)格的要求[3],成本較高;艦艇分布式網(wǎng)絡(luò)采用成熟的工業(yè)以太網(wǎng)標(biāo)準(zhǔn),裝備配有以太網(wǎng)接口接入交換機,實現(xiàn)整個作戰(zhàn)系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)共享,并配備專門的數(shù)據(jù)采集與存儲服務(wù)器[4]。由于傳輸率、協(xié)議通用性以及技術(shù)發(fā)展等多方面原因,艦艇總線接口中1553B總線與串口將來必然會被分布式以太網(wǎng)代替。為了適應(yīng)現(xiàn)有艦艇數(shù)據(jù)采集需要,并考慮未來分布式網(wǎng)絡(luò)建設(shè)要求,這里設(shè)計了一種基于DSP的協(xié)議轉(zhuǎn)換器,用以解決現(xiàn)階段艦艇多接口數(shù)據(jù)采集通用化的要求。
協(xié)議轉(zhuǎn)換器硬件設(shè)計結(jié)構(gòu)圖如圖1所示。

圖1 硬件設(shè)計結(jié)構(gòu)圖Fig.1 Schematic diagram of the hardware design
協(xié)議轉(zhuǎn)換器的CPU選用三星公司ARM11內(nèi)核的S3C6410處理器,該處理器主頻為667 M,并發(fā)處理能力強,支持包括100M以太網(wǎng)與RS232等多種接口。操作系統(tǒng)方面支持流行的Linux與Android系統(tǒng)。
由于ARM11不直接支持1553B接口,所以選用DDC公司的BU—61580芯片作為外部設(shè)備連接1553B總線與CPU,該芯片可以自動高速的接收1553B總線上的數(shù)據(jù)。1553B接口模塊與1553B總線連接時需加裝耦合器。
ARM11支持的串口僅為4個RS232接口,所以來自RS422接口的數(shù)據(jù)必須進(jìn)行接口轉(zhuǎn)換,串口轉(zhuǎn)換適配器結(jié)構(gòu)與原理十分簡單,這里選用勝為DCP-3202 RS485/RS422轉(zhuǎn)RS232雙向通信協(xié)議轉(zhuǎn)換器。
以太網(wǎng)通信模塊芯片采用Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)卡控制器,符合IEEE 802.3標(biāo)準(zhǔn)。RTL8019AS芯片內(nèi)置16KB SRAM,用于收發(fā)緩沖,支持8/16位數(shù)據(jù)總線、8個中斷請求、16個I/O基地址選擇等多種特性。
CPU通過中斷方式分別與1553B接口模塊、RS232接口模塊進(jìn)行通信,將接收的數(shù)據(jù)用TCP/IP協(xié)議進(jìn)行封裝后,通過以太網(wǎng)通信模塊傳輸至以太網(wǎng)。
目前無線中繼器與路由器產(chǎn)品豐富、價格低、體積小,因此沒有必要在協(xié)議轉(zhuǎn)換器中嵌入無線傳輸模塊。這里選用符合IEEE802.11g標(biāo)準(zhǔn)的TPLINK54M域展無線路由器,在網(wǎng)絡(luò)傳輸性能上能符合高速以太網(wǎng)標(biāo)準(zhǔn)[5]。協(xié)議轉(zhuǎn)換器與無線路由器通過以太網(wǎng)雙絞線互聯(lián),數(shù)據(jù)通過無線傳輸協(xié)議加密、封裝,能安全可靠地傳輸至目的服務(wù)器。
協(xié)議轉(zhuǎn)換器軟件在Linux2.6系統(tǒng)下利用C++語言進(jìn)行開發(fā)。開發(fā)的程序經(jīng)編譯后寫入EPROM中作為固件開機自動運行。軟件流程圖如圖2所示。

圖2 軟件設(shè)計流程圖Fig.2 Flow chart of the software design
軟件首先進(jìn)行硬件設(shè)備初始化,之后建立兩個線程,分別是1553B—以太網(wǎng)協(xié)議轉(zhuǎn)換線程以及串口—以太網(wǎng)協(xié)議轉(zhuǎn)換線程。具體如下:
1)狀態(tài)初始化。1553B模塊作為外部設(shè)備必須進(jìn)行初始化,1553B模塊初始化是對BU—61580芯片內(nèi)部各寄存器進(jìn)行配置,使其工作在指定模式下,同時對芯片RAM區(qū)(包括消息描述堆棧區(qū)以及消息塊存儲區(qū))進(jìn)行初始化。串口初始化主要是工作方式以及波特率的設(shè)置。
2)1553B—以太網(wǎng)協(xié)議轉(zhuǎn)換。首先建立Socket套接字,指定數(shù)據(jù)傳輸?shù)哪康腎P地址與端口;利用中斷的方式讀取BU—61580芯片RAM區(qū)的數(shù)據(jù)并存入系統(tǒng)緩存;讀取系統(tǒng)緩存的1553B數(shù)據(jù)幀進(jìn)行解析并存入緩存;由于S3C6410處理器支持以太網(wǎng)TCP/IP協(xié)議和MAC協(xié)議,因此將解析的緩存數(shù)據(jù)進(jìn)行相應(yīng)的封包工作即可傳送至RTL8019AS以太網(wǎng)卡控制器;RTL8019AS芯片用于完成數(shù)據(jù)包物理層封裝并將其轉(zhuǎn)發(fā)至以太網(wǎng)。
3)串口—以太網(wǎng)協(xié)議轉(zhuǎn)換。與1553B—以太網(wǎng)協(xié)議轉(zhuǎn)換類似,主要也分套接字的建立、數(shù)據(jù)的讀取與解析、以太網(wǎng)協(xié)議封裝以及數(shù)據(jù)包轉(zhuǎn)發(fā)。
數(shù)據(jù)采集測試服務(wù)端硬件采用帶有無線網(wǎng)卡的高性能便攜式工控機,軟件采用C#語言在微軟的Visual Studio 2010集成開發(fā)環(huán)境下開發(fā)。軟件流程圖如圖3所示。

圖3 數(shù)據(jù)采集測試軟件流程圖Fig.3 Flow chart of the data acquisition test software
數(shù)據(jù)采集測試系統(tǒng)網(wǎng)絡(luò)設(shè)置包括服務(wù)端、無線路由器以及協(xié)議轉(zhuǎn)換器(客戶端)IP地址設(shè)置,無線路由器的安全加密算法選擇(如WPA2—PSK加密算法)以及加密口令設(shè)置,服務(wù)端無線網(wǎng)卡解密算法選擇以及解密口令設(shè)置。一般設(shè)好后不用再重復(fù)設(shè)置。網(wǎng)絡(luò)連通性檢查利用ICMP協(xié)議進(jìn)行,檢查網(wǎng)絡(luò)是否連通。
采集后的數(shù)據(jù)存儲在數(shù)據(jù)庫中以便于管理、查詢等,這里選用成熟的SQL Server2005數(shù)據(jù)庫管理系統(tǒng)。軟件利用ADO.NET技術(shù)操作數(shù)據(jù)庫,包括數(shù)據(jù)庫的建立、打開、數(shù)據(jù)寫入、數(shù)據(jù)修改以及數(shù)據(jù)庫關(guān)閉等。
程序利用建立的Socket套接字偵聽指定的本機端口,如果有發(fā)往本機該端口的IP數(shù)據(jù)包則接收并存入緩存。無線路由器轉(zhuǎn)發(fā)的數(shù)據(jù)是由無線傳輸協(xié)議加密封裝的,解密以及協(xié)議解析由本機無線網(wǎng)卡自動完成。
數(shù)據(jù)分類按數(shù)據(jù)來源進(jìn)行,根據(jù)數(shù)據(jù)源IP地址的不同進(jìn)行分類,同一源IP地址的數(shù)據(jù)存入相同的數(shù)據(jù)記錄表。
考慮到實際應(yīng)用場景中數(shù)據(jù)采集點分散的情況,需要用到多個協(xié)議轉(zhuǎn)換器(一般不超過10個)。在實驗室環(huán)境下布置多個協(xié)議轉(zhuǎn)換器節(jié)點連接數(shù)據(jù)發(fā)送端,開機后由發(fā)送端發(fā)送數(shù)據(jù),數(shù)據(jù)經(jīng)過無線路由器傳輸至服務(wù)端,服務(wù)端是采用高性能的工控機,安裝的數(shù)據(jù)采集與存儲軟件實時監(jiān)聽并采集數(shù)據(jù),同時利用HP公司的LoadRunner[6]工具進(jìn)行性能測試。測試場景設(shè)計:10個協(xié)議轉(zhuǎn)換器連接發(fā)送端并全部開機準(zhǔn)備好,每15秒增加一個節(jié)點發(fā)送數(shù)據(jù),直至增加到10個節(jié)點并發(fā),持續(xù)5分鐘后每15秒減少一個節(jié)點。系統(tǒng)性能測試結(jié)果如圖4與圖5所示。

圖4 場景設(shè)計與系統(tǒng)響應(yīng)時間Fig.4 Diagrams of test scenario design and system response time

圖5 網(wǎng)絡(luò)吞吐量與CPU使用率Fig.5 Diagrams of network throughput and CPU usage
隨著節(jié)點的增加,系統(tǒng)響應(yīng)時間以及網(wǎng)絡(luò)吞吐率也響應(yīng)緩慢增加。10個節(jié)點并發(fā)期間,系統(tǒng)系統(tǒng)響應(yīng)時間以及網(wǎng)絡(luò)吞吐率達(dá)到最大值,并在一定范圍內(nèi)來回波動。之后隨著節(jié)點減少,系統(tǒng)響應(yīng)時間以及網(wǎng)絡(luò)吞吐率也響應(yīng)緩慢減少。整個過程平均系統(tǒng)系統(tǒng)響應(yīng)時間3.7 s,平均網(wǎng)絡(luò)吞吐率1.5 MByte。10個節(jié)點并發(fā)期間,平均系統(tǒng)系統(tǒng)響應(yīng)時間4.5 s,最大值6.1 s,沒有出現(xiàn)系統(tǒng)響應(yīng)過慢或無法響應(yīng)的情況,系統(tǒng)穩(wěn)定性與處理能力較強;平均網(wǎng)絡(luò)吞吐率1.8 MByte,最大值2.3 MByte,滿足54 M帶寬的網(wǎng)絡(luò)環(huán)境要求。系統(tǒng)CPU使用率在整個過程比較均衡,平均CPU使用率33%,體現(xiàn)了系統(tǒng)良好的處理能力和高可擴(kuò)展性。
針對目前艦艇通用數(shù)據(jù)采集需要,設(shè)計了一種基于DSP的協(xié)議轉(zhuǎn)換器。通過在實驗室環(huán)境下組建數(shù)據(jù)采集測試系統(tǒng)進(jìn)行性能測試,證明該協(xié)議轉(zhuǎn)換器能滿足現(xiàn)階段艦艇多接口數(shù)據(jù)采集的需要,新研或改進(jìn)的基于該協(xié)議轉(zhuǎn)換器的數(shù)據(jù)采集系統(tǒng)可實現(xiàn)艦艇通用的數(shù)據(jù)采集。
[1]王華濤.多總線數(shù)據(jù)記錄系統(tǒng)的設(shè)計與實現(xiàn)[J].信息化研究,2010,36(1):51-53.WANG Hua-tao.Design and implementation of multiple bus data logging system[J].Informatization Research,2010,36(1):51-53.
[2]劉大東.國外海軍艦艇作戰(zhàn)系統(tǒng)現(xiàn)狀及發(fā)展[J].國防技術(shù)基礎(chǔ),2005(4):31-32.LIU Da-dong.Present situation and development of foreign navy warship combat system[J].Technology Foundation of National Defence,2005(4):31-32.
[3]蔣國峰,白紅.1553B總線監(jiān)控器的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2011(17):98-100,104.JIANG Guo-feng,BAI Hong.Design and implementation of bus monitor for 1553B bus[J].Electronic Design Engineering,2011(17):98-100,104.
[4]蔡勇,呂云飛,黃牛.潛艇新型作戰(zhàn)系統(tǒng)發(fā)展構(gòu)想[J].船電技術(shù),2011,31(2):1-6.CAI Yong,LU Yun-fei,HUANG Niu.Development conception of new combat system for a aubmarine[J].Marine Electric&Electronic Engineering,2011,31(2):1-6.
[5]陳敏,韋崗.IEEE802.11無線局域網(wǎng)OPNET建模與性能測試[J].計算機工程,2004(21):14-16.CHEN Min,WEI Gang.OPNET IEEE 802.11 WLAN modeling and performance testing[J].Computer Engineering,2004(21):14-16.
[6]陳霽.性能測試進(jìn)階指南—LoadRunner11實戰(zhàn)[M].北京:電子工業(yè)出版社,2012.