当前位置:首页 > 工业控制 > 电子设计自动化
[导读] 引言随着电子信息技术的发展,网络化日益普遍,以太网被广泛应用到各个领域,只要在设备上增加一个网络接口并实现TCP/IP协议,就可以方便地接入到现有的网络中,完成远程数据传输的相关功能。因此,嵌入式网络技术一

 引言

随着电子信息技术的发展,网络化日益普遍,以太网被广泛应用到各个领域,只要在设备上增加一个网络接口并实现TCP/IP协议,就可以方便地接入到现有的网络中,完成远程数据传输的相关功能。因此,嵌入式网络技术一直是关注的焦点,目前已经广泛应用于通信、工业控制、消费电子等各个领域。近年来,随着可编程逻辑器件的飞速发展,人们开始考虑将整个嵌入式系统集成到单片FPGA中实现,其中也包括了以太网的嵌入式片上系统。

本文从实际应用出发,以Xilinx FPGA的软核CPUY MicroBlaze IPCore搭建的片上系统(System—on—Chip),构建了嵌入式网络硬件开发平台,实现了TCP/IP通信协议栈LwIP(Light-weight Internet Protocol)在实时操作系统Xilkernel上的移植。详细介绍了其软硬件的系统组成和原理,阐述了FPGA的片上系统配置,及其驱动层和协议栈层软件的结构,并给出部分关键源码。

1 系统硬件平台设计

Xilinx为嵌入式网络通信解决方案提供了广泛的组件和资源。Xilinx嵌入式解决方案的一个主要优点是其处理器、IP内核以及软件组件的灵活性和可扩展能力,其强大的灵活性允许用户根据需要开启或禁止处理器、IP内核以及软件平台的选项和高级功能,并且可以对许多独立参数进行精细调整,直到在软件级满足应用要求。

系统采用Xilinx公司的FPGA芯片XC5VFX70T为硬件设计平台,以MicroBlaze软核作为中央处理器,以VHDL硬件描述语言实现协处理功能模块,以片上总线连接MicroBlaze处理器和外围设备(IP)来搭建嵌入式片上系统。

Xilinx以IBM CoreConnect总线通信链作为嵌入式处理器的片上总线,提供了丰富的接口资源,主要有PLB(Processor Local Bus,处理器本地总线)接口、高速的LMB(Local Memory Bus,本地存储器总线)接口、FSL(Fast Simplex Link,快速单连接)主从设备接口、XCL(Xilinx Cache Link,Xilinx缓存链路)接口。PLB总线可将外设IP核连接到Micro Blaze系统中,常用在速度要求不高的场合;LMB专门用于实现对片上块RAM的高速访问;XCL则用于实现对片外存储器的高速访问。FSL是MicroBlaze处理器特有的一个基于FIFO的单向链路,可实现用户自定义IP核与MicroBlaze内部通用寄存器的点对点直接相连,一般用在传输速度要求较高的场合。

已实现的系统由MicroBlaze处理器、ILMB总线、DLMB总线、Block RAM、DDR SDRAM、10/100/1000 Soft TEMAC、GPIO接口、UART16550串口、PLB TIMER定时器,以及基于PLB总线技术的DDC(数字下变频)自定义IPCore和基于FSL总线技术的FFT(快速傅里叶变换)自定义IPCore组成。设计的系统架构如图1所示,整个系统在Xilinx的EDK开发工具中构建,具有完全的可编程特性,可根据不同任务需求来更改相关的配置参数。

2 系统软件平台设计

2. 1 LwIP协议栈

LwIP是一个开源TCP/IP协议栈,在实现TCP/IP协议栈主要功能的基础上减少了对RAM的占用,一般只需要几十KB的RAM和40 KB左右的ROM就可以运行,因此非常适合在硬件配置较低的嵌入式系统中使用。EDK为LwIP库提供了良好的接口,并为Xilinx公司TEMAC IP核提供了适配器,在EDK工程中方便地应用LwIP协议栈实现网络功能。LwIP具有如下特点:

①支持多网络接口下的IP转发;

②支持ICMP协议;

③包括实验性扩展的UDP(用户数据报协议);

④包括阻塞控制、RTT估算以及快速恢复和转发的TCP(传输控制协议);

⑤提供专门的内部回调接口(Raw API)用于提高应用程序性能;

⑥可选择的Berkeley接口API(多线程情况下);

⑦在最新的版本中支持PPP;

⑧新版本中增加了的IP fragment的支持;

⑨支持DHCP协议,动态分配IP地址。

在Xilinx的嵌入式开发工具EDK中,LwIP的版本为lwip130,即LwIP的v1.3.0版本。LwIP库提供了RAW模式和Socket模式两类API函数,前者面向高性能,后者面向通用性,提供一组标准的Socket API接口函数。

2.2 Xilkemel实时操作系统

Xilkernel是Xilinx公司提供的用于EDK系统的小型、模块化的嵌入式实时操作系统,支持MicroBlaze、PowerPC405以及PowerPC440处理器。Xilkernel是一种专用的嵌入式操作系统,内核完整,占用CPU资源较少,运行速度快,内核响应时间间隔最短可设置为1 ms,且与EDK生成的硬件系统紧密结合,具有可定制的特点,支持可移植操作系统接口(PO SIX),是中小型设计的理想操作系统。其内部结构如图2所示。

Xilkernel本身不带有文件处理系统和TCP/IP协议栈,但与LwIP库具有良好的接口,且支持LibXil MFS文件系统库,因此,也可形成较为复杂的嵌入式系统。其具有如下特点:

①内核配置功能都已集成到EDK工具中,使用简单、方便;

②内核启动时,静态创建线程,而动态分配内存;

③可加载或卸载不同的功能模块来实现内核的扩展性;

④提供了一套符合POSIX的API用户程序接口函数;

⑤所有系统调用函数带有参数合法性检查保护,并返回符合POSIX的错误代码。

3 TCP/IP通信协议实现及测试

3.1 Socket应用程序开发

LwIP Socket API是建立在XilKernel操作系统多线程任务基础上的,与BSD标准的Socket API非常相似,具有开发难度较小、便于用户调用的特点,可满足一般网络应用的要求。使用LwIP的Soeket模式,首先要在初始化线程中调用lwip_init()函数对LwIP协议栈进行初始化,再使用sys_thread_new()函数来产生一个新的线程,即进入主线程。在主线程中首先通过xemac_add()函数来添加网络接口,然后为xemacif_input_thread()函数单独开启一个线程,将从中断响应过程中接收到的数据包移植到LwIP的xemacif_input_thre ad()函数运行的线程中,该线程在LwIP数据包到达时发出通知,并通过接收中断句柄将数据存在缓冲中。以下为主线程中添加的网络接口程序代码:

通过上述步骤后,就可使用Socket编程建立网络服务器。

3. 2 网络数据传输性能测试

使用RJ45交叉以太网线将Xilinx XC5VFX70T开发板和PC机直连。PC机作为TCP/IP的客户端,Xilinx XC5VFX70T开发板作为TCP/IP的服务端,客户端经连接响应后,高速向服务器端连续发TCP包。服务端接收到数据后计算接收到的数据总量,不做其他处理。使用iperf网络测试软件测试系统网络直接发送数据的性能。

Socket模式下网络发送速率为27.2 Mb/s,其iperf服务器端显示结果如图3所示。

为了检测本文开发的应用程序中数据发送的速率及其准确度,在计算机端使用LabView软件开发网络服务客户端接收本系统的数据,并将数据记录为DAT文件,使用多特Net PerSec网络测试软件测试网络的当前速率和平均速率。在写数据速率为24.1 Mb/s时,NetPerSec显示网络接收平均速率为24.8 Mb/s;记录的DAT文件显示图形中无跳变点,数据无丢失,NetPerSec截图及DAT文件显示图形如图4所示。

写数据速率为24.3 Mb/s时,NetPersec显示网络接收平均速率为25.4 Mb/s;记录的DAT数据显示图形中间出现跳变点,说明有数据包丢失,NetPersec截图及DAT数据显示图形如图5所示。

测试结果表明,使用LwIP协议栈Socket模式进行网络数据传输,可实现网速为24.8 Mb/s、接收侦察信号带宽为750 kHz的稳定数据传输。

结语

本文研究了TCP/IP通信协议在Xilinx公司FPGA上的实现,介绍了其软硬件的系统组成及原理。其功能可根据需要进行定制,不但引入了软核处理器和嵌入式操作系统ilker nel,而且应用了LwIP TCP/IP协议栈,同时使用了大量的IP核,系统构建非常灵活。其软硬件部分的设计采用分离的设计架构,使得整个系统修改和重构更加方便,真正实现了嵌入式片上系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备
关闭
关闭