CN102710474A - 基于lwip兼容光口和电口的以太网接入设备 - Google Patents

基于lwip兼容光口和电口的以太网接入设备 Download PDF

Info

Publication number
CN102710474A
CN102710474A CN2012101659341A CN201210165934A CN102710474A CN 102710474 A CN102710474 A CN 102710474A CN 2012101659341 A CN2012101659341 A CN 2012101659341A CN 201210165934 A CN201210165934 A CN 201210165934A CN 102710474 A CN102710474 A CN 102710474A
Authority
CN
China
Prior art keywords
data
network interface
lwip
dm9000ci
ethernet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012101659341A
Other languages
English (en)
Inventor
李玮
吴晓闯
张建江
白志斌
孟郁金
王玉宏
王耀华
田涛
李峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANXI LIANHUA WEIYE TECHNOLOGY CO LTD
Original Assignee
SHANXI LIANHUA WEIYE TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANXI LIANHUA WEIYE TECHNOLOGY CO LTD filed Critical SHANXI LIANHUA WEIYE TECHNOLOGY CO LTD
Priority to CN2012101659341A priority Critical patent/CN102710474A/zh
Publication of CN102710474A publication Critical patent/CN102710474A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明基于LWIP兼容光口和电口的以太网接入设备,属于以太网通信技术领域;解决的技术问题是:提供一种通过以太网光口和电口将嵌入式设备接入以太网的装置;采用的技术方案是:基于LWIP兼容光口和电口的以太网接入设备,包括:STM32F103ZE高速微控制器和两个DM9000CI网卡,所述STM32F103ZE高速微控制器采用UC/OS-II操作系统,在UC/OS-II多任务开发环境下移植TCP/IP协议栈LWIP实现以太网通信,STM32F103ZE高速微控制器通过FSMC总线同时控制第一DM9000CI网卡(2)和第二DM9000CI网卡进行以太网通信,第一DM9000CI网卡连接有光口光纤收发器,第二DM9000CI网卡连接有网口RJ45,本发明广泛适用于通信领域。

Description

基于LWIP兼容光口和电口的以太网接入设备
技术领域
本发明基于LWIP兼容光口和电口的以太网接入设备,属于以太网通信技术领域。
背景技术
嵌入式设备接入Internet可以应用到很多领域,例如工业控制现场、医疗仪器、网络家电、智能楼宇、电力系统、商业自动收款机、自动售货机、远程设备维护、工业制冷、集中空调、银行系统、远程通讯等;据网络专家的预测,未来在Internet上传输的信息中,将有70%的信息来自于小型嵌入式系统,可以预言,嵌入式设备与Internet的结合代表着嵌入式系统和网络技术的真正未来,如何通过Internet共享嵌入式设备的信息,已成为当今电子领域的研究热点和难点。
发明内容
本发明克服现有技术存在的不足,所要解决的技术问题是:提供一种通过以太网光口和电口将嵌入式设备接入以太网的装置。
为解决上述技术问题,本发明所采用的技术方案是:基于LWIP兼容光口和电口的以太网接入设备,包括:STM32F103ZE高速微控制器和两个DM9000CI网卡,所述STM32F103ZE高速微控制器采用UC/OS-II操作系统,在UC/OS-II多任务开发环境下移植TCP/IP协议栈LWIP实现以太网通信,STM32F103ZE高速微控制器通过FSMC总线同时控制第一DM9000CI网卡(2)和第二DM9000CI网卡进行以太网通信,第一DM9000CI网卡连接有光口光纤收发器,第二DM9000CI网卡连接有网口RJ45。
所述以太网接入设备接收以太网数据包括以下步骤:
光口数据流触发STM32F103ZE高速微控制器的外部中断1;网口数据流触发STM32F103ZE高速微控制器的外部中断2的步骤;
外部中断1的中断函数执行光口网络控制器第一DM9000CI网卡的数据处理函数暂存数据并发送光口数据处理的信号量;外部中断2的中断函数执行网口网络控制器第二DM9000CI网卡的数据处理函数暂存数据并发送网口数据处理的信号量的步骤;
光口数据处理信号量触发光口LWIP数据接收任务存储数据到光口LWIP动态数据存储空间;网口数据处理信号量触发网口LWIP数据接收任务存储数据到网口LWIP动态数据存储空间的步骤;
光口LWIP动态数据存储空间的数据暂存在光口对应网络接口1的LWIP存储结构中,LWIP协议栈处理主任务把数据经过网络层和通信层的处理及时告知应用层有新数据进入;网口LWIP动态数据存储空间的数据暂存在网口对应网络接口2的LWIP存储结构中,LWIP协议栈处理主任务把数据经过网络层和通信层的处理及时告知应用层有新数据进入的步骤;
应用层网络接口1的光口任务对光口的新接入数据进行应用;应用层网口接口2的网口任务对网口的新接入数据进行应用的步骤。
所述以太网接入设备向以太网发送数据包括以下步骤:
应用层数据经过LWIP协议栈传输层到达网络层后通过网络IP路由函数根据数据的源地址判断数据来自网络接口1还是网络接口2的步骤;
来自网络接口1的数据选择光口第一DM9000CI网卡的数据发送函数通过光口把数据送入网络;来自网络接口2的数据选择网口第二DM9000CI网卡的数据发送函数通过网口把数据送入网络的步骤。
本发明与现有技术相比具有的有益效果是:
一、本发明基于UC/OS-II操作系统与网卡DM9000CI实现嵌入式以太网LWIP协议栈双网卡同时应用,可以同时兼容以太网光口和电口的通信方式,满足了嵌入式设备同以太网交换数据的需要,为嵌入式设备通过Internet共享信息提供了条件;
二、本发明可以将处在不同地域内、不同网络下的各种嵌入式设备联系在一起,利用现有的Internet网络对现场智能化嵌入式仪器进行数据采集、监控和控制,为现代化工业控制提供便利;
三、本发明采用STM32F103ZE高速微控制器通过FSMC总线控制DM9000CI网卡,网卡扩充方便,实用性强。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明:
图1是本发明的结构示意图;
图2是本发明中LWIP协议栈的体系结构示意图;
图3是本发明中TCPServer的流程图;
图中:1为STM32F103ZE高速微控制器、2为第一DM9000CI网卡、3为第二DM9000CI网卡、4为光口光纤收发器、5为网口RJ45,6为电源模块。
具体实施方式
如图1所示,本发明基于LWIP兼容光口和电口的以太网接入设备,包括:STM32F103ZE高速微控制器1和两个DM9000CI网卡,所述STM32F103ZE高速微控制器1采用UC/OS-II操作系统,在UC/OS-II多任务开发环境下移植TCP/IP协议栈LWIP实现以太网通信,STM32F103ZE高速微控制器1通过FSMC总线同时控制第一DM9000CI网卡2和第二DM9000CI网卡3进行以太网通信,第一DM9000CI网卡2连接有光口4,第二DM9000CI网卡3连接有网口5,电源模块6给整个装置供电。
所述以太网接入设备的软件实现以太网通信主要包括:DM9000CI网络接口程序设计;协议栈LWIP到UC/OS-II操作系统的移植;光口与电口同时应用在协议栈LWIP的设计;TCPServer、TCPClient的应用层软件设计。
所述DM9000CI网络接口程序设计就是在驱动中实现网络接口的初始化收、发、以及中断处理函数,驱动程序工作在IP协议模型的网络接口层,本发明中光口与电口网卡都采用DM9000CI,通过STM32F103ZE高速微控制器1通过FSMC总线控制,DM9000CI光口与电口模式配置由寄存器DSCR控制如下表所示:
Figure 2012101659341100002DEST_PATH_IMAGE001
所述协议栈LWIP到UC/OS-II操作系统的移植通过在UC/OS-II操作系统中创建函数实现,如图2所示,协议栈LWIP由一些相对独立的模块组成,除TCP/IP应用程序和TCP/IP协议的实现模块(IP协议、ICMP协议、UDP协议、TCP协议、ARP协议)外,还包括许多相关的支持模块,这些支持模块包括操作系统模拟层、缓冲与内存管理模块、网络接口函数以及一组Internet校验和计算函数、API接口函数;
LWIP的操作系统模拟层(sys_arch)是底层操作系统和LWIP之间的一个接口,为LWIP提供信号量和邮箱两种进程间通信方式,当用户移植LWIP时,只需修改这个接口即可;主要实现以下几种类型的函数,分别是信号量操作函数、邮箱操作函数、临界保护函数、sys_thread_new( )函数、sys_arch_timeouts( )函数;由于μC/OS-II提供了创建任务函数、临界保护函数以及丰富的信号量和邮箱操作函数,所以只需对这些函数稍加修改,便可实现LWIP操作系统模拟层的函数。
所述光口与电口同时应用在协议栈LWIP的设计按以下方式进行:在LWIP中可以有多个网络接口,每个网络接口都对应了一个struct netif,这个netif包含了相应网络接口的属性(IP地址、子网掩码、默认网关)、收发函数;LwIP通过调用netif的方法netif->input()及netif->output()进行以太网packet的收、发等操作;
本发明中分别为光口和电口添加一个netif_add,并调用netif_set_up()创建网络接口1、网络接口2;在low_level_init()中,区分两个网卡的MAC地址并且填充到netif块中;在low_level_output()中,判断返回的数据是要发送到哪个网卡,将数据拷贝到网卡发送缓冲区,然后发送;在low_level_input()中,判断是哪个网卡接受到了数据,并将网卡接受缓冲区中的数据拷贝到netif块的payload数据处;从而实现了光口与电口的同时应用。
所述TCPServer、TCPClient的应用层软件设计中上层应用程序可以基于LWIP API编写,本发明中以太网任务主要由TCPServer、TCPClient、UDP,如图3所示,TCPServer的流程按以下步骤进行:
第一步,创建连接,然后进入第二步,
第二步,绑定本地地址和端口,然后进入第三步,
第三步,进入监听状态,然后进入第四步,
第四步,等待连接,然后进入第五步,
第五步,等待以太网接口有数据,然后进入第六步,
第六步,判断连接是否有效,如果连接有效,则进入第七步,如果连接无效,则返回第四步;
第七部,对通讯数据进行处理,然后返回第五步;
TCPClient的工作流程与TCPServer类似。
所述以太网接入设备接收以太网数据包括以下步骤:
光口数据流触发STM32F103ZE高速微控制器1的外部中断1;网口数据流触发STM32F103ZE高速微控制器1的外部中断2的步骤;
外部中断1的中断函数执行光口网络控制器第一DM9000CI网卡2的数据处理函数暂存数据并发送光口数据处理的信号量;外部中断2的中断函数执行网口网络控制器第二DM9000CI网卡3的数据处理函数暂存数据并发送网口数据处理的信号量的步骤;
光口数据处理信号量触发光口LWIP数据接收任务存储数据到光口LWIP动态数据存储空间;网口数据处理信号量触发网口LWIP数据接收任务存储数据到网口LWIP动态数据存储空间的步骤;
光口LWIP动态数据存储空间的数据暂存在光口对应网络接口1的LWIP存储结构中,LWIP协议栈处理主任务把数据经过网络层和通信层的处理及时告知应用层有新数据进入;网口LWIP动态数据存储空间的数据暂存在网口对应网络接口2的LWIP存储结构中,LWIP协议栈处理主任务把数据经过网络层和通信层的处理及时告知应用层有新数据进入的步骤;
应用层网络接口1的光口任务对光口的新接入数据进行应用;应用层网口接口2的网口任务对网口的新接入数据进行应用的步骤。
所述以太网接入设备向以太网发送数据包括以下步骤:
应用层数据经过LWIP协议栈传输层到达网络层后通过网络IP路由函数根据数据的源地址判断数据来自网络接口1还是网络接口2的步骤;
来自网络接口1的数据选择光口第一DM9000CI网卡2的数据发送函数通过光口把数据送入网络;来自网络接口2的数据选择网口第二DM9000CI网卡3的数据发送函数通过网口把数据送入网络的步骤。
本发明基于UC/OS-II操作系统与网卡DM9000CI实现嵌入式以太网LWIP协议栈双网卡同时应用,可以同时兼容以太网光口和电口的通信方式,满足了嵌入式设备同以太网交换数据的需要,为嵌入式设备通过Internet共享信息提供了条件,可以将处在不同地域内、不同网络下的各种嵌入式设备联系在一起,利用现有的Internet网络对现场智能化嵌入式仪器进行数据采集、监控和控制,为现代化工业控制提供便利。
本发明采用STM32F103ZE高速微控制器通过FSMC总线控制DM9000CI网卡,网卡扩充方便,实用性强,本发明可以安装在电路板上,通过多层PCB设计,具有很高的抗干扰性能。

Claims (3)

1.基于LWIP兼容光口和电口的以太网接入设备,包括:STM32F103ZE高速微控制器(1)和两个DM9000CI网卡,其特征在于:所述STM32F103ZE高速微控制器(1)采用UC/OS-II操作系统,在UC/OS-II多任务开发环境下移植TCP/IP协议栈LWIP实现以太网通信,STM32F103ZE高速微控制器(1)通过FSMC总线同时控制第一DM9000CI网卡(2)和第二DM9000CI网卡(3)进行以太网通信,第一DM9000CI网卡(2)连接有光口光纤收发器(4),第二DM9000CI网卡(3)连接有网口RJ45(5)。
2.根据权利要求1所述的基于LWIP兼容光口和电口的以太网接入设备,其特征在于:所述以太网接入设备接收以太网数据包括以下步骤:
光口数据流触发STM32F103ZE高速微控制器(1)的外部中断1;网口数据流触发STM32F103ZE高速微控制器(1)的外部中断2的步骤;
外部中断1的中断函数执行光口网络控制器第一DM9000CI网卡(2)的数据处理函数暂存数据并发送光口数据处理的信号量;外部中断2的中断函数执行网口网络控制器第二DM9000CI网卡(3)的数据处理函数暂存数据并发送网口数据处理的信号量的步骤;
光口数据处理信号量触发光口LWIP数据接收任务存储数据到光口LWIP动态数据存储空间;网口数据处理信号量触发网口LWIP数据接收任务存储数据到网口LWIP动态数据存储空间的步骤;
光口LWIP动态数据存储空间的数据暂存在光口对应网络接口1的LWIP存储结构中,LWIP协议栈处理主任务把数据经过网络层和通信层的处理及时告知应用层有新数据进入;网口LWIP动态数据存储空间的数据暂存在网口对应网络接口2的LWIP存储结构中,LWIP协议栈处理主任务把数据经过网络层和通信层的处理及时告知应用层有新数据进入的步骤;
应用层网络接口1的光口任务对光口的新接入数据进行应用;应用层网口接口2的网口任务对网口的新接入数据进行应用的步骤。
3.根据权利要求1所述的基于LWIP兼容光口和电口的以太网接入设备,其特征在于:所述以太网接入设备向以太网发送数据包括以下步骤:
应用层数据经过LWIP协议栈传输层到达网络层后通过网络IP路由函数根据数据的源地址判断数据来自网络接口1还是网络接口2的步骤;
来自网络接口1的数据选择光口第一DM9000CI网卡(2)的数据发送函数通过光口把数据送入网络;来自网络接口2的数据选择网口第二DM9000CI网卡(3)的数据发送函数通过网口把数据送入网络的步骤。
CN2012101659341A 2012-05-25 2012-05-25 基于lwip兼容光口和电口的以太网接入设备 Pending CN102710474A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012101659341A CN102710474A (zh) 2012-05-25 2012-05-25 基于lwip兼容光口和电口的以太网接入设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012101659341A CN102710474A (zh) 2012-05-25 2012-05-25 基于lwip兼容光口和电口的以太网接入设备

Publications (1)

Publication Number Publication Date
CN102710474A true CN102710474A (zh) 2012-10-03

Family

ID=46903044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012101659341A Pending CN102710474A (zh) 2012-05-25 2012-05-25 基于lwip兼容光口和电口的以太网接入设备

Country Status (1)

Country Link
CN (1) CN102710474A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162751A (zh) * 2015-06-18 2015-12-16 南京国电南自电网自动化有限公司 一种基于lwIP协议栈多网口多连接的通讯系统
CN106060901A (zh) * 2016-05-17 2016-10-26 深圳芯智汇科技有限公司 嵌入式无线网络系统及其接入无线网络的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992610A (zh) * 2005-12-31 2007-07-04 中国科学院计算技术研究所 具有硬件加速功能的智能以太网卡
CN101707599A (zh) * 2009-11-12 2010-05-12 国电南京自动化股份有限公司 故障录波系统中基于dsp的以太网通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992610A (zh) * 2005-12-31 2007-07-04 中国科学院计算技术研究所 具有硬件加速功能的智能以太网卡
CN101707599A (zh) * 2009-11-12 2010-05-12 国电南京自动化股份有限公司 故障录波系统中基于dsp的以太网通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马红侠: "以太网无源光网络(EPON)设备的硬件设计及调试", 《中国优秀硕士学位论文全文数据库》, 15 September 2007 (2007-09-15), pages 7 - 15 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162751A (zh) * 2015-06-18 2015-12-16 南京国电南自电网自动化有限公司 一种基于lwIP协议栈多网口多连接的通讯系统
CN105162751B (zh) * 2015-06-18 2018-06-22 南京国电南自电网自动化有限公司 一种基于lwIP协议栈多网口多连接的通讯系统
CN106060901A (zh) * 2016-05-17 2016-10-26 深圳芯智汇科技有限公司 嵌入式无线网络系统及其接入无线网络的方法

Similar Documents

Publication Publication Date Title
CN102347900B (zh) 整合虚拟和物理网络交换设备到异构交换域的方法和系统
CN108540876A (zh) 业务路径选取方法、sdn控制器、存储介质及电子设备
CN101621440A (zh) 远程多路串口通讯映射系统
CN103338269B (zh) 一种数据传输方法及装置
CN202679397U (zh) 实时工业以太网EtherCAT从站系统
CN103002065A (zh) 一种主用设备与备用设备共用ip地址的方法和装置
CN102307141B (zh) 报文转发方法和设备
CN103973578A (zh) 一种虚拟机流量重定向的方法及装置
CN108228309A (zh) 基于虚拟机的数据包发送和接收方法及装置
CN204043128U (zh) 多联机空调系统
CN104243536A (zh) 一种高速列车控制网络半实物仿真系统
CN104301229A (zh) 数据包转发方法、路由表生成方法及装置
CN103200067A (zh) 用以隔离数据的动态虚拟lan
CN102263709A (zh) 一种EtherCAT与RS485通信转换的网关及其通信方法
CN102255800A (zh) Can总线上ip数据包和can消息之间数据格式相互转换的方法
CN102710474A (zh) 基于lwip兼容光口和电口的以太网接入设备
CN103885821B (zh) Scada前置处理装置及其多通道多线程实时调度方法
CN105791106A (zh) 一种支持并发访问服务的6LoWPAN家居网关及实现方法
CN101247663B (zh) 大容量路由系统及其转发表生成方法
CN104104594B (zh) Vsu的协议报文发送与接收方法、设备及系统
CN115208920B (zh) 分布式物联网服务单元
CN103036815B (zh) 一种信息技术和通信技术ict融合系统
CN202918326U (zh) 智能式多串口交换机
CN106411616B (zh) 一种通过1553b总线管理以太网终端的装置及方法
CN102355370B (zh) 以太网板级保护的方法、装置和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20121003