8.2.3 软件外部接口设计
星载计算机通过外部接口与各下位机进行数据通信,包括采集遥测参数、转发遥控指令及注入参数等。目前星载计算机常用的外部接口主要有1553B总线、CAN总线和RS-422总线等。
8.2.3.1 1553B总线接口设计
1553B总线是MIL-STD-1553总线的简称,MIL-STD-1553总线是飞机内部时分制指令/响应式多路复用数据总线。1553总线能挂31个远置终端。1553B总线采用指令/响应型通信协议,它有三种终端类型:总线控制器(BC)、远程终端(RT)和总线监控器(BM);信息格式有BC到RT、RT到BC、RT到RT、广播方式和系统控制方式;1553B总线为多冗余度总线型拓扑结构,具有双向传输特性,其传输速度为1 Mbit/s,传输方式为半双工方式,采用曼彻斯特码进行编码传输。
1553B总线的三种终端简介如下:
(1)总线控制器。指总线上唯一被安排为执行建立和启动数据传输任务的终端。
(2)远程终端。指各下位机子系统到数据总线上的接口,它在BC的控制下提取数据或接收数据。
(3)总线监控器。“监控”总线上的信息传输,完成对总线上数据源的记录和分析,但本身不参与总线的通信。
1)1553B总线高层通信协议简介
在整星方案设计时,由卫星总体设计和约定整星的1553B总线高层通信协议,通常主要包括以下内容:
(1)分配各下位机RT地址。
(2)明确各下位机各类数据传输的RT子地址、数据长度、数据格式和传输周期等。
(3)明确消息间隔约束、可靠性要求等。
2)星载计算机1553B总线接口软件设计
星载计算机软件作为整星的控制核心,通常有权机作为BC端,无权机与各下位机作为RT端。在软件设计时,1553B总线接口功能通常需要提供以下接口函数供上层应用软件使用:
(1)1553B总线缓存、寄存器数据读写接口函数。
(2)1553B总线RT子地址配置接口函数。
(3)BC向指定RT地址、RT子地址、传输通道、长度和数据缓存的发送数据接口函数。
(4)BC从指定RT地址、RT子地址、传输通道、长度和数据缓存的接收数据接口函数。
8.2.3.2 CAN总线接口设计
CAN是controller area network的缩写,是ISO国际标准化的串行通信协议。CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备和工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。CAN总线的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
CAN总线采用多主站竞争式总线结构,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率最高可达1 Mbit/s,具有多主站运行和分散仲裁的串行总线及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其他节点发送信息而不分主次,因此可在各节点之间实现自由通信。
1)CAN总线高层通信协议简介
一些国际组织定义了应用层,如CIA组织的CANopen、ODVA组织的DeviceNet等,也有一些用户根据需求自行设计应用层。
一个数据帧传输的数据量为0~8个字节。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。在CAN总线高层通信协议设计时,往往通过识别符约定各单机类型及其传输的各种数据类型。各单机软件根据协议设计相应的屏蔽码和掩码进行数据过滤,选择性地接收与自身相关的数据帧并进行相应的处理。
2)CAN总线接口软件设计
由于CAN总线通信往往是一对多机制,为了确保CAN总线通信的时序正常,通常采用主从式握手机制,由星载计算机软件发起数据传输或请求,各下位机根据识别码判断数据传输目的地址,做出相应的回复。CAN总线接口软件提供给上层应用的接口函数主要包括:
(1)CAN总线寄存器读写接口函数。
(2)指定CAN总线、数据帧ID、传输类型、长度、数据缓存的发送接口函数。
(3)指定CAN总线、数据帧ID、传输类型、长度、数据缓存的接收接口函数。
8.2.3.3 RS-422总线接口设计
RS-422时钟规定采用四线、全双工、差分传输、多点通信的数据传输协议。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必需的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)。RS-422的最大传输距离为4 000英尺(约1 219 m),最大传输速率为10 Mbit/s。其平衡双绞线的长度与传输速率成反比,在100 kbit/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100 m长的双绞线上所能获得的最大传输速率仅为1 Mbit/s。
受限于CPU内部RS-422接口数量,星载计算机与下位机数据传输的RS-422串行接口通常采用FPGA实现。
1)RS-422高层通信协议简介
RS-422通信通常采用点对点的方式,由星载计算机作为控制端,通过特定的串口与相应的下位机进行数据通信。常用的通信协议约束主要如下:
(1)RS-422底层传输协议约束,如波特率、数据位长、结束位长和校验位等。
(2)由于RS-422通信缺乏数据同步措施,因此通常需要约定数据同步头。
(3)数据传输的响应、握手机制。
(4)数据传输长度和格式。
2)RS-422总线接口软件设计
通常RS-422接口供应用层使用软件提供给上层应用的接口主要包括如下:
(1)指定的RS-422接口初始化接口函数,包括波特率、奇偶校验等。
(2)指定RS-422接口、数据长度、数据缓存的发送接口函数。
(3)指定RS-422接口、数据长度、数据缓存的接收接口函数。