一种基于lwIP协议栈多网口多连接的通讯系统的制作方法_2

文档序号:8945727阅读:来源:国知局
通讯帧向外部网络的输出;
[0051](4B)逻辑处理单元中的应用层UDP处理任务需要往外部发送通讯帧时,先将通讯帧发送至IwIP协议桟,进入IwIP协议桟内部处理;
[0052](5B)在步骤(4B)基础上,IwIP协议栈对待发送帧处理,判断需要发往的IwIP协议栈虚拟网络接口;
[0053](6B)在步骤(5B)基础上,上述虚拟网络接口收到待发送通讯帧后,通过该虚拟网络接口的通讯帧发送模块将上述通讯帧发送至外部网络接口的发送驱动函数,由上述发送驱动函数完成上述通讯帧向外部网络的输出;
[0054]参见图3,一种多网口多连接数据应用层管理方法。
[0055]UDP处理任务:
[0056]在UDP报文处理任务中,新建一个UDP类型连接结构,将此连接结构与IP地址和端口号绑定。为了能用此连接结构接收系统所有UDP报文,此处绑定时,不指定特定IP地址。循环调用IwIP协议栈接收函数阻塞接收IwIP协议栈送至应用层UDP报文。
[0057]TCP处理任务,包括以下步骤::
[0058](IC)获取IwIP协议栈内部处于稳定状态的TCP连接链表头结点,进入步骤(IC);
[0059](2C)检查当前结点对应的TCP连接是否有效;
[0060](3C)在步骤(2C)基础上,如果连接有效,进入下一步处理,如果连接无效则回到步骤(IC);
[0061](4C)等待接收步骤(3C)中的TCP连接的数据;
[0062](5C)判断步骤(4C)中的等待接收动作的返回值,如果正常则进入步骤(6C),否则进入步骤(7C);
[0063](6C)对TCP报文进行处理,完成后进入步骤(8C);
[0064](7C) TCP连接异常处理模块,完成后进入步骤(8C);
[0065](8C)获取处于稳定状态的TCP连接链表下一个结点,进入步骤(2C)。
[0066]逻辑处理单元中的CPU为Atmel公司AT91RM9200芯片,芯片最高运算速度达到200MIPS,具有8个优先级的高级中断控制器;
[0067]存储单元中的一个FRAM芯片为Ramtron公司铁电存储芯片FM24CL64,两个DDRSDRAM 芯片为两片 Hynix 公司 HY57V561620FTP,一个 NOR FLAH 芯片为 Spans1n 公司 16 位4MByte 大小的 S29GL032M。
[0068]外接网口单元中的网口 I中的PHY芯片为Intel公司芯片LXT971A,与CPU内部的以太网控制器相连;网口 2选用CS8900芯片,芯片还有PHY芯片和以太网控制器两部分功能。使用IwIP协议栈命令IP4_ADDR设置IwIP协议栈虚拟网络接口 IP地址、子网掩码、网关地址、MAC地址。将两个虚拟网络接口添加到协议栈虚拟网络接口列表中。
[0069]新建网口 I的中断处理函数irqEMACISRl。新建网口 I通讯帧输入处理任务EthernetifInput_Netlο新建网口 2的中断处理函数irqEMACISR2。新建网口 2通讯帧输入处理任务 Ethernetif Input_Net2ο
[0070]irqEMACISRl中断函数主要功能是将外部通讯帧以消息队列方式发送至EthernetifInput_NetI任务的接收队列中。EthernetifInput_Netl任务收到外部通讯帧消息后,调用该虚拟网络接口的输入函数将数据包发送至协议栈中。irqEMACISR2中断函数主要功能是将外部通讯帧以消息队列方式发送至EthernetifInput_Net2任务的接收队列中。EthernetifInput_Net2任务收到外部通讯帧消息后,调用该虚拟网络接口的输入函数将数据包发送至协议栈中。
[0071]协议栈在处理通讯帧时,对通讯帧进行解析,发送至该通讯帧对应的连接结构缓冲区中。应用层任务循环遍历协议栈中处于稳定状态的TCP连接链表,阻塞式接收每个连接,从缓冲区中取出TCP报文数据。应用层有数据需要往外部发送数据时,将通讯帧并调用写通讯帧函数将数据交由协议栈处理。协议栈处理完后,将通讯帧发送至网口对应的虚拟网络接口,调用发送通讯帧函数发送通讯帧。
[0072]以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
【主权项】
1.一种基于IwIP协议栈多网口多连接的通讯系统,其特征在于,包括逻辑处理单元、外接网口单元、存储单元和时钟单元; 所述逻辑处理单元包括一个CPU,在所述CPU上移植yC/OS II系统,并在所述μ C/0SII系统上移植入开源的IwIP协议栈;逻辑处理单元用于处理外接网口单元输入的通讯帧以及向外接网口单元输出通讯帧,并为每个外部网络接口建立对应的IwIP协议栈中的虚拟网络接口 ;逻辑处理单元中应用层包括UDP处理任务和TCP处理任务,所述UDP处理任务实现应用层与IwIP协议栈之间UDP报文交互,所述TCP处理任务实现应用层与IwIP协议栈之间TCP报文交互; 所述外接网口单元包括多个外部网络接口,每个所述外部网络接口包括以太网控制器、PHY芯片和RJ45接口 ; 所述时钟单元由RTC时钟芯片经总线与逻辑处理单元相连接; 所述存储单元经总线与逻辑处理单元相连接。2.根据权利要求1所述的基于IwIP协议栈多网口多连接的通讯系统,其特征在于,所述存储单元包括FRAM芯片、SDRAM芯片、FLAH芯片。3.根据权利要求1所述的基于IwIP协议栈多网口多连接的通讯系统,其特征在于,通讯帧输入的处理方法如下: (IA)通讯帧进入外接网口单元中的一个外部网络接口,经所述外部网络接口中的RJ45接口,经PHY芯片到达以太网控制器,所述以太网控制器对通讯帧处理,完成网口中断信号发出; (2Α)所述逻辑处理单元接到中断信号后,调用所述外部网络接口对应的网口中断处理函数对通讯帧进行处理; (3Α)网口中断处理函数将所述通讯帧以消息邮箱发送至外部网络接口对应的消息处理任务; (4Α)所述消息处理任务将通讯帧由外部网络接口对应的虚拟网络接口的通讯帧输入函数处理,经所述通讯帧输入函数处理后,通讯帧进入IwIP协议栈内部处理流程; (5Α)所述IwIP协议栈将需提交给应用层的TCP报文提交给TCP处理任务,将需提交给应用层的UDP报文提交给UDP处理任务。4.根据权利要求1所述的基于IwIP协议栈多网口多连接的通讯系统,其特征在于,通讯帧输出的处理方法如下: (IB)所述逻辑处理单元中的TCP处理任务需要往外部发送通讯帧时,先将所述通讯帧发送至IwIP协议桟,进入IwIP协议桟内部处理; (2Β) IwIP协议栈处理待发送通讯帧,判断需要发往的IwIP协议栈虚拟网络接口 ; (3Β)虚拟网络接口收到待发送通讯帧后,通过该虚拟网络接口的通讯帧发送模块将上述通讯帧发送至外部网络接口的发送驱动函数,由所述发送驱动函数完成通讯帧向外部网络接口的输出; (4Β)所述逻辑处理单元中的UDP处理任务需要往外部发送通讯帧时,先将所述通讯帧发送至IwIP协议桟,进入IwIP协议桟内部处理; (5Β) IwIP协议栈处理待发送通讯帧,判断需要发往的IwIP协议栈虚拟网络接口 ; (6Β)虚拟网络接口收到待发送通讯帧后,通过该虚拟网络接口的通讯帧发送模块将通讯帧发送至外部网络接口的发送驱动函数,由发送驱动函数完成上述通讯帧向外部网络的输出。5.根据权利要求1所述的基于IwIP协议栈多网口多连接的通讯系统,其特征在于,对TCP处理任务的处理方法如下: (IC)获取IwIP协议栈内部处于稳定状态的TCP连接链表头结点,进入步骤(2C); (2C)检查当前结点对应的TCP连接是否有效; (3C)如果连接有效,进入步骤(4C),如果连接无效,则回到步骤(IC); (4C)等待接收步骤(3C)中的TCP连接的数据; (5C)判断步骤(4C)中的等待接收动作的返回值,如果正常则进入步骤(6C),否则进入步骤(7C); (6C)对TCP报文进行处理,完成后进入步骤(SC); (7C) TCP连接异常处理模块,完成后进入步骤(8C); (8C)获取处于稳定状态的TCP连接链表下一个结点,进入步骤(2C)。
【专利摘要】本发明公开了一种基于lwIP协议栈多网口多连接的通讯系统,包括逻辑处理单元、外接网口单元、存储单元和时钟单元;逻辑处理单元包括CPU,在CPU上移植μC/OS?II系统,并在μC/OS?II系统上移植入开源的lwIP协议栈;逻辑处理单元用于处理外接网口单元输入的通讯帧以及向外接网口单元输出通讯帧;外接网口单元包括多个外部网络接口,外部网络接口包括以太网控制器、PHY芯片和RJ45接口;时钟单元由RTC时钟芯片经总线与逻辑处理单元相连。本发明应用层不再区分多网口任务或者处理函数,建立的应用层数据处理任务或者函数不随着外部网口数量或者连接数量的变化发生变化,对所有网口发起的所有TCP连接统一管理。
【IPC分类】H04L29/06
【公开号】CN105162751
【申请号】CN201510340758
【发明人】徐业荣, 包明磊, 李明
【申请人】南京国电南自电网自动化有限公司
【公开日】2015年12月16日
【申请日】2015年6月18日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1