当前位置:主页 > 科技论文 > 计算机论文 >

基于LwIP的热插拔网络嵌入式设计方法

发布时间:2021-08-15 16:03
  本文从硬件设计、软件架构设计和采用状态机设计的热插拔网络处理任务三个方面描述了一种基于LwIP的热插拔网络嵌入式设计与实现。网络处理任务通过查询连接状态的方式,采用状态机设计了热插拔网络子任务,实现了动态申请和释放内存,并在确保网络可靠连接下进行UDP通信,同时提出了两种软件优化方式,减少断线重连等待对后台系统任务轮询的占用。 

【文章来源】:单片机与嵌入式系统应用. 2020,20(04)

【文章页数】:5 页

【部分图文】:

基于LwIP的热插拔网络嵌入式设计方法


硬件设计框图

系统流程图,系统流程图,优先级


在前台程序中则通过中断方式完成对异步事件的实时响应。前台系统设计时将数据量较大且含有设备信号参数的网络中断设计为最高的抢占优先级和响应优先级,将用于分机内部模块之间通信的串口中断为次之的抢占优先级和响应优先级,而将定时器中断作为LwIP计时时钟及内部定时时钟,设计为最低的抢占优先级和响应优先级。前后台系统处理流程如图2所示。3 热插拔网络处理任务设计

流程图,流程图,热插拔,网卡


热插拔网络状态机通过将“内存申请”状态和“网络重连”状态设计为两个子任务,避免了内存的重复申请。而在内存释放状态下,则逆向地对LwIP初始化时注册的函数及申请的空间进行释放,以实现“纯净”的热插拔网络设计。首先调用sys_untimeout()函数以注销超时链表,再调用netif_remove()以注销网卡,该函数将禁用网卡并将当前网卡从网卡链表中注销,最后再调用lwip_comm_mem_free()和ETH_Mem_Free()以分别彻底地释放当前网卡下LwIP初始化时所申请的LwIP内核空间及DMA空间。在网络重连状态下,将复位并重新配置MAC接口及PHY芯片,并查询PHY芯片的连接状态以尝试重连。在正常连接及内存释放状态下,均将轮询处理UDP任务。网络连接成功后UDP处理任务首先完成创建UDP控制块、连接至远端IP和端口、绑定本地IP和端口、注册接收回调函数等初始化工作,随后在确保网络稳定连接状态下对UDP通信进行轮询处理,而在网络断开连接或是初始化失败情况下,UDP处理任务将释放UDP初始化时所申请的内存空间并断开连接。采用状态机设计的热插拔网络处理任务C语言实现代码如下:图4 热插拔网络的状态机设计

【参考文献】:
期刊论文
[1]基于STM32与Lwip协议栈的高效通信技术[J]. 李晨,蒋林,刘思平.  电子技术与软件工程. 2019(19)
[2]STM32F407的雷达流速测量系统设计与实现方法[J]. 陈伟昌,杨跃,赵旭升,范光伟,林年旺.  单片机与嵌入式系统应用. 2019(08)
[3]STM32的焦距自适应激光清洗控制系统设计[J]. 晏强,沈玄.  单片机与嵌入式系统应用. 2019(03)
[4]基于LwIP协议栈的嵌入式网络控制系统设计[J]. 张超,王志超,林岩.  单片机与嵌入式系统应用. 2019(02)
[5]基于STM32和PCL6045BL的经编机电子横移系统设计[J]. 郭伟军,章国青,孙以泽.  电子技术应用. 2018(12)
[6]用STM32和ESP8266实现的可扩展物联网系统[J]. 常欣,王琦.  单片机与嵌入式系统应用. 2018(12)
[7]嵌入式TCP/IP协议栈LWIP的内部结构探索与研究[J]. 孙乐鸣,江来,代鑫.  电子元器件应用. 2008(03)

硕士论文
[1]基于STM32和LwIP的无线传感器网络网关研究与应用[D]. 韩兴会.西安工程大学 2018



本文编号:3344860

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3344860.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户d29a2***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com