关于1553B总线通讯以及61580RAM存储详解

     最近在做卫星电源控制器软件开发系统,下位机软件和上位机软件之间的通讯采用的是航天高等级的1553B总线的通讯方式,

在存储方面用的是61580片外RAM的存储方式,存储时序要严格按照1553B的通讯协议。1553B的RAM存储区分别有32个接收端子地址,32个发送端子地址,32个广播子地址,32个子地址控制字。现在主要对接受子地址和发送子地址。

    在电源控制器端作为RT端,主要任务是将接受BC端的遥控指令并解析执行指令控制其他子模块(BCDR模块、SUN模块、太阳阵序列、辅助源等)以及将PCU遥测的实时状态数据上传到地面上位机监测,从而到达地面指令下发PCU响应指令并执行,PCU将实时的状态数据上传给地面监测。 BC端主要是地面上位机系统,上位机通过1553B总线将遥控指令下发给PCU下位机,上位机通过1553B总线读PCU下位机遥测数据。这样形成一个下发和上传的闭环过程,此过程对软件的可靠性要求极高可靠,不能出现软件BUG误操作。

    1553B总线下发指令给PCU下位机软件其实是一个握手的过程,首先上位机下发指令时,BC端先向PCU下发一个命令字,告诉下位机这个遥控指令是发个那个终端,存在哪个接收子地址中,以及数据字有多少个字。一般一个命令字是16位(RT终端地址占5位,T/R占1位,RT子地址占5位,数据字占5位)如果接受的数据字位32个字则数据字用00000表示,根据数据字要求按00001~11111范围。PCU下位机收到命令字后会回一个16位的状态字给BC端,BC端上位机可以解析状态字判断PCU的状态是不是正常,如果正常BC端会将遥控指令数据字下发给PCU端,PCU保存BC端的数据字是存储在PCU的61580RAM接受端的相应RT子地址中(根据配RT子地址控制字可以控制一个RT子地址的存储空间,接收端RT子地址有三种模式:单消息模式,双缓冲模式,循环缓冲模式。单消息和双缓冲模式一个RT子地址最多只能存储32个字,循环缓冲模式可以存128~8196个字)。PCU端存储完遥控指令后,通过读RAM区域将实时的数据解析发给其他模块进行响应执行相应的功能。特别注意一点是由于61580是一个16位的8M的RAM存储区,每一个地址存储的是一个字,因此读RAM区的数据时每一个地址都要高字节预读(高字节-低字节-高字节)。否则会出现数据紊乱。

    PCU遥测数据上传的机制,首先PCU将自己每个分模块遥测到的数据通过组帧的形式存入到61580中,一个地址存一个字的形式高字节在前低字节在后。遥测属于发送子地址端,发送子地址端有两种模式:单消息模式和循环缓冲模式。相比与接受端少了双缓冲模式,BC端访问PCU端发送子地址的数据时,也是BC端先下发命令字,我们根据下发的命令字判读是哪一RT终端,是接受还是发送,哪一个RT子地址存储区,一次读多少个字。然后判读完PCU会回一个16位的状态字给地面BC上位机端。然后BC端将PCU存储的遥测数据通过1553B总线读回到上位机实时监测。

     这个软件的精髓在于配1553B总线的寄存器,以及RT子地址的理解与灵活运用以及整个通讯流程之间的握手操作,1553B总线是一种抗干扰能力极强的通讯总线,因此广泛运用于航天领域。

  • 6
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值