emac数据协议与知识

上传人:tian****1990 文档编号:72545880 上传时间:2019-01-23 格式:PPT 页数:21 大小:267KB
返回 下载 相关 举报
emac数据协议与知识_第1页
第1页 / 共21页
emac数据协议与知识_第2页
第2页 / 共21页
emac数据协议与知识_第3页
第3页 / 共21页
emac数据协议与知识_第4页
第4页 / 共21页
emac数据协议与知识_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《emac数据协议与知识》由会员分享,可在线阅读,更多相关《emac数据协议与知识(21页珍藏版)》请在金锄头文库上搜索。

1、Chapter 11 Ethernet Access Controller (EMAC) block,以太网基本帧结构,用于以太网的帧格式包括帧前序(PA) ,开始帧定界符(SFD),目的地址(DA),源地址(SA),类型/长度域,数据域,和帧校验序列(FCS),Preamble and SFD : preamble 是56位域,由交替1和0的组成 。SFD域的序列10101011,并且紧随在preamble后面。preamble 和SFD用于同步。,Address Fields: 每个帧包含2个地址域:目的地址域和源地址域。目的地址域指定帧发往的网络节点。源地址域指定发送帧的网络节点。 一个

2、48位地址写成12个16进制数字对在2组,表示一个字节的信息。在网络上传输的字节顺序是从MSB到LSB。在字节内部的传输顺序,开始从字节的低重要字节(LSB)到MSB。举例,一个以太网地址16进制的一串是F0-4E-77-8A-35-1D等价于下面的bit序列,从左到右发送到网络上,0000 1111 0111 0010 1110 1110 0101 0001 1010 1100 1011 1000 。 如果目的地址域的most-significant byte的LSB是0,地址域包含一个独立(单播)地址。如果LSB是1,地址域包含一个组(多播)地址。广播地址,它的48bit都是1。,如果这个

3、域的值等于或小于最大数据长度1500十进制(0x05DC),这个域被用于长度域。这种情况下,域的值指示字节数目。当接收这种类型帧,比较type/length域的值与接收帧的数据域的实际数目,如果不精确匹配,错误报告。 如果这个域的值数字上大于或等于1536十进制(0x0600),这个域被用于类型域。这种情况下,16进制标志符用来指示在帧的数据域被携带的协议数据的类型。当接收这种类型帧,不比较type/length域的值与接收帧的数据域的实际数目。 如果这个域的值在1501和1535之间,这个帧是无效的,但不能被自动丢弃。当接收这种类型帧,不比较type/length域的值与接收帧的数据域的实际

4、数目。 当传输时,如果数据域长度小于帧的数据域要求的最小值,pad数据字节自动加载在数据域后面,FCS域之前。来满足数据域最小长度的要求。pad数据的内容全是0。在接收一帧时,length field存在接收缓冲中,用于确定数据域的有效长度数据,任何pad数据被软件丢弃。,Type/Length Field :,Data Field: 这个域必须包含最小的46字节数据,可以变化到最大1500字节数据,Frame Check Sequence :,这个域用CRC来计算,CRC是用目的地址,原地址,type/length,和数据域的内容来进行一个多项式计算。当帧由网络节点生成,CRC值被计算。CR

5、C值32bit放置在FCS域,当帧发送时。CRC多项式的X31系数作为第一位发送,X0系数作为最后一位。当帧读入时, CRC能被接收网络节点再一次计算。第二次计算的结果与原始网络节点发送的FCS的值作比较。该域用于校验在网络上传输过程中有没有错误发生 。,End-of-Frame Delimiter: 对于在MII_TXD脚的数据,end-of-frame (EOF)定界符由MII_TXEN信号的无效来指示。对于在MII_RXD脚的信号,MII_RXDV的无效建立end-of-frame (EOF)定界符。,RECEIVER:,当EMAC开启时,只要其中的一个接收缓冲完成中断标志被清除,它就马

6、上开始接收帧。如果RXACIF和RXBCIF都被清除了,接收缓冲器A首先被使用。如果两个标志都被设定,就没有数据被存储到接收缓冲器中。(PAUSE帧除外) 1. 如果MII_RXDV有效,接收机首先进行有效PA/SFD序列的检查。如果PA/SFD有效,它就会被截去.如果有效的PA/SFD没有找到,帧被忽略。 在帧的目的地址六个字节被接收后,EMAC对帧进行地址勘查。如果地址勘查拒绝了该帧,接收机转入空闲,接收机缓冲器停止接收数据,接收帧尾指示器无效。如果地址勘查接受了该帧,接收缓冲器继续接收数据 . 在帧的前14个字节被接收后,EMAC对帧进行类型/长度勘查。如果类型/长度勘查拒绝了该帧。接收

7、机转入空闲,接收机缓冲器停止接收数据,接收帧尾指示器无效。如果类型/长度勘查接受了该帧,接收缓冲器继续接收数据。 接收数据到缓冲器A或者B中。 EMAC接收机自动的从接收帧中计算一个4字节长的帧检查序列,并且将它和后缀于接收帧的CRS数据比较。 接收机接收的紧靠着的两个帧之间的空间至少要求96位的时间,如果帧间距离小于96位的时间,后面的帧就不能保证被接收机接受。,EMAC使用接收帧的目标地址来实行过滤,将不符合给定条件帧排除 .(使用RXCTS接收控制和状态寄存器) PROM1 所有帧都被接收 UNICAST FILTER:PROM0时,目的地址和MACAD相比较,决定是否接收。 BROAD

8、CAST FILTER:PROM0 BCREJ=1 所有广播帧被接收 BCREJ0 拒绝广播帧 MULTICAST FILTER:CONMC=1,PROM=0,只有符合HASH表的多播帧才被接受。 CONMC=0所有的多播帧被接受 PAUSE DESTINATION ADDRESS:如果EMAC处于全双工模式,并且RFCE位被设定,接收机侦测到来的PAUSE帧。一个PAUSE帧有一个48位的多播目的地址0180C2000001,或者是唯一的DA.一旦检测到了一个PAUSE帧,帧就会被临时接受,进行进一步的类型/长度勘查。,Address Recognition,Type/Length Reco

9、gnition,EMAC使用接受帧的类型/长度域执行过滤功能,并拒绝不符合接受标准的帧 。(使用ETCTL以太网类型控制寄存器) 如果ETCTL寄存器的所有位被清0,以太网类型过滤器不工作。如果FPET位被设定,符合ETYPE寄存器值的以太网类型帧被接受。如果FEMW被设定,Emware以太网类型帧被接受。如果FIPV6位被设定,IPV6以太网类型帧被接受。如果FARP位被设定,带有地址解决协议的以太网类型帧被接受。如果IPV4位被设定,IPV4以太网类型帧被接受。如果FIEEE位被设定,具有有效IEEE802.3长度的以太网类型帧被接受。,接收中可能出现的错误和中断(使用RXEIF和RXEI

10、E):,如果一个接收到的帧的长度小于64字节,接收帧视为碎片并丢弃。大多数碎片是由于冲突引起的。 如果一个接收帧的长度大于1518,接收帧被视为超长并是一个错误。EMAC产生接收错误中断。 如果在接收过程中,MII_RXER有效,则它指示一个媒质错误。EMAC产生接收错误中断。 如果类型/长度域小于或等于1500(但是大于46),但是接收帧数据长度不等于类型/长度域中标注的长度,就会发生长度失配错误。如果类型/长度域小于或等于46,接收帧数据域长度不是46,也会发生长度失配错误。,EMAC产生接收错误中断。 EMAC接收机自动的从接收帧中计算一个4字节长的帧检查序列,并且将它和后缀于接收帧的C

11、RS数据比较,如果发生了一个CRS错误,EMAC产生接收错误中断。 在帧结束定界符后,接收帧被去尾以最接近数据边界。如果有一个额外的半字节,这个dribble半字节被丢弃。如果CRS的值不正确,同时有一个dribble半字节,就会发生调整错误,EMAC产生接收错误中断。 如果一个接收帧超过了接收缓冲器的大小,相应的接收超限错误标志被设定。在超限错误的情况中,帧不被接收,而且相应的完成标志和接收错误标志都不会被设置。,Transmitter:,发送数据,用户必须将其写入发送缓冲器,它由目的地址,源地址,类型/长度域和数据域组成。发送机会自动发送帧所必须的帧前序,SFD和FCS,也会自动附加填充数

12、据以扩充数据长度达到46字节的最小帧长。 当帧被写入发送缓冲器,相应的发送帧尾指示器被初始化之后,EMAC发送机就准备在网络上发送该帧了。当向TCMD域写入时,START命令被执行,EMAC在MII_TXEN上保持有效并且开始发送帧前序,帧起始符,然后是来自于发送缓冲器的帧信息。 当网络空闲时,网络节点就会等待一个称为帧间隙(IFG)的短暂时段,然后再发送帧。这为以太网接口在帧接收之间提供了短暂的恢复时间。连续发送的最小帧间隙是96位时间。,半双工模式:,Deferring: 在半双工模式,如果有负载(网络忙),网络节点监听直到负载停止。这就是用延迟来避免堵塞。一旦网络变成了空闲(也包括等待帧

13、间隙),网络节点可以开始发送帧。发送机等待无载波侦听持续60位的时间,然后等待另一个36位时间之后开始发送帧。,Collision Detection and Backoff: 冲突侦测和退避特性是以太网802.3MAC协议操作的一个正常部分。它可以致使快速自动的重订发送时间表。该特性使独立的网络节点以公平礼貌的方式参与接入网络的竞争。它为网络节点提供了一种自动调整他们的行为的方法,以回应网络负载。,Collision Window: 冲突窗口时段被设置为SFD之后的64字节时间(512位时间)。如果在冲突窗口时段内发生了冲突,重发进程被初始化。如果发生了一个延迟冲突(在冲突窗口时段之后发生的

14、冲突),不会实施重发行为。LCIE位设置为1,重发计数器被清除,发送被取消。如果 不被屏蔽(LCIE被设置),EMAC产生一个延迟冲突中断。 Jam Period: 如果在发送过程中的任何时间检测到了冲突,EMAC发送机会继续发送32位数据(称为冲突生效拥挤信号),这样在以太网络中的其他设备,都能检测到冲突。如果在帧发送的早期冲突就被检测到了,EMAC发送机继续发送直到将帧前序发送完成,然后再发送32位拥挤信号。如果在发送FCS时检测到了冲突,直到将最后的FCS半字节数据转移完成,32位拥挤信号才被发送。 Backoff Generator: 在冲突窗口时段发生了冲突之后,EMAC发送机尝试重

15、发帧数据之前的延迟时间,被设置为512位以太网缝隙时间的倍数。总的退避延迟量用一个伪随机选择的整数乘以缝隙时间来计算。 退避算法用下面的公式来确定整数r,它被用于和缝隙时间相乘,产生一个退避延迟。 0r2k 指数k是这样一个值,它是等于尝试重发的次数或者10,两者中较小的那个。系数r是一个在0和2k之间随机选择的整数。 在EMISC寄存中的RANDOM域包含一个由退避逻辑随机生成器生成的10位随机数字r。如果SSB位被设定,发送机退避逻辑强制信号退避时隙为512位时间。,重发计数器: EMAC发送机有一个重发计数器,RETX,它计算在尝试发送一个信号帧过程中,在冲突窗口时段发生的冲突次数。在每

16、一次冲突过后,重发计数器加1,当帧成功发送时重置为0。当TXACT被清除时,RETX保持0。 EMAC会进行多达15次的重发尝试。如果当RETX为15时又发生了冲突,过量冲突中断标志(ECIF)被置1,整个帧被丢弃,重发计数器重置为0。如果不被屏蔽(ECIE设为1),EMAC产生一个过量冲突中断。TXCTS中的TXACT位在整个重发过程中始终有效。TXACT一旦被清除,就开始进行下一次发送。 RETX的值可以通过EMISC读出来。,Ethernet Buffers,在系统RAM中,分配有两个以太网接收缓冲器和一个以太网发送缓冲器。他们的大小和开始地址由BUFCFG寄存器的BUFMAP域配置。,Receive Ethernet Buffer: 接收帧时,以太网接受缓冲器存储目的地址(DA),源地址(SA),类型/长度域,数据域和帧校验序列(FCS)。如果接收机有数据要存入接受缓冲器,但接受缓冲器已满,那么该接受帧只能被丢弃。如果接受帧的长度超过了接受缓冲器,相应的接受缓冲器超限标志位被置1。如果不被屏蔽(相应的接受缓冲器超限中断使能位置1),EMAC产生一个超限中断

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号