1553B通信项目开发笔记(一)协议概述

2023-11-19

最近接了个项目,需要用1553B协议通信,仅作为RT端口进行通信,控制器采用ARM

使用芯片为国产的BU61580芯片,功能和引脚和DDC的61580完全一致。

系统组成

        MIL-STD-1553B时分制指令/响应多路传输数据总线采用半双工传输方式。MIL-STD-1553B数据总线上的节点分为三种不同的终端类型:总线控制器BC( Bus controller)、 远程终端RT ( Remote Terminal) 及监视器MT ( MonitorTerminal),典型拓扑结构见图

        总线控制器BC:1553B 总线上的重要组成部分,唯一且不可或缺。一个1553B总线网络上只能有一个终端工作于BC模式,它用来启动和控制数据的传输。总线控制器按功能可分为普通模式和增强模式两种。其中,增强模式还提供了帧自动重复、自动重试及由处理器编程设置消息时间间隔等功能。

        远程终端RT:各个子系统与整个1553B 总线网络的接口,不同的RT地址代表了不同的RT终端, 一个1553B总线网络最多有31个终端工作于RT模式。RT地址一共由六位组成,其中5位为地址位,一位为奇偶校验位(这里要注意,地址也有校验位,未必太严谨了点)。只有当总线控制器向某个RT发出指令后,才能启动1553B总线_上的数据传输,该RT才能 进行数据传输。远程终端按功能也分为普通模式和增强模式。在增强模式下,其提供了双缓冲模式、循环缓冲模式等存储器管理模式。后续项目设计是使用RT的增强模式。 这里的缓冲模式,是类似于FIFO的东西,设计是为了信息处理的不同步问题。有缓冲还不止一个,那就会存在对缓冲区编号的需要,这个有个重要概念后面会提到,这里不多说。

        总线监控器MT:监控和记录总线上各类状况的终端,它同样是由总线控制器进行控制,但其不参与任何1553B 总线网络的传输。总线监控器有3种工作模式:字监控模式、可选择消息监控模式和同步RT/何选择消息监控模式。

协议规范

1 传输格式和方法

        MIL-STD- 1553B数据总线的传输速率为1Mb/s, 以命令/响应方式进行数据消息的传输,传输字的长度为20位,其通信方式采用的是半双工方式。同时,对于故障容错采用了双冗余系统,在实际中第2条通道处于热备份状态。总线控制器启动并控制1553B数据总线上所有数据消息的传输。1553B 数据总线有10 种消息传输格式,每条消息由许多字构成,所有消息字在1553B总线上是以序列脉冲码调制形式传输的,数据编码采用ManchesterII双极性码,所有不用的位都视为0。这种编码的特点是每个码位中间有一个跳变,“1”信号的跳变是由高电平到低电平的负跳变;而“0”信号是由低电平到高电平的正跳变,信号的过 零点在中间。如图所示。

        双冗余:就是AB两条线进行传输,A这边如果断开就去B线传输。

        这个什么什么编码方式,简单来说:上升沿代表0,下降沿代表1,这样相对于高低电平的编码方式,会降低一半的数据带宽,不过会更严谨,容错率会更高。

传输字格式

        1553B消息由三种类型的字组成:命令字、数据字和状态字。每个字有20位,前3位是同步字头,紧跟的16位是信息有效位,之后还有1位奇偶校验位。

         1)命令字由3位同步字头位、5位RT地址位、1位发送/接收位、5位子地址/方式位、5位数据字计数1方式码位,以及1位奇偶校验位构成。

这里前三个字节不是标准的那什么斯特码,拉俩字节高,然后拉低就表示命令字

        这里涉及到两个重要概念:终端地址和子地址。

        我的理解:终端地址是每个终端的特有编号,通过终端地址可以对应找到系统中的某个终端。子地址就相当于这个终端内部的子功能,可以理解成多个FIFO缓冲区被编号了,需要读写哪个FIFO就写对应子地址。

        还有一个重要的T/R位,当T/R=1时,代表命令字以后传输的字是需要由RT来发送,BC接收。当T/R=0时,代表命令字以后传输的字是需要又BC来发出,RT来接收。

        然后是数据计数/方式字区域,这部分有两个复用的作用:如果接下来需要传输数据,这一区域可以代表接下来传输数据的长度(后续会传输多少次数据字),如果接下来不需要传输数据,只是进行方式设置,那就是代表的方式字(相当于控制命令,不需要数据传输的情况)。

        方式字的话就按照表对应就行,我这个项目需要着重看 00011这个启动自测试方式字。

        最后一位:奇偶校验位,这个就不多说了。

        介绍完了最难理解的命令字,接下来数据字和状态字就好理解了。

        需要强调的一点就是,命令字只能由BC发送的,而状态字只能由RT来发

       介绍完了3种字代表什么意思之后,我们来看整个传输流程。

消息格式

        消息格式分为:广播和非广播模式

         图上前六种为非广播模式,就是点对点传输,基于命令和响应的传输机制。都有一个共性,由BC发出命令字后才开始后续传输(状态字或是数据字)。这里就有一个1553B的协议特性:大多数情况只能有BC来启动传输。这样做的好处是避免多头传输的时候不知道听谁的。在非广播模式下,就算是RT需要传输数据到另一个RT,也需要由BC进行中转。

        BC- RT的传输是由BC向要接受消息的RT发送一一个命令字,命令字中5位RT地址位指明接收消息的RT的地址。T/R位设置为“0”表示RT是接收数据,子地址指向该RT接收数据的存储空间位置,数据字计数规定了此命令要求该RT接收的数据字字数。在RT接收到此消息后,向BC返回一个状态字以此告知BC此次传输的状况,至此完成了BC到RT的传输。
        RT- -BC的传输是由BC向要发送消息的RT发送一个命令字,指示该RT发送由命令字的子地址所指定的存储空间里的内容,发送的数据字个数由5位数据字计数位规定。RT在收到BC命令字后,返回BC一个状态字并且其后紧接着是规定数目的数据字,随后BC将确认返回的消息,至此完成了RT到BC的传输。

        剩下的非广播模式就好理解了,不经过BC直接由RT传输到RT。

        我这个项目主要是RT和BC直接的传输,不存在RT到RT和广播模式,就不深究别的过程了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1553B通信项目开发笔记(一)协议概述 的相关文章

  • 解决打印org.apache.http.wire,org.apache.http.headers日志的问题

    最近在调试接口的过程中 发现使用httpClient的时候 控制台输出了很多org apache http wire org apache http headers相关的日志 不便于我观察自己调试业务过程中输出的日志 内容如下 10 02
  • 如何把一张照片用PS做成漫画风格

    如何把一张照片用PS做成漫画风格 原素材 漫画天空 1 打开ps 打开素材 然后按住ctrl j 复制一个图层 并修改好名字 如下图操作 2 执行 滤镜 滤镜库 干画笔 如图所示 三个参数分别是 0 10 2 3 执行 滤镜 Camera
  • Box2D C++ 教程-查询 World

    声明 本文翻译自Box2D C tutorial World querying 仅供学习参考 查询World 通常你可能想知道在给定的场景中都有哪些实体 例如有一个炸弹爆炸了 周围的所有实物都会受到不同程度的破坏 那么在RTS 译者注 Re
  • java计算机毕业设计景区在线购票系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计景区在线购票系统源码 mysql数据库 系统 lw文档 部署 java计算机毕业设计景区在线购票系统源码 mysql数据库 系统 lw文档 部署 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 i
  • 【转】结构体中Char a[0]用法——柔性数组

    有如下定义 typedef struct char a char b 0 其中元素Char b 0 叫做柔性数组 主要用于使结构体包含可变长字段 详细内容如下 柔性数组 柔性数组结构成员 C99中 结构中的最后一个元素允许是未知大小的数组
  • css hover 控制其他元素_CSS学习小结

    css语法 Selector Dcclaration Selector Property Value CSS注释 注释 CSS Selector 选择器 id class id id class class 插入样式表 外部样式表 内部样式
  • 深入浅出SQL(6)-聪明的表设计

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 聪明的表设计 为什么要规范化 本章多是理论 请注意理解 我们到目前为止创建的表 都没有经过仔细考虑 随着数据的越来越多 我们需要考虑的更多 好让现在的WHERE子句简

随机推荐

  • Linux——date

    命令简介 date 根据给定格式显示日期或设置系统日期时间 print or set the system date and time 指令所在路径 bin date 命令语法 date OPTION FORMAT date u utc u
  • python计算机视觉编程(四)图像到图像的映射

    图像到图像的映射 原理 仿射变换 仿射变换是一种二维坐标到二维坐标之间的线性变换 相同平面 它保持了二维图形的 平直性 直线经过变换之后依然是直线 和 平行性 二维图形之间的相对位置关系保持不变 平行线依然是平行线 且直线上点的位置顺序不变
  • VB中Shell和ShellExecute函数的使用方法和区别

    写了一个vb的程序 用来把原来写的几个vb和vc的程序整合起来 就是使用Shell函数 结果发现 vc的程序可以很好的显示 但vb写的却一运行就最小化了 仔细查看了一下以下文章 才发现原来shell函数的默认显示模式是windowstyle
  • java公用包共享_tomcat中设置多项目共享jar;类包

    随着服务器上的tomcat部署的项目越来越多 最近在部署一个新的项目的时候出现内存溢出的错误 Exception in thread main java lang OutOfMemoryError PermGen space at java
  • 对java和面向对象的理解?

    java是一款编程语言 是面向对象很有力的影响代表 面向对象 讲社会 实际生活中所有可见的事务抽象对象 用属性和方法来描述 划分模块化引入到java面向对象 方便后期的重复利用和扩展 解决人类的需求 聪明的设计者 灌入人的思维来解决问题 可
  • OSI七层模型和TCP/IP五层模型

    一 OSI七层模型 七层模型从下往上依次为物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 各层功能如图所示 应用层 与其它计算机进行通讯的一个应用 它是对应应用程序的通信服务的 例如 一个没有通信功能的自处理程序就不能执行通信的
  • python 使用pyinstaller 打包xpinyin 问题

    打包之后 启动错误 提示 mandarin dat 未找到 于是 找到这个文件 于打包好的pin exe放一起 再次运行还是这样 查资料说 修改 pyinstaller 的hook 测试失败 转战修改源代码 增加一个函数如果 默认查找的路径
  • 2021前端开发面试题:面试中该如何与HR谈薪资?

    问题 面试中该如何与HR谈薪资 解析 HR与你谈论薪资经常有如下套路 HR 您期望的薪资是多少 你 25K OK 你已经被HR成功套路 这个时候你的最高价就是25K了 然后HR会顺着这个价往下砍 所以你最终的薪资 般都会低于25K 等你接到
  • JS获取当前网站路径的参数值

    如果要获取当前网站路径的参数值 那么可以通过这个例子来实现 比如获取页面的 id 5 page 4 代码如下
  • es ik 分词插件 词库热加载源码分析

    package org wltea analyzer dic import java io IOException import org apache http client config RequestConfig import org
  • 通过lombok减少重复劳动

    lombok 是什么 lombok是一个java开发工具 能帮助我们减少大量的重复劳动 lombok能帮助我们做什么 lombok提供了大量的注解 只要添加了这些注解 lombok就能自动完成很多代码 举个例子 我们在写java的POJO时
  • 关于三维重建的一些东西-VisualSFM+PMVS +MeshLab= PhotoScan

    三维重建 最近在写毕业论文 研究了下三维重建的一些东西 记录下来 以备留存 另外有其他的问题的朋友可以留言 这篇博文分两个部分 三维重建方法 SFM MVS 开源工具 VisualSFM PMVS Meshlab 三维重建方法主要是SFM和
  • Java中类和对象的区别

    一 类和对象 1 类 类的理解 类是对现实生活中一类具有共同属性和行为的事物的抽象 类是对象的数据类型 类是具有相同属性和行为的一组对象的集合 简单理解 类就是对现实事物的一种描述 类的组成 属性 指事物的特征 例如 手机事物 品牌 价格
  • vite创建vue3项目及使用typescript

    1 vue3项目建议使用vite工具 安装全局的vite 创建项目 npm install g create vite app create vite app vue3 demo cd vue3 vite npm install npm r
  • IBM、甲骨文、CNCF 就谷歌对 Istio 治理的处理提出抗议

    近日来 Istio 商标转让 IBM 抗议谷歌违背承诺未将 Istio 捐献给 CNCF 的事情闹的沸沸扬扬 Google 宣布将 Istio 商标转让给 Open Usage Commons 组织 IBM 声明对 Google 违背承诺未
  • Ubuntu下通过docker安装wechat

    Ubuntu下通过docker安装微信 一 安装docker sudo apt update sudo apt upgrade sudo apt full upgrade 安装证书 sudo apt install apt transpor
  • 前缀、中缀、后缀表达式和二叉树

    概念 前缀表达式 Prefix Notation 是指将运算符写在前面操作数写在后面的不包含括号的表达式 而且为了纪念其发明者波兰数学家Jan Lukasiewicz 所以前缀表达式也叫做 波兰表达式 后缀表达式 Postfix Notat
  • explain查看sql语句执行计划

    explain sql 执行结果字段描述 id select唯一标识 select type select类型 table 表名称 type 连接类型 possible keys 可能的索引选择 key 实际用到的索引 key len 实际
  • ORB_SLAM2运行官方数据集/自己数据集

    官方数据集运行结果 WeChat 20230210194425 可以正常运行 自己数据集运行结果 自己的数据集 主要是用手机摄像头采集的实验室进行了一下简单的运行 可以成功运行 但是由于查看的相关程序的是死循环不能像运行官方数据集那样完整保
  • 1553B通信项目开发笔记(一)协议概述

    最近接了个项目 需要用1553B协议通信 仅作为RT端口进行通信 控制器采用ARM 使用芯片为国产的BU61580芯片 功能和引脚和DDC的61580完全一致 系统组成 MIL STD 1553B时分制指令 响应多路传输数据总线采用半双工传