基于fpga的udp发送工具实现

基于fpga的udp发送工具实现

ID:33607749

大小:85.42 KB

页数:4页

时间:2019-02-27

基于fpga的udp发送工具实现_第1页
基于fpga的udp发送工具实现_第2页
基于fpga的udp发送工具实现_第3页
基于fpga的udp发送工具实现_第4页
资源描述:

《基于fpga的udp发送工具实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于FPGA的UDP发送工具实现朱国魂桂林电子工业学院541004摘要本文介绍了基于FPGA的UDP发送工具的设计,详细讨论了用RTL8019进行帧传输设计的方法并给出了相应测试数据。关麓词FPGAUDPNIC1.引言:随着TCP/IP技术的发展,已经出现采用单片机实现简易IP协议的技术,由于单片机运算速度低下,无法处理和发送高速IP数据流。针对这一问题,本文采用FPGA进行高速UDP协议发送工具,可以方便进行网络测试。2.硬件结构:本系统的硬件主要由电源电路、时钟电路、FLEXl0K10和IS

2、A网卡RTL8019构成。其主要电路如图1所示:图1部分电路原理图其中时钟电路除了提供给FPGA进行时序控制外,还用于同步网卡与FPGA进行数据处理,由于RTL8019AS网卡可以达到10M,因此,时钟电路选取20MHz。网卡的8位数据总线DATA0一DATA7,复位线RESET,中断线IRQ9,地址线AO—A9,读写就绪信号IOCHERY,读信号IOR及写信号IOW接到FPGA的I/O引脚,接地址线GND,电源线VCC,SYSCLK是系统时钟信号,使系统与外部设备保持同步接收。Ao一一A19为

3、网卡的地址线,共20根,我们用到网卡的地址为十六进制的0300H一一一031FH,转换为二进制如表1。表1地址线A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1AO300HO0O0O0O10O0O0O0O0O0O1OX3lFHO0O0Ol】0l1j可以看到从地址300H到31FH,地址线的A19一一一A5是固定的000000000011000,为了节约FPGA的资源,因此地址高位A8一一9全部接高电平,A5一一A7接低电平,只有A0一一A4受FPG

4、A控制。3.设计原理3.1ISA8019寄存器操作网络接口控制器(NIC—NetworkInterfaceControlier)是基于网卡编程的主要控制对象。对网卡的控制就是对寄存器的控制,NIC内部寄存器都是8位的寄存器,这些寄存器映射成4页,每一个页的选择由命令寄存器(CR)中的PS0和PSI位来完成。页0和页2主要提供常用的NIC操作命令,页1主要用在初始化过程中的。以下介绍与发送有关的部分寄存器。(1)初始化命令寄存器CR。当选择不同的页,不同的读写操作,必须先对它进行状态设置,例如置为

5、21H,表示NIC离线,不能进行DMA操作。(2)RBCR:用来指明本次远程DMA操作时传输数据的字节数。(3)TPSR:该寄存器用来指定待发送帧的起始地址。该地址只用一个8位的寄存器表示,其值仅反映缓存地址空间的高8位。低8位DAM地址初始化为0。(4)ISR:中断状态寄存器,用到的状态位是RDC位,若为“1”表明数据帧正确接收。3.2帧传输在网络中,帧传输的过程是,FPGA将该发送的数据包按帧格式要求封装成帧,然后通过网卡将帧发送到网络的传输线上,接收方根据接受到的帧的目的地址来确定是否将该

6、帧提交给上层应用程序。因此帧发送的过程应包括以下几个步骤:(1)分包;(2)装帧;(3)将帧送入NIC发送缓冲区;(4)初始化发送控制寄存器;(5)启动NIC将该帧发送到网络传输线上。一127要将帧传送到NIC的发送缓冲中,需要使用远程DMA的操作。启动远程DMA写操作是通过命令寄存器CR来实现的。CR的值按如下设置:CR=12H;对NIC发出此命令后,远程DMA将从I/O数据端口(310H)读取一个字的数据,然后写入缓冲,直到RBCR值为0才结束远程DMA写操作。操作完成后,中断状态寄存器IS

7、R的RDC将置1,表示接受完成。其操作流程如图2所示。图2远程DMA写操作流程其中关键设置有:TPSR为发送页的起始页地址。初始化为指向第一个发送缓冲区的页,TPSR=40H。TBCR有两个寄存器:TBCR0和TBCRl。TBCR0用来存放待发送帧长度的低8位,而TBCRl用来存放待发送帧长度的高8位。结束条件为:中断寄存器ISR的PTX位清0,表示帧已成功发送完毕。4.测试与结论测试采用Pc接收数据,其源地址设置为:202.193.71.41,源端口为:47098(16进制:Bc.FA),数据

8、长度为13。用抓包软件NetSpv,可以得到如下数据0000:0050CO005F2300E86E9B90080045000010:00213C0240003F11EB48CAC14729CAC10020:4720B7FA1356000D0074656D7072700030:7475726568000000:0050CO005F2300E86E9B90080045000010:002lA30040003F1l008ACAC14729CAC10020:4720B7FA1356000D0074656

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。