一种高效的以太网扩展方法及实现
2021-04-25赵晓宇龚学锐
赵晓宇 龚学锐
摘要:以太网通信因其通信速率快、通信可靠、连接方便等诸多优点,在现在的控制装置中的应用越来越广泛。针对上述相关场景对以太网通信的需求,确定了一种适用于简单以太网应用的高效扩展方法。并通过相关设计和实验,验证了相关分析和设计的正确性。
关键字:以太网嵌入式W5100S通信扩展
Abstract: Ethernet is becoming more and more popular in industrial communication for its high speed、reliability and easy connecting. This paper focus on the application that have very urgent need of Ethernet, this paper verified the the practicability of the method by developing a prototype and test on it.
Keywords: EthernetEmbedded systemW5100SCommunication extend
1 引言
随着各种工业设备智能化程度的提高,其对通信性能的要求也逐渐的提高,即需要传输更多的数据、更快的传输速度和更可靠的连接。传统现场总线中常用的CAN、RS485等总线传输速率已经明显无法满足新的需求。以太网总线以其通信速率快、通信可靠、连接方便等诸多优点,逐渐在工业控制领域得到越来越广泛的应用,近些年多数芯片厂家在 其最新系列的DSP芯片中都加入了以太网功能,而这在以前是很少见的。
对于一些不支持以太网的DSP,以及
FPAG、低端ARM等要向实现以太网功能就必须通过适当技术手段来扩展。本文将针对此种技术需求展开研究,并给出一种高效的解决方案。
2 以太网技术原理分析
OSI(Open System Interconnect)定义了网络互连的七层框架分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,而目前以太网协议中应用最广泛的TCP/IP则是采用了简化的五层模型。
TCP/IP协议模型的五层结构中将OSI模型种的应用层、表示层、会话层三层统一归入应用层。
各种设备间通过标准的物理接口、标准的以太网帧格式以及标准的上层協议实现通信。
3基于W5100S的以太网设计
3.1软件功能实现分析
在嵌入式应用中以太网功能的软件实现主要分为操作系统实现和基于代码的功能集成两种方式。而编程开发基本都是基于socket接口的方法实现。
通过socket接口,屏蔽了底层软件的复杂接口,降低了编程复杂度。
3.2 硬件功能分析
以太网的硬件功能实现主要可分为两部分:第一,芯片与PHY侧接口硬件;第二,PHY芯片与外部接口硬件。
硬件功能接口的区别是限制以太网扩展方式的主要因素。如DSP芯片一般都没有MAC接口,因此DSP无法直接扩展以太网功能。而FPGA的接口资源丰富且接口配置灵活,因此可以实现多路扩展,但需要通过逻辑资源实现MAC控制器才能实现完整的MAC功能。
3.3 基于W5100S的以太网功能开发
W5100S 是一款多功能的单芯片网络接口芯片,内部集成全硬件的TCP/IP协议栈,以太网MAC和 10Base-T/100Base-TX以太网控制器,实现了以太网功能的单芯片扩展。其支持IPv4,TCP,UDP,ICMP,IGMP,ARP,PPPoE等各种TCP/IP协议,而且拥有8KB的发送缓存和接收缓存,可以最大限度地减少MCU的开销。
3.3.1 基于W5100S的硬件设计
W5100S内部已经集成了MAC、PHY等功能,因此只用将芯片对应的接口分别连接到MCU和以太网接口即可,本设计中所选用的以太网接口已经集成了网络变压器,因此也不用设外部变压器。
本设计中采用了SPI接口和8BIT并行系统总线接口的兼容设计。由于SPI总线速率受外部影响因素较大,因此在吞吐量要求比较高的场合推荐用并行总线。
3.3.2 软件功能设计
由于W5100S内部已经集成了全硬件的TCP/IP协议栈,因此相关功能的实现只用通过SPI或者并行总线接口操作相关寄存器即可。
对相关寄存器的操作基于socket功能的软件框架实现的非常易于实现。
44试验验证及结果分析
本文相关设计及验证内容主要包含硬件和软件两个部分。硬件平台MCU采用TI公司的DSP芯片,型号为TMS320C28346;以太网扩展芯片为WIZnet公司的W5100S集成以太网控制器;以太网连接器采用汉仁的HR901103C,该型号集成了网络变压器。
以太网软件功能测试采用网络封包软件Wireshark全程对以太网传输数据进行捕获并通过pcapng格式对数据进行保存。捕获的数据包括TCP、LLMNR、DHCP等网络协议数据,通过对原始数据集进行筛选,保留TCP通信协议传输数据后进行分析。
从实验可见Wireshark正确的识别出了板卡发出的TCP帧。证明设计TCP功能的正确性。
通过PC端回环测试,进行发送和接收数据的时间序列图和实际数据吞吐量测试,如图10~13所示整个传输过程中发送和接收数据吞吐量和时间序列保持稳定,因此可以确认在整个测试过程中以太网传输没有断开的情况发生,一直保持两端正常通信。
所以可以确认相关硬件和软件设计的正确性。
5 结论
在以太网应用越来越广泛的今天,以太网扩展的需求也越来越广。针对部分DSP、FPGA等不具备以太网功能的芯片而言,通过集成协议栈功能的W5100S来实现以太网功能的扩展,是一种简单、高效的扩展方法。其不仅开发简单,而且基本不会影响原系统的性能,因此可作为一种优选的扩展方案。
参考文献:
[1]张峻豪,张晓龙,王聪,李俊杰,杨磊青,高鹏.嵌入式以太网串口服务器设计与实现[J].软件导刊,2021,20(09):123-129.
[2]戴李刚,张明亮,赵玲玲,高嘉诚,罗佳妮,闫昊昱.基于LwIP协议的电磁阀采集技术研究[J].上海航天,2020,37(S2):193-196+205. DOI:10.19328/j.cnki.2096-8655.2020.S2.035.
[3]WIZnet Co,W5100 Datasheet Ver.1.1.3,Wiznet Corporation[R].Korea,WIZnet Co.,2006.
[4]张伏.基于NiosII与W5100的嵌入式Web服务器的设计与实现[J].电子技术与软件工程,2014(03):219-220.
作者简介: 赵晓宇(1987-),男,工程师,武汉船用电力装置研究所,主要研究方向为电力电子与电力传动