基于数据统计LwIP延迟ACK定时器周期自适应方法技术

技术编号:18723138 阅读:52 留言:0更新日期:2018-08-22 00:43
本发明专利技术公开了一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,包括如下步骤:步骤1)将延迟ACK定时器从LwIP的快速定时器中独立出来;步骤2)基于数据统计的周期判断方法判断定时器周期是否合适;步骤3)根据周期判断结果对定时器周期的值做相应处理;步骤4)基于惯性原理的延迟ACK定时器周期重置。本发明专利技术所达到的有益效果:本发明专利技术可直接应用到嵌入式系统的以太网通信中,在1s中左右自适应发送端的发送周期,能够在保证嵌入式CPU使用效率的前提下大大提高通信的实时性,通信周期能够降低到1ms,通信延迟1ms以内。

LwIP delay ACK timer cycle adaptation method based on data statistics

The invention discloses a period adaptive method of delay ACK timer based on data statistics LwIP, which is characterized by the following steps: step 1) separating the delay ACK timer from the LwIP fast timer; step 2) judging whether the timer period is suitable based on the period judgment method of data statistics; step 3) judging whether the timer period is suitable according to the period; Judgment results of the timer period of the value of the corresponding processing; Step 4) Based on the principle of inertia delay ACK timer period reset. The invention can be directly applied to the Ethernet communication of the embedded system, and the transmission period of the adaptive transmitter in about 1s can greatly improve the real-time communication under the premise of guaranteeing the use efficiency of the embedded CPU, and the communication period can be reduced to 1ms, and the communication delay is less than 1ms.

【技术实现步骤摘要】
基于数据统计LwIP延迟ACK定时器周期自适应方法
本专利技术涉及一种基于数据统计LwIP延迟ACK定时器周期自适应方法,属于嵌入式系统的以太网通信

技术介绍
嵌入式设备接入互联网是物联网时代不可阻挡的大趋势。轻量级TCP/IP协议栈能够适应嵌入式环境中非常有限的存储容量和计算资源,并实现了TCP/IP协议栈的基本功能,为设备的网络连接提供优质的服务。TCP/IP协议无论应用数据的大小,每个数据包都要在数据前加上40字节的数据包首部,嵌入式系统通信中存在大量的短帧数据,如果直接发送这些数据,则通信中会充斥着大量的短帧数据包,在滑动窗口机制下,接收和发送窗口都会变得很小,不仅大大降低了通信效率,同时也容易造成网络拥塞。为了避免通信拥塞,TCP/IP协议在发送端采用Nagle算法阻止逐个数据段发送,在接收端采用延迟ACK策略延迟ACK包的回复,发送端会将需要发送的数据段存入缓存组成一个大的数据包,一直等接收到ACK包才发送数据包。这样可以大大减少通信中短帧数据包的数量,提高以太网通信效率。和TCP/IP协议栈一样,LwIP协议栈也采用了Nagle算法和延迟ACK策略,但是嵌入式以太网通信以短帧数据包为主,Nagle算法和延迟ACK策略会大大降低通信的实时性,这在单向数据传输的应用中尤为明显。公开号为CN102413503A的中国专利公开了一种用于Semi-TCP的自适应确认分组延迟发送的方法,该方法设计了算法计算ACK延时间隔,自适应地决定所收数据分组的确认包发送的时间。但是其目的在于提高通信效率,避免通信拥塞而不是提高通信实时性,且该方法是基于Semi-TCP而不是基于LwIP协议栈。
技术实现思路
为解决现有技术的不足,本专利技术的目的在于提供一种基于数据统计LwIP延迟ACK定时器周期自适应方法,尽可能少占用嵌入式CPU使用效率的前提下提高以太网通信的实时性。为了实现上述目标,本专利技术采用如下的技术方案:一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,包括如下步骤:步骤1)将延迟ACK定时器从LwIP的快速定时器中独立出来;步骤2)基于数据统计的周期判断方法判断定时器周期是否合适;步骤3)根据周期判断结果对定时器周期的值做相应处理;步骤4)基于惯性原理的延迟ACK定时器周期重置。前述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述步骤1)的具体步骤如下:11)设置延迟ACK定时器周期为一个变量;12)将发送延迟ACK包功能转移到延迟ACK定时器处理函数中。前述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述步骤2)的具体步骤如下:21)每次进入延迟ACK定时器处理函数时查询以太网通信块的工作状态,如果处于延迟ACK状态则将标志Flag置1,反之则将Flag置0;22)在n+1次进入延迟ACK定时器处理函数时得到一个新的Flagn+1,则Flagn+1将被加入到长度为m的标志保存序列,之前的标志整体往出口端平移,Flagn-m从出口端去除,n=0,1,2,...,n≤m时,不产生从出口端去除的动作;23)求取当前标志保存序列的和,如果该序列的和等于m则表示延迟ACK定时器周期过长,如果该序列的和小于参数l,则表示延迟ACK定时器周期过短。前述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述步骤3)的具体内容为:如果判断定时器周期过长,则将定时器周期的值除以2;如果判断定时器周期过短,若此时周期不大于20ms,则将该周期的值加上1,若此时周期大于20ms则加上该周期的10%。前述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述步骤4)的具体内容为:41)在n+1次进入延迟ACK定时器处理函数时得到一个新的定时周期Tn+1,则Tn+1将被加入到长度为k的周期保存序列,之前所有参数往出口整体平移,Tn-k从出口端去除,n=0,1,2,…,n≤k时,不产生从出口端去除的动作;42)求取当前周期保存序列的平均值,序列中所有的参数类型均为整形,对序列平均值四舍五入,将延迟ACK定时器周期设置为当前平均值。前述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述标志保存序列的长度m取值范围为10~15,参数l取值为的整数部分,l为整数。前述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述周期保存序列的长度k取值范围为4或5。本专利技术所达到的有益效果:本专利技术可直接应用到嵌入式系统的以太网通信中,在1s中左右自适应发送端的发送周期,能够在保证嵌入式CPU使用效率的前提下大大提高通信的实时性,通信周期能够降低到1ms,通信延迟1ms以内。附图说明图1是基于数据统计的周期判断方法流程图;图2是标志保存序列的更新方式示意图;图3是延迟ACK定时器周期处理流程图;图4是基于惯性原理的延迟ACK定时器周期重置流程图;图5是实验系统结构图;图6(a)是原始LwIP协议栈正弦波信号通信效果图,图6(b)是原始LwIP协议栈方波信号通信效果图;图7(a)是使用本专利技术的LwIP协议栈正弦波信号通信效果图,图7(b)是使用本专利技术的LwIP协议栈方波信号通信效果图。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。本专利技术中所述的惯性原理是指当通信稳定时,延迟ACK定时器周期不会发生瞬间的快速波动,因此可以根据最新一段周期内的周期保存序列计算出当前的通信周期,该周期在通信稳定时不会出现瞬间快速波动。本专利通过独立LwIP协议栈的延迟ACK定时器,并在该定时器中加入基于数据统计的周期判断方法判断周期是否合适,根据周期判断结果对定时器周期的值做相应处理,最后利用惯性原理重置延迟ACK定时器周期。采用该专利的LwIP协议栈能够在保证嵌入式CPU使用效率的前提下大大提高通信的实时性,通信周期能够降低到1ms,通信延迟1ms以内。下面结合具体实施例对本专利技术做进一步说明,基于数据统计的LwIP延迟ACK定时器周期自适应过程如下:实验系统结构图如图5所示,主要包括信号发生器、示波器、嵌入式系统A和嵌入式系统B。嵌入式系统ARM采用TM4C1294NCPDT处理器,该处理器内部集成了以太网物理层,便于进行以太网通信。嵌入式系统A通过AD转换采集信号发生器提供的模拟信号,并将数据通过RJ45网口传递给嵌入式系统B,嵌入式系统B将收到的数据DA转换为模拟信号,最后通过在示波器上对比信号发生器和嵌入式系统B生成的模拟信号论证通信效果。步骤1)将LwIP协议栈中的延迟ACK定时器从快速定时器中分离出来,重新设置延迟ACK定时器周期为一变量,将发送延迟ACK包功能转移到延迟ACK定时器处理函数中。步骤21)每次进入延迟ACK定时器处理函数便查询以太网通信块的工作状态,如果处于延迟ACK状态则将标志Flag置1,反之则将Flag置0;步骤22)在n+1次进入延迟ACK定时器处理函数时得到一个新的Flagn+1,则Flagn+1将被加入到长度为10的标志保存序列,之前的标志整体往出口端平移,Flagn-10从出口端去除。步骤23)求本文档来自技高网
...

【技术保护点】
1.一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,包括如下步骤:步骤1)将延迟ACK定时器从LwIP的快速定时器中独立出来;步骤2)基于数据统计的周期判断方法判断定时器周期是否合适;步骤3)根据周期判断结果对定时器周期的值做相应处理;步骤4)基于惯性原理的延迟ACK定时器周期重置。

【技术特征摘要】
1.一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,包括如下步骤:步骤1)将延迟ACK定时器从LwIP的快速定时器中独立出来;步骤2)基于数据统计的周期判断方法判断定时器周期是否合适;步骤3)根据周期判断结果对定时器周期的值做相应处理;步骤4)基于惯性原理的延迟ACK定时器周期重置。2.根据权利要求1所述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述步骤1)的具体步骤如下:11)设置延迟ACK定时器周期为一个变量;12)将发送延迟ACK包功能转移到延迟ACK定时器处理函数中。3.根据权利要求1所述的一种基于数据统计LwIP延迟ACK定时器周期自适应方法,其特征是,所述步骤2)的具体步骤如下:21)每次进入延迟ACK定时器处理函数时查询以太网通信块的工作状态,如果处于延迟ACK状态则将标志Flag置1,反之则将Flag置0;22)在n+1次进入延迟ACK定时器处理函数时得到一个新的Flagn+1,则Flagn+1将被加入到长度为m的标志保存序列,之前的标志整体往出口端平移,Flagn-m从出口端去除,n=0,1,2,…,n≤m时,不产生从出口端去除的动作;23)求取当前标志保存序列的和,如果该序列的和等于m则表示延迟ACK定时器周期过长,如果该序...

【专利技术属性】
技术研发人员:林志祥张天宏孙庆彪
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1