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

已剪辑自: https://www.digiproto.com/news/204.html

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lSNW7low-1669731795618)(https://www.digiproto.com/upload/202202/1645410648789450.png)]

▲图 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芯片吧!

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 中读出的数据字的位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tkHXv190-1669731795625)(https://www.digiproto.com/upload/202202/1645410649347128.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apxXC7kg-1669731795626)(https://www.digiproto.com/upload/202202/1645410649518644.png)]

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

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

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

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 发送的消息,解析消息并转发给合适的目标,实现类似网络交换机的功能。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7QuBjXq6-1669731795626)(https://www.digiproto.com/upload/202202/1645410649968247.png)]

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCNAM1Ib-1669731795627)(https://www.digiproto.com/upload/202202/1645410649845928.png)]

▲图5 SkyEye故障注入界面

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值