【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

本作品为了验证星务软件在RT-Thread系统运行的可行性,底层是否能够驱动星务软件,同时扩展RT-Thread应用范围。ART-Pi作为卫星下位机,星务前端用VS2010开发,两者之间通过异步串口通信。星务前端发送遥控指令,ART-Pi能够正常解析运行,并且能把星务的一些状态遥测发送至星务前端,方便地面人员查看。本作品设计的线程只有星务线程,采集线程,姿控线程,地测线程,Free线程,正常的卫星软件不止这五个线程,简化为这五个,涉及到的外设也简化为只有定时器与异步串口。

代码地址

RTT软件地址:

https://gitee.com/xudongxiao2020/rtt-competition-use.git

上位机软件地址:

https://gitee.com/xudongxiao2020/rtt-competition-use-upper.git

开发环境

硬件:ART-Pi开发板

RT-Thread版本:RT-Thread 4.0.2

开发工具及版本:RT-Thread Studio 1.1.5,Visual Studio 2010

RT-Thread使用情况概述

内核部分:线程操作(创建,挂起,删除),二值信号量

组件部分:软件定时器,异步串口,

软件包:无

其他:无

硬件框架

本作品验证RT-Thread系统,软件方面应用较多,底层硬件只需要一个ART-Pi开发板模拟卫星系统即可。ART-Pi作为卫星下位机,星务前端用一个PC代替即可,硬件框架如图1所示。

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

图3-a 遥控流程

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

图4 线程状态转换与遥控指令对应关系

图4中,红字表示发送的遥控指令,圆圈内表示当前线程状态。

星务软件设计了软件狗,软件狗的作用是为了防止线程死循环,将整个优先级之后的的线程同时卡死的问题,具体过程是每次当星务给线程信号量时,此线程对应的软件狗计数会累加,当线程运行至线程循环底部时,会将软件狗清零;如果在一个周期内,程序由于卡死在死循环或者是任务循环次数过大,导致本周期未运行至函数体底部,则星务会继续累计软件狗,当次数大于设置值时,依据设置的方式对线程处理,线程重启或者是整个操作系统重启。

演示效果

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

图6 星务前端上位机界面2

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

扫码报名

【RT-Thread开源作品秀】基于RT-Thread的星务平台研究

点击阅读原文报名线下沙龙

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92610 人正在系统学习中

来源:RT-Thread物联网操作系统

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月11日
下一篇 2021年3月11日

相关推荐