【芯片简介】

AR8033是Atheros公司的第4代10/100/1000Mbps速率以太网PHY芯片,可用于家庭网关、企业交换机、移动基站、光模块等设备。该芯片采用RGMII协议或SGMII协议与MAC芯片进行通信,只需要单一3.3V电源供电,可自行整流变换出片内电路所需其它电源。AR8033还内置了一个工作频率为1.25GHz的SerDes接口,可以直接与光纤收发模块连接,将光信号转换为适用于1000BASE-X/100 BASE-FX传输模式的电信号或用于与MAC芯片通信的SGMII协议电信号。

PHY芯片在OSI协议栈中属于最底层的物理层,与其它层的关系图如下:

图1 PHY芯片的工作位置处于OSI底层

从硬件上来说,一般PHY芯片为模数混合电路,负责接收电、光这类模拟信号,经过解调和A/D转换后通过MII接口将信号交给MAC芯片进行处理。一般MAC芯片为纯数字电路。

【SerDes接口】

SerDes是SERializer(串行器)/DESerializer(解串器)的简称。它是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术,即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。

【RGMII接口】

RGMII即Reduced GMII,是GMII的简化版本。它的接口信号线数量为14根(COL/CRS端口状态指示信号,这里没有画出),时钟频率为125MHz,TX/RX数据宽度为4位,为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据。在参考时钟的上升沿发送GMII接口中的TXD[3:0]/RXD[3:0],在参考时钟的下降沿发送GMII接口中的TXD[7:4]/RXD[7:4]。RGMII兼容100Mbps和10Mbps两种速率,此时参考时钟速率分别为25MHz和2.5MHz。

图2 RGMII接口

TX_EN信号线上传送TX_EN和TX_ER两种信息,在TX_CLK的上升沿发送TX_EN,下降沿发送TX_ER;同样的,RX_DV信号线上也传送RX_DV和RX_ER两种信息,在RX_CLK的上升沿发送RX_DV,下降沿发送RX_ER。

【SGMII接口】

SGMII即Serial GMII,是PHY与MAC之间的接口,时钟频率625MHz,收发各一对差分信号线,所以总的数据速率为1.25Gbps = 625Mbps* 2。GMII和RGMII都是并行的,而且需要随路时钟,PCB布线相对麻烦,不适于背板应用;而SGMII是串行的,不需要提供另外的时钟,MAC和PHY使用CDR来恢复时钟。参考时钟RX_CLK由PHY提供,是可选的,在时钟信号的上升沿和下降沿均发生采样,主要用于MAC侧没有时钟的情况,一般情况下,RX_CLK不使用,收发都可以从数据中恢复出时钟。

图3 SGMII接口图

在TXD发送的串行数据中,每8bits数据会插入TX_EN/TX_ER 的2bits控制信息,同样,在RXD接收数据中,每8bits数据会插入RX_DV/RX_ER 的2bits控制信息,称作8B/10B编码。

【MDC/MDIO接口】

接口有MDC和MDIO两条线。其中MDC上是由MAC提供的参考时钟信号,MDIO则是可双向传输的配置数据线,配合MDC时钟进行异步传输。AR8033的MDIO接口是开漏输出,所以在使用时需要外部上拉1.5k电阻。MDIO数据帧的组成如下:

图4 MDIO数据帧结构

各字段的含义如下:

PRE        对MDC时钟信号的回复,用于校正异步传输时钟,内容为32个数字1。

ST          数据帧开始标识。

OP          操作码,10表示读数据,01表示写数据。

PHYAD   PHY芯片的物理地址,共5位,其中3位可以在AR8033内部进行配置。

REGAD  寄存器地址,共5位,用于选中PHY芯片内的32个寄存器之一。

TA                 用于防止在数据传输期间建立新的连接,共2位。读操作期间第1位为高阻态,第2位为0;写操作期间第1位为1,第2位为0.

DATA     表示 从寄存器读到的数据 或 向寄存器写入的数据,共16位。从高位开始传输。

IDLE      帧间空闲信号,呈高阻态。相邻两个数据帧之间至少要有1个时钟的空闲信号。

【工作模式配置】

AR8033可以工作在3种模式类别下:电口模式、光口模式、光电转换器模式。根据4根模式选择引脚上电平的不同可以将AR8033配置到不同的工作模式。官方文档描述如下:

图5 模式选择引脚

图6 光口模式的引脚电平情况

从文档中可以看到,当我们希望AR8033工作在1000Mbps光口模式时,应该把RX_DV、RXD2、RX_CLK、RXD3这4个引脚的电平下拉和上拉为0010的情况。同理,要工作在100Mbps光口模式则可以将电平设置为0110或1110。

【应用示例】

我们可以使用AR8033对光口进行管理。根据官方数据手册描述,可以采用如下结构:

图7 AR8033光纤模块系统框图

从框图中可以看出,当AR8033芯片用于光纤模块管理时,需要配置成100BASE-FX模式或1000BASE-X模式,与交换机芯片之间的数据传输采用RGMII协议。实际应用时,AR8033的工作模式直接由主控芯片通过MDC/MDIO总线进行配置;数据传输路径是AR8033传递给交换芯片,再由交换芯片传递给主控芯片。示意图如下:

图8 AR8033应用示意图

在示意图中可以看到,光模块芯片AR8033与交换芯片之间的数据传输使用RGMII协议,交换芯片与主控芯片之间的数据传输使用SGMII协议。

【代码分析】

关于 AR8033 的设备和驱动注册流程和代码之前是写在这里的,但是感觉内容与标题相互比较独立,所以单独拿出来作一篇文章《PHY芯片 AR8033驱动代码分析》。

PHY芯片 AR8033 学习相关推荐

  1. 睿普康 以太网接口PHY芯片主要替换瑞昱的pin对pin芯片

    睿普康 以太网接口PHY芯片主要替换瑞昱的pin对pin芯片 其他完整学习资料和规格书都在我的附件里,希望大家可以相互学习,有错误方面还请大家正,提供的这些关于PHY的资料也是为了让大家更好的去认识, ...

  2. 【PHY】关于学习以太网PHY的这件事情

    概述: 由于近期要使用以太网PHY芯片,于是在网上查找各种资料,学习这部分的知识,这篇文章是对当前的学习做一个汇总.因为这部分的知识很多,所以只是做一个整体的概要总结,具体的知识点无法详细展开,作者目 ...

  3. phy芯片测试寄存器_以太网PHY寄存器分析

    以太网PHY寄存器分析    1 1.以太网PHY标准寄存器分析    2 1.1 Control Register    2 1.2 Status register    5 1.3 PHY Ide ...

  4. 单片机+PHY芯片+Powerlink协议实现高效数据采集探究(工业总线485和CAN的升级)

    CAN总线和RS-485总线作为常用的工业通信总线,在许多工业领域中得到广泛使用.但随着工业应用的不断扩展和网络化的需求增加,它们面临着一些局限性.例如CAN总线虽然具有较高的通信速率和可靠性,但存在 ...

  5. Linux下rgmii接口与fpga相连,FPGA控制RGMII接口PHY芯片88E1512网络通信

    一.前言 网络通信中的PHY芯片接口种类有很多,之前接触过GMII接口的PHY芯片RTL8211EG.但GMII接口数量较多,本文使用RGMII接口的88E1512搭建网络通信系统.这类接口总线位宽小 ...

  6. PHY芯片88EE1111 MDIO接口调试

    本次调试88EE1111 PHY芯片之主要目的主要对应为了将其默认的GMII接口通过配置成RGMII接口.因此,可能本文档涉及到的内容并没有涉及到PHY芯片的88EE1111所有内容. PHY芯片管理 ...

  7. 千兆以太网PHY芯片调试-88E1111(RGMII接口-数据收发ECHO测试) Verilog实现python测试

    千兆以太网PHY芯片调试-基于RGMII接口的88E1111(数据收发ECHO测试) 先放结果: Py测试代码: import socket #网络通信 TCP,UDP DST_IP = '192.1 ...

  8. 88e1111 phy芯片在arm平台的配置及接口介绍

    88e1111芯片的硬件配置: 引脚到常量的映射: pin bit(2:0) VDDO 111 LED_LINK10 110 LED_LINK100 101 lED_LINK1000 100 LED_ ...

  9. 【以太网通信】PHY 芯片回环测试

    PHY 芯片通常带有回环(Loopback)功能,用于 PHY 通信链路的测试.本文主要讨论三种常用 PHY 芯片的回环功能,并使用 Broadcom 的 B50612D 芯片进行 PHY 回环测试. ...

最新文章

  1. 一个模型通杀8大视觉任务,图像、视频生成大一统!MSRA+北大全华班「女娲」模型...
  2. 性能优化指南:性能优化的一般性原则与方法
  3. 【问链财经-区块链基础知识系列】 第四十七课 蚂蚁区块链的布局和打法
  4. g++编译时:No such file or directory
  5. 学习笔记(24):Python网络编程并发编程-进程与线程的区别
  6. linux网络编程系列-select和epoll的区别
  7. mysql 多列union_Mysql联合查询UNION和UNION ALL的使用介绍
  8. Sharepoint2013:在页面上显示错误信息
  9. TOOLS STORE OPENCART 2.X 主题模板 ABC-0628
  10. 2019 已过半,迅雷链的 Flag 完成了多少?
  11. Google 发布全中文机器学习速成课,曾内部培训过 1.8 万人!
  12. idea卡顿的解决方法_《王者荣耀》卡顿及无法下载资源解决方法说明 5周年祈愿活动出错了怎么办...
  13. View Horizon Mirage安装手册(四)——Mirage Management Console安装
  14. 南航考研计算机学院学硕分数,2019南航计算机学硕经验贴
  15. 扇贝python多少钱_扇贝多少钱一斤?扇贝多少钱一斤2017?
  16. PBFT算法源码详解
  17. android 滚动条 惯性,Android ScrollView取消惯性滚动的方法
  18. 360极速浏览器查看保存密码的操作步骤
  19. win10文件夹当作服务器,win10文件夹加密不了怎么办_网站服务器运行维护,win10
  20. 3DMAX建模入门:美国队长的盾牌图文教程,过程炒鸡详细(上)

热门文章

  1. android拖拽排序,DragSortListView:可拖动排序的listview
  2. Word中的阿拉伯数字小技巧(转)
  3. BitLocker的解密
  4. DatePicker和TimePicker
  5. Win10+Ubuntu18.04 亲测UEFI启动模式双硬盘+双系统成功安装经验
  6. 便利贴--13{随鼠标移动的canvas,未完成}
  7. 吉布斯效应(Gibbs)、振铃(ring)现象和块效应(Blocking Artifact)
  8. 关于2.5G网络速率的理解与对应2.5G芯片RTL8156B运用。
  9. 扫描的图片怎样转换成word
  10. 关于提高软件开发知识的建议