一种卫星通信协议数据的处理装置和系统的制作方法_2

文档序号:9767825阅读:来源:国知局
数据流存储至第一存储器的缓冲区后,协议转换模块才会从缓冲区中获取预设长度的数据流进行协议转换,不存在数据传输与协议转换的并发处理问题。
【附图说明】
[0031]图1为本发明实施例提供的一种数字卫星广播标准DVB-S2卫星通信协议数据的处理装置的结构示意图;
[0032]图2为本发明实施例提供的一种数字卫星广播标准DVB-S2卫星通信协议数据的处理系统的结构示意图;
[0033]图3为本发明实施例提供的一种字卫星广播标准DVB-S2卫星通信协议数据的处理系统另一实施例的结构示意图。
【具体实施方式】
[0034]为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
[0035]GPMC:General-Purpose Memory Controller,通用存储控制;
[0036]FPGA:Field-ProgrammabIe Gate Array,即现场可编程门阵列;
[0037]DDR = Double Data Rate,双倍速率同步动态随机存储器;
[0038]EDMA:Enhanced Direct Memory Access,增强型直接内存存取;
[0039]TS:Transport Stream,TS数据流;
[0040]ARM:Advanced RISC Machines。
[0041]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]请参阅图1,为本发明实施例提供的一种数字卫星广播标准DVB-S2卫星通信协议数据的处理装置的结构示意图,该装置包括:第一存储器101、第二存储器102以及数据交换模块103,其中:
[0043]所述第二存储器102将接收到卫星通信协议数据截取成预设长度的数据流,在所述预设长度的数据流的数量达到第一预设值时,生成触发所述数据交换模块103的外部触发事件。
[0044]预设长度可以依据实际情况而定,本发明实施例并不对预设长度的具体值进行限定,预设长度的数据流可以为TS数据流。
[0045]为了减少触发数据交换模块的次数,每当第二存储器102截取的预设长度的数据流的数量达到第一预设值时,才会生成触发数据交换模块103的外部触发事件,该第一预设值可以根据实际情况而定,例如是2、3、5、6等等。
[0046]所述数据交换模块103被所述外部触发事件触发,依据预先存储的所述第二存储器102存储数据流的首地址信息,从所述第二存储器102中获取所述第一预设值的所述预设长度的数据流,依据预先存储的所述第一存储器中缓冲区的首地址信息,将所述第一预设值的所述预设长度的数据流存储至所述缓冲区中,以便协议转换模块从所述缓冲区中获得所述预设长度的数据流,进行协议转换。
[0047]优选的,第一存储器101存储空间的缓冲区与第二存储器102的存储空间具有规律性,第一存储器101的存储空间的首地址与第二存储器102的缓冲区的首地址可以按照32字节对齐。
[0048]所述数据交换模块103依据所述第一预设值与所述预设长度,更新存储的所述第二存储器存储数据流的首地址信息以及更新存储的所述第一存储器101中的缓冲区的首地址信息,触发所述第二存储器102。直至所述卫星通信协议数据获取完毕。
[0049]假设预设长度为4bit,第一预设值为5,数据交换模块103最初存储的第一存储器101的首地址为0000,那么更新后的第一存储器101的首地址变为0015;假设数据交换模块103最初存储的第二存储器的首地址为0000,那么更新后的第二存储器的首地址为0015。这样数据交换模块103再次被触发时,数据交换模块103会从第二存储器102中地址为0015的位置获取数据流,并从第一存储器0015的地址开始存储数据流。
[0050]本发明实施例中由于第二存储器102已经将不定长的卫星通信协议数据截取成预设长度的数据流,即由不定长的数据变成定长的数据,因此在存储时,可以确定开辟的缓冲区的空间大小,在数据交换模块将预设长度的数据流存储至第一存储器101的缓冲区后,协议转换模块才会从缓冲区中获取预设长度的数据流进行协议转换,不存在数据传输与协议转换的并发处理问题。
[0051 ]在上述数字卫星广播标准DVB-S2卫星通信协议数据的处理装置实施例中,数据交换模块103可以为增强型直接内存存取EDMA、第二存储器102可以为现场可编程门阵列FPGA、第一存储器101可以为双倍速率同步动态随机存储器DDR,缓冲区可以为环形缓冲区。
[0052]因为环形缓冲区有如下有益效果:当整个缓冲区存满数据流之后,数据交换模块103更新第二存储器存储数据流的首地址信息为最初设置的首地址,还以最初设置的首地址为0000为例,假设缓冲区能够存储的数据一共有360bit,则缓冲区的最末端的地址为0168,由于环形缓冲区的首地址和尾地址是相接的,所以当缓冲区的数据存储满后,首地址会自动更新为0000,这样只需要最初在数据交换模块设置一次第二存储器的首地址即可,同理第一存储器的存储空间也可以为环形的。
[0053]当然缓冲区也可以不是环形缓冲区,此时缓冲区的数据每存储满一次,则数据交换模块存储的第二存储器中的首地址需要被重新设置为0000,否则数据交换模块中的第二存储器的首地址就会变成0169。
[0054]预设长度的取值可以是通常情况下各个卫星通信协议数据的长度的公约数,当然预设长度也可以不是卫星通信协议数据的公约数,此时第二存储器截取的数据流可能就不是预设长度了,此时可以采取下面的方法,使得在预设长度不是卫星通信协议数据长度的公约数的情况下,也可以使得截取的各个数据流的长度为预设长度。
[0055]在上述数字卫星广播标准DVB-S2卫星通信协议数据的处理装置的实施例中,第二存储器还可以用于:判断接收到的所述卫星通信协议数据的总长度N是否为所述预设长度η的整数倍,如果是,则将所述卫星通信协议数据截取成Ν/η个数据流,如果否,则在所述卫星通信协议数据中添加长度为K的预设信息,以使所述卫星通信协议数据与所述预设信息的总长度Ν+Κ为所述预设长度的整数倍,将所述卫星通信协议数据与所述预设信息截取成(Ν+Κ)/η个数据流,Ν、η、Κ均为大于等于I的正整数。
[0056]上述预设信息可以根据实际情况设定,例如为该卫星通信协议数据被截取的预设长度数据流的个数,或者添加的预设信息的长度等等,本发明实施例对比不做具体限定。
[0057]请参阅图2,为本发明实施例提供的一种数字卫星广播标准DVB-S2卫星通信协议数据的处理系统的结构示意图,该系统包括:第一存储器101、第二存储器102、数据交换模块103、数据总线接口 201以及中央处理器202,其中:
[0058]所述中央处理器202分别与所述
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1