【技术实现步骤摘要】
数据链路层设备及其组包方法
本专利技术应用于点对点传输协议领域,尤其涉及一种数据链路层设备及其组包方法。
技术介绍
在数据链路层的点对点协议(Point-to-PointProtocol)中,通常需要将不同长度的数据进行组包和/或拼包处理,以产生一个链路层包进行传输。一个典型的链路层包包括标头(header)、数据(data)、校验码、开始结束标识符等。然而,由于数据链路层所收到的来自上层模块的需要传输的数据长度可能不同,因此如何将不同长度的数据合理进行组/拼包处理和发送,对于数据链路层而言是一个非常影响性能的问题。举例而言,在传输上层模块的相同有效数据的情况下,当一个链路层包中包含的有效数据越长,则传输的总的链路层包数量就越少,则需要传输的标头、校验码、开始结束标识符等辅助信息的总量就越少,而这样的传输效率就会越高。但是,由于时序收敛或芯片面积等原因,每时钟周期接收和处理的数据量有限,此时如果要组成一个长链路层包,就需要花费更多延时来收集大量数据,因此一个链路层包的长度一般具有上限值,以防止延时过长。如何维持传输效率和延时 ...
【技术保护点】
1.一种数据链路层设备,其特征在于,包括:/n第一先进先出模块,用以接收来自上层模块的多笔第一数据,并将所述多笔第一数据进行气泡挤压使得所述第一先进先出模块储存具有连续数据形式的所述多笔第一数据;以及/n第二先进先出模块,耦接所述第一先进先出模块,其中所述第一先进先出模块判断所述第二先进先出模块的数据队列是否为空,/n其中,当所述第二先进先出模块的数据队列为非空时,所述第一先进先出模块判断在所述第二先进先出模块的标头队列中的待发送层的被使用层数是否大于或等于临界值,/n其中,当所述待发送层的所述被使用层数大于或等于所述临界值时,等待所述标头队列进行数据发送后,所述第一先进先 ...
【技术特征摘要】 【专利技术属性】
1.一种数据链路层设备,其特征在于,包括:
第一先进先出模块,用以接收来自上层模块的多笔第一数据,并将所述多笔第一数据进行气泡挤压使得所述第一先进先出模块储存具有连续数据形式的所述多笔第一数据;以及
第二先进先出模块,耦接所述第一先进先出模块,其中所述第一先进先出模块判断所述第二先进先出模块的数据队列是否为空,
其中,当所述第二先进先出模块的数据队列为非空时,所述第一先进先出模块判断在所述第二先进先出模块的标头队列中的待发送层的被使用层数是否大于或等于临界值,
其中,当所述待发送层的所述被使用层数大于或等于所述临界值时,等待所述标头队列进行数据发送后,所述第一先进先出模块重新判断所述待发送层的所述被使用层数是否大于或等于所述临界值,
其中,当所述被使用层数小于所述临界值时,所述第一先进先出模块根据当前所述第一先进先出模块暂存数据量和已设置的数据长度档位产生不同长度的数据,并且所述第一先进先出模块移入包括所述数据长度的标头至所述第二先进先出模块的标头队列。
2.根据权利要求1所述的数据链路层设备,其特征在于,当所述第二先进先出模块的数据队列为空时,所述第一先进先出模块将所述多笔第一数据移入所述第二先进先出模块。
3.根据权利要求1所述的数据链路层设备,其特征在于,还包括:
仲裁模块,耦接所述第二先进先出模块;以及
第三先进先出模块,耦接所述仲裁模块,
其中,当所述第二先进先出模块通过所述仲裁模块的仲裁后,所述第二先进先出模块发送所述标头队列中的所述待发送层的所述标头以及所述数据队列中的第二数据至所述第三先进先出模块。
4.根据权利要求3所述的数据链路层设备,其特征在于,所述第三先进先出模块依据当前移入的所述标头以及所述第二数据来产生校验码,并且将所述校验码加上辅助信息,以产生链路层包。
5.根据权利要求4所述的数据链路层设备,其特征在于,所述临界值与传输次数的乘积大于或等于第一延时时间,其中所述传输次数为所述第三先进先出模块发送一个链路层包的最小次数,并且所述第一延时时间为所述第二先进先出模块从被移入所述标头至发送所述第二数据至所述第三先进先出模块的时间。
6.根据权利要求5所述的数据链路层设备,其特征在于,所述传输次数为最小数据长度、所述标头的数据长度、以及所述校验码以及所述辅助信息的数据长度相加,并且除以所述第三先进先出模块的出口位宽。
7.根据权利要求4所述的数据链路层设备,其特征在于,当所述第二先进先出模块的所述数据队列为非空时,所述第一先进先出模块判断计数值是否小于或等于第二延时时间乘以所述第三先进先出模块的出口位宽,
其中,当所述计数值小于或等于所述第二延时时间乘以所述第三先进先出模块的所述出口位宽时,所述第一先进先出模块根据当前所述第一先进先出模块暂存所述数据量和所述已设置的数据长度档位产生不同长度的所述数据,并且所述第一先进先出模块移入包括所述数据长度的所述标头至所述第二先进先出模块的所述标头队列,
其中,当所述计数值大于所述第二延时时间乘以所述第三先进先出模块的所述出口位宽时,等待所述标头队列进行数据发送后,所述第一先进先出模块重新判断所述计数值是否小于或等于所述第二延时时间乘以所述第三先进先出模块的所述出口位宽。
8.根据权利要求7所述的数据链路层设备,其特征在于,所述计数值为由所述第一先进先出模块构成且通过所述仲裁模块仲裁的链路层包要从所述第三先进先出模块发送的数据量,其中所述第二延时时间为所述第二先进先出模块被移入所述标头至第三先进先出模块发送第一笔数据的时间。
9.根据权利要求7所述的数据链路层设备,其特征在于,当所述第二先进先出模块的所述标头队列为非空时,所述第二先进先出模块向仲裁模块申请仲裁,并且当所述第二先进先出模块获得仲裁后,所述第二先进先出模块发送所述标头队列中的所述待发送层的所述标头以及所述数据队列中的所述第二数据至所述第三先进先出模块。
10.根据权利要求9所述的数据链路层设备,其特征在于,当所述第二先进先出模块的所述标头队列为非空时,将所述计数值加上所述第二先进先出模块当前发送的所述标头的数据长度、所述校验码与所述辅助信息的数据长度以及当前发送的所述第二数据的数据长度。
11.根据权利要求10所述的数据链路层设备,其特征在于,当所述第三先进先出模块发送所述链路层包时,将所述计数值减掉所述第三先进先出模块发送的所述链路层包的数据长度。
12.根据权利要求3所述的数据链路层设备,其特征在于,当所述第二先进先出模块发送所述标头以及所述第二数据至所述第三先进先出模块,并且所述第二先进先出模块接收到确认信号后,所述第二先进先出模块释放所述标头队列中的已发送层中用于储存所述标头的空间以及所述数据队列中用于储存所述第二数据的空间。
技术研发人员:李然月,金杰,李俊萍,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。