C/1553B—NETB网关应用层软件实现
C,1553B—NETB网关应用层软件实现
第26卷(1998)第2期计算机与数字工程 C/1553B—NETB网关应用层软件实现' 黄继红赵冬琼1-,,———一
(中国船舶工业总公司第七研究院第七0九研究所430074)
摘要
本文介绍了一种MIL—STD-1553B总线和以太网之间通信的网关一
0PIAC/l553BETB同关.以及该
厢关应用层软件实现的思路,软件设计方法和软件的开发与运行环境.
关键词:j璺些21查旦
网络互连的概念
棒脚
随着计算机网络和通信技术的不断发展, 网络互连可以满足日益增长的用户需要,实现 更大范围的通信,分布式处理和资源共享.因 此,网络互连技术日益受到人们的关注和重视. 网络互连形式主要包括两种类型:同种 网络之间的网际互连和异种网络之间的网际 互连.其中,同种网络之间的网络互连是采用 基本相同的通信协议和通信机制的网络之间 的互连;异种网络之间的互连主要是通过网 关来连接不同公司,不同厂商的网络.网关是 异种网络互连的关键部件,它是两个或多个 异种网络通信交互的界面,也是两个自治网 络通信协议的接口.其基本作用是作为不同 子网的中介,通过网关实现各子网的内部协 议来分别与各不同子网通信,为不同子网的
信息交换提供通道,协同其邻接子网实现网 际协议功能和网际协议转换.
OPIAC/1553B—NETB网关实现了MIL STD一1553B总线和以太网之间的通信. 二MIL—STD一1553B总线介绍
MIL—STD一1553B总线标准是一种满足 -收到本文时间:1997年7月22日
实时性,数据完整性和系统可靠性要求高的 通用机载串行多路总线标准.
1553B通讯网络可分为应用层,驱动层, 传输层,数据链路层和物理层,其中应用层和 驱动层在子系统计算机实现,传输层,数据链 路层和物理层均在1553B总线通讯接口 (MBI)实现.MBI上的传输软件控制多路总 线上的数据传输,时间同步和故障处理. ACE(AdvancedCommunicationEn
gine)终端设计成可工作于三种模式:总线控 制器模式(BC),远程终端模式(RT)和监控 器模式(MT).
总线控制器(BC):被指定执行在总线 上启动数据传输任务的唯一终端.一个 1553B网络上只能有一台机器工作于BC模 式.
远程终端(RT);指用户子系统与1553 总线的接n,一个1553网络最多可有32台 机器工作于RT模式.RT的发送和接受数 据必须等待BC的命令来完成.
监控器(MT):指为
和
的目的, 监听数据总线传输,但不参与任何总线传输
的终端.一个1553网络上的MT的个数没 有限制.
7.
0
一
24C/l553B—NETB同关应用层软件实现第26卷 三OPIAC/1553B—NETB网关嚣: 我们在某项工程任务中,需要实现一个和一块以太网卡.将该网关分别与两个网络
以太网络和一个1553网培的数据互连,因相连,如图1所示.
此,我们选用了OPIAC/1553BNETB网关, uNIx工作站}—查J网关1553网络 图loPIAc,1553B?NETB罔美连接示意围 以太网卡的I/O地址和中断号,通过专 用软件进行设置,OPIAC/I553B网卡的
通过网 MEMORY地址,I/O地址和中断号,卡上的跳线进行设置.
在该系统中,OPIAc/1553BNETB网 关既是1553网络中的一个RT,具有唯一的 RT地址,同时也是以太网络中的一个站,具 有唯一的IP地址.
该网关的软件运行环境为DoS6.2和 PC—NFS.在装载Pc—NFS时,设置以太同卡 的I/O地址,中断号以及IP地址,其RT地 址在运行应用程序韧始化时设置.该网关的 软件开发环境为l~rlandC",PC—NFS编程 工具箱及1553B库函数.
四OPIAC/1553B—NETB
网关应用层软件
在我们的实际工程应用中,要求1553B 网络中的Bc与以太网中的一个固定的工作 站之间的鼓据交换.因此,网关应用软件需要 实现两个网络的数据包的转换,然后再发送 到另一个网络.
PC—NFS编程工具箱提供了几个与通信 协议的应用程序接口(API),其中包括套接 字(SOCKET)接口.在BerkeleyUNIX网络 系统中,套接字的意思是.通信的端点",一对 套接字就对应于相关的定义套接字接口是 面向客户一服务器模型而设计的,针对客户 和服务器程序提供了不同的套接字函数调 用套接宇有下列几种类型:
SOCK—STREAM流套接字,基于连接的 SOCK—DGRAM数据撮套接字,基于非连接的 SOCK—RAW原始套接字
sOCK—SEQPACKET定序的分组套接字 sOCK—RDM可算发送的消息套接 字(还未实现)
我们在网关的应用程序,使用基于非连 接的数据报套接字,其基本的函数调用和流 程如图2所示.
图2非连接协议的套接字函数调用和流程
第26卷(1998)第2期计算机与数字工程25 函数recvfrom()调用为阻塞方式,即 一
直等到有数据到来才返回.为了在DOS单 任务环境下实现网关的双向数据互通,考虑
到网关只接收以太网中一个固定的工作站上 所发送的数据,因此,在reevfrom()调用之 前,调用select(),在套接字可读时,调用 recv/rom()将数据读出,在select()调用 超时返回时.不调用recv[rom()而继续循 环.select()调用中timeout参数指向的结 构为:
Rf接收
structtimeout{
longtv—sec:/seconds'/ longtv—usec:/microseconds'/
select()调用的最小定时单位为微
秒.
oPIAC/】553B提供了低层支持软件 l553B库函数.我们将网关作为1553网络中 的一个RT,它与该网络中的BC进行数据交 换.其基本函数调用和流程如图3所示. 化所f1奇替
.Rf地bL
R1内)'fld的定似用I使
始化
图31553B网络中RT工作函数调用和流程图 RTGetData()调用为非阻塞方式,立
即返回读到的字节数或零,零表示无数据. 在DoS单任务环境中,oPIAC/155317,-
NETB网关实现了1553网络和以太网的数 据互通,其流程如图4所示.
在1553B网络中,数据是以字方式进行 传送的.1553B网络中的BC是使用IN.
R【发送方eJ
R【发送数拉-:
TEL386微机,其字的存储方式为低字节在
前,高字节在后,而在以太网中的工作站U—
NIX工作站,其字的存储方式为高字节在
前,低字节在后,因此,有必要的网关的数据
包交换时,交换每个字的高,低字节,实现数
据存储格式的转换.
Z6C/1553B-NETB冈关应用层软件实现第26卷 五结束语
围4OPIAC/I553B-NETB同美流程图
我们用OPIAC/1S53B—NETB网关实现
了一个以太网和l553网络数据互通的特定
应用,现已应用于工程任务之中.在该项工作
中,得到了许多同志的关心和帮助,在此一并
致谢.
参考文?
1《网络通信软件设计指南,朱三之薄t清建大学出版牡 2(UNIX环境下的同培程序设计》孙义薄,北京希望电脑公司 3《OPIAC/l553B—NETB同美软件技术手册》(内部资料) 4{PG-NFSProgrammer'sToolkit:ProgramGuide}SunMicrosystem