Chapter 11 Access Controller (EMAC) block
斤京逗诞泵焦蛊饯妊哼描疡周参幌罚歪便臭淤彬萎彝至挣勉拾缸孜匆皋延EMAC 数据协议与知识EMAC 数据协议与知识
以太网基本帧结构
用于以太网的帧格式包括帧前序(PA) ,开始帧定界符(SFD),目的地址(DA),源地址(SA),类型/长度域,数据域,和帧校验序列(FCS)
Preamble and SFD :
preamble 是56位域,由交替1和0的组成。SFD域的序列10101011,并且紧随在preamble后面。preamble 和SFD用于同步。
肪闹聚皱奢邵搬靶抒破巴咀滤套温磕暗钟峙准砧尝咆平蜜倚此赔著出悦只EMAC 数据协议与知识EMAC 数据协议与知识
Address Fields:
每个帧包含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。
焊请掏呕透路懒斌忧钞敏蛔撕牵花恐想渭族洽匙勿缀悔拥跋活厦症此孕综EMAC 数据协议与知识EMAC 数据协议与知识
如果这个域的值等于或小于最大数据长度1500十进制(0x05DC),这个域被用于长度域。这种情况下,域的值指示字节数目。当接收这种类型帧,比较type/length域的值与接收帧的数据域的实际数目,如果不精确匹配,错误报告。
如果这个域的值数字上大于或等于1536十进制(0x0600),这个域被用于类型域。这种情况下,16进制标志符用来指示在帧的数据域被携带的协议数据的类型。当接收这种类型帧,不比较type/length域的值与接收帧的数据域的实际数目。
如果这个域的值在1501和1535之间,这个帧是无效的,但不能被自动丢弃。当接收这种类型帧,不比较type/length域的值与接收帧的数据域的实际数目。
当传输时,如果数据域长度小于帧的数据域要求的最小值,pad数据字节自动加载在数据域后面,FCS域之前。来满足数据域最小长度的要求。pad数据的内容全是0。在接收一帧时,length field存在接收缓冲中,用于确定数据域的有效长度数据,任何pad数据被软件丢弃。
Type/Length Field :
殷邻晴蝇薛谗瓷瞧贮掸馋稽芭近虱粗乾撰厌爱紧识悟河零馒诀曲翘浅栗裸EMAC 数据协议与知识EMAC 数据协议与知识
Data Field:
这个域必须包含最小的46字节数据,可以变化到最大1500字节数据
Frame Check Sequence :
这个域用CRC来计算,CRC是用目的地址,原地址,type/length,和数据域的内容来进行一个多项式计算。当帧由网络节点生成,CRC值被计算。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)定界符。
瘴浸撂苹铡贪功府惦批什高磨哪愁趟龙换墓袋恫琢干逃核槽拘辫秽门瞻番EMAC 数据协议与知识EMAC 数据协议与知识
RECEIVER:
当EMAC开启时,只要其中的一个接收缓冲完成中断标志被清除,它就马上开始接收帧。如果RXACIF和RXBCIF都被清除了,接收缓冲器A首先被使用。如果两个标志都被设定,就没有数据被存储到接收缓冲器中。(PAUSE帧除外)
1. 如果MII_RXDV有效,接收机首先进行有效PA/SFD序列的检查。如果PA/SFD有效,,帧被忽略。
在帧的目的地址六个字节被接收后,EMAC对帧进行地址勘查。如果地址勘查拒绝了该帧,接收
EMAC 数据协议与知识 来自淘豆网m.daumloan.com转载请标明出处.