


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于以太网的 MAC 和 PHY 2007-12-05 16:41问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网接入控制器(MAC)和物理接口收发器(PHY)整合进同一,这样能去掉许多外接元器件。这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小面积。单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下。问:以太网 MAC 是什么?答:MAC 就是接入控制器。以太网 MAC 由 IEEE-802.3 以太网标准定义。它实现了一个数据链路层。常情况下,它实现 MII 接口。的 MAC 同时支持 10Mbps 和 100Mbps 两种速率。通问:MII?答:M
2、II 即独立接口,它是 IEEE-802.3 定义的以太网行业标准。它包括一个数据接口,以及一个 MAC 和 PHY 之间的管理接口(图 1)。数据接口包括分别用于发送器和的两条独立信道。每条信道都有自己的数据、时钟和控制信号。MII 数据接口总共需要 16 个信号。管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制 PHY。问:以太网 PHY 是什么?答:PHY 是物理接口收发器,它实现物理层。IEEE-802.3 标准定义了以太网 PHY。它符合IEEE-802.3k 中用于 10BaseT(第 14 条)和 100BaseTX(第 24 条和第 25
3、 条)的规范。问:造成以太网 MAC 和 PHY 单片整合难度高的原因是什么?答:PHY 整合了大量模拟硬件,而 MAC 是典型的全数字器件。面积及模拟/数字混合架构是为什么先将 MAC 集成进微控制器而将 PHY 留在片外的原因。更灵活、密度更高的技术已经可以实现 MAC 和 PHY 的单整合。问: 除 RJ-45 接口外,还需要其它元件吗?答:需要其它元件。虽然 PHY 提供绝大多数模拟支持,但在一个典型实现中,仍需外接 6、7 只分立元件及一个局域网绝缘模块。绝缘模块一般采用一个 1:1的变压器。这些坏。的主要功能是为了保护 PHY 免遭由于电气而引起的损问:10BaseT 和 100B
4、aseTX PHY 实现方式不同的原因何在?答:两种实现的分组描述本质上是一样的,但两者的信令机制完全不同。其目的是一种硬件实现容易地处理两种速度。10BaseT 采用曼彻斯特编码,100BaseTX 采用 4B/5B 编码。问:曼彻斯特编码?答:曼彻斯特编码又称曼彻斯特相位编码,它通过相位变化来实现每个位(图 2)。通常,用一个时钟周期中部的上升沿表示“1”,下降沿表示“0”。周期末端的相位变化可忽略不计,但有时又可能需要将这种相位变化计算在内,这取决于前一位的值。问:4B/5B 编码?答:4B/5B 编码是一种块编码方式。它将一个 4 位的块编码成一个 5 位的块。这就使 5 位块内至少包
5、含 2 个“1”转换,所以在一个 5 位块内总能进行时钟同步。该方法需要 25%的额外开销。网卡的 MAC 和 PHY网卡工作在 osi 的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的称之为 PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的称之为 MAC 控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是 pci 总线接 mac 总线,mac 接 phy,phy 接网线(当然也不是直接接上的,还有一
6、个变压装置)。PHY 和 MAC 之间是如何传送数据和相互沟通的。通过 IEEE 定义的标准的MII/GigaMII(Media Independederfade,介质独立界面)界面连接 MAC 和 PHY。这个界面是 IEEE 定义的。MII 界面传递了网络的所有数据和数据的控制。网络控制器的功能与设计实现IEEE 802.3 协议是针对以太网 CSMA/CD 标准的传输介质物理层(PHY)和介质访问控制协议(MAC、Media Acs Control)来定义的。由 PHY、发送模块、接收模块、FIFO、控制模块组成,其中控制模块包括寄存器堆、DMA(Direct MemoryAcs)模块、
7、流量控制模块、接收缓冲区和发送缓冲区组成。网络控制器的功能框图如图 1 所示。图 1 以太网控制器的功能框图1 IEEE 802.3 以太网 MAC 数据帧结构在发送数据时,发送模块自动在待传数据前加上 7 字节的前导码和 1 字节的帧起始定界符,紧随的是 6 字节的目的地址和 6 字节的源地址,然后长度/类型为 2字节,接着是数据区,然后是 461500 字节的数据。若发送时,数据长度小于最短长度 46 字节,发送模块自动填补,以达到最小长度,最后是 4 个字节的循环冗余。2 发送模块发送模块的作用就是按照 CSMA/CD 协议发送数据包。发送模块状态机控制协调各个发送子模块的时序,发送模块
8、状态机如图 2 所示。图 2 发送模块状态转换图S_defer 状态表示网络忙,若网络空闲了,经过最小的帧间隙时间,进入网络空闲状态 S_idle。若需要发送数据包,经过 S_pre,S_data,S_pad,S_crc 等状态发送,在这当中若检测到信号,就进入 S_jam 状态。在 S_jam 状态判断是local colli还是 late colli,若是 local colli就进入 S_back状态,按照退避算法重发当前数据帧,否则直接进入网络忙状态,放弃该帧的发送。3 接收模块接收模块的任务就是接收数据帧。物理接口收发器 PHY 将收到的网络数据变成二进制数据送给接收模块,接收模块再
9、把正确的数据经过接收 FIFO 和 DMA 的控制送给接收缓冲区。接收模块的功能还包括移除接收到帧的前导码/帧分隔符;比较目的地址,判断是否丢弃当前数据帧;对接收到的数据包做 CRC 校验,判断传输过程中数据是否出错。接收模块状态机是接收模块的,控制协调接收模块的各个子模块的工作与时序。接收模块状态机如图 3 所示。图 3 接收模块状态转换图复位后,状态机进入 S_idle 状态,若数据是无效的,就停留在 S_idle 状态,否则进入S_pre 状态。S_pre 状态和S_sdf 状态的作用就是去掉前导码和帧间隔符。当帧间隔符全部检测到,进入 S_data 状态,在 S_data 状态使用字节
10、计数器,记录所收到数据的字节个数,用于比较目的地址。若目的地址匹配则将接收到的数据写入到接收 FIFO,否则丢弃该帧,不写入到 FIFO。字节计数器的作用还有判断接收到的数据包是否超过帧的最大长度。若在S_pre 状态、S_sdf 状态或S_data状态出现数据有效信号无效的情况,都进入到 S_drop 状态。图 4模块的功能仿真4 控制模块控制模块包含 DMA(direct memory acs)模块、流量控制模块、缓冲区模块、寄存器堆模块和总线接口模块。DMA 模块的功能是将接收 FIFO 的数据搬运到接收缓冲区,以及发送缓冲区的数据搬运到发送 FIFO。流量控制模块端口阻塞的情况下丢帧,
11、这种方法是当接收缓冲区开始溢出时,通过将阻塞信号发送回源地址实现的。流量控制可以有效地防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定地运行。两种控制流量的方式:(1)在半双工方式量控制是通过反向压力(backprere),即通常说的背压计数实现的,这种计数是通过向发送源发送 jamming 信号使得信息源降低发送速度。(2)在全双工方式量控制一般遵循 IEEE 802.3X 标准,是由交换机向信息源发送“pause”帧令其暂停发送。缓冲区模块由一块 32KB 的 SRAM 组成,分为接收缓冲区和发送缓冲区,接收缓冲区和发送缓冲区的大小可以由用户编程决定。缓冲区以分页的方式
12、来管理,256B 为一页。主机通过总线接口与交换数据,通过读写寄存器堆来控制的工作。设计验证本文给出功能的验证过程。把这些功能模块连接成一个环路(发送模块直接与接收模块相连接),发送模块按照 802.3 协议发出数据包,接收模块按照802.3 协议处理这些数据包,符合要求的数据包送到(接收缓冲区),这些模块在 Mentor 公司的Se5.8 里面功能仿真波形如图 5 所示。图 5的实现流程图中,clk 为系统时钟;rst 为复位信号;tx_req 为发送 FIFO 请求信号,让 DMA从发送缓冲区搬运数据到发送 FIFO;tx_fifo_data_out 是从发送 FIFO 里面出来的 8 数
13、据,发送模块封装这些数据,发送给 PHY;这里没有对 PHY 进行验证,把发送模块发出的数据 TXD 和数据使能 TXEN 直接与接收模块数据端和数据有效信号分别相连接;接收模块把 TXD 进行串并转换,得到 8 为 rx_data;为接收到 rx_data 的个数。t功能仿真通过之后,把模块连接成一个整体(SRAM 直接调用 Quartus II 的IP Core),通过 Quartus II 综合以后,到 FPGA 开发板里面。用 FPGA 模拟网络控制器,与计算机进行通信。FPGA 与 PC 通过 RJ-45 相连。应用发一数据包给 FPGA,接收模块接收到数据包后,通过 DMA 将数据从 FIFO 搬运到接收缓冲区。一包数据接收完成后,通过附加逻辑,让 FPGA 发送出刚刚接收到的数据包,附加逻辑还完成了把接收到的数据按位取反的功能。应用显示 PC收到的数据包,通过比较 PC 发给 FPGA 的数据包和 FPGA 发送给 PC 的数据包,验证了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑企业财务核算外包合作协议
- 餐饮行业股份投资风险控制协议
- 成都市二手房买卖合同中关于交易税费承担及减免规定
- 车辆股权转让与二手车鉴定评估及过户服务协议
- 车辆抵押权解除抵押合同
- 成都市二手房买卖交易房屋交易纠纷调解合同
- 矿山开采劳务环保监管合同
- 肯德基质量管理体系构建与实施
- 管路脱出的护理
- 国际禁毒日-禁毒知识宣传教育16
- 云南省曲靖市2022-2023学年六年级下学期期末数学试题
- 副总经理岗位竞聘
- 酒店升级改造方案
- 6S管理培训教材系统课件
- 初中译林英语词组汇总
- 离婚协议书完整版本
- 陪诊服务的营销策略分析报告
- 《资源税类》课件
- 脂肪肝护理查房
- 员工标准化作业培训课件
- 卫生洁具采购与安装投标方案(技术标)
评论
0/150
提交评论