毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

基于FPGA的网口数据传输和应用程序开发(6)

时间:2017-06-09 22:38来源:毕业论文
发送数据过程中,工作站边发送边检测总线,看是否发生冲突。若无冲突则继续发送,直到发送完该数据;若发生冲突,则停止发送,之后要发送32比特的


发送数据过程中,工作站边发送边检测总线,看是否发生冲突。若无冲突则继续发送,直到发送完该数据;若发生冲突,则停止发送,之后要发送32比特的JAM信号,这样网络所有站点都知道发生了冲突。然后,等待一个随机时间,在总线空闲时重新发送该数据,这就是以太网介质访问规则的冲突检测(CD)部分。
2.2.3    以太网MAC层协议
标准IEEE802.3中规定的帧由下列域组成:前导码、起始帧分界符、目的地址、源地址、长度/类型、数据单元、填充和帧校验序列,格式如下图2.2所示。
 
图2.2 标准以太网帧结构
1)前导码(Preamble):七个字节的“1/0”交替码,该字段保证网络上的以太网接口能在重要的数据字段到来之前与输入的数据流同步,即使接收方与发送方的时钟同步。考虑到信号在通过系统时可能产生的延时,前导码允许丢失几位,这样就避免帧的其余部分受到影响。前导码是保护帧中其余部分的盾牌。
2)起始帧分界符(Start of Frame Delimiter):一个字节的“10101011”,最后两位是特殊的“1101”模式,这两位通知跟在后面的是帧的实际字段。
3)目的地址(Destination Address):是以最低位(LSB)在前方式发送的751个字节。接收方MAC用DA判定接下来的数据包是否是给该字节的。如果接收节点检测到自己的唯一节点地址与DA域中的地址相匹配,它将试图接收该数据包。而其他未检测到这种匹配的节点将忽略数据包的其他部分。有三种类型的地址被支持:单播地址(物理)、组播地址和广播地址。
4)源地址(Source Address):是以最低位(LSB)在前方式发送的751个字节。SA域由发送方的MAC提供。发送方MAC在发送时将其自身的唯一地址填充到该域中,用以表明它是起始站点。接收方MAC不需要基于SA域做出动作。
5)长度/类型(Length/Type):两个字节,指明了数据帧的字节数,如果数据帧的长度是固定的,可以用来表示类型。长度/类型域的高位字节首先发送,每一字节内部则以LSB在前的方式传送。
6)数据域(Data):该段包含真正被传输的帧数据,为46到1500字节长。长度字段指明数据字段中的字节数,其值为0——1500字节数据是合法的,这一点产生了麻烦,但收发器检测到冲突时,就将当前帧的其余部分丢弃,这样残余帧(也叫碎片)会一直出现在电缆上。为了便于区别有效帧和残余帧,IEEE802.3规定有效帧中从目的地址到校验字段的最短距离为64字节。如果帧的数据部分少于64字节,使用填充字段以达到要求的最短长度。要求满足最短帧长的另一个原因(也是更重要的一个原因)就是为防止一个站点发送短帧时,在第一个比特尚未达到电缆的最远端就已经完成发送,可能造成由冲突发生时却检测不到的现象。
7)填充域(Pad):IEEE802.3协议规定有效帧从目的地址到校验字段的最短长度为64字节。如果帧的数据部分少于64字节,使用填充字段以达到要求的最短长度。
8)帧校验序列(FCS):包含整个帧的循环冗余校验码(CRC)的四字节域。CRC由发送站根据目的地址,源地址,长度/类型和数据域计算并作为帧的最后四位。接收站采用同样的CRC算法来计算它接收到的帧的CRC值。计算所得值将和帧后面的CRC值相比较,由此提供一种对毁坏数据的错误检测机制。FCS内的CRC位按照MSB到LSB的顺序进行发送。
从帧的结构可以看出,MAC(介质访问控制子层)层协议在LLC(逻辑链路控制子层)层数据的前面,加上帧头和帧尾,组装成完整的数据帧,经物理层发送出去,即:上层信息经过LLC层时被封装成LLC帧,LLC帧经过MAC层时又被封装成MAC帧。DA和SA分别表示目的节点和源节点地址,在两个节点之间建立通信关系时,节点根据DA确定是否接收数据帧。如果节点地址与DA相匹配,则接收该数据帧;否则,不接收该数据帧。由此可见,数据帧必须通过层层封装,才能最终实现数据传输。目的节点对接收到的数据帧进行拆封,拆封过程正好相反,一层层去掉附加的地址信息和辅助信息,最后只将信息提交给上层协议。 基于FPGA的网口数据传输和应用程序开发(6):http://www.751com.cn/tongxin/lunwen_8897.html
------分隔线----------------------------
推荐内容