卫星流星M1
资料来源:vladtime.ru引言
没有无线电通信,太空技术的运行是不可能的,在本文中,我将尝试解释构成空间数据系统咨询委员会(CCSDS)制定的标准基础的基本思想,以下将使用该缩写。
该出版物将主要致力于渠道级别,但是,还将介绍其他级别的基本概念。 绝不要求对标准进行彻底而完整的描述。 您可以
在 CCSDS
网站上找到它。 但是,它们很难理解,要理解它们,我们花费了很多时间,因此在这里我想提供基本信息,利用它们来处理其他所有内容将更加容易。 因此,让我们开始吧。
CCSDS的崇高使命
也许有人提出了一个问题:如果您可以开发自己的专有协议协议栈(或具有二十一点和新功能的您自己的标准),那么为什么每个人都应该遵守标准,从而提高系统的安全性?
正如实践所示,出于以下一系列原因,遵守CCSDS标准会更有利可图:
- 负责发布标准的委员会包括世界上所有主要航空航天机构的代表,他们在多年设计和执行各种任务中积累了宝贵的经验。 忽略这种经历并再次踩踏他们的耙子将是非常荒谬的。
- 这些标准由市场上已有的地面站设备支持。
- 在进行故障排除期间,您始终可以寻求其他机构同事的帮助,以便他们可以从其地面站与设备进行通信会话。
建筑学
标准是一组反映最常见的OSI(开放系统互连)模型的文档,除了在通道级别上,社区仅限于遥测(通道“向下”-空间-地球)和远程命令(通道“向上”)划分。

从物理开始,逐步向上,更详细地考虑一些层次。 为了更加清晰,我们将考虑主机端的体系结构。 发射机就是它的镜像。
身体水平
在此级别,已调制的无线电信号被转换为比特流。 这里的标准本质上是建议性的,因为在这个级别上很难从铁的特定实现中抽象出来。 在这里,CCSDS的关键作用是确定允许的调制(BPSK,QPSK,8-QAM等),并对符号同步机制,多普勒频移补偿等的实现提出一些建议。
同步和编码级别
形式上,它是数据链路层的子层,但由于它在CCSDS标准框架内的重要性,因此通常将其分配为单独的层。 该级别将比特流转换为所谓的帧(遥测或遥控),我们将在后面讨论。 与物理级别的字符同步(它允许您获取正确的位流)不同,此处执行帧同步。 考虑数据在此级别(从下到上)的传输路径:

但是,在此之前,有必要先谈谈一些编码方面的内容。 此过程对于查找和/或纠正通过空中发送数据时不可避免地发生的位错误是必要的。 在这里,我们将不考虑解码过程,而仅获得了解该级别的进一步逻辑所必需的信息。
代码是块代码和连续代码。 标准不强制使用特定类型的编码,但是必须这样使用。 连续的包括卷积码。 使用它们,对连续的位流进行编码。 与块码不同,在块码中,数据被分为代码块(codeblock),并且只能作为整个块的一部分进行解码。 代码块是传输的数据和附加的冗余信息,这些信息是验证数据的正确性和纠正可能的错误所必需的。 分组代码包括著名的里德-所罗门代码。
如果使用卷积编码,则从头开始的比特流将进入解码器。 他的工作结果(当然,所有这些都是连续发生的)是CADU数据单元(通道访问数据单元)。 该结构对于帧同步是必需的。 每个CADU的末尾都附有一个同步标记(ASM-附有同步器)。 这些是预先知道的4个字节,同步器通过这些字节来找到CADU的开始和结束。 这就是实现帧同步的方式。
同步和编码层的下一个可选操作阶段与物理层的功能相关。 这是非随机化。 事实是,为了实现符号同步,必须在符号之间频繁切换。 因此,如果我们传输仅由单元组成的千字节数据,则同步将丢失。 因此,在发送期间,输入数据与周期性的伪随机序列混合,使得零和一的密度均匀。
接下来,对块码进行解码,剩下的将是同步和编码级别-帧的最终产品。
频道等级
一方面,链路层处理程序接收帧,另一方面,它生成数据包。 由于形式上数据包的大小不受限制,因此,为了可靠地转发数据包,有必要将其分解为较小的结构-帧。 在这里,我们考虑两个小节:分别用于遥测(TM)和遥测命令(TC)。
遥测
简而言之,这就是地面站从航天器接收的数据。 所有传输的信息都被分成固定长度的小片段-包含传输数据和服务字段的帧。 更详细地考虑框架结构:

我们将从遥测框架的主要标题开始考虑。 此外,我将允许我自己在某些地方简单地翻译标准,同时给出一些说明。

主通道标识符的字段(主通道ID)必须包含框架的版本号和设备的标识符。
根据CCSDS标准,每个航天器都必须具有自己的唯一标识符,通过它,可以通过一个框架来确定其所属的飞行器。 正式地,有必要申请设备的注册,并且其名称以及标识符将在开源中公开。 但是,俄罗斯制造商通常会忽略此过程,而是为设备分配任意标识符。 框架版本号有助于确定使用哪个版本的标准来正确读取框架。 在这里,我们仅考虑版本“ 0”的最保守的标准。虚拟通道ID必须包含数据包来自的通道的VCID。 VCID的选择没有限制,特别是虚拟通道不一定按顺序编号。
很多时候需要复用传输的数据。 为此,有一个虚拟渠道机制。 例如,Meteor-M2卫星在可见范围内传输彩色图像,将其分为三个黑白图像-每种颜色作为单独的包在其虚拟通道中传输,尽管其帧结构与标准有所偏差。操作控制标志字段应指示遥测帧中是否存在操作控制字段。 帧末尾的这4个字节用于在监视远程命令帧的传递时保持反馈。 我们稍后再讨论。
主通道和虚拟通道的帧计数器是在发送每帧时增加一的字段。 它们是没有丢失任何帧的指示。遥测帧数据的状态是标志和数据的另外两个字节,我们将仅考虑其中的几个字节。

辅助标头(Secondary Header)的标志字段应指示遥测帧中是否存在辅助标头(Secondary Header)。
如果需要,您可以在每个帧中添加一个附加标题,然后根据需要将任何数据放置在其中。带有同步标志“ 1”的值的指向第一个报头的指针的字段(First Header Pointer)必须包含遥测帧的数据字段中第一个数据包的第一个八位位组的位置的二进制表示。 从数据字段的开头开始,位置从0开始按升序计数。 如果遥测帧的数据字段中没有数据包的开头,则指向第一个标头的指针的字段的二进制表示形式应为“ 11111111111”(如果一个长数据包扩展到一个以上的帧,则可能会发生这种情况)。
如果数据字段包含空数据包(空闲数据),则指向第一个标头的指针必须具有二进制表示形式“ 11111111110”中的值。 在此字段中,接收方应同步流。 该字段即使在跳帧的情况下也保证恢复同步。
也就是说,一个包可以假设在第4帧的中间开始,并在第20帧的开始结束。 为了找到它的开始,这个领域就是服务。 数据包还具有记录其长度的标题,因此,当找到指向第一个标题的指针时,链接级处理程序应读取它,从而确定数据包将在何处结束。如果提供了一个错误控制字段,则应将其包含在整个任务中特定物理通道的每个遥测帧中。
该字段是使用CRC方法计算的。 该过程应接受遥测帧的n-16位并将计算结果插入最后16位。
遥控指令
远程指令帧有几个明显的不同。 其中包括:
- 标题结构不同
- 动态长度。 这意味着帧长不是像遥测中那样严格地设置的,而是可以根据传输的数据包而变化。
- 包裹运送保证机制。 也就是说,航天器必须在收到后确认正确接收帧,或请求从可能无法纠正的错误接收的帧转发。


遥测帧头已经让我们熟悉了许多字段。 它们具有相同的目的,因此在这里我们仅考虑新领域。
旁路标志的一位应用于监视接收器处的帧检查。 该标志的值“ 0”应指示该帧是A类帧,并应根据FARM进行检查。 该标志的值“ 1”应向接收机指示该帧是B型帧,并应根据FARM绕过检查。
该标志通知接收者是否使用称为FARM的帧传递确认机制-帧接受和报告机制。应该使用控制命令标志来了解数据字段是在传输命令还是在传输数据。 如果标志为“ 0”,则数据字段应包含数据。 如果标志为“ 1”,则数据字段应包含FARM的控制信息。
FARM是可以配置参数的状态机。RSVD。 SPARE-保留位。
似乎CCSDS计划在将来使用它们,并且为了协议版本的向后兼容,他们已经在标准的当前版本中保留了这些位。帧长度字段应在位表示形式中包含一个数字,该数字等于以八位字节为单位的帧长度减去一。
帧数据字段应紧随标题之后,没有间隙,并包含整数个八位位组,最多可以为1019个八位位组。 该字段必须包含帧数据块或来自控制命令的信息。 帧数据块必须包含:
- 八位位组整数用户数据
- 段头,后跟一个整数字节的用户数据
如果提供了标头,则数据块应包含一个包,许多包或包的一部分。 没有标题的数据块不能包含Packets的一部分,但是可以包含私有格式的数据块。 由此得出结论,当所发送的数据块不适合一帧时,就需要报头。 具有标题的数据块称为段。

一个两位标志字段应包含:
- “ 01”-如果数据的第一部分在数据块中
- “ 00”-如果数据的中间部分在数据块中
- “ 10”-如果最后一条数据在数据块中
- “ 11”-如果不进行划分,则整个数据块中放置一个或多个数据包。
如果不使用MAP通道,则MAP标识符字段必须包含零。
有时分配给虚拟通道的6位是不够的。 而且,如果您需要将数据多路复用到更多的通道上,则可以使用段头中的另外6位。农场
让我们更详细地考虑人员运送控制系统的功能机制。 考虑到他们的重要性,该系统仅允许与电信人员一起工作(始终可以再次请求遥测,航天器必须清楚地听到地面站的声音,并始终遵守其命令)。 因此,假设我们决定重新刷新卫星,并在机上发送10 KB的二进制文件。 在通道级别,文件分为10帧(0、1,...,9),一次发送到顶部。 传输完成后,航天器必须确认包的正确接收,或报告在哪个帧上发生了错误。 该信息被发送到最近的遥测帧中的操作控制字段(或者,如果无话可说,航天器可以启动空帧(空闲帧)的传输)。 根据收到的遥测,我们要么确保一切正常,要么继续重新发送消息。 假设卫星没有听到7号帧。 因此,我们发送第7、8、9帧。如果没有答案,则再次重新发送数据包(以此类推几次,直到我们意识到尝试是徒劳的)。
以下是操作控制领域的结构,并描述了一些领域。 该字段中包含的数据称为CLCW-通信链接控制字。

由于很可能从图片中猜出主要领域的目的,而看着其他领域则很无聊,因此我将详细描述隐藏在扰流板下
解码CLCW字段控制字类型(控制字类型):
对于这种类型的控制字,应包含0
控制字版本(CLCW版本号):
对于这种类型的控制字,在位表示中应等于“ 00”。
状态栏:
分别为每个任务确定此字段的使用。 它可以被不同的航天机构用于本地改进。
虚拟频道识别:
必须包含与此控制字关联的虚拟通道的标识符。
物理通道访问标志:
该标志应提供有关接收器物理层准备情况的信息。 如果接收机的物理层尚未准备好接收帧,则该字段应包含“ 1”,否则为“ 0”。
同步失败标志:
该标志可能表明物理层正在以较差的信号电平运行,并且被拒绝的帧数太高。 该字段的使用是可选的,如果使用的话,在存在同步的情况下应包含“ 0”,在不存在同步时应包含“ 1”。
锁定标志:
该位必须包含每个虚拟通道的FARM锁定状态。 该字段中的值“ 1”应表示FARM已锁定,并且每个虚拟级别的帧将被丢弃,否则为“ 0”。
等待标志:
该位应用于指示接收器无法处理指定虚拟通道上的给定。 值“ 1”表示将在此虚拟通道上丢弃所有帧,否则为“ 0”。
装运标志:
如果丢弃了一个或多个类型A的帧或发现了间隙,则此标志必须包含“ 1”,因此必须重新发送。 标志“ 0”指示没有丢弃的帧和遗漏。
答案值:
未收到的帧号。 它由远程命令帧头中的计数器确定。
网络层
在此级别上稍作触摸。 这里有两种选择:要么使用空间分组协议,要么将任何其他协议封装在CCSDS分组中。
对空间分组协议的回顾是另一篇文章的主题。 创建它是为了使所谓的应用程序可以无缝交换数据。 每个应用程序都有自己的地址,以及与其他应用程序交换数据的基本功能。 还有一些服务可以路由流量,执行传递控制等。
使用封装,一切都变得更加简单和易于理解。 使用标准,可以通过添加其他报头将任何协议封装在CCSDS数据包中。
头根据封装协议的长度而具有不同的含义:
在这里,主字段是长度长度。它的范围从0到4个字节。同样,在此标头中,您还必须使用here中的表指定封装协议的类型。封装IP时,将使用另一个外接程序来确定数据包的类型。您需要添加另一个标头,长度从一个八位字节开始:
其中PID是从此处获取的另一个协议标识符结论
乍一看,CCSDS标头似乎非常冗余,并且某些字段可能会被丢弃。实际上,最终通道的效率(直至网络级别)约为40%。但是,一旦有必要实施这些标准,就很清楚,每个领域,每个标题都有其自己的重要使命,而忽略这一领域会导致许多歧义。如果居住社区对这个话题表现出兴趣,我将很高兴发表一系列有关空间通信理论和实践的文章。感谢您的关注!
资料来源
CCSDS 130.0-G-3-空间通信协议概述CCSDS 131.0-B-2-TM同步和信道编码CCSDS 132.0-B-2-TM空间数据链路协议CCSDS 133.0-B-1-空间分组协议CCSDS 133.1- B-2-封装服务CCSDS 231.0-B-3-TC同步和信道编码CCSDS 232.1-B-2通信操作规程-1CCSDS 401.0-B-28射频和调制系统-第1部分(地球站和航天器)CCSDS 702.1-B-1-CCSDS空间链接上的IP聚苯乙烯如果发现不正确之处,请不要用力打。报告它们,它们将被修复:)