- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实验10:以太网传输程序编写实验
一、实验目的
1.通过实验了解以太网通讯原理和驱动程序开发方法。
2.通过实验了解TCP和UDP协议的功能和作用。
3.通过实验了解基于TCP/UDP的socket编程。
二、实验内容
1.学习KSZ8001L网卡驱动程序。
2.测试网卡功能,编写基于TFP/UDP协议网络聊天程序,并且能够接受键盘输入和彼 此之间相互发数据。
三、实验设备
1.硬件:PC机,基于ARM9系统教学实验系统实验箱1台;网线;串口线,电压表。
2.软件:PC机操作系统;Putty;服务器Linux操作系统;arm-v5t_le-gcc交叉编译环境。
3.环境:ubuntu12.04.4;文件系统版本为filesys_test;烧写的内核版本为uImage_mceb。源码及参考文档见附件I2C驱动实验文件夹。
四、预备知识
1.C语言的基础知识。
2.软件调试的基础知识和方法。
3.Linux基本操作。
4.Linux应用程序的编写。
五、实验说明
1.1以太网的工作原理
以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。
以太网的工作过程如下:
当以太网中的一台主机要传输数据时,它将按如下步骤进行:?
1、帧听信道上收否有信号在传输。如果有的话,表明信道处于忙状态,就继续帧听,直到信道空闲为止。
2、若没有帧听到任何信号,就传输数据。
3、传输的时候继续帧听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到帧听信道状态。
注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)?
4、若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)。
1.2以太网帧传输原理
使用KSZ8001L网卡做为以太网的物理层接口。它的基本工作原理是:在收到主机发送的数据后(如图1帧格式所示,从目的地址域到数据域),先侦听并判断网络线路。若网络线路繁忙,等到网络线路空闲为止,否则,立即发送数据帧。在其过程中,先填加以太网帧头(如图1帧格式所示,包括前导码和帧开始标志),接着生成CRC校验码,最后将以数据帧形式将其发送到以太网上去。
图1802.3帧格式
以太网的数据帧规定,以太网包头为14byte,IP包头为20byte,TCP包头为20byte,有些以太网的最大帧长为1514字节。
在网卡接收数据过程中,将先把从以太网收到的数据帧通过解码、去帧头和地址检验等相关步骤后缓存在片内;再经过CRC校验后,通知网卡KSZ8001L接收已经到了数据帧;最后,用某种传输模式传送ARM的存储器中。大多数嵌入式系统内嵌一个以太网控制器,用来支持媒体独立接口(MII)和带缓冲的DMA接口(BDI)。可在半双工或全双工模式下提供10M/100Mbps的以太网接入。在半双工模式下,控制器支持CSMA/CD协议,在全双工模式下控制器能够支持IEEE802.3MAC的控制层协议。
以太网内部控制器内部结构图如下所示
图2MAC控制器的结构框图
由图可以看出模块的组成以及模块中各组成部分的连接方式。MAC控制器各组成部分的特征或功能有:
1.AHB_MASTER同时支持大端和小端模式,可以根据需要自行设定。一旦决定其模式,AHB_SLAVE也将按这种模式工作。
2.TXDMA主要有读取发送状态描述符或将发送状态写入描述符、将要发送的数据包从发送缓存区中传送到TXFIFO中、控制TXFIFO的读写状态等三个功能。
3.RXDMA也有三个作用,分别是:读取接收状态描述符或将接收状态写入描述符、将要发送的数据包从TXFIFO中传送到接收缓存区中、控制RXFIFO的读写状态。
4.TXMAC的作用是将数据包从TXFIFO中传送到网卡,RXMAC的作用是将数据包从网卡接收到RXFIFO中。不论是接收到的还是要发送出去的数据都包括前缀、校验、发送状态等。
1.2.1以太网发送和接收的流程
当TXMAC去发送一个数据包时,它首先会检测网卡的状态,挂起发送装置直到网卡空闲。然后,TXMAC给数据包加上前缀和校验信息,将数据包发送到网卡。如果在发送过程中TXMAC探测到冲突,就向网卡发送阻塞信号,然后检测冲突源是否是外来的,如果不是,在等待休止时间后,继续发送该数据包。发送的流程如图3所示。
图3MAC发送流程
当网络上有数据包到达,RXDMA会将数据包从RXMAC中拿出来,并传送到
您可能关注的文档
- 《可编程逻辑器件及应用》课程实验报告 凌智城 201806061211_实验三.pdf
- 《可编程逻辑器件及应用》课程实验报告 凌智城 201806061211_实验四.pdf
- 《可编程逻辑器件及应用》课程实验报告 凌智城 201806061211_实验一.pdf
- AVL数据结构课程设计.pdf
- 定量定性:代际关系、养老保险与中国城镇养老新图景.pdf
- 定量论文:温州民营企业主慈善捐赠行为研究.pdf
- 计算机网络课程设计报告.pdf
- 可编程逻辑器件及应用.pdf
- 面向对象程序设计Description of competition exercise.pdf
- 面向对象程序设计bigNumber.pdf
最近下载
- 同等学力考试心理测量重点统计.doc
- 医学科研诚信与医学研究伦理考核试卷及答案.doc
- AQ 1044-2007 矿井密闭防灭火技术规范.pdf VIP
- 2023湖北孝感中考英语试卷.docx
- “双减”背景下的小学数学作业分层设计.docx VIP
- 2021年国赛word论文模版(1).docx VIP
- 雅马哈船外机F90C 中文维修书.pdf VIP
- 第15课 十月革命的胜利与苏联的社会主义实践教案—2020-2021学年高中历史人教统编版必修下册.docx
- 通用版2024党的六大纪律“组织纪律”全文.ppt VIP
- 广东省深圳市2022-2023学年七年级下学期学科素养调研测语文试卷(含答案).docx
文档评论(0)