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进行了解!
网友评论