版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TCP/IP通信技术在 Xilinx FPGA上的实现鲍兴川(国网自动化研究院/南京南瑞集团公司,江苏 南京 210003摘 要:研究了 TCP/IP通信协议栈在Xilinx公司现场可编程门阵列FPGA上的 实现,介绍了其软硬件的系统组成和原理,提出一种不需操作系统的TCP/IP协议栈的 高效工作模式,并在Spartan 3 FPGA上移植成功,通过建立测试平台进行测试 证明其 工作方式具有更高的通信性能,为水利水电自动化系统设备开发提供新的思路。关 键词:TCP/IP;通信技术;FPGA;Spartan 3E;IPCore;MicroBlaze中图分类号:TN92文献标识码:A文章编号:16
2、72-3279(200702-0020-03第2期2007年6月水利水文自动化Automati on in Water Resources and HydrologyNO.2 Jun. ,20070 前言由于IEC 61850已成为电力自动化系统及变电站通信网络唯一的国际标准,其成为国家标准已是大势所趋,水利水电行业的自动化及通信网络系统标准必将参照 或照搬其标准。IEC 61850推荐在变电站层与间隔层、间隔层与过程层之间均采用 以太网通信技术,以保证高速可靠的数据传输。这样以太网和其支撑软件TCP/IP通信协议栈被大量应用在水利水电自动化和通信系统产品中也将成为必然,目前国内主要的水利电力
3、产品开发厂家已或将开始着手研发符合IEC 61850的带双以太网接口的新型水利电力自动化产品。目前美国Xilinx公司的现场可编程门阵列 FPGA和32位CPU技术已在水利水电自动化产品中得到广泛应用,但各设备之间大量使用的仍然是 RS -485或CAN -bus通信总线搭建的通信网络,本文从实际出发,以已在Xilinx FPGA的MicroBlazeIPCore (俗称软32位CPU搭建的在片系统(System -on -Chip之上实现的TCP/IP通 信协议栈LWIP为例进行说明,详细介绍其软硬件的系统组成和原理,阐述了 FPGA 的片上系统配置,和其驱动层和协议栈层软件的结构,并给出部
4、分关键源码,使其能部 分符合IEC 61850标准,使水利水电行业很快涌现出更多的 TCP/IP通信协议栈符合 IEC 61850标准的自动化产品,并在实际水利水电工程中得到应用。1 FPGA硬件设计美国Xilinx公司首创的FPGA技术,可以实现可编程片上系统技术,可编程片上 系统设计是一个崭新的嵌入式系统设计技术和世界热门研究方向。现已搭建的系统是基于 Xilinx的Spartan 3 FPGA ,Spartan 是 Xilinx公司自1999年以来推出的第5代低成本FPGA解决方案。Xilinx低成本FPGA被广泛应 用于多种应用中,如汽车、数字电视(PDP、LCD投影仪和高清晰度电视(
5、HDTV ,以 及宽带技术。Spartan -3采用90 nm技术和12英寸(300 mm晶圆制造,为全球成本最 低FPGA器件确立了新标准。该系列产品的门容量范围从5 500万门,可提供最多784个用户I /O及丰富的功能。系统采用Xilinx公司的32位CPU作为中央处理器,它是支持CoreConnect总线 的标准外设集合。MicroBlaze处理器运行在150 MHz时钟下,可提供125 D -MIPS 的性能,非常适合设计针对通信网络、自动化、电信、数据通信和消费市场的复杂 嵌入式系统。已实现的系统由 M i c r o B l a z e、I L M B总线、DLMB总线、BRAM
6、MEMC、32kBRAM、SDRAM MEMC(控制器、10 /100Ethernet、MDM(调试模 块、GPIO接口、UART16550串口、OPB TIMER(时钟控制器,以及OPB总线等IPCore组成,设计的系统架构如图1所示。2 TCP/IP通信协议栈软件设计TCP/IP是一种网络通信协议,它规范了网络上所有通信设备,尤其是一个主机与 另一个主机之间的数据往来格式及传送方式。TCP/IP是In ternet的基础协议,也是一种计算机数据打包和寻址的标准方法。在In ternet中几乎可以无差错地传送数据。LWIP是瑞士计算机科学院的Adam Dun kels等开21第2期鲍兴川:T
7、CP/IP通信技术在 Xilinx FPGA上的实现图1系统构架图发的一套用于嵌入式系统的开放源代码 TCP/IP协议栈。LWIP既可以移植到 操作系统上,也可以在无操作系统的情况下独立运行。 LWIP TCP/IP实现的重点是 在保持TCP协议主要功能的基础上减少对 RAM的占用,一般它只需要几十kB的 RAM和50 kB左右的ROM就可以运行,使得LWIP协议栈适合在嵌入式系统中使 用。LWIP的特性如下:(1支持多网络接口下的IP转发;(2支持ICMP协议;(3包括实验性扩展的的UDP(用户数据报协议;(4包括阻塞控制,RTT估算,以及 快速恢复和转发的TCP(传输控制协议;(5提供专门
8、的内部回调接口 (Raw API用于提高应用程序性能;(6可选择的Berkeley接口 API(多线程情况下;(7在最新的版本中支持ppp ;(8新版本中增加了的IP fragment的支持;(9支持DHCP协议,动态分配IP地在Xilinx的Spartan 3 FPGA上实现的LWIP TCP/IP采用的是LWIP最新的版 本V1.1.1,提出和采用以下几种移植和运行方式:(1 TCP/IP协议的每一层是一个单独进程,链路层是一个进程,IP层是一个进 程,TCP层是一个进程。这样的优势是网络协议的每一层都非常清晰,代码的调试和 理解都非常容易;最大的缺点是数据跨层传递时会引起上下文切换。接收
9、一个TCP信息段要MicroBlazeIn terruptILMB DLMB DOPB IOPB ILMB 总线 DLMB 总线BRAM控制器32k BRAM BRAM控制器OPB总线SDRAM控制器10/100以太网控制器110/100以太网控制器2 MDM调试模 块GPIO接口 16550串口 OPB时钟 控制器引起3次上下文切换(从网卡驱动程序到链路层进程,从链路层进程到IP层进 程,从IP层进程到TCP进程。对于操作系统来说,任务切换是要浪费时间的。过频 的上下文切换使得系统运行比较沉重,这是不可取的。(2 TCP/IP协议栈在操作系统内核当中,应用程序通过操作系统的系统调用和协 议栈
10、来进行通讯,这样TCP/IP的协议栈就限定于特定的操作系统内核了。此法理论 上可以实现,但代码不具有通用性,不便于将来的维护和再移植,同样也是不太可取 的。*创造新的TCP PCB并且启动应用*/(3 TCP/IP协议栈都在一个进程当中,这样TCP/IP协议栈就和操作系统内核分 开了,而应用层程序既可以是单独的进程也可以驻留在TCP/IP进程中。如果应用程序是单独的进程,可以通过操作系统的邮箱、消息队列等和TCP/IP进程进行通讯。此种方式移植层次清晰,移植代码量适中,是比较好的思路,并且在此基础上移植调试 成功,证明此思路是切实可行的,但缺点是依赖于操作系统的任务通信机制,不能得到 很高的性
11、能。(4把应用层程序驻留TCP/IP进程中,则应用层程序就利用内部回调函数口 (Raw API和TCP/IP协议栈通讯。应用层程序既可以是独立的任务,也可以在 TCP/IP线程中利用内部回调函数口 (Raw API和TCP/IP协议栈通讯。此方式不依赖 实时操作系统,能在无操作系统的情况下运行。经过对 LWIP协议栈源码的彻底消 化,改写其接口代码,经多次调试移植成功,测试性能得到了很大提升。部分关键实现 代码如下:/ * 初始化 LWIP 协议栈 */sysnit( ;memn it( ;memp_i nit( ;pbuf_i nit( ;n etif_i nit( ;tcp_i nit(;
12、/ * 设置 LWIP 网络接口 */default_netif =mem_malloc(sizeof(struct n etif;if (defau lt_n etif = = NULL prin t( netif_add(: out of memory for defau lt_n etif r n;return 1;defau lt_n etif = n etif_add(defau lt_n etif,&ipaddr,&ne tmask,&gw,&XEmacLitelf_Co n?gTable0, xemacliteif_i nit,ip_in put ;n etif_set_defa
13、ult(defau lt_n etif;echonit(;/*应用初始化函数 */void echo_init(voidstructtcp_pcb *pcb;pcb = tcp_ new(;tcp_bin d(pcb, IP_ADDR_ANY , ECHO_PORT;pcb = tcp_liste n(pcb;tcp_accept(pcb, echo_accept;3 系统性能测试用BWMeter网络测试工具软件测试查询和中断两图2查询FIFO模式测得的性能图3中断FIFO模式测得的性能种FIFO模式下的网络速度如截屏图2、3所示。3.1测试说明硬件方面,平台为Xilinx Spartan 3
14、开发板,CPU为MicroBlaze ,主频100 MB ,内 存 64 MB ,配置了 100 Mbps 的 EMAC IP Core。软件方面,无操作系统,bootrom基于Xilinx standalone V1.0,使用LWIP的RAW API模式,驱动层分别进行了查询(Poll和中断(Interrupt两种FIFO模式的运行方 式。3.2测试方式使用RJ45交叉以太网线进行Xilinx Spartan 3开发板和PC直连。PC作为 TCP/IP的客户端,Xilinx Spartan 3开发板作为的TCP/IP服务端,客户端经连接响应 后,高速向服务器端连续发TCP包。服务端接受到数据
15、后计算接收到的数据总量,不 做其他处理。可以看出在中断FIFO模式优化后的性能已经在 Xilinx的100M EMAC IPCore 上达到了 63.6 Mbps的性能,在改写和优化部分代码后达到了更高的性能,并且还有潜力可挖。这个测试结果证明LWIP TCP/IP通信协议栈在第4种工作方式下具有 很高的通信速度和效率。4 结语FPGA和32位CPU技术在水利水电自动化产品中会得到越来越广泛地应用,操作系统自带的TCP/IP通信协议栈的应用已经比较普及,不带操作系统的高效 TCP/IP通信协议栈在FPGA上的实现为水利水电自动化系统工程及其设备逐步满 足IEC 61850国际标准提供了新的思路
16、和解决方案。参考文献1 http:/sava nn ah. /projects/lwip/.2 Xili nx Inc .Programmable Logic Data Book Z. Xili nx Inc, USA: 2003.3 Xilinx Inc. Micro Blaze Development Kit User s Manual Z. USA: 2002.4 董代洁,郭怀理,曹春雨.基于FPGA的可编程SoC设计M.北京:北京航空 航天大学出版社,2006,6.(下转第46页通信速率/ M b p sDL:1.0 Mbps ,UL:50.2 MbpsDL:1.
17、3 Mbps ,UL:63.6 Mbps时间/s时间/s通信速率/ M b p sImpleme ntatio n of TCP/IP Communi cati on Tech no logy from Xi nlinx FPGABAO Xi ng -chuan(Nanjing Automation Research Institute/ NARI Group Corporation, Nanjing 210003, Chi naAbstract: This article inv estigates the impleme ntatio n of TCP/IP com muni cati o
18、n protocol stack based on field programmable gate array. Hardware and software system compositi on and theory are described, and a ki nd of TCP/IP com muni cati on protocol stack high-ef?cie ncy operati on mode without support of an operati on system is proposed. By test ing platform, it has proved
19、its higher com muni cati on features, which provides a new idea for the developme nt of automatic system equipme nt for water resources and hydropower engin eeri ng.Key words: TCP/IP; commu ni catio n tech nology; FPGA; Sparta n3E ; IPCore; MicroBlaze(上接第22页Research on Assessme nt In dex System for
20、Water Saving SocietyCon structi on in Ni ngxia Hiu Aut onom ous Regi onLI Hong -mei, CHEN Bao -feng(China Agricultural University, Beijing 100083, ChinaAbstract: In order to effectively solve con tradict ion betwee n dema nds for developme nt of society & economy and water resources con stra int, ac
21、cord ing to requirements ofwater-saving society construction assessment index system (trial versi on, a water-sav ing“ society, economy, ecologydime nWiorBin dex system is set upwith consideration of Ningxia characteristics. In this article, a brief introduction to water- sav ing society con struct ion assessme nt in dex of the whole country is give n, a detailed an alysis is made to each in dex of three levels for the system, and suggestio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商品混凝土购买合同书
- 2025年全球及中国高温高压冷喷涂设备行业头部企业市场占有率及排名调研报告
- 2025-2030全球微藻虾青素行业调研及趋势分析报告
- 2025版投资经理借贷合同终止及清算协议范本3篇
- 2025版性格不合离婚协议样本:标准范文解读与应用2篇
- 水产养殖项目转让居间合同
- 北京市装修工程验收合同
- 陶瓷制品厂租赁居间合同
- 仓储用地转让协议
- 跨境电商居间介绍合同范本
- 完整版100以内加减法混合运算4000道100
- 2024年产权管理部年终工作总结例文(3篇)
- 《血管性血友病》课件
- 高三日语一轮复习日语助词「に」和「を」的全部用法课件
- 机场地勤劳动合同三篇
- 2024年山东省高考政治试卷真题(含答案逐题解析)
- 《用锐角三角函数解决问题(3)》参考课件
- 订婚协议书手写模板攻略
- 风水学的基础知识培训
- 施工组织设计方案针对性、完整性
- 2002版干部履历表(贵州省)
评论
0/150
提交评论