0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ELF 1技术贴|开发板网口功能讲解

ElfBoard 2024-02-26 14:26 次阅读

在当前的嵌入式系统设计趋势中,MAC功能普遍被整合至CPU内核,形成一种高度集成的网络功能模块。与此同时,PHY芯片作为独立器件,专注于应对物理层错综复杂的电气特性和信号转换需求。为了确保PHY芯片能够在所需的各种网络模式和参数设定下精确运作,业界广泛采用了MDIO(Management Data Input/Output)管理总线进行配置和调控。通过MDIO总线接口,开发工程师能够深入访问并灵活调整PHY芯片内部的寄存器设置,进而实现实时的自适应速率调整、全双工与半双工模式切换等多种关键功能。

针对ELF 1开发板的具体架构,其PHY芯片与内置MAC控制器间的数据传输互动是借助RMII(Reduced Media Independent Interface)高效接口技术来完成的。RMII标准因其精简的引脚数量和高效的传输速率,显著减少了电路板布局的复杂度,节约了系统硬件资源,并提升了以太网数据的传输速度。得益于这一接口技术,ELF 1开发板成功地实现了从物理层到数据链路层的平滑过渡和完美融合,从而有力支持了基于TCP/IP协议栈的各类应用程序在嵌入式环境中的稳定高效运行。

了解MDIO总线

MDC是开漏(OD)输出,只能输出低电平,因此需要上拉处理,为MDIO提供时钟信号;MDIO管理接口数据传输格式及含义如下表所示:

wKgZomXcImCAfylYAAVuHixGzVI298.png

需要注意的是,TA在读操作和写操作两种状态下数据位不同,TA是介于寄存器地址和寄存器数据之间的2个bit位,用来转换数据传输方向。读操作时,地址传输和数据传输控制方不同,设置2bit TA的目的就是为了防止MDIO总线上产生竞争。TA的第1位z,PHY和MAC均释放总线控制输出高阻,且后面MAC一直保持高阻态状态,第2位0由PHY提供。第2位相当于一个应答信号,如果第2位为高电平,PHY无应答。除此之外,Idle为空闲状态,此时MDIO无源驱动,处高阻状态,但一般用上拉电阻使其处在高电平。

wKgZomXcIoSAZmpZAAJ9BdZvIX0266.png

关于网络信号模式

常见网络信号模式包含:MII、RMII、GMII、RGMII、SGMII。每种模式包含的信号线数量和控制线数量各不相同,通讯速度也不相同:MII、RMII为百兆网络,GMII、RGMII、SGMII为千兆网络,区别和关系参考表以下图表。

wKgaomXcLaaAJPT6AAIurxwsrb4954.png

网络变压器

ELF 1开发板使用的RJ45内部集成了网络变压器,其4、5脚位中心抽头引脚,该引脚有两种接法:电流型,中心抽头直接接电源;电压型,中心抽头通过100nF电容接地(ELF 1开发板的接法,引脚4、5接100nF电容C87和C88)。实际使用中需要如何处理中心抽头需要根据PHY芯片的驱动类型确定。

PHY芯片电路原理说明

ELF 1开发板最多支持两路百兆网口,底板和扩展板上各一路。开发板使用两个KSZ8081RNB型号的PHY芯片实现网络通信,KSZ8081RNB是通过MDIO总线挂载到EL开发板上,MDIO总线对应芯片的11、12引脚主要负责通过配置PHY芯片KSZ8081RNB的寄存器控制PHY芯片的网口速率、网口双工模式、自协商使能等功能。KSZ8081RNB的数据接口是通过RMII和开发板连接,并传输网络数据的。

ENET_PHYAD0、ENET_PHYAD1和ENET_RXD1在芯片上电复位时会锁存一个电平状态作为芯片的PHY地址,在芯片上电后,其数据被锁存到相应寄存器中,而后恢复芯片的默认功能,不会影响通信。由于该款芯片有三条地址线,因此理论上同一块板卡最多可以挂载7颗(001—111。000作为广播地址,是不可以被使用的)。

ENET_CRS_DV、ENET_CFG1、ENET_CFG0是芯片接口模式选择, ELF 1开发板设置为100。

wKgaomXcLe-Aa-K4AB6A6OV1dbw335.png底板网口原理图

wKgaomXcLgWAD-R5ABW7Le8dRd4141.png扩展板网口原理图

网口电路设计指南

(1)ELF 1开发板可支持两路百兆网。

(2)设计网口电路时8081的10号引脚必须连接6.49K_%1精度的电阻,否则可能会影响网口正常工作出现芯片无法挂载、网口不Link等问题。

(3)MDIO以及RMII接口的引脚要注意电平匹配,核心板为3.3V电平。

(4)MDIO总线上需要加上拉电阻,阻值可以根据实际情况调整。

网口PCB设计指南

(1)MDIO总线上挂载多个PHY芯片时,使用串联方式,不要分叉布线。

(2)RGMII接口分为发送信号,接收信号和控制信号,各组阻抗控制在50Ω±10%。

(3)发送信号和接收信号,布线长度不超过100mm,组内信号长度误差不超过2.54mm。

(4)时钟预留对地电容,方便后期调试。

(5)MDI接口采用差分布线,阻抗100Ω±10%。

(6)MDI组内差分误差不超过0.12mm。

(7)芯片内部DCDC连接的功率电感要靠近芯片保证回路最短,并且保证地回路的完整。

(8)数据线上预留的串联电阻需要靠近源端放置。

(9)保护器件建议放置在变压器内侧,在变压器和PHY之间,靠近变压器。

(10)供电部分要考虑电流的大小,线宽尽量宽一点。要有足够的载流能力,滤波电容的位置尽量靠近芯片。

(11)网口 RJ45 在布线时要注意进行隔离地。

网口问题排查思路

在遇到网口问题时排查网口问题首先要明确问题点,网口不通的情况下首先要看 PHY 有没有成功挂载上,可通过是否可以启动网卡来判断,如果根本看不到设备节点或者在输入启动网卡的命令后报错,找不到 PHY 芯片说明 PHY 芯片没有成功挂载。如果可以正常启动网卡说明 PHY 可以成功挂载。


如果 PHY 没挂载上排查思路如下:

(1)首先看是否有缺件、少件,原件焊接错误的情况,PHY 芯片焊接是否过关等。

(2)检查各路供电是否正常,电源是否稳定,是否有明显压降、跌坑现象。滤波电容容量是否达标。

(3)检查复位电路是否有复位动作,复位后是否可以正常抬起复位信号,复位信号低电平的维持时间是否满足 PHY 的要求。

(4)检查芯片的时钟频率、幅值、以及信号质量是否满足手册要求。不同类型的时钟输入方式原理是否正确。

(5)检查 PHY 芯片的地址、模式、电平配置等参数设置的上下拉电阻是否正常。

(6)检查 MDIO 总线的波形幅值、斜率、是否正常,振铃是否严重,是否有下降沿压降不到0的现象,在 MDC 的上升沿来临时 MDIO 的电平维持时间是否满足硬件资料里网口芯片手册要求等问题。


先将芯片成功挂载后再看网口通不通。如果经过以上检测排查成功将 PHY 芯片挂载但是网口还是不通,那就需要继续检查数据接口部分。根据不同接口的规定来对数据接口的总线进行检查。

(1)按照具体的接口形式检查数据线连接是否正确,在使用MII,RMII,GMII,RGMII时的线序,检查参考时钟波形是否正常。

(2)检查网络变压器的中心抽头的接法是否与PHY 规定的网络变压器的驱动类型相对应。

以上就是对ELF 1开发板网口组件中的几个核心概念做了讲解。然而,“实践出真知”,我们诚挚建议各位小伙伴在理论学习之余,更要亲自进行实践操作,如测试、故障排查等,以便深入理解和掌握网口模块的内在机制。唯有亲手实践,才能使知识领悟更为深刻全面。

倘若在嵌入式学习探索过程中遇到任何疑问或难题,欢迎各位小伙伴与ElfBoard的技术支持团队进沟通交流。我们坚信,通过共同探讨与分享,定能助力您的嵌入式学习之路更上一层楼,一同见证彼此的进步与发展。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4982

    文章

    18281

    浏览量

    288444
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206735
  • 开发板
    +关注

    关注

    25

    文章

    4429

    浏览量

    93993
收藏 人收藏

    评论

    相关推荐

    ELF 1技术贴|在NXP源码基础上适配开发板的按键功能

    ELF1开发板。接下来,我们将详细阐述适配过程中关于按键功能实现的完整步骤。值得一提的是,ELF1开发板上预置了标识为K1、K2、K3的三
    的头像 发表于 03-08 16:58 630次阅读
    <b class='flag-5'>ELF</b> 1<b class='flag-5'>技术</b>贴|在NXP源码基础上适配<b class='flag-5'>开发板</b>的按键<b class='flag-5'>功能</b>

    ElfBoard ELF 1开发板-putty保存日志的方法

    ELF 1开发板有串口登录和网络登录两种方式,具体方法参考《01-0 ELF1ELF1S开发板
    发表于 02-29 17:04

    飞凌ElfBoard ELF 1板卡-如何在ELF 1开发板上实现对java的支持

    Java作为一种功能强大且广泛应用的编程语言,具有广泛的适应性和实用性。在ELF 1开发板上集成Java支持,无疑将赋予嵌入式开发者更广阔的
    发表于 03-20 09:51

    【Combat FPGA开发板】基于FPGA的设计——MAC协议的开发

    。课程资料包含设计例程和丰富的MAC协议相关资料。 本视频教程利用Combat开发板进行讲解,视频课程注重基础知识和设计思路的讲解,帮助大家快速了解如何实现FPGA的
    发表于 05-06 15:08

    【Milk-V Duo 开发板免费体验】扩展板设计,功能测试

    开发板虽说小巧,但功能也是有限的,只能通过排针来扩展,有一些不方便,而且也 好扩展,就设计了一个扩展板。 扩展板尽量体积小一些,手头上只有HR911105A的
    发表于 07-28 14:50

    ELF 1开发板试用】+ 一款高效的学习开发工具

    ELF 1开发套件是一款面向学习者的开发板,它有丰富的学习资源,为使用者提供了一套便捷之路,从中可获得一个系统的学习机会,这是通常开发板所不
    发表于 11-20 19:26

    ELF 1开发板试用】1.开箱验货

    。 打开纸盒子,引入眼帘的是 ELF1 开发板,一张纪念卡,一份开箱必读说明书。ELF1 开发板的标准配件包里有:一字螺丝刀、尼龙柱、Type-C转接线、10P杜邦线和网线。 就拿 T
    发表于 11-21 14:20

    ELF 1开发板试用】+常用接口功能测试

    时间 设置系统时间到 RTC 芯片,再读取 RTC时间的操作如图8所示: 图8 更新RTC时间 3.温度检测 ELF1 开发板提供CPU的结温测试功能,其检测操作如图9所示。 图9温度检测 其中
    发表于 11-21 23:57

    ELF 1开发板试用】板载资源测试1:点亮LED灯

    嵌入式电路最大的不同就是其有着功能强大的操作系统和丰富的板载资源。因为面临的对象是初学者,所以我这里是从最基础的测试开始,以下是测试过程记录。一、实验名称ELF 1
    发表于 12-13 23:01

    ELF 1开发板试用】板载资源测试2:体验六轴传感器

    USB、LED等电路基础知识。3、知晓Linux常用的基本命令。四、实验设备和工具1、PC机/笔记本电脑1台,安装并配置好飞凌嵌入式ELF1开发板
    发表于 12-15 00:02

    ELF 1开发板试用】板载资源测试4:体验温湿度传感器

    、实验目的1、熟悉ELF 1开发板基本操作。2、熟悉ELF 1
    发表于 12-18 11:09

    Oracle如何实现外部调用功能讲解

    Oracle如何实现外部调用功能讲解(直流稳压电源技术参数)-该文档为Oracle如何实现外部调用功能讲解文档,是一份不错的参考文档,感兴趣的可以看看,,,,,,,,,
    发表于 09-28 13:46 10次下载
    Oracle如何实现外部调用<b class='flag-5'>功能讲解</b>

    鸿蒙官方开发板功能讲解

    直播亮点  鸿蒙官方开发板功能讲解,不同设备的硬件和软件差异比较。 直播大纲   1、hi3518板子功能介绍及应用领域; 2、操作系统liteos-a与lite-m,linux差别
    的头像 发表于 11-21 09:33 2356次阅读
    鸿蒙官方<b class='flag-5'>开发板</b><b class='flag-5'>功能讲解</b>

    鸿蒙官方开发板功能讲解介绍

    鸿蒙官方开发板功能讲解,不同设备的硬件和软件差异比较。
    的头像 发表于 12-01 17:58 4082次阅读

    ELF技术贴|如何在开发板上实现对Java的支持

    Java作为一种功能强大且广泛应用的编程语言,具有广泛的适应性和实用性。在ELF1开发板上集成Java支持,无疑将赋予嵌入式开发者更广阔的选择空间,今天就为各位小伙伴详细解析如何在
    的头像 发表于 03-13 16:47 175次阅读
    <b class='flag-5'>ELF</b><b class='flag-5'>技术</b>贴|如何在<b class='flag-5'>开发板</b>上实现对Java的支持