一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种TDMA信令报文超长的拆分方法及装置与流程

2021-10-24 09:14:00 来源:中国专利 TAG:
一种tdma信令报文超长的拆分方法及装置
技术领域
:1.本发明属于卫星通信
技术领域
:,尤其涉及一种tdma信令报文超长的拆分方法及装置。
背景技术
::2.在tdma标准《etsien30301545‑2v1.2.1(2012014‑04)》中,sct表报文格式最大长度70401字节,fct表报文格式最大长度463617字节,bct表报文格式最大长度6656字节,标准中定义的bct/fct/sct表,报文长度存在大于mtu(1518字节)的情况,在增加表头后作为gse的pdu进行封装,按照标准etsits102606,对前向bct/fct/sct表进行切片,以满足报文传送长度小于mtu的要求,但在实际的实现过程中,gse切片、封装往往由硬件实现,cpu与硬件间的报文长度又有mtu长度的限制,导致在bct/fct/sct表报文长度较长时无法传送。技术实现要素:3.为解决现有技术不足,本发明提供一种tdma信令报文超长的拆分方法及装置,通过拆分、更新、广播、接收处理模块分别进行拆分、更新、广播、接收处理的步骤,解决了bct/fct/sct信令报文超长,cpu与硬件间无法传送的问题。4.为了实现本发明的目的,拟采用以下方案:一种tdma信令报文超长的拆分方法,包括步骤:s1、将sct表拆分成1~7个超帧序列,将fct表拆分成1个帧类型,将bct表拆分成1~7个tx_type;s2、更新保存s1中三种超帧结构的至少一种,按照bct表、fct表、sct表的顺序判断超帧结构与对应的表结构是否相同;s3、对表信息进行周期性的广播,分别将待发送的bct表、fct表、sct表信息的报文长度赋值为0,判断bct表信息是否存在未读取的tx_type;判断fct表信息是否存在未读取的帧类型;判断sct表信息是否存在未读取的超帧序列;s4、通过gse表将s3中的表信息发送给rcst,以使得rcst接收到广播的表信息时,判断表信令报文的版本信息与当前保存的版本信息是否一致。5.进一步的,s2中:若表结构发生变化,则将该表的版本号增加1,然后更新对应的表信息,进行下一步骤;若表结构未发生变化,则进行下一步骤。6.进一步的,s3中:gse表包含table_id字段、interactive_network_id字段和version_number字段,table_id字段用于标识表的类型,interactive_network_id字段用于标识该表适用的卫星网络id,version_number字段用于标识该表当前的版本号。7.进一步的,s3中:进行周期性的广播时,将待发送的bct表信息的报文长度赋值为0,判断bct表信息是否存在未读取的tx_type;若存在未读取的tx_type,则获取下一个tx_type的信息;判断将报文长度加上tx_type的长度后,是否小于mtu长度;若大于mtu,将待发送的bct信令发送出去,然后将待发送的报文长度赋值为0,清空待发送的报文,将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若小于mtu,则将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若不存在未读取的tx_type,判断待发送报文长度是否为0,若报文长度不为0,则将待发送的bct信令发送出去,进行下一步骤;若报文长度为0,则进行下一步骤;采用和bct表同样的方法,分别判断fct表信息是否存在未读取的帧类型,判断sct表信息是否存在未读取的超帧序列。8.进一步的,s4中:通过gse表将s3中的表信息发送给rcst,以使得rcst接收到广播的表信息时,判断bct表信令报文的版本信息与当前保存的版本信息是否一致;若版本信息不一致,则清除当前保存的所有bct表信息,更新新的bct表版本信息,从bct表信令报文中获取并保存tx_type;若版本信息一致,从bct表信令报文中获取并保存tx_type;采用和bct表同样的方法,分别判断fct表、sct表信令报文的版本信息与当前保存的版本信息是否一致。9.一种tdma信令报文超长的拆分装置,包括:拆分模块,用于将sct表拆分成1~7个超帧序列,将fct表拆分成1个帧类型,将bct表拆分成1~7个tx_type;更新模块,用于更新保存拆分模块中三种超帧结构的至少一种,按照bct表、fct表、sct表的顺序判断超帧结构与对应的表结构是否相同;广播模块,用于分别将待发送的bct表、fct表、sct表信息的报文长度赋值为0,判断bct表信息是否存在未读取的tx_type;判断fct表信息是否存在未读取的帧类型;判断sct表信息是否存在未读取的超帧序列;通过gse表将更新模块中的表信息发送给接收处理模块;接收处理模块,用于接收广播模块的表信息,判断表信令报文的版本信息与当前保存的版本信息是否一致。10.进一步的,更新模块判断超帧结构与对应的表结构是否相同时,若表结构发生变化,则将该表的版本号增加1,然后更新对应的表信息,进行下一步骤;若表结构未发生变化,则进行下一步骤。11.进一步的,gse表包含table_id字段、interactive_network_id字段和version_number字段,table_id字段用于标识表的类型,interactive_network_id字段用于标识该表适用的卫星网络id,version_number字段用于标识该表当前的版本号。12.进一步的,更新模块对表信息进行周期性的广播时,将待发送的bct表信息的报文长度赋值为0,判断bct表信息是否存在未读取的tx_type;若存在未读取的tx_type,则获取下一个tx_type的信息;判断将报文长度加上tx_type的长度后,是否小于mtu长度;若大于mtu,将待发送的bct信令发送出去,然后将待发送的报文长度赋值为0,清空待发送的报文,将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若小于mtu,则将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若不存在未读取的tx_type,判断待发送报文长度是否为0,若报文长度不为0,则将待发送的bct信令发送出去,进行下一步骤;若报文长度为0,则进行下一步骤;采用和bct表同样的方法,分别判断fct表信息是否存在未读取的帧类型,判断sct表信息是否存在未读取的超帧序列。13.进一步的,接收处理模块接收到广播模块的bct表信令报文时,判断bct表信令报文的版本信息与当前保存的版本信息是否一致;若版本信息不一致,则清除当前保存的所有bct表信息,更新新的bct表版本信息,从bct表信令报文中获取并保存tx_type;若版本信息一致,从bct表信令报文中获取并保存tx_type;采用和bct表同样的方法,分别判断fct表、sct表信令报文的版本信息与当前保存的版本信息是否一致。14.本发明的有益效果在于:1、通过拆分模块将sct表拆分成1~7个超帧序列,将fct表拆分成1个帧类型,将bct表拆分成1~7个tx_type,然后利用更新模块判断超帧结构与对应的表结构是否相同,再利用广播模块将待发送的bct/fct/sct表信息的报文长度赋值为0,判断bct/fct/sct表信息是否存在未读取的超帧结构,利用接收处理模块更新保存最新的bct/fct/sct表的版本信息,通过上述操作,解决了bct/fct/sct信令报文超长,cpu与硬件间无法传送的问题。附图说明15.图1为本发明实施例的拆分方法流程图;图2为本发明实施例的bct/fct/sct表结构更新流程图;图3为本发明实施例的bct表的广播流程图;图4为本发明实施例的bct表的接收处理流程图;图5为本发明实施例的拆分装置结构图;图6为本发明实施例的bct表的语法说明书;图7为本发明实施例的fct表的语法说明书;图8为本发明实施例的sct表的语法说明书;图9为本发明实施例的gse表中的表结构语法;图10为本发明实施例的星型tdma卫星网络模型;图11为本发明实施例的dvb中的gse封装协议栈。具体实施方式16.实施例1如图11所示,现有技术中gse切片、封装由硬件实现,cpu与硬件间的报文长度又有mtu长度的限制,导致在bct/fct/sct表报文长度较长时无法传送。17.如图10所示,将ncc设置为发送侧,rcst设置为接收侧,通过发送侧对bct/fct/sct信令报文的拆分,及接收侧对bct/fct/sct信令报文的接收处理,完成一种tdma信令报文超长的拆分方法,如图1所示,包括步骤:s1、如图8所示,将sct表拆分成1~7个超帧序列,每次只发送1~7个超帧序列(superfram_sequence),superframe_loop_count为发送的超帧序列个数,最大报文长度为1 7*(1 1 6 4 4 2 1 32*8)=1926字节;如图7所示,将fct表拆分成1个帧类型,每次发送一个帧类型(frame_type),将frame_type_loop_count固定为1,报文最大长度为1 1*(1 4 1 3*3 2 1 256*3 1 256*4)=1812字节;如图6所示,将bct表拆分成1~7个tx_type,每次发送1~7个tx_type,tx_type_loop_count为发送的tx_type数,报文最大长度为1 7*(4 256*1)=1821字节;s2、如图2所示,收到超帧结构的规划信息,按照bct表、fct表、sct表的顺序,依次判断超帧结构与对应的表结构是否相同;若表结构发生变化,则将该表的版本号增加1,然后更新对应的表信息,进行下一步骤;若表结构未发生变化,则进行下一步骤;s3、如图3所示,对表信息进行周期性的广播,分别将待发送的bct表、fct表、sct表信息的报文长度赋值为0,判断bct表信息是否存在未读取的tx_type;判断fct表信息是否存在未读取的帧类型;判断sct表信息是否存在未读取的超帧序列;若存在未读取的tx_type,则获取下一个tx_type的信息;判断将报文长度加上tx_type的长度后,是否小于mtu长度(2000字节);若大于mtu,将待发送的bct信令发送出去,然后将待发送的报文长度赋值为0,清空待发送的报文,将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若小于mtu,则将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若不存在未读取的tx_type,判断待发送报文长度是否为0,若报文长度不为0,则将待发送的bct信令发送出去,进行下一步骤;若报文长度为0,则进行下一步骤;采用和bct表同样的方法,分别判断fct表信息是否存在未读取的帧类型,最后判断sct表信息是否存在未读取的超帧序列;s4、如图4所示,rcst接收bct/fct/sct信令报文时,先比较rcst上保存的bct/fct/sct表的版本信息与bct/fct/sct信令报文中的版本信息是否一致,如果不一致,则先将本地保存的bct/fct/sct表信息全部清除,如果一致,则不进行清除处理,然后在从bct/fct/sct信令报文中获取相应信息进行保存,用于后续的时隙分配。18.更具体的,s4中:通过gse表将s3中的表信息发送给rcst,以使得rcst接收到广播的表信息时,判断表信令报文的版本信息与当前保存的版本信息是否一致,如图9所示,gse表包含table_id字段、interactive_network_id字段和version_number字段,table_id字段用于标识表的类型,interactive_network_id字段用于标识该表适用的卫星网络id,version_number字段用于标识该表当前的版本号。19.实施例2如图5所示,提供的一种tdma信令报文超长的拆分装置,包括:拆分模块,用于将sct表拆分成1~7个超帧序列,将fct表拆分成1个帧类型,将bct表拆分成1~7个tx_type;更新模块,用于更新保存拆分模块中三种超帧结构的至少一种,按照bct表、fct表、sct表的顺序判断超帧结构与对应的表结构是否相同;广播模块,用于分别将待发送的bct表、fct表、sct表信息的报文长度赋值为0,判断bct表信息是否存在未读取的tx_type;判断fct表信息是否存在未读取的帧类型;判断sct表信息是否存在未读取的超帧序列;通过gse表将更新模块中的表信息发送给接收处理模块;接收处理模块,用于接收广播模块的表信息,判断表信令报文的版本信息与当前保存的版本信息是否一致。20.更具体的,更新模块判断超帧结构与对应的表结构是否相同时,若表结构发生变化,则将该表的版本号增加1,然后更新对应的表信息,进行下一步骤;若表结构未发生变化,则进行下一步骤。21.更具体的,gse表包含table_id字段、interactive_network_id字段和version_number字段,table_id字段用于标识表的类型,interactive_network_id字段用于标识该表适用的卫星网络id,version_number字段用于标识该表当前的版本号。22.更具体的,更新模块对表信息进行周期性的广播时,将待发送的bct表信息的报文长度赋值为0,判断bct表信息是否存在未读取的tx_type;若存在未读取的tx_type,则获取下一个tx_type的信息;判断将报文长度加上tx_type的长度后,是否小于mtu长度;若大于mtu,将待发送的bct信令发送出去,然后将待发送的报文长度赋值为0,清空待发送的报文,将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若小于mtu,则将报文长度加上tx_type的长度,再将新的bct表信息封装到待发送的bct表信令中,然后循环判断是否存在未读取的tx_type;若不存在未读取的tx_type,判断待发送报文长度是否为0,若报文长度不为0,则将待发送的bct信令发送出去,进行下一步骤;若报文长度为0,则进行下一步骤;采用和bct表同样的方法,分别判断fct表信息是否存在未读取的帧类型,判断sct表信息是否存在未读取的超帧序列。23.更具体的,接收处理模块接收到广播模块的bct表信令报文时,判断bct表信令报文的版本信息与当前保存的版本信息是否一致;若版本信息不一致,则清除当前保存的所有bct表信息,更新新的bct表版本信息,从bct表信令报文中获取并保存tx_type;若版本信息一致,从bct表信令报文中获取并保存tx_type;采用和bct表同样的方法,分别判断fct表、sct表信令报文的版本信息与当前保存的版本信息是否一致。24.综上所述,通过tdma信令报文超长的拆分方法解决了bct/fct/sct信令报文超长,cpu与硬件间无法传送的问题。25.以上实施例仅用于说明本发明的技术思想及特点,并不表示是唯一的或是限制本发明。本领域技术人员应理解,在不脱离本发明的范围情况下,对本发明进行的各种改变或同等替换,均属于本发明保护的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜