1553B总线消息刷新机制

一、BC工作机制

总线控制器通讯软件是整个系统正常工作的基础, 主要负责系统 B C端信息的实时传输, 包括命令字的发送、 数据字的收发及状态字的接收。 通信表和总线表是系统运行的依据, 它们都是由一条条记录组成的数组, 每条记录包括个 8字, 以结构体的形式供程序调用, 具体数据结构定义分别如下:

 总线表是一个由命令信息记录组成的链表, 并且首尾相连构成一个环, 使得总线以一定的周期循环执行命令。定义好通信表和总线表后就是对 MB I进行初始化, 设置工作模式并启动总线,总线根据总线表的指令集进行数据传输。为了能实时地将 MB I接收到的数据发布给系统处理,这里使用多线程程序设计技术。 总线一旦接收到新的数据, 监视程序将新数据上报给系统由相应的服务程序处理。

二、测试系统流程

程序运行后系统开始自检和板卡自检以及初始化, 包括: 数据采集卡的自检和初始化, 1553B 通信卡的自检, 开关控制卡的自检和初始化; 设置1553B 通信卡工作在 BC 模式 如果自检不正常,则报自检故障,程序结束 自检正常后, 则开始流程测试

具体流程为:

1) 通过开关控制对载机分配给被测件的远程终端地址( RT 地址) 进行设定( 包括 5 位地址信号和 1 位地址奇偶校验信号)

2) 被测件加电, 通过数据采集卡对加电信号及终端地址信号进行采集

3) 根据接口协议, 发送飞机描述信息和接收悬挂物描述命令, 发送/接收均正确, 系统握手成功, 可以进行通讯, 同时进行系统周期发送

4) 按协议, 对被测件飞行任务进行数据打包, 装订被测件一次性信息及缓变信息

5) 根据装订的飞行任务信息, 发送控制及监视信息命令, 同时对消息的约定进行解包 解包完成后, 按照包中指令( 或数据) 的要求执行相应的流程操作当然在执行任一操作之前要先判断是否满足流程的时序和逻辑 测试系统通过矢量字查询被测件返回的监视信息; 考虑到安全性, 对于不符合接口控制文件中约定子地址的消息要丢弃; 被测件对不满足流程时序或逻辑的操作命令, 忽略其操作要求

6) 通过数据管理程序, 对发送和接收的数据包进行管理及分析, 同时按照一定格式进行数据显示, 从程序运行开始到测试流程结束, 所有消息都按照原始格式保存成文件, 以备事后分析核对

7) 测试流程结束, 停止板卡, 关闭电源, 退出测试界面

三、消息传输机制

1553B 总线的消息传输机制一般采用矢量字更新机制。

在矢量字更新机制中,BC->RT 消息可以直接发起。RT->BC消息中,BC 了解 RT 是否有数据需要发送一般是通过“发送矢量字”这一带数据方式指令消息来实现的。总线控制器首先向远程终端发送代码为 10000 的方式指令字,远程终端先后回送状态字、数据字后消息结束。总线控制器根据远程终端送回的数据字(也就是矢量字)结合 ICD 文件来判断远程终端是否有数据需要发送。 矢量字是一个16位的二进制数,它的具体定义在 ICD 文件上规定,每个远程终端的矢量字定义是不一样的。 一般情况下, 矢量字的每一位是与 “子系统”的值对应的。当矢量字的某一位为 1 的时候,其对应值的子系统数据需要发送/接收。例如当矢量字二进制数为0010000000000000 即第13位值为 1 时,即表示远程终端的子系统 13+1(01110,子系统不能为 0,因此加1)数据需要发送/接收,因此通过查询矢量字即可知道远程终端是否有数据更新。在实际运用中,一个远程终端需要接收和发送的数据类型众多,而这些数据类型由于更新率、长度、来源/去向不同等问题不可能在同一条消息中进行传输。在总线控制器组织一条消息时,为了明确某一远程终端所传输数据的类型,需要对消息指令字的“子系统”位进行设置。 “子系统”位长度为 5 个位时,一般作为数据类型的标识,类似于ARINC 429 总线中“标号”的作用。远程终端在接收到指令时,通过判断“子系统”位的值来准备发送/接收何种类型数据。

在总线控制器组织一次消息传输后,通常还需要明确此次消息是否被准确的传输至目标终端,并将此信息传输给消息源终端。消息源终端的得知其信息被准确传送后才会将矢量字中的相应位置零。一般通过“同步”这一带数据字方式指令来实现的。总线控制器向远程终端发送方式代码为10001的“同步”方式指令,并传送一个数据字。数据字的定义在 ICD 文件中规定,远程终端通过数据字的值确认信息是否被准确传输,当消息被准确传输时,相应矢量字置 0;当消息没有被准确传输时,矢量字不变,这样总线控制器在下一此询问时,会重新组织消息传输。

四、相关方式

方式命令是BC向RT发送的一种实现规定功能的短消息之所以称其“短” ,是因为该类型消息没有或只有一个数据字,传输时间较短。根据 RT 的不同可规定选用部分或全部方式命令,BC 只发起ICD 所规定的方式命令。ICD 中规定使用两种方式命令: “发送矢量字” 、 “带数据字同步” 。 见表 2。

“发送矢量字”方式命令用于总线控制器从远程终端取回矢量字。矢量字是一个 16 位数据字,一般用以表示 RT 发送区数据是否已更新,当某位为“1”时,表示相对应的数据块已更新,请求 BC取走。矢量字定义见表 3。

 

Vi(i=0~15)=1 表示子地址为 i+1 的数据块已更新,0表示子地址为 i+0 的数据块未更新。矢量字可以同时有几位为 “1” , BC 处理的优先级为V0->V15, 即V0 最高, V15 最低。当发出已更新的数据块后,RT不能主动清除矢量字。

“带数据字同步”用于总线控制器向远程终端发送一个16 位数据字。数据字代表 BC与 RT 之间的同步信息,其使用规定如下:

1)0001H  RT 上一发出的消息正确,RT 清除矢量字中的相应位;

2)0002H  RT 上一发出的消息错误,准备重试。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值