以太网控制器MAC设计(共27页).doc
《以太网控制器MAC设计(共27页).doc》由会员分享,可在线阅读,更多相关《以太网控制器MAC设计(共27页).doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上(2)可能造成轻度环境影响的建设项目,编制环境影响报告表,对产生的环境影响进行分析或者专项评价;(2)可能造成轻度环境影响的建设项目,编制环境影响报告表,对产生的环境影响进行分析或者专项评价;C.环境影响报告书(6)评价结论。(6)环境影响评价结论的科学性。第1页通过安全预评价形成的安全预评价报告,作为项目前期报批或备案的文件之一,在向政府安全管理部门提供的同时,也提供给建设单位、设计单位、业主,作为项目最终设计的重要依据文件之一。同建设项目安全评价相关但又有不同的还有:地质灾害防治管理办法规定的地质灾害危险性评估,地震安全性评价管理条例中规定的地震安全性评价,中华人
2、民共和国职业病防治法中规定的职业病危害预评价等。(5)为保障评价对象建成或实施后能安全运行,应从评价对象的总图布置、功能分布、工艺流程、设施、设备、装置等方面提出安全技术对策措施;从评价对象的组织机构设置、人员管理、物料管理、应急救援管理等方面提出安全管理对策措施;从保证评价对象安全运行的需要提出其他安全对策措施。对策措施的建议应有针对性、技术可行性和经济合理性,可分为应采纳和宜采纳两种类型。一、环境影响评价的发展与管理体系、相关法律法规体系和技术导则的应用专业综合课程设计报告以太网控制器MAC设计姓 名: 郑文灏 学 号: 同 组 人: 刘国阳、刘慧超 指导老师: 王新胜 成 绩: 专心-专
3、注-专业目录 绪论 课题研究的背景和意义人类社会的进步要求信息产业迅速发展,计算机网络已成为全球信息产业的基石,高度发达的计算机互联网为人类社会的信息交流和资源共享提供了良好的环境,对人类生活方式的改变和社会生产力的进步产生了革命性的影响。在计算机网络的发展过程中,以太网是众多网络技术中具有影响力的一种技术,是当今主流的局域网(LAN)技术。以太网最初是由Xerox公司在70年代提出的,1982年DEC、Intel和Xerox制定了DIX标准,即10Mbps普通以太网标准。1983年,IEEE组织公布了IEEES023标准,10Mbps以太网得到了国际的认可,标志着以太网标准的正式成立,同时也
4、标志着符合国际标准的以太网技术的面世。1995年IEEE通过了IEEE8023u标准,标志着100Mbps快速以太网时代的到来。随着网络用户的日益增加,10Mbps带宽在一些环境下不能满足人们对信息传输速率要求。因此快速以太网推出得到了广泛的推广。快速以太网是在10Mbps普通以太网上基础上发展起来的,它在保持帧格式,介质访问控制的前提下,工作速率比普通以太网快10倍。IEEE8023u快速以太网标准是IEEE8023标准的补充,并且兼容10Mbps以太网。10Mbps和100Mbps以太网组网方便,价格低廉,性能高效在局域网中受到了广泛应用。1998年通过了IEEE8023z标准,以太网的运
5、行速度达到1Gbps,目前已出现了10Gbps的以太网。与传统的CAN、RS485等相比较,以太网速度更快、通用性更好,而且能直接与因特网相连,具有更大范围的远程访问。相对于新兴的USB,IEEEl394等总线,以太网在传输距离和控制软件的通用性上有明显的优势。近几年随着深亚微米集成电路工艺技术的飞速发展,SoC(System on a Chip)已经成为IC界关注的焦点,单一芯片上能够容纳更多的逻辑单元成为芯片设计发展的必然趋势。将所有的功能块集成在一个单独的芯片上可以大幅度降低系统成本,减少系统的面积和功耗,提高系统的可靠性。SoC已经渗透到通信、多媒体、计算机控制以及其它一些数字领域,以
6、太网技术在嵌入式系统中的开发应用,已成为当前嵌入式领域研究的技术热点之一。嵌入式以太网在工业控制、商业领域、交通行业、家庭自动化等有着良好的应用前景,同时嵌入式设备以其价格低廉、体积小以及实时性使得嵌入式系统的网络化开发有着通用处理器无法比拟的优点。嵌入式系统的网络化,使得SoC有了更广泛的应用范围。在嵌入式系统的网络化开发过程中,首先要解决嵌入式设备与以太网络的连接问题,即网络芯片的设计。常见的具有网络功能的芯片有两类,一类是专用的以太网芯片,集成了MAC控制器和PHY,例如REALTEK 8019AS、8039AS,这类芯片一般用于网卡、路由器等设备,另一类是用控制、工业领域的具有网络功能
7、的SoC芯片,例如,PHILIPS LPC2400,这类芯片通常集成了MAC控制器,但由于Pmr的模拟电路特性及设计工艺的兼容性问题,这类芯片一般都使用外置的PHY芯片来实现对以太网的支持。在嵌入式领域,通信技术的发展要求对网络的支持越来越广泛,所以研究和设计一个用于嵌入式SoC芯片的以太网MAC控制器,具有相当的实际意义。当今,以太网已经极大地影响我们的生活,嵌入式系统上的开发应用,已经成为当前嵌入式研究领域的技术热点之一,一方面,与传统的RS-485.CAN等相比较,以太网更加高速、通用,而且还可以直接与Internet相连接,提供更大范围的远程访问;另一方面,相对于新兴的USB2.0、I
8、EEE1394等总线,以太网技术在传输距离、不想成本以及控制软件的通用性上都有明显优势。第1章 课程设计的要求1.1 课程设计的目的l 了解掌握以太网控制器的工作原理l 掌握较大工程的基本开发技能l 培养综合运用Modelsim,ISE工具进行硬件开发的能力l 培养数字系统设计的基本能力1.2 课程设计的要求l 执行以太网IEEE802.3协议MAC要求的功能l 自动产生和检查32bit CRCl 在发送时自动填充长度小于规定的帧l 监测帧过长或过短l 兼容10Mbps和100Mbps两种速率l 当碰到过小的帧间隔或过长的延迟时间时自动丢弃帧l 在全双工模式下控制流量并且自动产生控制帧l 在半
9、双工模式下进行冲突检测并且在冲突时自动重传l 完成对发送/接收的状态解析l 容纳128个缓冲描述符的内部RAM和存储帧的内部RAMl 发送和接收帧时的异步双口FIFOl 发送帧模块:处理所有有关帧发送的操作l 接收帧模块:处理所有有关帧接收的操作l 控制模块:在全双工的工作模式下,处理所有有关数据流控制的操作l 状态模块:要写入到缓冲描述符或其他模块要调用的不同的状态l 寄存器模块:所有要在MAC层操作中用到的寄存器第2章 课程设计的内容2.1 设计思路本文主要阐述基于FPGA对IEEE802.3快速以太网MAC层功能的实现。采用自顶向下、分块设计的思路,逐个实现MAC主要功能模块,诸如发送模
10、块、接收模块、MAC控制模块以及物理层和主机接口模块等,按照IP核的标准进行设计。同时考虑到对主机和PHY总线连接,MAC内部都采用8位数据线,32位地址线,而在和PHY接口连接时采用4位数据通道。MAC层主体框架如图2-1所示,主要模块有:MII模块、MAC控制模块、接收帧模块、发送帧模块、状态模块、寄存器模块、存储模块、主机总线接口模块,以及用于时钟同步、复位和寄存器输出的模块。图 2-1 MAC控制器结构框图这里,有必要说一下IEEE 802.3帧格式,如图2-2所示。图 2-2 IEEE 802.3帧格式1)Pre(Preamble):前导码,7字节0x55信号,接收站点通过该字段知道
11、接收到数据帧信息,并使网络两端的物理层达到稳定同步状态。2)SFD(Startof-Frame Delimiter):定界符,表示一个有效帧的开始,1字节的0xD5。当接收站收到定界符时表示一帧数据的开始。3)DA(Destination Address):目的地址,69节。DA字段用于识别需要接收帧的站点。目的地址可以分为单播地址,多播地址和广播地址。单播地址是一个站点的特定的地址,当发送地址为单播地址只有这个地址的站点才能接收。多播地址是一个组地址,当发送目的地址为多播地址时,这一组站点才能接收。广播地址,当发送目的地址为广播地址时,这个广播域的地址都可以接收。广播地址为特殊的组播地址,地
12、址全为1。4)SA(Source Address):源地址,69节。SA字段用于识别发送帧的站点。5)LengthType:长度类型,29节。如果是采用可选格式组成帧结构时,该字段既表示包含在帧数据字段中的MAC数据大小,也表示帧类型。6)Data(Pad):数据和填充域,是一组n(46n1500)字节的任意值序列。由于CSMACD算法的限制,以太网帧必须不小于64字节,如果小于该字节长度,则要进行数据填充以达到最小帧长度。帧长度最长为1518字节。7)FCS(Frame Check Sequence):帧校验,49节。该序列包括32位的循环冗余校验值,由发送MAC方生成,在接收时用同样的算法
13、进行校验,用来判断这帧数据是不是在发送过程中产生错误。被校验的范围包括目的地址域,源地址域,长度类型域,数据域和填充域。2.2 功能模块分析2.2.1 寄存器模块eth_registers是MAC层的寄存器模块。所有的寄存器都是32位宽度,但是具体用到的则由寄存器实际所需宽度所决定,其余位填0.每个寄存器都有两个参数:宽度和Reset值。Reset值定义寄存器清零后设置的默认值。寄存器模块共有23个寄存器。通过访问寄存器并对寄存器内容进行读写操作便可完成一些状态监测和功能选择。2.2.2 接收帧模块接收帧模块eth_rxethmac.v的任务就是接收帧数据。外部的以太网PHY芯片将串行数据传送
14、至MII模块,最后成为一个个nibble(MRxD3:0)发送到接收模块里去,同时还有“数据有效”的掩码位MRxDV.然后发送模块就把这些nibble聚集成字节byte的形式,再和一些表示数据开始和结束的信号一起发送到主机总线接口。接收模块还需要实现的功能包括有移除接收到的帧的前导码、帧起始定界符,产生用于地址识别并发送到HASH表内,对所有接收到的包进行CRC校验。图2-3是该模块的整体结构框图。图中“计数匹配信号”表示当计数器达到一些特定值时,将相应特征信号触发输出为1。图 2-3 接收模块整体框图接收模块有下列子模块组成: eth_crcCRC(循环冗余校验码)模块 eth_rxaddr
15、check地址识别模块 eth_rxcounters与数据包接收有关的计数器模块 eth_rxstatem接收模块状态机除了上述的子模块,接收模块还用到下列逻辑信号: 产生CRCHash值和HashGood信号位,用于地址识别模块 锁存从PHY芯片接收到的数据RxData_d 目的地址广播Broadcast或者组播Multicast信号 产生信号RxValid、RxStartFrm、RxEndFrm,表征数据传输的有效性 HugEn,是否允许接收大包。定义与寄存器PACKETLEN、r_IFG,是否允许最小帧间隔,用于计数器模块的判决条件 r_Pro、r_Bro、r_Iam和寄存器MAC、HA
16、SH0、HASH1,用于地址识别。HASH0和HASH1是哈希算法的算法表接收数据帧的核心是各个状态之间的转换,如图2-4所示为接收模块状态转换图。图 2-4 接收模块状态转换图通过状态机得出接收逻辑输出信号如下:判断广播帧:在Data0状态,当计数器ByteCnt为1,锁存的数据位0xff即目的地址第一字节全为1,为广播帧,Broadcast置为1。判断组播帧:在Data0状态,当计数器ByteCnt为1,锁存的数据字节最低位为1,为组播帧,Multicast置为1.设定开始接收位:Data0状态,当计数器ByteCnt为1或允许CRC延迟,计数器DlyCrcCnt=3,经两次时钟同步设置信
17、号RxStartFrm为1。设定结束接收位:当计数器ByteCnt大于2,若MRxDV从1变0,数据状态或者接收的数据超过了最大帧限制状态时,出现这两种情况表明接收帧结束,经始终同步设置标志位RxEndFrm为1。判断接收数据有效:Data0状态,当计数器ByteCnt不等于零表明接收数据都是有效的,标致信号RxValid经两次时钟同步置为1。四位/八位转换:在数据状态,如果接收数据有效,将从MII接口接收到的四位nibble MRxD3:0依次填入RxData7:0数据的高四位和第四位。目的地址识别模块:eth_rxaddrcheck子模块,地址识别模块的功能是决定在接收一个数据帧的时候是否
18、接受。MAC层的设计思路是开始接受所有的帧而后判断接收帧的目的地址,将在该子模块里面被检查。帧接收需要以下一些条件: 寄存器MODER里的Pro位被置位,所有的帧都被接收。如果该位被清零,那就必须检查每个接收帧的目的地址。 如果寄存器MODER里的Bro位被置位,那么所有包括广播地址的帧将被拒绝接收,二球,此时Pro位必须清零。 MACMAC私人地址在接收组播帧时,出于安全上的考虑,除了要检查MAC地址以外,还要采用哈希算法进行加密和解密,主要是针对组播的情况。如前所述,无论待接收的帧的目的地址是否匹配,包接收都会先开始进行。一旦接收到目的地址之后,就要检查是否和之前所述的任一条件匹配。如果不
19、匹配的话那么接收的整个包都将被抛弃,信号RxAbort被置位为1。该包也就不会写入到内存中,并且在接收缓冲FIFO里被擦除。CRC模块:该模块eth_crc通过对32位CRC的值进行检验,判决接收进来的数据包的正确性和有效性。该模块同样产生CRC校验值,并用于发送模块。CRC发送和检查的具体描述如下:在发送者发送数据之后,发送4字节该数据包的CRC,表明该数据包查过了4个字节。接收者接收该数据包(包括CRC数据)并以此得出新的CRC值。如果新的CRC值不为0,表明接收到的数据和发送的数据有了差异,置信号CrcError为1。2.2.3 发送帧模块发送模块eth_txethmac负责发送数据帧。
20、发送模块从主机的总线接口得到需要被发送的字节形式的数据。该模块也要接受表征开始数据帧发送的输入信号TxStartFrm以及结束数据帧发送的信号TxEndFrm。图2-5是发送模块的整体框图,图中“计数匹配信号”表示当计数器达到一些特定值是,将相应特征信号触发输出为1。图 2-5 发送模块整体框图该模块由下列四个子模块组成: eth_crcCRC模块,产生32-bitCRC校验码写在数据域之后 eth_random当碰到冲突(Collision),后退程序在执行的时候需要产生随机的延时,用于CSMA/CD算法 eth_txcounters在数据帧发送的时候需要用到的些许计数器 eth_txsta
21、tem发送模块状态机该模块同时设置了不同的信号组,想主机和以太网PHY芯片两边分别告知相关的发送操作状态,完成、重试、忽略、错误等。连接到以太网PHY芯片的信号、功能设计如下: MTxD3:0,发送数据,将通过PHY发送至以太网,其输出类型有: 在状态Data0,输出发送数据低四位TxData3:0,在状态Data1,输出发送数据高四位TxData7:4 在状态FCS,依次输出校验码Crc28,Crc29,Crc30,Crc31, 在状态Jam,输出0x9 在状态Preamble,如果NibCnt等于15,输出0xd,其他则输出0x5 空闲时,MTxD3:0输出为0 MtxEn,发送使能信号。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 以太网 控制器 MAC 设计 27
限制150内