李礼等
[摘 要]本文介绍了1553B总线技术的特点,简要说明了1553B总线通信系统的组成,详细介绍了基于SOC芯片的远程终端的硬件及软件设计。该设计已在某机载有效载荷中成功应用,对机载1553B总线远程终端设计具有重要的指导和参考意义。
[关键词]SOC芯片;1553B;通信表
[DOI]10.13939/j.cnki.zgsc.2015.20.062
1553B总线以其传输的高可靠性、使用简单灵活的特点,已经逐步从飞行控制等系统扩展到坦克、舰船、航天等领域,目前已广泛应用于海、陆、空三军,具有一网盖三军之称。中国在20世纪80年代初就开始了1553B总线的技术研究,近年来,1553B总线已经成为中国现役空中力量最主要的先进航空电子系统数据总线,并且在舰载和车载领域,为提高坦克和军舰等武器的技术水平发挥了重要作用。文中介绍了1553B总线技术的特点,简要说明了1553B总线通信系统的组成,详细介绍了基于SOC芯片的远程终端的设计。
1 1553B总线协议简介
1553B总线的全称是“飞机内部时分制指令/响应式多路传输数据总线”,传输速率为1Mbps,采用冗余的总线型拓扑结构,具有非常好的时钟同步和高可靠数据传输能力。从通信系统的角度看,1553B有3种终端:一个总线控制器(BC)来管理和控制总线上的信息传输;一个总线监视器(MT)来接收总线上的信息用于总线的测试;其余的都是远程终端(RT)。
该数据总线以帧为传输单位,每帧包含若干字。由BC 发起总线上的数据传输,只有当BC 向某RT 发出总线指令后,该RT才能参与数据传输。总线指令分为发送指令、接收指令和方式指令,这些指令分别用来命令某RT 发送、接收、或执行由方式指令指定的某个动作。BC 根据RT 应答的状态字来检验传输是否成功。
1553B 协议规定三种字,分别是命令字、数据字和状态字,字长固定为20位,字分为三部分:同步头(3个比特位)、消息块(16 个比特位)和奇校验位(1 个比特位),其中消息块和奇校验位采用曼彻斯特二型编码。
2 设计原理
在整个1553B系统中,RT一方面从1553B总线上接收数据,并将接收到的数据存放在接收缓冲区,子系统应用软件通过调用API接口函数获取总线接收到的新数据;另一方面,子系统应用软件通过API接口函数将需要发送到1553B总线的数据存放在RT发送缓冲区,RT在接收到总线命令时将该数据发送到1553B总线上。
3 硬件平台
3.1 SoC1553B芯片
SoC1553B芯片HKS1553BCRT是一款集智能化、通用化、小型化和低功耗为一体的国产1553B通信处理芯片。该芯片采用SOC架构,集成了ARM7TDMI微处理器、1553B协议处理器、外部总线控制器(EBC)、双口存储器(DPRAM)、静态随机存储器(SRAM)、实时时钟(RTC)、看门狗(WDT)、时间间隔计时器(DT)、串口控制器(UART)及中断控制器功能的片上系统,用于实现1553B总线接口功能。它主要承担着传输层任务,包括控制1553B协议处理器,实现ISBC协议,处理通信错误,响应子系统主机命令进行服务等功能。
3.2 硬件结构设计
1553B模块是一智能化、通用化及标准化的1553B总线通信处理器。硬件主要包括以下功能模块:SoC1553B芯片;存储器;时钟电路;电源转换电路;复位电路;串行接口;1553B总线收发电路;主机接口电路。
4 软件设计
1553B模塊通信软件由传输软件和驱动软件组成,是实现1553B总线通信和网络管理的专用软件。其中,传输软件控制系统多路传输数据总线上的数据传输,其任务包括信息处理、WDT时钟管理、系统时钟同步以及子系统故障等处理功能;驱动软件实现1553B模块与子系统主机应用软件间的接口控制与数据传递,它可提供各类消息数据的读、写支持,RTC计时器的读写操作,1553B模块状态的报告等处理功能,除此之外,1553B模块通信软件的另一重要功能是对1553B总线通信过程中的某些特殊消息如紧急消息、WDT时钟以及BIT故障信息以中断的形式上报给子系统主机,并对上报的中断中断原因做必要的分析和处理。
1553B软件与子系统应用层软件之间的调用关系如图3所示,图中虚线部分为1553B模块通信软件。
4.1 传输软件
传输层软件是1553B模块通信软件的一部分,驻留在FLASH中。传输层软件由以下部分组成:消息处理;故障处理;控制程序。
4.2 驱动软件
驱动软件是宿主机应用软件与1553B模块之间传递信息的媒介,提供了多种消息读、消息写、控制程序和时钟控制程序。另外,驱动软件还负责处理来自1553B模块的中断请求,包括解释中断码并报告给应用软件。
驱动程序可分为四类:状态控制程序;系统控制程序;时钟控制程序;消息控制程序。
当任何驱动程序运行结束时,将返回一个终止码(INCODE)给应用层。如果程序服务成功,将返回零值;否则将根据不同的驱动程序和出错类型返回小于零值。
5 通信表结构
通信表是应用程序与1553B模块之间的接口文件,定义了出入RT的各类消息的物理块名、逻辑名、终端子地址、消息功能及总线属性等相关信息之间的对应关系。通信表包括输入通信表和输出通信表。它的第一个字为通信表长度,其后每两个字为一条记录,按逻辑消息号顺序排列。其中OWR=1(bit4)表示数据不允许重写;INT=1(bit3)表示紧急消息;ROL=1(bit2)表示此消息BC模式下使用,ROL=0表示此消息RT模式下使用;CHA=01(bit1,bit0)表示总线B,CHA=00表示总线A。
RT地址定义了该子系统在通信网络中分配的远程终端号,该号是唯一确定的。
子系统主机应用软件按逻辑消息号读或写相应的消息,1553B驱动软件根据通信表中逻辑号实现相应消息的读或写。输入、输出通信表和RT地址由子系统主机应用软件提供。
6 结 论
本文基于SOC芯片的1553B总线远程终端设计。该设计充分发挥了HKS1553BCRT芯片内部资源丰富、接口简单的优点。同时,内嵌ARM7TDMI微处理器的具有计算速度快的优点,满足了有效载荷的高速数据采集、处理需求。该设计已在某机载有效载荷中成功应用,应用结果表明:该系统具有开发简单、性能稳定的特点,可应用于各类机载1553B总线远程终端的设计。
参考文献:
[1]数字式时分制指令/响应型多路传输数据总线[P].北京:中国标准出版社,1997.
[2]DDC.MIL-STD-1553A/B ACE users guide[S].USA:DDC,1999.
[3]HKS1553BCRT用户使用手册[M].西安:西安翔腾微电子技术有限公司,2010.
[4]马捷中.1553B 总线控制器远程终端软件设计[J].测控技术,2003(2).
[5]翟雯艳,张遂南.基于CPCI的1553B总线通信模块的设计与实现[J].现代电子技术,2008(10).
[6]郭泽仁.1553B总线系统优化及可靠性设计[J].山东理工大学学报,2008(1).