美文网首页
SkyEye——如何实现1553B总线仿真?

SkyEye——如何实现1553B总线仿真?

作者: 迪捷软件 | 来源:发表于2022-02-21 10:20 被阅读0次

    01.1553B总线简介

    1553B最初是美国军方专为飞机上设备制定的一种信息传输总线标准,具有双向传输的特性,实时性和可靠性高,现已广泛应用于航空、航天、船舶、电子等众多领域中,如飞机综合航电系统、舰船综合电子系统等。

    1553B总线系统主要有3部分组成,分别是总线控制器BC(Bus Controler)远程终端RT(Remote Terminal)以及总线监视器 BM(Bus Monitor)

    其中,BC是总线上唯一一个建立和启动通信任务的终端,RT 是响应BC 通信任务的总线终端,受 BC 控制,且允许同时存在多个 RT;BM 则是总线上的监控器,主要用于传输通信的信息以及记录和分析,本身不参与通信任务。其中部分场合还会用到1553B 交换机,主要辅助实现 BC 对不同的 RT 发送消息的功能,具体结构图如图1。

    ▲图 1 1553B总线架构图

    1553B总线的通信消息格式有多种类型,包括 BC 到 RT,RT 到 BC,广播方式以及模式命令方式等。

    1553B 总线传输的消息是通讯的基本单位,将一个或多个消息组织起来可以形成新的数据结构,这种数据结构就叫做帧。帧的类型主要有三种,命令帧、数据帧和状态帧。

    命令帧:只能由 BC 发出,其内容规定了该次通信任务的具体要求,包括消息类型、消息长度、RT 地址、消息子地址以及消息间隔等信息。

    状态帧:只能由 RT 发出,它的内容代表 RT 对 BC 发出命令的执行反馈。

    数据帧:没有硬性要求,BC 和 RT 都可以发出,但是根据消息类型来决定谁发出。例如,如果是 BC 到 RT 类型的消息,则数据帧则由 BC 发出;如果是 RT 到 BC 类型的消息,则数据帧是 RT 发出;其它类型依此类推。

    1553B 总线收发消息的过程是指由 BC 端开始向一个或多个 RT 发布一个接收/发送指令,RT 在给定的响应时间范围内发回一个状态字并执行消息的接收/发送过程。BC通过验收RT回答的状态字来检验传输是否成功并做后续的操作。

    目前市场上普遍使用的1553B总线协议芯片为DDC公司(美国数据设备公司)的BU-61580,该协议芯片包含微处理器和1553B总线之间完备的接口。来了解一下BU-61580芯片吧!

    02.BU-61580芯片介绍

    BU-61580 芯片是由 DDC 公司研制的一款兼容 MIL-STD-1553B 总线接口和主处理器的高级通信引擎(ACE,Advanced Communications Engine)的接口协议芯片。

    因其可靠性高,抗恶劣环境强等特性被广泛用于航空、航天等领域的总线系统及相关的电子设备中。BU-61580 芯片可同时兼容 BC、RT、BM 模式。该芯片封装形式为一个单片1.9平方英寸、70个引脚的封装样式,如下图2所示。该产品含有两个低功耗收发器和编码/解码器、完整的 BC/RT/MT 多协议逻辑、存储器管理及中断逻辑、共享的 4K×16静态 RAM(Random Access Memory)以及一个与主处理器总线可直接相连的缓冲接口。

    ▲图2  BU-61580封装图

    在 BC 模式下, BU-61580 芯片支持所有的 MIL-STD-1553 (飞机内部时分制指令/响应式多路传输数据总线)消息格式。如下图所示,对每一个1553消息格式来说, BU-61580 管理 BC 消息块中特定的字序列,包括控制字的位置、指令字的位置以及将由 BC 协议逻辑从 RAM 中读出的数据字的位置。

    ▲图3 BU-61580支持消息协议格式

    BU-61580芯片在 RT 模式下也可以完成所有 MIL-STD-1553B 消息格式,并且能完成综合错误检测、字及格式的有效性、以及不同的 RT-to-RT 传送错误的检测功能。

    除此之外,BU-61580芯片还能在 BM模式下提供基于 RT 地址、T/R 位、以及子地址的监控器滤波,其消息监控器消除了用软件来判断消息的起始和结尾的繁琐,大大简化了软件和处理器工作负担。

    03.SkyEye仿真平台

    SkyEye 是一种嵌入式全数字仿真平台,能够在 Windows 和 Linux 系统上创建硬件仿真模型并运行软件程序的工具。SkyEye 具有强大的硬件设备模型拓展性,理论上能支持所有硬件设备的数字化模型建模,其中便包括1553B 总线以及 BU-61580 芯片仿真模型。

    目前 SkyEye 硬件设备库中的 BU-61580 仿真芯片功能十分完善,已运用到实际的项目研发中,可帮助软件工程师进行研发调试工作。

    结合图4,可以看到 BU-61580 仿真芯片下支持的 1553B 总线模型包含“bu_61580”、“bu_61580_ram”和“std_1553b_linker”。其中,“bu_61580”模块主要模拟 BU-61580 芯片本体,可根据编程设置 BC 或 RT 模式,正常访问内部寄存器以及 RAM 区域,完成相对应的解析收发1553B 消息功能;“bu_61580_ram”则是模拟 BU-61580 芯片的 RAM 存储区,“bu_61580”模型可以从中读写相关数据信息;而“std_1553b_linker”则是 SkyEye 根据1553B 通信协议而抽象模拟实现的总线连接器,主要实现接收 BC、RT 发送的消息,解析消息并转发给合适的目标,实现类似网络交换机的功能。

    ▲图4 SkyEye模拟1553B总线架构示意图

    在模拟仿真过程中,客户经常需要测试各种故障情况下的通信结果,这时便可使用SkyEye 的故障注入功能。具体界面如图5所示:

    ▲图5 SkyEye故障注入界面

    界面左侧为相关硬件设备模型的寄存器组,中间则为具体寄存器的值的示意图,可根据测试要求修改寄存器某些位的改变,也可随时暂停程序运行,随时修改,方便工程师进行调试。

    更多 SkyEye 相关内容,欢迎关注公众号迪捷软件或访问www.digiproto.com进行了解!

    相关文章

      网友评论

          本文标题:SkyEye——如何实现1553B总线仿真?

          本文链接:https://www.haomeiwen.com/subject/swwblrtx.html