以太网实验分析和总结.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
以太网实验 实验目的 熟悉以太网的应用 熟悉 Stellaris?以太网控制器的功能和特点(3)熟悉 TCP/IP 协议栈的层次与内容 (4)熟悉 HTTP 应用程序 实验内容 Stellaris?以太网控制器的初始化(2)以太网控制器状态 LED 灯的配置(3)uIP TCP/IP 协议栈的初始化(4)HTTP 应用程序的初始化 (5)演示 web server 实验,使用 uIP 协议栈来实现以太网的访问与控制 以太网控制器与TCP/IP 协议 以太网控制器 ARM Cortex-M3 介质访问控制器MAC (第二层) 物理层 PHY (第一层)  磁性元件  RJ45 图 1 以太网控制器 LM3S8962 微控制器内部集成的以太网控制器由完全集成的介质访问控制器(MAC)和网络物理层(PHY)接口组成。若按功能划分以太网控制器的连接如图 1 所示。以太网数据由以太网帧来传送,数据链路层的MAC 子层提供了以太网帧的发送和接收处理。以太网帧的格式如图 2 所示。 前导码 S F 目标地址 D  源地址  长度/ 类型  数据 FCS 7字节 1字节 6字节 6字节 图 2 以太网帧 2字节 46~1500字节 4字节 以太网发送器必须通过置位 MACTCTL 中的 TXEN 位来使能。对于发送器的配置:可以通过DUPLEN 位来配置全双工/半双工操作模式;为了使以太网控制器在发送帧结束时自动产生和插入FCS,可通过置位CRC 位来实现;IEEE802.3规范规定以太网帧的最小净负荷区为 46 字节,如果装入 FIFO 净负荷区的数少于这个数,则通过置位 PADEN位将以太网控制器配置成自动填充数据区。 以太网接收须通过置位 MACRCTL 中的 RXEN 位来使能。在软件启动时以太网控制器 Rx FIFO 必须清零。接收器会自动 FCS 字段中带无效 CRC 值的帧, 要接收所有的帧,就必须清零 BADCRC 位。正常工作模式下,接收器只接收带目标地址的帧,而且该目标地址要与 MACIA0 和 MACIA1 中的地址一致。以太网接收器也可以用 PRMS 和 AMUL 域配置成混杂模式和多播模式。 以太网的 web server 需要有 TCP/IP 协议栈的支持,下面我们以微型以太网协议栈 uIP 为例,通过移植 uIP-1.0 协议栈,演示评估板与 PC 机之间的通信,实 现一个简单的 web server。 应用层(Telnet、FTP、HTTP、DNS、SNMP和SMTP等) 传输层(TCP和UDP) 网络层(IP、ICMP和IGMP) 链路层(以太网、令牌环网、FDDI、IEEE802.3等) 图 3 TCP/IP 协议层次结构图 TCP/IP 协议的体系结构分为四层,每一层都有不同的通信功能,具体各层的功能和各层所包含的协议说明如图 3 所示。uIP 协议栈为了具有最大的通用性, 在实现时将底层硬件驱动和顶层应用层之外的所有协议集“打包“在一个“库“里。协议栈通过接口与底层硬件和顶层应用“通信”。uIP 协议栈与系统底层和应用程序之间的接口关系如图 4 所示。uIP 通过函数 uip_input()和全局变量 uip_buf、uip_len 来实现与设备驱动的接口。TCP/IP 协议要处理许多定时事件,当系统周期定时时间到,每一个 TCP 连接应该调用 uip_periodic()函数。uIP 在接收到底层传来的数据包后,若需要送上层应用程序处理,它就调用 uip_appcall()。 应用程序 uip_appcall() uIP协议栈 uip_input() 系统底层 uip_periodic() 网络设备驱动 系统定时器 硬件连接图 图 4 uIP 协议栈接口图 图 5 以太网部分硬件连接图 软件流程图 本实验通过对 LM3S8962 内部的以太网控制器编程,在片内建立一个 web 服务器,将其 IP 和 PC 机的 IP 设置在同一个网关上,即可使用 PC 机上的 IE 浏览器直接访问。PC 机通过预设的 IP 来访问它,每刷新一次网页会使网页上的计数值加 1。主函数的软件流程图如图 6 所示。 开始 初始化 N N 收到ARP包? Y 调用uip_arp_arpin()函数 查询接收到新数据? Y 收到IP数据包? Y 调用uip_arp_ipin()函数调用uip_input()函数 N N 定时0.5s? Y N iUIP_CONNS? Y 调用uip_periodic()函数 N 需要回送ARP应答包? Y 等待以太网控制器发送包 N 有数据需要回送? Y 调用uip_arp_out()函数 等待以太网控制器发送包 N 该连接有数据需要发送? Y 调用uip

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档