基于ARM和VxWorks的鱼雷模拟器系统平台的研究
2014-09-15黄赓孙健
黄赓+孙健
摘要: 本文提出了一种基于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