技术中心
 
 

AOS上行链路控制器的设计与实现

   日期:2011-06-28     来源:21ic    
核心提示:  摘要:在对AOS系统进行功能模块划分的基础上,介绍了系统中一个非常关键的组成部分即上行链路控制器。该方案采用我国自主知识产

  摘要:在对AOS系统进行功能模块划分的基础上,介绍了系统中一个非常关键的组成部分即上行链路控制器。该方案采用我国自主知识产权的方舟系列CPU芯片,在Linux操作系统下设计与实现上行链路控制器,并给出了其主要的工作流程。试验结果表明该上行链路控制器较好地实现了信道分路器传送数据的解复用和解包装。

  关键词:AOS;下行链路控制器;方舟;解包装;解复用

  0引言

  随着航天技术的进一步发展,于1982年成立的空间数据系统咨询委员会(CCSDS)制定了以满足复杂航天器的需要为目标的高级在轨系(AO-S)体制和标准。目前该标准仍在不断修正补充与发展。它是航天测控与通信进入国际合作时代的产物,也是航天测控与通信技术发展的必然。航天任务越来越具有强烈的国际性质,为合理开发与利用空间资源必须走国际合作的道路。我国的航天技术要走向世界,与AOS标准接轨是最好的选择。

  根据标准的相关要求,可以将AOS系统分成如下几个主要部分:数据源、链路控制器、合路器/分路器等。上行链路控制器首先接收分路器传来的VCD格式数据,并从中提取M_PDU,然后相应恢复成M_SDU或E_PDU,并根据应用进程标识符(APID)的值,把数据传送到相应的业务用户。

  由以上功能划分来看上行链路控制器是整个系统中的关键设备,属于空间链路层中的硬件实体,其作用相当于虚拟信道链路控制子层数据存取过程。

  1控制器的设计

  AOS体制主要用于复杂航天器的数据系统中。复杂航天器需要传输的数据种类很多,有图像、话音、数据、文件、电子邮件等,数据的码速率也相差很大,从几个b/s到几百Gb/s,总信息量很大。AOS体制的特点是能够对不同类型的数据采用不同的业务,而不同业务对数据的处理方法和格式是不同的。

  采用AOS体制的航天器数据系统中,上行链路控制器存在于空间数据链路层的VCLC层中,其主要功能有:对由分路器传给上行链路控制器的数据(VC_PDU),利用虚拟信道存取子层的VCA业务进行解VCA,生成M-PDU数据单元,再进行解多路复用,生成E_PDU数据,对E_PDU数据进行解包装功能,分别生成路径业务数据(O_SDU,P_SDU)及网间业务数据(I_SDU)。

  上行链路控制器的功能框图如图1所示。

a.JPG

  几种主要数据单元格式如下:

  (1)虚拟信道数据单元

  虚拟信道数据单元(VCDU)如下:

a1.jpg

  (2)M_PDU数据单元

  M_PDU数据单元如下:

a2.jpg

  (3)包装协议数据单元

  包装协议数据单元(E_PDU)如下:

a3.jpg

  2控制器的实现

  在控制器的实现平台的选择上使用了我国方舟(ARCA)科技公司GT2000嵌入式开发板,因为GT2000是方舟科技的一款基于方舟二号为核心的嵌入式CPU产品,是我国第一个具有自主知识产权CPU。它在主频400MHz下运行时最大功耗只有360mW,具有高性能、低功耗的特点,对于研究具有我国自主知识产权的AOS的底层接口器件、关键模块和设备具有重要的意义。GT2000提供两个串口,一个以太网口及其他外设接口。链路控制器就是利用其提供的以太网口进行数据传输。同时由于GT2000内嵌Linux操作系统使进程间通信机制十分灵活,而且Linux系统所提供的Socket通信接口和各种丰富的系统异步时间处理方式为在其上快速地处理数据提供了极大的方便。

  根据前述控制器所完成的功能,在Linux平台上采用标准的C语言进行实现。

  上行链路控制器工作过程中最重要的是解复用功能。首先判断首导头指针,当首导头的指针在M_PDU数据域长度范围内时,M_PDU模块把首导头指针所指示的上一个CCSDS包的剩余部分放入CCSDS缓冲区,此时CCSDS缓冲区的数据是一个完整的CCSDS格式包,然后判断它的数据类型,如果是包装数据,则调用DE_PDU模块,进行解包,然后进行转发,缓冲区清零。接着处理M_PDU包区中新开始的CCSDS包,首先判断该CC-SDS导头是否包含长度域,如果不包含长度域,则把该M_PDU包的剩余部分全部放入CCSDS缓冲区,继续接收下一个M_PDU包。如果包含有长度域,则计算此CCSDS包的长度,并与M_PDU剩余的长度进行比较,CCSDS包的长度大于M_PDU剩余长度时,则把M_PDU的剩余部分数据全部放入CCSDS缓冲区,继续接收下一个M_PDU数据。CCSDS包的长度等于M_PDU剩余长度时,则把M_PDU的剩余部分数据全部放入CCSDS缓冲区,继续接收下一个M_PDU数据。CCSDS包的长度小于M_PDU剩余长度时,则把此CCSDS包全部放入CCSDS缓冲区,判断其版本号,如果是可复用数据就直接转发出去,如果是不可复用数据,则调用解包装模块DE_PDU,进行解包,再进行转发,然后循环判断M_PDU中下一个CCSDS包,直至CCSDS包的长度大于或等于M_PDU剩余长度后,继续接收时的剩余部分数据全部放入CCSDS缓冲区,继续接收下一个M_PDU数据。解复用模块的工作流程如图2所示。

b.JPG

  3测试及验证

  链路控制器可以支持多路数据,首先模拟一些真实的数据:非定界字符串,IPV6,IPV4,CP_PDU,把PC机和控制器通过以太网口相联,把模拟的各种数据发送给控制器,控制器接收数据进行识别处理。测试结果表明该控制器可以较好地进行数据的解VCA和解复用,无丢包现象,工作稳定、可靠。

  4结语

  本文介绍了基于国产芯片设计的AOS系统的上行链路控制器,采用该控制器可以较好地处理模拟的航天器数据,并且对数据传输中的一些关键技术进行了验证,为今后进一步的研究打下基础。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢