EMAC 数据协议与知识.ppt_第1页
EMAC 数据协议与知识.ppt_第2页
EMAC 数据协议与知识.ppt_第3页
EMAC 数据协议与知识.ppt_第4页
EMAC 数据协议与知识.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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十进制(0 x05DC),这个域被用于长度域。这种情况下,域的值指示字节数目。当接收这种类型帧,比较type/length域的值与接收帧的数据域的实际数目,如果不精确匹配,错误报告。 如果这个域的值数字上大于或等于1536十进制(0 x0600),这个域被用于类型域。这种情况下,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值被计算。

5、CRC值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相比较,决定是否接收。 BRO

8、ADCAST 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 Re

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

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

11、的CRS数据比较,如果发生了一个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域配置

17、。,Receive Ethernet Buffer: 接收帧时,以太网接受缓冲器存储目的地址(DA),源地址(SA),类型/长度域,数据域和帧校验序列(FCS)。如果接收机有数据要存入接受缓冲器,但接受缓冲器已满,那么该接受帧只能被丢弃。如果接受帧的长度超过了接受缓冲器,相应的接受缓冲器超限标志位被置1。如果不被屏蔽(相应的接受缓冲器超限中断使能位置1),EMAC产生一个超限中断。,receive A end-of-frame pointer(接收器A帧结束指针) RXAEFP 11位指示了被写到接收缓冲器A的最后一个字节的地址偏移量。接收缓冲器A的基址决定于BUFMAP,Transmit E

18、thernet Buffer: 只有目的地址(DA),源地址(SA),类型/长度域,数据域必须被存储至以太网发送缓冲器。发送机会自动的附加帧校验序列,如果写入发送缓冲器的帧长度小于最小数据长度,它也会自动附加填充数据,以扩展数据长度到46字节。发送帧尾指示器的值必须和数据域的最后字节在缓冲器中的地址偏移量相符合,不包括填充的数据,全双工模式:,IEEE802.3x标准定义了第二种操作模式,称为全双工,它越过了CAMA/CD(载波侦听多址接入/冲突检测)协议。CSMA/CD协议是半双工的,是指两个或多个网络节点共享一条公用的传输介质,这也意味着一个节点只能发送数据或者接收数据,但两者不能同时进行

19、。全双工模式允许超过两个的网络节点同时通过点对点的链接交换数据,它提供独立的收发路径。因为每一个网络节点都能同时进行数据的收发,链接的总吞吐量能有效的加倍。因为在共享介质中没有竞争,冲突就不会发生,CSMA/CD协议也是不需要的。,MAC Flow Control :,全双工模式包括一个可选的针对实时控制和收发帧处理的流量控制机制,这个机制允许正拥挤的接收节点要求发送节点在一个可选的短暂时间段内停止发送数据。这是通过使用PAUSE帧实现的。如果在要求的等待时间结束之间拥挤状况得到了缓解,第二个含有0等待时间值的PAUSE帧被发送,要求重新开始发送数据。,MAC控制帧通过所指定的特有的类型值0X

20、8808被识别出来。它包含操作码(opcode),在数据域的前两个字节中。MAC控制操作码域针对PAUSE命令的值是0X0001。数据域中后面两个字节是MAC控制参数域。这个16位的值用以确定以512位时间为单位的PAUSE事件的长度。有效值从0 x0000到0 xFFFF。如果在当前暂停时间被经历前,到达一个新的PAUSE帧,那么新帧的参数将取代当前暂停时间时间,所以含有参数0的PAUSE帧允许马上恢复发送。一个42字节的保留域(全0发送)被用来填充PAUSE帧长度,以使其满足以太网帧的最小尺寸。PAUSE帧的目的地址必须被设置为全局分配的多播地址01-80-C2-00-00-01,或者是唯

21、一的DA。这个多播地址被IEEE802.3标准保留,用于MAC控制PAUSE帧。,PAUSE Control Frame Transmission:,如果在进程中没有发送活动并且EMAC处于全双工模式,通过向TCMD域写入数值,就能推出一个PAUSE命令。使用PTIME域中的参数值,EMAC建立起一个 PAUSE帧,然后发送该帧。DA域被设置为01-80-C2-00-00-01。虽然已接收的PAUSE帧停止了以START命令开始的帧发送,但并没有阻止发送PAUSE控制帧。 要发送一个唯一DA的MAC流量控制暂停帧,用户必须在发送缓冲器中构建一个有效的暂停帧,配置TXEFP寄存器,并且发出一个START命令。然而,无论何时以这种方式发送暂停帧,当接收暂停时间计数器的值(PTIME)非零时,命令都会被暂停,在时间经历过后才被发送。,PAUSE Control Frame Reception :,当RFCE位被设定,接收机在全双工模式下检测PAUSE帧。一旦PAUSE被检测到,IEVENT寄存器中的RFCIF位有效,在当前发送完成后,EMAC发送机在一段时间内停止发送。该时间是由接受到的帧的暂停时间参数给定的。如果不被屏蔽(RFCIE被设定),当该标志被设定时,一个接收流量控制中断被等待。,MII Management :,MII管理接入到PHY通过MII_MDC和MII_MDIO信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论