一种快速可重构B总线测试软件设计方案.doc

上传人:scccc 文档编号:13552491 上传时间:2022-01-15 格式:DOC 页数:17 大小:302KB
返回 下载 相关 举报
一种快速可重构B总线测试软件设计方案.doc_第1页
第1页 / 共17页
一种快速可重构B总线测试软件设计方案.doc_第2页
第2页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种快速可重构B总线测试软件设计方案.doc》由会员分享,可在线阅读,更多相关《一种快速可重构B总线测试软件设计方案.doc(17页珍藏版)》请在三一文库上搜索。

1、一种快速可重构的 1553B 总线测试软件设计-电气论文 一种快速可重构的 1553B 总线测试软件设计 朱珂,刘彦伟,丁凯,刘伟升 (北京空间技术研制实验中心,北京 100094) 摘要:为了提高 1553B 总线测试系统应对被测系统在拓扑结构或通信 协议变化时的快速可重构性,提出一种基于通用 1553B 总线仿真卡的快速可重 构的 1553B 总线测试软件设计方法。分析当前 1553B 总线测试系统可重构性不 足的缺点,详细介绍快速可重构 1553B 总线测试软件的设计架构和实现方法。 这里提出的软件设计方法通过总线服务划分和代理托管的方式使软件的代码实 现不依赖于总线协议的具体格式,并且

2、极大地减少了软件编程的代码量, 从而在 代码可重构和配置可重构两方面实现软件的快速可重构。该软件设计具有可靠性 强、编程效率高、重构速度快,现场可重配置等特点,其应用实例软件的代码重 构率小于 1 %。,并已经在多个航天器的 1553B 总线子系统测试中取得了良好的 效果。关键词:快速可重构性;1553B 总线;测试软件;软件设计 中图分类号:TN912.202?34 文献标识码:A 文章编号:1004?373X (2015 ) 14?0059?05 收稿日期:2015?01?19 0 引言 1553B 总线,全称为 MIL?STD?1553B 总线,是一种集中控制式的数 字时分命令/响应型多

3、路串行数据总线标准,具有互连简单、高可靠、灵活性强 和速率较高等优点。近年来,随着航天技术的进步, 1553B 总线在航空航天等 军工电子信息系统中已经得到了越来越广泛的应用 1?3 1553B 总线系统采用集中控制、分布式处理的双冗余度总线系统结构, 连接在 1553B 总线上的设备称为终端,分为总线控制器(BC)、远程终端(RT) 和总线监视器(BM)3 类。其中 BM 实现对总线上传输数据的采集监视,BC 掌握总线系统的所有控制权,总线上的一切活动都由 BC 端发起和控制,BC 与 RT 之间、RT 与 RT 之间的相互通信遵循规定的 1553B 总线协议。通常在 1553 总线通信系统

4、研制过程中,对 BC 和各 RT 终端之间规定的总线通信协议实现正 确性的测试是必不可少也是至关重要的环节。总线测试也即对各 RT 设备的 1553B 总线接口的匹配性、总线通信功能的正确性乃至特定总线协议符合性的 综合评价。 目前快速构建 1553B 总线测试系统的方法即是采用基于总线仿真卡的 1553B 进行应用软件开发,这样的测试系统具备既简单快捷又灵活方便的优点, 也正被越来越多的工程实践所采用。1553B 总线仿真卡可以实现对总线 BC, RT,BM 终端的模拟,通过硬件厂家提供的 SDK 库即可实现 1553B 总线仿真 模拟。虽然 1553B 仿真卡通常会自带有总线测试软件,但是

5、这些软件是面向总 线消息,而难以模拟完整的总线协议也不利于被用户直观掌握被测系统的状态, 测试效率低下。 现有的基于仿真卡的 1553B 总线测试软件在应用上存在一定的局限: 文献2?3提出的 1553B 总线测试软件虽然对 1553B 总线消息进行了仿真,但 其主要侧重 RT 终端接口正确性的测试或对某一特定协议符合性的测试,不具备 通用性和可扩展性。文献1虽然具有通用性设计,但软件功能单一,仅能够实 现对总线消息进行单一解读,测试结果晦涩难懂,不具备人机交互性,测试效率 较低,因而不能满足复杂总线协议测试要求。 在实际应用中,对于不同型号工程而言,其总线系统拓扑结构和采用的 1553B 总

6、线协议不可能完全一致,同一型号航天器的不同终端设备在 1553B 总 线上传输数据的处理格式、内容及物理意义不同,而现有软件针对总线系统和通 信协议多样性的适应性和通用性均相对较差, 难以直接移植,尤其在待测系统拓 扑结构或者总线协议类型的变化时几乎需要对整个软件进行重新设计。 因此,面 对越来越多的型号研制任务,构建一种快速可重构的 1553B 总线测试仿真系统, 提供总线测试系统的构建效率对于提高型号研制效率, 缩短研制进程,降低研制 成本等各方面则显得尤为必要,具有及其重要的意义。 本文设计并实现了一种基于仿真卡的快速可重构 1553B 总线测试软件, 通过配置可重构和代码可重构两方面手

7、段, 实现即能够应对总线系统拓扑结构的 变化,又能应对总线协议类型的变化。首先提出了基于仿真卡 1553B 总线快速 可重构测试软件的设计方案,分别对软件架构、通信层设计、应用层设计和接口 设计进行说明,其次在此基础上对软件的快速可重构特性设计从配置可重构和代 码可重构两方面进行了详细介绍;最后结合型号实际应用,给出基于该方法实现 的软件实例及其代码评估。 1 1553B 总线测试软件设计 快速可重构的 1553B 总线测试软件是基于 1553B 总线仿真卡开发,实 现对航天器总线通信协议的仿真模拟。软件通过采用层次化设计架构将总线的底 层总线消息通信和应用层总线通信协议仿真相分离,从而实现底

8、层测试系统不依 赖于 1553B总线消息和 RT 终端参数的具体协议定义,保证了应用层面向总线 通信协议的快速可重构的特性。 1.1 软件架构 快速可重构的 1553B 总线测试软件总体上划分为应用层和通信层 2 部 分。应用层负责和用户进行界面显示与交互;通信层负责通过 1553B 仿真卡与 各终端设备之间进行总线数据通信。为实现软件的快速可重构特性,软件尽可能 降低用户层和通信层之间的耦合度,即用户层和通信层在设计时通过独立的代码 实现,其之间的信息交换通过特定接口开展,软件主要划分为 3 个部分: (1) 应用层:实行与用户直接的对话,包括界面显示与交互、用户对 仿真卡的启动和停止的控制

9、、被测系统面向用户的数据解读处理等功能; (2) 通信层:主要完成对 1553B 仿真卡的控制、总线消息数据的发送 和接收、周期性消息的更新与发送或接收; (3 )数据接口:主要完成应用层和通信层之间的数据和控制信息的交 换,并完成数据区的管理和维护。软件的整体系统架构如图 1 所示。 -V -i - 1 V L人帰 1哄昨站 囹I 快速可章梢1553B总蛭圖试软杵案純渠构通过层次化的软件架构设计,便于将 1553 总线通信协议中的子地址协 议转换为通信层的服务项,从而被应用层各 RT 对象所复用,大大减少应用层 RT 对象实例化的软件代码量,提高了应用层程序快速重构的效率。 1.2 通信层设

10、计 通信层作为底层实现被划分为各种向应用层提供的数据服务。通信层软 件代码通过调用 1553B 板卡提供的 SDK 驱动程序,实现与 1553B 总线仿真卡 的通信和控制;驱动总线仿真卡实现与总线终端的物理通信。通信层程序将需要 通过总线发送的数据进行分解并通过驱动程序转换为遵循 MIL?STD?1553B 总 线标准的消息字进行发送,同时也接收来自总线其他终端发送的消息字, 对消息 字中的数据进行整合,从而供应用层使用。 通信层将总线消息划分为 2 类:周期性消息和非周期性消息。其中周期 性消息不需要用户通过应用层进行干预;而非周期性消息完全根据应用层的用户 指令进行控制。由于二者之间没有直

11、接的数据通信,因此分别采用独立的线程实 现,以提高程序的运行效率。为避免 2 个线程同时占用硬件板卡而导致数据就丢 失,线程间采取互斥锁的方式实现线程同步并控制最小的总线消息间隔。 这样的通信层设计,能够将底层实现划分为各种数据服务类型,而被应 用层所调用。通信层所处理的内容仅需限制在数据本身, 而不需要考虑数据的对 于用户而言的物理意义,因此可以很方便的根据不同的总线通信协议需求扩展服 务类型,从而为面向用户的应用层快速可重构提供了基础。 1.3 应用层设计 应用层实现与用户之间的交互,其核心作用在于将不易被用户识别的底 层数据转换为用户可以方便识别的应用信息。 应用层首先构建与用户之间的软

12、件 界面,实现与用户的信息传递,并在界面基础上开展总线终端的管理。 应用层对于各 RT 终端通信的管理采用类的形式进行分装,从而能够通 过类的接口特性实现外部控制,并利用类的可重用性和继承性实现代码的快速可 重构性。与通信层类似,应用层 RT 终端类也能够根据不同子地址划分为不同的 服务项。但与通信层不同,应用层需要面对不同 RT 终端应用工程进行重构,如 设备遥测的信息,其在数量,物理含义上对于不同终端而言都可能相去甚远。 因 此,如果仅简单的采用类的继承方式实现重构,不同的 RT 终端类仅能单纯地继 承父类的接口函数,而主要的编程工作需要集中于接口函数的重构, 这种继承方 式仍然需要较大的

13、代码量,难以实现测试软件的快速可重构性。 为解决 1553B 总线测试软件应用层设计的快速可重构问题,软件对于 总线终端相关的各类服务项采用代理程序(或代理子类)的方式实现,每种服务 项对应一项代理程序,通过代理程序读取对应总线终端的应用层协议描述文件完 成应用层到通信层之间接口数据的解读处理, 如图 1 中的应用层构造所示。每项 代理程序与总线协议中的一种消息类型 (总线子地址)对应,每种代理程序能够 被所需要的总线终端类直接复用,只需在程序外部通过配置不同的描述文件就能 够实现不同终端各自所需的应用层协议,从而大大减少了类重构所需要编写的代 码量,既能简化软件本身的设计,又能够在不改变软件

14、代码的情况下实现总线终 端的协议重配置,从而保证了整个测试系统的快速可重构性。 与通信层相同,应 用层也通过独立的线程实现。 1.4 数据接口设计 数据接口用于实现应用层与通信层之间的数据交换,为达到快速可重构 的目的,要求数据接口具备可扩展性。本软件专门设计一个接口类用于数据交换, 对终端及其各子地址需要的总线数据进行内存的管理, 并提供写入与读取函数的 接口。由于应用层与通信层采用多线程的设计, 接口类中设计了互斥量来表征不 同线程对终端收发总线数据的访问权限,实现不同线程之间数据正常传递并且避 免不同线程中程序对同一数据资源的同时访问。 2 快速可重构设计 本文给出的软件针对配置和代码

15、2 个方面开展了快速可重构设计。一方 面在层次式的软件架构基础上实现代码的快速可重构; 另一方面通过配置文件实 现应用层的用户信息与底层数据的相互转换格式和通信层的总线消息数据格式 的快速可重构。配置文件的快速可重构可以在总线终端拓扑不变的前提下, 便于 用户变更总线数据的格式和内容。代码的快速可重构可以在总线终端拓扑或协议 发生变化时,增添新的终端实例和服务程序。下面给出了配置可重构和代码可重 构的具体实现。 2.1 代码可重构 代码可重构主要应对被测总线系统的拓扑结构发生变化,其分为 2 类: (1 )总线终端数量可重构; (2)总线协议数据类型可扩展。 首先,当被测系统的总线终端数量发生

16、变化时,由于应用层和通信层之 间相互独立,在软件应用层代码中可以通过继承当前已有的总线终端类并加载相 关的代理程序即可增加新的总线终端,同时在数据接口上派生新的数据接口类并 创建实例对象即可实现应用层新增终端使用通信层提供的底层服务。 其次,在前 文的软件架构中,每种总线协议的数据类型(即子地址)作为通信层中的一种服 务类型进行管理,当总线协议的数据类型发生变化时,首先对通信层中的服务程 序进行变更或增加,并在数据接口上派生新的数据接口类增加相应的数据管理功 能,而应用层程序只需增加对数据接口中管理新数据的服务代理程序并加载至相 关的总线终端类即可完成对新协议数据的操作。代码可重构的模型示意图

17、如图 2 所示,其中RT?3 继承于 RT?1 或 RT?2 的终端类及其代理程序,同时对于 RT?3 需要支持的新的总线协议向,在各层创建新的服务代理程序即可实现。 这种软件 设计能够充分的复用代理程序,极大的减少应用层总线终端类的重构代码量。 田2 代码可于构的缨空示意田 2.2 配置可重构 配置可重构能够实现待测总线系统拓扑结构未变化而总线协议数据类 型发生变化时的快速可重构。配置可重构只需要改变软件外部的配置文件而不需 要更改软件代码,具有快速灵活的特定。配置文件被设计为 2 种类型: (1 )通信层总线消息配置文件和; (2 )应用层参数配置文件。 总线消息配置文件以总线消息为基本单

18、位对航天器 1553B 总线消息协 :站| 羔4 ;,桔 丽JL 1 i! A 7. E te- 1- F k L r r 厂 khl KI,RJ- ; !-: 4 4 申 申 * 议进行描述,软件启动初始化时对总线消息描述文件进行解读, 软件运行时,按 照总线消息执行列表进行总线消息的发送或接收。通信层总线消息描述文件内容 以消息序号为行,以消息属性为列,其中消息属性包含消息名称、消息内容、 RT 地址、子地址、通信方式、消息数、数据字计数、是否循环缓冲、消息周期、 优先级、消息间隔,文件内容格式如图 3 所示。 in MH M 1 姫; frrtl lOt 4k sob N I IMtia

19、 1咱冷 z El : 1 IdJtinn If iOOn S* 3追代层彥典消息痛述丈怜将式 应用层参数配置文件以用户接收终端或向终端发送的数据参数配置文 件为例,针对不同终端设备,软件配置不同的参数描述文件。在软件启动时,各 终端对象的代理程序对参数配置文件进行解读, 软件运行时,终端实例将通信层 接收到的总线消息送给代理程序根据配置文件进行解读, 再将解读后的参数值等 信息显示到指定界面。应用层参数文件以单个参数为行, 以参数属性为列,其中 参数属性包含参数代号、参数名称、位置类型、起始字节、起始比特、比特长度、 数据类型、是否解读、解读公式、公式系数、正常范围等,文件内容格式如图 4

20、所示。 JBK. iL*i L2L .jLh. 褪卩 2 V 诵 WMT T -10 KJC.I7 畑紳i RBF 7 UI附 ! 心* -m KS MF t Y 32 cw II W 1 T 3E OPP 时F 7 JPP R 圈4应闇雇裂配夏丈件格式 对于用户在软件界面上输入的向终端发送的注入数据或指令等信息,软 件终端将数据发送至代理程序,通过代理程序将用户信息转换为总线指令码数 据,再通过数据接口转发给通信层发送至终端设备。 以总线指令参数配置文件为 例,其中包含指令代号指令名称和指令码等参数,文件内容格式如图 5 所示 1S忖別 WDI 00202 I i -a 11? - (/ 曲

21、 r 注人袈踮也描卒比疋尢际赭式 2.3 软件信息流 软件中的终端对象、代理程序和配置文件各模块之间的信息流向如图 6 31 * 佶牡苗*樓i IB 对于软件向总线上发出的消息,用户通过软件界面提出发送请求(如点 击某总线指令发送按钮) , 软件 RT 终端收到用户的发送请求后将界面的发送消 息信息 (如指令代号)提交代理程序,代理程序根据预先读入的指令配置文件将 该指令转换为指令代码,并通过数据接口传送给通信层程序,通信层程序再根据 指令代码转换为总线消息发送至总线硬件系统。对于从总线上接收的消息,通信 层程序先将总线消息转换为数据源码并通过数据接口传输给 RT 终端,RT 终端 将数据源码

22、提交代理程序,通过代理程序对数据源码进行解读处理后形成应用层 数据反馈给 RT 终端,最后由 RT 终端将应用层数据送给软件界面向用户显示。 3 应用实例 基于本文软件设计方法实现的基于总线仿真卡的 1553B 总线测试软件, 已成功应用于某航天器总线通信子系统的通信协议测实验证。 例如应用于某分系统的 8 台总线 RT 终端的测试系统,硬件平台的 1553B 总线仿真卡采用美国 GE Con dor 公司的型号为 QCP?1553?2M 的标准 1553B 仿真测试卡,软件界面集 成了 8 个终端设备仿真通信控制界面,通过配置 1 个通信层总线消息描述文件、 8 个应用层终端参数配置文件、8

23、 个指令配置文件和 4 个注入数据配置文件实现 与各终端设备的不同总线数据格式的关联。 软件设计的总线数据类型包括注入数 据、总线指令、总线遥测参数、广播消息等。图 7 给出了软件模拟的 BC 终端 与被测 RT 终端设备 1 进行总线通信的显示与交互界面。 该软件总代码行数为 14 573 行,其中通信层代码为 9 711 行,约占总 代码量的 66%,应用层代码为 2 822 行,占 19%,其中应用层的代理程序代码 为 1 766行,占应用层代码的 62%,而 8 个 RT 终端协议管理对象代码共计 1 056 行,平均每个 RT 终端的代码行数为 132 行,占总代码量的 0.7%,即

24、单 个终端的代码量能够达到小于软件总代码量 1 %0。从实际应用可以看出,应用 本文设计方法实现的软件,如果被测试系统不增加总线 RT 终端的数量只改变总 线协议,则不需要对软代码进行更改,只需要重新配置相关的参数文件, 如果被 测I:.i.-J.:,.裟 -;IrTfcr 糾:I.:;-I:rF氏:- rwi 鼻 Mi I SlTJir. 弘同碑斗* 朋 谢7 轮件时碱测终端】址行测试的界囲示詢 蟲llwEMillwEMi- -FrFr- -KF KF : : ww Tlww Tl- -g g ;.聖= r rJrHiesJrHieskvkv- - k.L.!k.L.!- -k k 1?;1

25、?; 系统新增 RT 终端,其代码的重构量也平均在 1 %。左右,且不会随 RT 终端的 协议数据量的增加而增大,在快速可重构方面具有明显的优越性。 4 结语 作为型号研制的重要环节,1553B 总线通信系统的测试已经成为必不可 少的环节,本文针对当前基于 1553B 总线仿真卡的测试软件灵活性和兼容性不 足的问题,提出了的一种快速可重构的 1553B 总线测试软件设计。首先,软件 采用通信层和应用层的分离的架构,使得总线通信协议的实现不依赖底层总线仿 真卡通信的特性,极大地增加了软件的灵活性。其次,软件将通信层和应用层的 服务项与总线通信协议的子地址关联,通过服务代理的方式实现测试系统应用协

26、 议的现场可重构能力。最后,应用层总线终端的协议管理通过总线终端类的继承 结合服务代理应用的方式实现,极大的减少了派生类所需要重构的软件代码, 从 而能够快速应对总线系统拓扑结构上的变化。文本给出的应用实例表明,基于该 方法实现的 1553B 总线测试软件其总线协议管理程序的代码量仅为整个程序的 1 %。,具备极强的快速可重构能力,目前已成功应用于多型号航天器 1553B 总 线子系统的测试,极大地提高了构建测试系统的效率,取得了良好的效果。 参考文献 1 李筱雅,尚丽娜,张芹芹.1553B 总线测试仿真系统设计与实现J. 现代电子技术,2012,35 (10) : 54?60. 2 梁林灿.

27、1553B 总线测试系统中上位机软件的设计与实现D.广州: 中山大学,2007. 3 郭坚,张红军,付连芳面向星载应用的 1553B 总线仿真卡二次开 发软件J.航天器工程,2012,21 (4): 78?82. 4 赵爽,刘占渠,苗克坚.通用 1553B 总线消息解读软件的设计与实 现J 电子测量技术,2010,33( 1): 78?81. 5 史国庆,高晓光,吴勇,等.1553B 总线监测仪系统软件设计J火 力与指挥控制,2009,34(6): 141?143. 6 刘桂山, 胡军程.1553B 总线信息流设计J.北京理工大学学报, 2003 ( 3) : 301?304. 作者简介:朱珂(1984 ),男,河南南阳人,工程师,硕士。主要研 究方向为航天器测控与通信总体设计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1