导航:首页 > 源码编译 > 以太网协议栈源码

以太网协议栈源码

发布时间:2023-05-16 04:57:07

A. 谁能提供一份fpga控制以太网ip核进行tcp/ip协议通信的verilog软件代码感激不尽~

FPGA不能直接进行TCP/IP通信的,需要外接带TCP/IP协迹备议栈的如尺MAC+PHY,这样FPGA上的代码比较简单。推荐使用W5300这个芯片,我有姿橡毁FPGA控制的verilog源代码,具体联系[email protected]

B. 什么叫协议栈!拿什么写呀!

协议栈是指网络中各层绝备协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议并备毁到底层协议,再由底层协议到上层协议。使用最广泛的是英特网协议栈,由上到下的协议分别是:应用层(http,telnet,dns,email等),运输滚兆层(tcp,udp),网络层(ip),链路层(wi-fi,以太网,令牌环,fddi等),物理层。

C. 51单片机接入以太网的几种方案

1、MAC+PHY方案

所谓的TCP/IP协议栈是一系列网络协议的统称,不仅包括我们熟知的TCP协议和IP协议。

还有网络层的ICMP(Internet控制报文)协议、IGMP(Internet组管理)协议、ARP(地址解析)协议,传输层的UDP(用户数据包)协议,应用层的HTTP(超文本传输)协议、DNS(域名解析)协议、FTP(文件传送)协议、SMTP(简单邮件管理)协议等等。

传统的以太网接入方案由MCU+MAC+PHY再加入网络接口实现以太网的物理连接,通过在主控芯片中植入TCP/IP协议代码实现通信及上层应用。

应用这种软件TCP/IP协议栈方式实现的比较成熟方案有ENC28J60,CS8900A,DM9000,当然也有像STM32F107这类(内部自带MAC)+PHY等方案。

2、硬件协议栈芯片方案

由MCU+硬件协议栈芯片(内含MAC和PHY)直接加网络接口,便可方便的实现单片机联网,所有的处理TCP/IP协议的工作都是通过这位MCU的“小秘书”——硬件协议栈芯片来完成。

以太网芯片的内核由传输层的TCP、UDP、ICMP、IGMP等协议、网络层的IP、ARP、PPPoE等协议以及链路层的MAC构成,再加上物理层的PHY和外围的寄存器、内存、SPI接口组成了这一整套硬件化的以太网解决方案。

这套硬件TCP/IP协议栈代替了以往的MCU来处理这些中断请求,即MCU只需要处理面向用户的应用层数据即可,传输层、网络层、链路层及物理层全部由外围WIZnet的芯片完成。

这套方案从硬件开销和软件开发两个方面来简化前面所述的五层网络模型,简化产品开发方案。这样一来,工程师们就不必再面对繁琐的通信协议代码,只需要了解简单的寄存器功能以及Socket编程便能完成产品开发工作的的网络功能开发部分。

(3)以太网协议栈源码扩展阅读

以太网协议:

一个标准的以太网物理传输帧由七部分组成。

PR SD DA SA TYPE DATA FCS

同步位 分隔位 目的地址 源地址 类型字段 数据段 帧校验序列 7 1 6 6 2 46~1500 4

除了数据段的长度不定外,其他部分的长度固定不变。数据段为46~1500字节。以太网规定整个传输包的最大长度不能超过1514字节(14字节为DA、SA、TYPE),最小不能小于60字节。

除去DA、SA、TYPE14字节,还必须传输46字节的数据,当数据段的数据不足46字节时需填充,填充字符的个数不包括在长度字段里;超过1500字节时,需拆成多个帧传送。

事实上,发送数据时,PR、SD、FCS及填充字段这几个数据段由以太网控制器自动产生;而接收数据时,PR、SD被跳过,控制器一旦检测到有效的前序字段(即PR、SD),就认为接收数据开始。

D. 如何学习zynq以太网控制器及协议栈

第 9 章 ZedBoard 入门
前面大家已经对 ZYNQ 架构以及相应的开发工具有一定的认识,接下来我们将带领大家来一起 体验 ZYNQ,体验软硬件协同设计的魅力。由于时间的关系,下面的一些实验(本章及后续章节的实验) 可能有不完善的地方,欢迎读者向我们反馈。 9.1 跑马灯 本实验将指导大家使用 Vivado 集成设计环境创建本书的第一个 Zynq 设计。这里,我们使用跑马灯 这个入门实验来向大家介绍 Vivado IDE 的 IP Integrator 环境,并在 Zedboard 上实现这个简单的 Zynq 嵌 入式系统。之后,我们将会使用 SDK 创建一个简单的软件应用程序,并下载到 Zynq 的 ARM 处理器中, 对在 PL 端实现的硬件进行控制。本实验分为三个小节来向大家进行介绍: ? 第一节我们将使用 Vivado IDE 创建一个工程。 ? 在第一节的基础上,第二节我们将继续构建一个 Zynq 嵌入式处理系统,并将完成后的硬件导入 到 SDK 中进行软件设计。 ? 最后一节我们将使用 SDK 编写 ARM 测试应用程序, 并下载到 ZedBoard 上进行调试。 实验环境:Windows 7 x64 操作系统, Vivado2013.4,SDK 2013.4

9.1.1 Vivado 工程创建
1) 双击桌面 Vivado 快捷方式 ,或者浏览 Start > All Programes > Xilinx Design Tools > Vivado

2013.4 > Vivado 2013.4 来启动 Vivado. 2) 当 Vivado 启动后,可以看到图 9-1 的 Getting Started 页面。

图 9- 1 Vivado 开始界面

3) 选择 Create New Project 选项,图 9-2 所示的 New Project 向导将会打开,点击 Next。

图 9- 2 New Project 对话框 4) 在 Project Name 对话框中,输入 first_zynq_design 作为 Project name, 选择 C:/XUP/Zed 作为 Project location,确保 Create project subdirectory 被勾选上,如图 9-3,点击 Next。

图 9- 3 Project Name 对话框 5) 在 Project Type 对话框中,选择 RTL Project,确保 Do not specify sources at this time 选项没有 被勾选,如图 9-4,点击 Next。

图 9- 4 Project Type 对话框 6) 在 Add Source 对话框中, 选择 Verilog 作为目标语言,如果你对 VHDL 熟悉的话, 你也可以 选择 VHDL,如果这里你忘记了选择,在工程创建完成后,也可以在工程设置中选择你熟悉的 HDL 语言。如果你已经有了源文件,在这里就可以选择 Add file 或者 Add directory 进行添加, 由于我们没有任何的源文件, 所以这里我们直接点击 Next 即可,如图 9-5。

图 9- 5 添加源文件 7) 在 Add Existing IP 对话框中,点击 Next。 8) 在 Add Constraints 对话框中,点击 Next。 9) 在 Default Part 对话框中,在 Specify 框中选择 Boards 选项,在下面的 Board 列表中选择 ZedBoard Zynq Evaluation and Development Kit,点击 Next,如图 9-6。

图 9- 6 芯片选择 10) 在 New Project Summary 对话框中,点解 Finish 完成工程创建,至此,我们已经使用 Vivado 创建了一个 Zynq 设计的工程框架,图 9-7 为 Vivado 的工程界面,在第四章我们已经对该界面 进行过介绍,如果还不熟悉的读者再回到前面复习一下。下面我将使用 Flow Navigator 的 IP Integrator 功能完成第二节的嵌入式系统设计。

图 9- 7 Vivado 工程界面

9.1.2 在 Vivado 中创建 Zynq 嵌入式系统 这一节我们将创建一个简单的 Zynq 嵌入式系统,该系统使用 Zynq PL 部分实现一个通用 I/O 控制 器 (GPIO),控制器同 ZedBoard 上的 8 个 LED 相连接,并且通过 AXI 总线连接到 PS 端,这样我们就可 以通过将要在第三小节中实现的 ARM 应用程序来对 LED 进行控制。系统结构图如图 9-8 所示。

E. fpga以太网口通信程序有哪些

您好,FPGA以太网口通信程序包括:1.以太网协议栈:它是一种用于在网络上传输数据的协议,用于实现网络设备之间的通信;2.以太网硬件:它是一种用于在网络上传败敬态输数据的硬件,用于实现网络设备之间的物理连接;3.以太网控制器:它是一种用于控制网络设备之间的通信的控制器,用于实现网络设备之间的通信;4.以太网稿芹路由器:它是一种用于在网络上传输数据的路由器,用于实现网络设备之间的路由;5.以太网交换机:它察源是一种用于在网络上传输数据的交换机,用于实现网络设备之间的交换;6.以太网网关:它是一种用于在网络上传输数据的网关,用于实现网络设备之间的网关;7.以太网网络接口卡:它是一种用于在网络上传输数据的网络接口卡,用于实现网络设备之间的网络接口。

阅读全文

与以太网协议栈源码相关的资料

热点内容
软通动力程序员节2021 浏览:845
安卓系统如何卸载安装包 浏览:868
短信删除助手文件夹 浏览:688
java办公自动化 浏览:340
php中超链接 浏览:253
linux默认路由设置 浏览:36
linux如何挂载iso 浏览:432
vs程序换文件夹后不能编译 浏览:557
安卓源码编译输入脚本没反应 浏览:47
phpmysql自增 浏览:167
把ppt保存为pdf 浏览:533
汽车密封件加密配件 浏览:887
黑马程序员15天基础班 浏览:560
java调整格式 浏览:521
香港云服务器租用价 浏览:78
linuxsublime3 浏览:560
imac混合硬盘命令 浏览:278
沈阳用什么app租房车 浏览:857
00后高中生都用什么app 浏览:239
戴尔塔式服务器怎么打开独立显卡 浏览:808