黃賡+孫健
摘要: 本文提出了一種基于VxWorks和Sumsung S3C6410的魚雷模擬器系統,VxWorks具有高可靠性和實時性的優點,S3C6410可提供豐富的外部通信接口,通過對硬件外設和相對應的軟件驅動進行配套設計,可獲得性能良好的魚雷模擬器系統,并以網絡接口的TCP/IP通信模式作為程序設計實例。
Abstract: This paper presents one kind of torpedo simulator system based on VxWorks and Sumsung S3C6410. Embedded VxWorks has characteristic of high reliability and timeliness, and S3C6410 provides abundant external communication interfaces. By system hardware and software co-design, high performance torpedo simulator system is obtained. Finally based on the hardware platform TCP/IP network program design is taken as an example.
關鍵詞: VxWorks;S3C6410;魚雷;模擬器;鏡像
Key words: VxWorks;S3C6410;torpedo;simulator;image
中圖分類號:TP319 文獻標識碼:A 文章編號:1006-4311(2014)22-0037-03
0 引言
魚雷發射控制系統(簡稱魚雷發控系統)的工作好壞是航空反潛戰斗力的重要因素之一[l]。在魚雷發射控制系統的實際訓練和操作過程中,由于真實的魚雷昂貴,不可能懸掛真實的魚雷來進行操作[2]。為此需要相應的魚雷模擬器來完成真實魚雷的功能,同時具有如下特點:方便操作,可重復使用,同時具有一定的故障模擬功能和對魚雷發控系統進行檢測的功能。
通常采用基于PC104架構、X86構架的模擬器系統[3],盡管系統具有高速32位的CPU、高容量內存、顯示、串口、并口、軟硬盤接口、以太網接口、鍵盤、鼠標、USB接口等標準功能外,還提供了平板顯示器支持、看門狗等嵌入式控制功能,但是其功耗大散熱高,且系統資源相對較少,要擴展的模塊很多,并且這種集散型控制結構也帶來了諸如仿真調試等方面的問題。
本文提出一種基于ARM和VxWorks的魚雷模擬器系統,采用SUMSUNG S3C6410為系統CPU,VxWorks為模擬器運行的嵌入式操作系統,在開發板上使用以太網接口裝載VxWorks操作系統,建立了VxWorks系統應用軟件的調試環境,并根據實際外部接口的需要,進行軟件和硬件的裁剪。
1 模擬器系統設計
魚雷模擬器的系統設計,需要具有以下要求:硬件系統需要提供目前武器系統常用的接口類型,如網絡、串口、IO、CAN等接口;軟件系統具有良好的實時性和穩定可靠性。結合成本考慮,我們選用了S3C6410作為核心CPU,以VxWorks為其上運行的嵌入式操作系統,來搭建魚雷模擬器系統。
S3C6410是一款 ARM1176JZF-S內核的16/32 位RISC 微處理器,采用了64/32 位內部總線架構,包括許多強大的硬件加速器,像視頻處理,音頻處理,二維圖形,顯示操作和縮放。同時,S3C6410內部還集成了豐富的硬件外設,包括TFT 24位真彩色液晶顯示控制器,系統管理器(電源管理等),4通道UART,32 通道DMA,4通道定時器,通用的I/O 端口,IIS總線接口,IIC總線接口,USB主設備,在高速(480 MB/S)時USB OTG操作,SD主設備和高速多媒體卡接口、用于產生時鐘的PLL。
VxWorks具有高可靠性和優異的實時性能,其高性能的微內核Wind包括多任務調度、任務間的同步和進程間通信機制,以及中斷處理、看門狗和內存管理機制,支持多種處理器和開發平臺,并有多種開發工具,廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中[4]。
圖1顯示了魚雷模擬器系統結構圖。采用嵌入式CPU,并以此為核心,魚雷模擬器通過諸多不同種類的通訊接口與魚雷火控系統進行通信。
2 模擬器硬件設計
模擬器硬件設計為積木式結構,包括核心板和擴展功能板兩部分。核心板上帶有CPU、flash、SDRAM、JTAG等核心部件,它是10*l3cm四層PCB板,核心板通過兩組高密度的30PIN雙排插針引出用到的所有總線和I/O,以便下層擴展板使用。擴展板用來實現以太網、USB以及串口等模塊,實現與外界的通訊功能,核心板通過插針插接于擴展功能板上。圖2顯示了核心板各引腳的原理圖,可以看出,核心板引出了電源、網絡、LCD顯示、USB、串口、SD卡、外部中斷、SPI等引腳。
圖3列出了系統的串口電路圖,系統共用COM0、COM1、COM2三個RS-232串口。為了方便調試,可將其中某一個串口配置為控制臺終端輸出口。
網絡接口采用DM9000芯片,它是一款快速以太網MAC控制器,集成了10M/100M自適應收發器和4K雙字的SRAM,支持IEEE802.3x流量控制的全雙工模式,支持喚醒幀、鏈路狀態改變和遠程的喚醒。其中LDATA0~LDATA15是0~15位的數據地址復用總線,由CMD引腳決定當期訪問類型,CMD高電平是訪問數據端口,低電平是訪問地址端口。TXO+、TXO-和RXI+、RXI-分別為物理層發送端和接收端引腳。EEPROM存儲了生產商ID和產品ID、網卡的MAC地址、網卡的一些配置等信息,AUOT-MDIX為線序自適應網絡變壓器,RJ45網絡接口。圖4顯示了DM9000A網絡芯片擴展原理圖。endprint
系統硬件的設計可根據系統功能和通訊接口的需求進行適當裁剪,上面只列出了模擬器必備的串口和網絡接口。
3 模擬器軟件設計
3.1 VxWorks bootrom映像的生成 Vxworks軟件平臺按功能可以抽象為以下四部分,如圖5所示。第一層是系統的板級支持包BSP,它是介于底層硬件和上層軟件之間的底層軟件開發包,為整個軟件系統提供底層硬件支持;第二層是系統的驅動程序層;第三層是Vxworks操作系統內核,內核將應用系統和底層軟件結合成一個完整的實時系統,它負責任務分配和調度、系統時鐘服務、內存管理、消息機制、異常處理等[5]。最上層為應用層。
為了方便使用,本文直接使用國內廠商飛凌嵌入式技術有限公司提供的BSP軟件包[6],通過在Tornado2.2開發平臺下,直接生成VxWorks bootrom鏡像,該鏡像是一個不包含用戶程序的VxWorks系統。后面的應用程序開發可以編譯成下載型鏡像,然后裝載,或者直接建立包含用戶程序的引導型鏡像裝載。
3.2 模擬器軟件設計舉例 通常多個設備的交互中,廣泛采用網絡接口,下面以網絡接口通訊為例,說明VxWorks下應用軟件的開發方法,其他接口的軟件設計也類似。軟件采用模塊化和分層次結構的設計,程序由下到上分為硬件交互層,中間通信層,應用層,如圖6所示。通過中間通信層,可單獨對處于底層的硬件交互層和頂層的應用層模塊分別進行調試,有利于模塊的獨立設計,降低模塊的耦合度。這種設計也符合類“高內聚,低耦合”的設計思想。
由于VxWorks下具有功能完整的網絡協議,因此網絡已成為VxWorks系統與其他系統間通信的主要途徑。通常魚雷火控系統跟魚雷之間采用TCP/IP模式,也就是客戶端/服務器端模式,客戶端先向服務器端提出服務請求,服務器端收到請求后,提供相應的網絡服務。在魚雷模擬器中,魚雷火控系統作為服務器端,魚雷模擬器作為客戶端,兩端通信工作流程如圖7。同時,按照需要定義的數據幀格式,在服務器和客戶端進行數據傳輸。
4 結論
本文把實時多任務嵌入式系統技術引入魚雷模擬器系統,提出了基于嵌入式軟硬件技術的解決方案,使用SUMSUNG S3C6410的ARM微處理器,取代現行大功耗器件作為魚雷模擬器的硬件平臺,可以提高系統集成度,降低功耗,減小體積,同時利用VxWorks內核的快速多任務切換、基于優先級的搶占式任務調度等特性,來管理魚雷模擬器系統,通過對硬件外設和相對應的軟件驅動進行配套設計,可獲得性能較好的魚雷模擬器系統,并以網口的TCP/IP通信模式作為程序設計實例。
參考文獻:
[1]陳齊.基于PCI的1553B通訊擴展板的設計與實現[D].西安:西北工業大學,2004.
[2]陳遵銀.某型直升機魚雷發控系統[M].海軍航空工程學院青島分院,2006.
[3]楊建新.魚雷發控自動檢測系統[J].計算機測量和控制, 2007(10):1346-1348.
[4]馬超,尹長青.VxWorks嵌入式實時操作系統的結構研究[J].電腦知識與技術,2005,10.
[5]周啟平,張揚編著.VxWorks下設備驅動程序及BSP開發指南[M].北京:中國電力出版社,2004,9.
[6]TE6410開發板光盤資料,飛凌嵌入式技術有限公司.endprint
系統硬件的設計可根據系統功能和通訊接口的需求進行適當裁剪,上面只列出了模擬器必備的串口和網絡接口。
3 模擬器軟件設計
3.1 VxWorks bootrom映像的生成 Vxworks軟件平臺按功能可以抽象為以下四部分,如圖5所示。第一層是系統的板級支持包BSP,它是介于底層硬件和上層軟件之間的底層軟件開發包,為整個軟件系統提供底層硬件支持;第二層是系統的驅動程序層;第三層是Vxworks操作系統內核,內核將應用系統和底層軟件結合成一個完整的實時系統,它負責任務分配和調度、系統時鐘服務、內存管理、消息機制、異常處理等[5]。最上層為應用層。
為了方便使用,本文直接使用國內廠商飛凌嵌入式技術有限公司提供的BSP軟件包[6],通過在Tornado2.2開發平臺下,直接生成VxWorks bootrom鏡像,該鏡像是一個不包含用戶程序的VxWorks系統。后面的應用程序開發可以編譯成下載型鏡像,然后裝載,或者直接建立包含用戶程序的引導型鏡像裝載。
3.2 模擬器軟件設計舉例 通常多個設備的交互中,廣泛采用網絡接口,下面以網絡接口通訊為例,說明VxWorks下應用軟件的開發方法,其他接口的軟件設計也類似。軟件采用模塊化和分層次結構的設計,程序由下到上分為硬件交互層,中間通信層,應用層,如圖6所示。通過中間通信層,可單獨對處于底層的硬件交互層和頂層的應用層模塊分別進行調試,有利于模塊的獨立設計,降低模塊的耦合度。這種設計也符合類“高內聚,低耦合”的設計思想。
由于VxWorks下具有功能完整的網絡協議,因此網絡已成為VxWorks系統與其他系統間通信的主要途徑。通常魚雷火控系統跟魚雷之間采用TCP/IP模式,也就是客戶端/服務器端模式,客戶端先向服務器端提出服務請求,服務器端收到請求后,提供相應的網絡服務。在魚雷模擬器中,魚雷火控系統作為服務器端,魚雷模擬器作為客戶端,兩端通信工作流程如圖7。同時,按照需要定義的數據幀格式,在服務器和客戶端進行數據傳輸。
4 結論
本文把實時多任務嵌入式系統技術引入魚雷模擬器系統,提出了基于嵌入式軟硬件技術的解決方案,使用SUMSUNG S3C6410的ARM微處理器,取代現行大功耗器件作為魚雷模擬器的硬件平臺,可以提高系統集成度,降低功耗,減小體積,同時利用VxWorks內核的快速多任務切換、基于優先級的搶占式任務調度等特性,來管理魚雷模擬器系統,通過對硬件外設和相對應的軟件驅動進行配套設計,可獲得性能較好的魚雷模擬器系統,并以網口的TCP/IP通信模式作為程序設計實例。
參考文獻:
[1]陳齊.基于PCI的1553B通訊擴展板的設計與實現[D].西安:西北工業大學,2004.
[2]陳遵銀.某型直升機魚雷發控系統[M].海軍航空工程學院青島分院,2006.
[3]楊建新.魚雷發控自動檢測系統[J].計算機測量和控制, 2007(10):1346-1348.
[4]馬超,尹長青.VxWorks嵌入式實時操作系統的結構研究[J].電腦知識與技術,2005,10.
[5]周啟平,張揚編著.VxWorks下設備驅動程序及BSP開發指南[M].北京:中國電力出版社,2004,9.
[6]TE6410開發板光盤資料,飛凌嵌入式技術有限公司.endprint
系統硬件的設計可根據系統功能和通訊接口的需求進行適當裁剪,上面只列出了模擬器必備的串口和網絡接口。
3 模擬器軟件設計
3.1 VxWorks bootrom映像的生成 Vxworks軟件平臺按功能可以抽象為以下四部分,如圖5所示。第一層是系統的板級支持包BSP,它是介于底層硬件和上層軟件之間的底層軟件開發包,為整個軟件系統提供底層硬件支持;第二層是系統的驅動程序層;第三層是Vxworks操作系統內核,內核將應用系統和底層軟件結合成一個完整的實時系統,它負責任務分配和調度、系統時鐘服務、內存管理、消息機制、異常處理等[5]。最上層為應用層。
為了方便使用,本文直接使用國內廠商飛凌嵌入式技術有限公司提供的BSP軟件包[6],通過在Tornado2.2開發平臺下,直接生成VxWorks bootrom鏡像,該鏡像是一個不包含用戶程序的VxWorks系統。后面的應用程序開發可以編譯成下載型鏡像,然后裝載,或者直接建立包含用戶程序的引導型鏡像裝載。
3.2 模擬器軟件設計舉例 通常多個設備的交互中,廣泛采用網絡接口,下面以網絡接口通訊為例,說明VxWorks下應用軟件的開發方法,其他接口的軟件設計也類似。軟件采用模塊化和分層次結構的設計,程序由下到上分為硬件交互層,中間通信層,應用層,如圖6所示。通過中間通信層,可單獨對處于底層的硬件交互層和頂層的應用層模塊分別進行調試,有利于模塊的獨立設計,降低模塊的耦合度。這種設計也符合類“高內聚,低耦合”的設計思想。
由于VxWorks下具有功能完整的網絡協議,因此網絡已成為VxWorks系統與其他系統間通信的主要途徑。通常魚雷火控系統跟魚雷之間采用TCP/IP模式,也就是客戶端/服務器端模式,客戶端先向服務器端提出服務請求,服務器端收到請求后,提供相應的網絡服務。在魚雷模擬器中,魚雷火控系統作為服務器端,魚雷模擬器作為客戶端,兩端通信工作流程如圖7。同時,按照需要定義的數據幀格式,在服務器和客戶端進行數據傳輸。
4 結論
本文把實時多任務嵌入式系統技術引入魚雷模擬器系統,提出了基于嵌入式軟硬件技術的解決方案,使用SUMSUNG S3C6410的ARM微處理器,取代現行大功耗器件作為魚雷模擬器的硬件平臺,可以提高系統集成度,降低功耗,減小體積,同時利用VxWorks內核的快速多任務切換、基于優先級的搶占式任務調度等特性,來管理魚雷模擬器系統,通過對硬件外設和相對應的軟件驅動進行配套設計,可獲得性能較好的魚雷模擬器系統,并以網口的TCP/IP通信模式作為程序設計實例。
參考文獻:
[1]陳齊.基于PCI的1553B通訊擴展板的設計與實現[D].西安:西北工業大學,2004.
[2]陳遵銀.某型直升機魚雷發控系統[M].海軍航空工程學院青島分院,2006.
[3]楊建新.魚雷發控自動檢測系統[J].計算機測量和控制, 2007(10):1346-1348.
[4]馬超,尹長青.VxWorks嵌入式實時操作系統的結構研究[J].電腦知識與技術,2005,10.
[5]周啟平,張揚編著.VxWorks下設備驅動程序及BSP開發指南[M].北京:中國電力出版社,2004,9.
[6]TE6410開發板光盤資料,飛凌嵌入式技術有限公司.endprint