以太网操纵器中关于数据发送模块的设计.ppt

以太网操纵器中关于数据发送模块的设计.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
以太网操纵器中关于数据发送模块的设计

以太网控制器中关于数据发送模块的设计 2012.11.18 关于以太网的简单介绍 一般来说以太网协议是指IEEE 802.3 规范制定的局域网协议LAN(LOGICAL AREA NETWORK)中的CSMA/CD协议,当前的以太网传输媒介主要有双绞线和光纤.目前以太网可以实现4种传输速率: 10M bit/s : 10Base-T 以太网 100M bit/s : 快速以太网 1000M bit/s: 千兆位以太网 10千兆位以太网  以太网的工作原理:   以太网是一种基于带冲突检测的载波侦听多路访问协议(CSMA/CD)的局域(LAN),介质访问控制(MAC)子层负责执行CSMA/CD协议。以太网上所有节点都共享同一个介质以太局域网上没有中心控制设备,节点自己相互协作来保证网络操作有序。以太网MAC在发送之前必须通过载波侦听来确认载波是否空闲。只有当一个节点发送数据时载波才会存。PHY(物理层)检测到载波之后向MAC发送载波指示,载波指示表示介质正在被使用,侦听节点应该推迟当前的发送。   MAC等待最后一个正在发送的帧发送之后要等待很短的一段时间之后才能开始发送,这段时间叫做帧间隔(IPG为96比特时间)。第一帧发送完之后,‘局域网上的所有节点都必须要等待一个IPG之后才能发送。    网络上的所有节点都必须要遵守这个规则,即使某个节点有多个帧要发送而且它还是网络上唯一有帧要发送的节点,它也必须保证每个发送帧之间的间隔至少为一个IPG时间。这就是以太网介质访问规则的CSMA部分;   在发送数据的过程中,工作站边发送边检测总线,看是否发生了冲突。若无冲突则继续发送直到发送完该数据;若发生冲突,则停止发送,之后要发送32比特的JAM信号,这样网络上所有站点都知道发生了冲突.然后,等待一个随机时间,且在总线空闲时从新发送该数据,这就是以太网介质访问规则的CD部分,简单的说:边发送边检测是否有冲突发生   发送模块的设计 CSMA/CD可知MAC发送数据的工作过程如: 主机要发送数据时,通过启动总线接口将主机存储器中的数据向发送缓存中传输。发送缓存接收到的数据达到设定值时,发送模块则进行帧间隔计时。帧间隔定时时间到时,如果此时网络介质空闲,则开始发送帧的前导码。前导码发送完毕后,发送帧起始定界符。帧起始定界符发送完毕后,开始进行帧长计数,和CRC校验。同时将数据按半位元组发送MII接口,从而最终由物理层将数据发送到网络介质上。 在发送过程中,如果该帧的帧长小于最小帧长,则进行数据填充,使帧长达到最小帧长。在发送过程中,如果发生冲突,发送模块将停止数据的发送,并发送一串阻塞信号来加强冲突。当阻塞信号发送完毕后,根据二进制指数退避算法进行延时,当延迟时间一到,发送模块重新启动该帧的发送过程。发送完毕后,保存发送状态信息,并通过中断通知主机已发送了一帧数据。    在全双工时,不用检测网络介质是否空闲,发送缓存中的数据达到设定值就开始发送,发送期间也不会发生冲突。 整个发送过程的流程如下: 根据MAC原理发送过程的框图如下: 发送模块由下列四个子模块组成:   CRC模块:产生32bit CRC校验码写在数据域后。 Random模块 :当碰到冲突(Collision),后退程序 在执行的时候需要产生随机的延时,用于SCMA/CD算法。 Counters模块:在数据帧发送的时候需用用到的几个计数器模块(包括帧间隔计数器,帧长计数器,冲突计数器,延迟计数器)。 CRC模块 工作的原理:对输入的4位数据,采用冗余的CRC算法,利用上一次计算后的CRC的值计算本次CRC的值。 CRC模块:对要发送的数据计算其CRC的值,由数据产生32位的CRC,在数据发送完成以后传输,将该CRC的值附加在发送数据的末尾,目的是为了便于在接收机对要发送数据进行CRC检查。 RANDOM模块: 在数据发送过程中会出现2个工作站同时发送数据的状态,在这种情况下就会产生冲突,如果工作站在冲突后立即重传,则它第二次传输也将产生冲突。因此工作站在重传前必须随机地等待一段时间。   为了选择何时去进行重传,工作站实现了一个算法,此算法提供了几个使工作站可以进行重传的时间,该算法被称为“退避算法”。工作站随机地选择一个他可以使用的时间,如图所示,这降低了两个或更多个工作站同时重传的机会。 RANDOM 数据流程如下: COUNTER模块: 计数器模块的功能是实现以下的计数功能,进行IPG计数(进行帧间

您可能关注的文档

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档