论析卫星通信数据传输程序设计电子工程师范文

来源:期刊VIP网所属分类:计算机信息管理发布时间:2014-04-01浏览:

  摘要:全球覆盖的固定卫星通信业务静止地球轨道(GEO)卫星,轨道高度大约为36 000km,成圆形轨道,只要三颗相隔120°的均匀分布卫星,就可以覆盖全球。国际卫星通信组织的Intelsat I-IX代卫星。是全球覆盖的最好例子,已发展到第九代。文章发表在《电子技术应用》上,是电子工程师论文发表范文,供同行参考。

  关键词:卫星通信,数据传输,程序设计

  卫星在空中起中继站的作用,即把地球站发上来的电磁波放大后再反送回另一地球站。地球站则是卫星系统形成的链路。由于静止卫星在赤道上空36000千米,它绕地球一周时间恰好与地球自转一周(23小时56分4秒)一致,从地面看上去如同静止不动一样。三颗相距120度的卫星就能覆盖整个赤道圆周。

  1概述

  随着卫星通信的高速发展,星载数据的种类和数量不断增加,这就对高速海量星载数据的传输、接收和处理技术提出了新的要求。卫星下发大容量高速数据经地面站解调后,经由光纤以数字基带信号的形式传递给本地接收端,地面应用系统要采用高性能的接收处理设备,以达到对数据的实时接收、存储和处理。PCIExpress总线作为第3代I/O总线以其明显的优势,成为目前高速传输的主流平台。

  文献[1]以XC5VFX130T芯片为硬件核心,分析PCIExpress协议原理和内嵌硬核模块的结构,实现了具有PCIExpress系统主机接口的单通道FC总线接口板卡。文献[2]在XC5VLX30T器件中,设计实现PCIExpress总线接口,同时在接口内部设计直接存储器存储(DirectMemoryAccess,DMA)控制器。

  2高速数据传输系统的工作原理

  Xilinx公司的Virtex-5芯片的PCIExpress端点模块IP核,为用户提供了2种类型的数据通信:程控输入/输出(ProgrammedInput/Output,PIO)方式和总线主控存储器直接存储(Bus-masteringDMA,BMD)方式[3]。PCIExpress设备与系统存储器之间的数据通信可以用PIO方式,但一般采用效率较高的BMD方式。

  在BMD通信方式下,端点设备变成了一个总线主控设备,负责发起DMA读写操作。当设备要获取系统存储器的内容时,发起指向系统存储器的存储器读操作;当设备向系统存储器传送数据时,发起指向系统存储器的存储器写操作[4-5]。DMA控制器代替CPU发起传输事务,减轻了处理器的压力,而且在数据传送过程中允许其他处理行为发生。在降低CPU使用率的同时,带来较高的吞吐率和性能。基于上述理论的卫星通信星地链路的组成结构如图1所示。该传输系统功能主要由PCIExpress通信模块和光纤通信模块来完成。

  3高速数据传输系统设计

  根据实际实验条件和应用需求,本文设计的高速传输系统由2台PC机模拟卫星和地面站的数据传输。PCIExpress通信模块,选择为x8通道、工作频率250MHz。光纤通信模块工作频率为125MHz,采用8位并行数据传输模式[3,7-8]。高速数据传输系统结构如图2所示。

  其中,数据存储模块选用了位宽为32bit的RAM。在光纤通信模块中加入32bit/8bit模块和8bit/32bit模块,完成PCIExpress数据和光纤通信数据的传输转换。图2高速数据传输系统结构模拟卫星下发数据的应用软件在准备好待发送的数据后,将文件长度信息及相关命令经由驱动发送给端点设备,设备接到命令信息后启动DMA控制器中的DMA读操作。

  之后设备将从系统存储器读取的数据通过光纤通信模块发送给地面站。设备每次读取数据的间隔由光口传输速率决定,在不丢失数据的前提下,尽量提高信道的利用率。在模拟地面站接受数据的过程中,首先驱动将接收端系统存储器的目的地址信息发给端点设备,设备的DMA控制器接收到光纤通信模块的数据后启动存储器写操作,将有效数据分批次加载进指向系统存储器的存储器写TLP包中,发送到目的地址。

  3.1光纤通信模块

  光纤通信模块通过定制XilinxIP核来完成,由于实际需求,在光纤通信模块中要加入数据位转换模块,用来进行PCIExpress模块和光纤模块数据的转换。定制的光纤通信IP核,选择8bit/10bit编码和CRC校验,选用K28.1作为控制字串,当传送控制字串时,由RocketI/O模块的控制字标志输入管脚TX_CHARISK指定该字为控制字串。

  8bit/10bit编码可以避免数据流中出现连0、连1的情况,便于时钟恢复。在发送端CRC校验码被插入到待发送的并行数据中,数据经过8bit/10bit编码后,被写入发送端FIFO,经过串行化输出接口将并行数据转换成串行差分数据发送出去。接收端在收到的串行差分信号后,通过芯片内部的锁相环从中提取时钟,再按此同步时钟来采样数据,通过解串器将串行数据转换为并行数据,然后经过8bit/10bit解码,并将其写入接收端弹性缓冲器,CRC校验后并行输出。

  3.2PCIExpress通信模块

  3.2.1发送模块

  发送模块流程如图3所示。图3发送模块流程DMA控制器中的发送模块主要完成3个功能:(1)在接收到指向DMA控制/状态寄存器的存储器读包后,通过发送CPLD包将DMA控制/状态寄存器中的信息发送给应用软件。在发送完一个CPLD包后进入等待状态,当确认发送成功后返回当前状态,继续发送CPLD包。这样保证了CPLD包的可靠传输。(2)卫星下发数据时,DMA控制器收到DMA读操作指示后,根据DMA控制/状态寄存器中读数据的大小,确定读操作次数及每次读取数据的大小。并按所确定的信息发送相应地址的存储器读包。

  3.2.2接收模块

  接收模块主要接收和处理IP核交付的存储器读包、存储器写包、CPL包和CPLD包。接收模块流程如图4所示。图4接收模块流程接收模块检测到的指向DMA控制/状态寄存器的存储器写包是携带有DMA控制器中控制/状态寄存器所需信息的PIO方式的存储器写包。接收模块负责将存储器写包携带的信息写入相应的控制/状态寄存器中。

  在之后检测到指向DMA控制/状态寄存器的存储器读包后,解析存储器读包的信息,获得要读取的DMA控制/状态寄存器的地址和内容后传输给发送模块,通知发送模块将应用软件预读取地址的数据以CPLD包的格式发送给应用软件。CPLD包是DMA传输中读操作后所收到的相应从系统存储器读取的数据。

  4系统调试结果

  在Xilinx公司提供的Virtex-5DMA测试底层驱动基础之上,添加了本传输系统所需的功能,作为所设计高速传输系统所使用的驱动程序。应用程序在VS2005环境下开发,实现对FPGA的初始化复位、配置寄存器信息、大容量数据的发送/接收控制等。本文选用ISEChipscope12.2工具对所设计系统进行调试。图5为发送方Chipscope局部放大图。可以看出,当发送方启动DMA读操作后,DMA控制器先发送存储器读包到trn_td_c接口上,之后trn_rd_c接收到带数据的完成包,如图所示接收的第一个32bit数据的16进制表示为30784142。

  5结束语

  本文介绍基于XilinxVirtex-5FPGA设计的高速传输系统中PCIExpress通信模块和光纤通信模块的基本工作原理,设计一种可用于系统存储器与PCIExpress端点设备间传输数据的DMA控制器以及光纤通信模块,实现了2个设备间大容量数据的高速传输,传输速率可达到1.25Gb/s。系统调试结果表明,该传输系统满足卫星通信中大容量高速数据的传输要求,有效地模拟了卫星与地面站间数据的交互,可作为高速通信的信源和信宿,为后续卫星通信系统性能的研究奠定了基础。

  计算机信息管理论文投稿:《电子技术应用》杂志以应用为主,刊载与计算机技术、自动控制技术、通讯技术及集成电路应用技术相关的创新、实用文章。以专业的视角,严谨的态度,科学的数据向读者提供第一手的应用方案,技术趋势及产品信息。每年刊出各类技术文章三千余篇,得到电子行业广大工程技术人员销售人员及厂商的关注。

期刊VIP网,您身边的高端学术顾问

文章名称: 论析卫星通信数据传输程序设计电子工程师范文

文章地址: http://www.qikanvip.com/jisuanjixinxiguanli/12596.html