- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于FPGA实现网卡通信的方案比较报告
目录
关于FPGA实现网卡通信的方案比较报告 Ⅰ
一、以太网卡的组成和原理 1
二、目前以太网卡实现方案的介绍及优缺点分析 2
方案一:用单片机实现以太网卡通信 2
方案二:在 μC/OS-II操作系统下以DM9000A和LPC2214为核心的嵌入式以太网接口实现 7
方案三:在μC/OS-II 操作系统下基于S3C44B0X的嵌入式以太网借口的实现 14
方案四:在μClinux系统下以S3C44B0X为核心的嵌入式以太网接口设计 16
方案五:基于NIOSⅡ的嵌入式以太网接口的设计 19
方案六:基于FPGA的以太网卡的实现 24
三、初步方向 29
关于FPGA实现网卡通信的方案比较报告
一、以太网卡的组成和原理
1.以太网卡的组成
网卡工作在物理层和数据链路层间 ,主要完成网络与主机之间的数据传输,其主要组成有数据链路层芯片MAC控制器和物理层芯片PHY两部分。其中,MAC是网卡最主要部分,完成数据封装和媒质接入管理2大功能,其与PHY的数据传输和控制沟通是通过标准接口GMII/MII来实现的。通常,网卡用一块EEPROM来记录网卡芯片供应商和子系统供应商的身份标识、网卡的MAC地址及其一些配置等。此外,很多网卡还集有用于无盘操作的BOOTROM插槽和TANSFORMER隔离变压器。
2.以太网卡的工作原理
网卡是计算机与网络缆线间的物理接口,它不仅具有将计算机中的数字信号转换成电(或光)信号的作用,还有串并转换的作用。网卡在发送数据时,首先对通信介质上的载波进行监听。如果发现载波,则认为其他站点正在传送信息,会继续监听。如果通信介质在一段时间之内(即帧间隙时间IFG=9.6s)没有被其他站点占用,则此时网卡开始发送数据。网卡在发送数据的同时会继续对通信介质进行监听,以防止与其他站点发生冲突。网卡在发送数据的过程中,如果检测到冲突信号会立即停止本次的数据发送,同时向介质发送一个“阻塞”信号,以便告诉其他站点已经发生冲突,从而丢弃那些可能还在接收的、但已受损的帧数据,并在等待一段随机时间后,对刚才发送出错的帧数据进行重传。当重传的次数超过l6次仍有冲突发生时,网卡就会自动放弃发送该帧数据。接收数据时,网卡先对介质上传输的每个帧进行长度检测,当帧长小于64 Byte时,网卡会把该帧当作冲突碎片丢弃。如果不是冲突碎片,并且目的地址是本地地址,则网卡对该帧进行完整性校验。最后只有通过校验的帧才被认为是有效的,网卡将它接收下来进行本地处理 。
二、目前以太网卡实现方案的介绍及优缺点分析
方案一:用单片机实现以太网卡通信
早期用单片机作为主处理器控制以太网卡芯片来实现和以太网的数据交换。由于单片机内存资源小,处理速度慢,还需要对单片机外扩RAM。由于以太网的数据包最大可以有1500多字节,单片机是无法存储这么大的包的,只有放到外部的RAM里,用于提高单片机的数据传输速度和处理复杂的TCP/IP协议。单片机主要是AT89C5,网卡芯片一般是RTL8019AS。
1.系统硬件结构设计
系统的硬件电路结构如图1所示。主要包括 MCU、串口通信,EEPROM和网卡芯片等单元。
2.系统软件实现
系统软件的设计包括以太网卡控制器的驱动程序设计和上层协议软件设计。驱动程序设计有网卡芯片初始化和收发数据包程序。上层软件主要是实现TCP/IP协议,由于单片机自身资源有限,它的存储容量、处理速度和总线宽度等都不能像PC机那样采用标准的TCP/IP协议,但可以根据系统的特点和功能,将精简的TCP/IP协议嵌入到单片机中。
2.1网卡初始化和收发数据包程序设计
首先对RTL8019AS进行复位。当系统复位完成后,要对网卡的工作参数进行设置,即对网卡初始化,网卡的工作参数可通过对RTLS019AS内部寄存器设置。RTL8019AS内部寄存器有4页,与NE2000兼容的有3页,第4页不用。页选择由CR寄存器的PSI,PSO位确定。在O页寄存器中可以设置接收、发送状态配置以及发送缓存区的起始页与接收缓存区起、止页地址等寄存器;在I页寄存器中可以设置以太网接口的MAC地址和多播地址。
RTL8019AS内部有两块RAM区。一块l6 kB,地址为0x4000~0x7ff;RAM按页存储,每256字节为一页。将RAM的前l2页(即0x4000—0x4bff)存储区作为发送缓冲区;后52页(即0x4e00~0x7ff)存储区作为接收缓冲区,用来存放接收的以太网帧。另一块 RAM只有32字节,地址为0xO000—0x001f,用于存储以太网物理地址。
接收和发送数据包都必须通过DMA读写网卡内部的16 kB RAM,该RAM是一个双端口RAM。所谓双端口,就是有两套总线连接到该RAM上:一套总线是单片机读写网卡上的RAM,即远程DMA;另一套
文档评论(0)