1553B总线协议

2022-09-20 20:35:17 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

概述

1553B总线组成包括总线控制端(BC:Bus Control)、远程终端(RT:Remote Terminal)和总线监视端(MT:Monitor Terminal)。

总线控制端(BC:Bus Control)

BC作为总线通讯的发起者和组织者,负责总线调度、管理。

远程终端(RT:Remote Terminal)

RT表示总线网络中的各个通讯节点,最多支持31个RT。

总线监视端(MT:Monitor Terminal)

MT用于监视总线的运行。

消息结构

1553B协议规定消息组成的最小单位为字,即在总线上传输的消息都是由一个个的字组成,按照种类可分为指令字,数据字和状态字。这里的字和计算机中常见的字并不一致,一个字由连续的20bits组成,包括3bits的同步头,1bit的奇偶校验位和16bits的特定位段,每种字的特定位段定义在下面详细介绍。

指令字

bit

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

同步头

远程终端地址段

发送/接收位

子地址/方式字段

数据字计数/方式代码字段

奇偶校验位

同步头

数据字同步头应是一个无效的曼彻斯特波形,其宽度为三个位时,前1.5位时的波形为负,后1.5位时的波形为正。如果该同步头的前后位为逻辑 1,那么同步头的表观宽度将增加到四个位时。

远程终端地址段

紧跟在同步头后面的5位为远程终端地址段,每个远程终端都被指定一个专有的地址,最多可标识31个,地址范围为00000B(0)到11110B(30)。二进制11111为所有远程终端的公用地址,供系统采用广播操作时使用。

发送/接收位

紧接远程终端地址后的一位应为发送/接收位。它应表示BC要求RT做的操作,逻辑0指定远程终端做接收操作,逻辑1指定远程终端做发送操作。

子地址/方式字段

紧接发送/接收位后的五位,用来区分远程终端的子地址,或者用作总线系统进行方式控制时的标记。如果该字段为00000B或11111B时的,表示此指令字为方式控制指令,若该字段不为00000或11111则表示为RT终端的子地址。所以BC可以通过配置该段来决定指令字的方式,能访问对应RT0x01—0x1E子地址的数据。

奇偶校验位

1553B采用奇校验的方式,即前面19位的数据用二进制表示,1的个数如果为偶数,则该位设置为1保证一个字二进制表示中1的个数为奇数个,相反如果前面19位的数据二进制表示后,1的个数为奇数,则该位设置为0,保证整个字二进制表示后1的个数为奇数。

数据字

bit

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

同步头

数据字段

奇偶校验位

数据字由3bits的同步头、16bits的数据字段和1bit的奇偶校验位组成。数据字用于BC或RT实现具体的数据传输。

状态字

bit

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

同步头

远程终端地址段

消息出错位

测试手段位

服务请求位

备用字段

广播指令接收位

忙位

子系统 标识位

动态总线 控制接收位

终端标志位

奇偶校验位

消息出错位

该位在状态字的第8位,用来表示RT在已收到的消息中,是否存在一个字或多个字没有通过规定的有效性测试。逻辑1表示消息有差错,逻辑0表示消息无差错。所有的终端应提供消息差错位。

测试手段位

状态字的第9位作为测试手段位。它在所有条件下总置为逻辑0。该位为可选位,如果使用,指令字中的相应位置为逻辑1,用来区分指令字和状态字。

服务请求位

状态字的第10位置是服务请求位。表示本RT需要服务。要求BC启动与本RT或子系统有关的预定操作。当与单一RT相连的多个子系统分别请求服务时,RT应将它们各自的服务请求信号逻辑“或”成状态字中的单一服务请求。逻辑“或”完成后设计者必须准备好一个数据字,并以相应位置1来标志具体的请求服务子系统。状态字中的“服务请求位”,应维持到几个请求信号都处理完为止。该位仅用来激发随机发生的数据传输操作。

备用字段

状态字的第11、12、13位是备用的状态位。应将它们置为逻辑0,这些位留作今后使用。

广播指令接收位

状态位的第14位置为逻辑1,表示本RT接收到的上一有效指令字是广播指令字。当系统中未采用广播方式,置该位为逻辑0。

忙位

状态字的第15位时置位为逻辑1表示远程终端处于忙状态,表示它不能按照总线控制器的指令要求将数据移入子系统或从子系统取数据。如果远程终端在响应发送、指令时置忙位,那么只发出它的状态字。该位为可选位,逻辑0表示空闲状态或者非忙状态。

子系统标识位

状态字的第16位用来向总线控制器指出子系统故障状态,且警告总线控制器本远程终端提供的数据可能无效。如果与一个远程终端相连的几个子系统都呈现故障状态时,应将它们各自的信号逻辑“或”,形成状态字中的子系统标志位,并将事先准备好的一个数据字中的相应位置1,记录它们的故障报告,用于进一步检测、分析。该位为可选位。逻辑1表示有标志,逻辑0表示无标志。

动态总线控制接收位

状态字的第17位时若置为逻辑 1,用来表示本RT接受符合协议本身规定的动态总线控制的授命。逻辑 0 表示不接受。该位为可选位。

终端标志位

状态字的第18位时留作终端标志功能。逻辑1表示本RT内部存在故障,请求总线控制器干预。逻辑0表示不存在故障。该位为可选位。

通讯方式

1553B消息传输为半双工通信,采用指令应答方式实现系统通讯,消息传输形式有10种,但对于应用层常用的就3种,即BC向RT消息传输,RT向BC消息传输和RT之间的消息传输。

BC向RT消息传输

BC向RT发送一个表示发送数据的控制字和数据字,指令字与数据字连续发送。RT回送一个状态字。

RT向BC消息传输

BC向RT发送一个表示接收数据的控制字,RT回送一个状态字后,紧接着连续发送指定数据的数据字。

RT向RT消息传输

BC向RT1发送一个表示接收数据的控制字,紧接着向RT2发送一个表示发送数据的控制字,随后RT2发出状态字和对应的数据字,RT1接收到数据字后,给BC回送一个状态字。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166447.html原文链接:https://javaforall.cn

0 人点赞