我正在尝试实现控制小型卫星的地面站的UPLINK。这个想法是,链接应该在每个发送的遥控命令之间始终保持活动状态。为此,我需要插入一些DUMMY或IDLE序列字节,例如0xAA或类似的字节。
我发现有些人已经遇到了类似的问题,并在这里发表了他们的问题:
到目前为止,我能实现的最好的办法是修改https://github.com/osh/gr-eventstream中的EventStream Source块,以便用我的伪序列(即0xAA)预加载向量,而不是将它们预加载零。这是我正在使用的GNURadio图的一般概述:
但是,此解决方案会带来巨大的延迟,并且直到大量时间(大约几秒钟)到期后,发送的消息才会出现在输出中。
是否有一种使用GNURadio编程USRP的方法,以便它不断发送固定的序列,该序列仅在传入消息传递时才被中断?我假设USRP具有读取标记流以计划传输的能力。但是,我不确定如何在我的特定应用程序中使用它。
预先感谢!
乔阿
答案 0 :(得分:0)
我相信可以使用TCP或UDP源块来完成。
您的控制信息可以使用TCP / UDP发送到套接字。然后,GNU Radio将收集并发送数据包。然后,您的主控制程序将不得不处理IDLE填充,但是更容易解决GNU Radio外部的问题。
您的主控制程序基本上将执行以下操作: 1.根据需要发送控制数据 2.如果在必须发送下一个数据包之前没有准备好控制数据,则发送一个IDLE数据包