网口芯片DP83848I学习-程序员宅基地

技术标签: 学习  stm32  网络  嵌入式硬件  单片机  

  1. 手册

  2. 本文只介绍RMII模式及相关引脚

管理数据时钟MDC:接入上限为25M无下限的是时钟(接入单片机提供)

管理数据IOMDIO:需要1.5K的上拉(也是接入单片机)


RMII传输使能:高输入表示TXD上存在有效数据[1:0] (单片机控制)


RMII传输数据:传输数据RMII输入引脚,TXD[1:0],接收与50MHz参考时钟同步的数据。(只接1,0引脚,另一种模式全接)


RMII同步接收数据有效:此信号提供RMII接收数据有效指示独立于载波检测。(电路接的上拉2.1k电阻)


在MII或RMII中,MAC不需要使用此引脚模式,因为需要Phy在接收到错误数据时损坏数据。(如果单片机模式有该引脚接单片机,如果没有可不接,也可接随意引脚设置输入模式)


MII接收数据:2位接收数据信号,RXD[1:0],与X1时钟同步驱动,50 MHz。和TX类似。接0、1。33欧姆电阻串联。


RMII载波检测/接收数据有效:该信号结合了RMII载波和接收数据有效指示。有关此信号的详细描述,请参阅RMII规范。 接单片机CRS_DV,


RMII碰撞检测:根据RMII规范,不需要COL信号。MAC将从CRS_DV信号中恢复CRS,并将其与TX_EN信号一起用来确定碰撞/冲突(不需要连接)。


X1:MII参考时钟:此引脚是RMII模式的主时钟参考输入,必须连接到50 MHz 0.005%(+50 ppm)CMOS电平振荡器源。(接50M时钟)

X2:如果使用外部CMOS振荡器时钟源,则此引脚必须保持未连接。


在RMII模式下,该引脚向系统提供50 MHz时钟输出。(不接)


连接LED:在模式1中,此引脚指示链接的状态。链路正常时,LED将点亮。

速度指示灯:当设备处于100 Mb/s时,指示灯亮起,当设备处于10 Mb/s时指示灯熄灭。此LED的功能与所选模式无关。

活动指示灯:在模式1中,此引脚是活动指示灯,当发送或接收上存在活动时,该指示灯点亮。

连接指示灯和活动指示灯接RJ45接口,速度指示灯接LED可观察是否为100M。

JTAG测试引脚,正常不使用,引脚内部拉力较弱


第一个为复位引脚,接单片机任意IO控制,至少1us低电平可使其复位。

PWR——DOWN/INT引脚的默认功能为POWER DOWN(电源关闭)。

POWER DOWN(断电):在该模式下,引脚是一个有效的低输入,应该被断言为低,以将设备置于POWER DOWN(断电)模式。

中断:该引脚在此模式下为漏极开路输出,当出现中断条件时,该引脚将被断言为低电平。尽管引脚具有微弱的内部上拉,但某些应用可能需要外部上拉电阻器。将引脚用作中断机制需要寄存器访问。

一般不使用断电模式,接4.7k上拉AND单片机IO,设置为外部中断模式。


DP83848I提供五个PHY地址引脚,其状态在系统硬件复位时锁存到PHYCTRL寄存器中。

DP83848I支持PHY地址绑定值0(<00000>)到31(<11111>)。PHY地址为0将部件置于MII隔离模式。MII隔离模式必须通过绑定物理地址0来选择;通过寄存器写入更改为地址0不会将Phy置于MII隔离模式。更多信息请参考第2.3节。

PHYAD0引脚具有微弱的内部上拉电阻。

PHYAD[4:1]引脚具有较弱的内部下拉电阻。


差分公共驱动器传输输出(PMD输出对)。这些差分输出自动配置为10BASE-T或100BASE-TX信令。

在自动MDIX操作模式下,该对可以用作接收输入对。

这些引脚需要3.3V偏压才能工作。


功率反馈输出:接10µF(首选钽)和0.1µF,应靠近PFBOUT放置。将此引脚连接到PFBIN1(引脚18)和PFBIN2(引脚37)。

功率反馈输入:这些引脚由PFBOUT引脚供电。每个引脚附近应连接一个0.1µF的小电容器。

其他配置

缺省a地址配置

DP83848可设置32个地址值,由上电时5个引脚的状态决定,如下表所示。可看到,如果不在此5个引脚的外部接上拉或下拉电阻,则PHYAD0为内部上拉,其余引脚为内部下拉,所以物理地址
1

速度与双工模式的选择


可按下表确定,上电时,速度与双工模式的选择,实际上可不关心此选项,因为速度与双工模式,都可通过软件进行设置。

2

MIIRMII模式选择


可通过MII_MODESNI_MODE引脚进行,模式选择,如果希望运行在RMII模式,则39脚需置高,6脚需置低。39脚和6脚均有内部下拉电路,脚所以将39外部2.2K上拉,即可以让芯片工作在RMII_MODE

以太网的速率在100Mb/s时,MAC和PHY的交互接口就直接叫MII。对于MAC发送数据的MII,主要由TX_CLK、TXD[3:0]、TX_EN这几个信号线组成。数据信号TXD[3:0]、TX_EN在时钟下降沿变化,在时钟的上升沿时被PHY芯片有效读取。
MAC接收数据的MII也跟发送的一样,只不过方向反了过来。MAC接收数据的MII主要由RX_CLK、RXD[3:0]、RX_DV、RX_ER这几个信号构成。数据是由PHY发送出来,RX_CLK下降沿时信号RX_CLK、RXD[3:0]、RX_DV、RX_ER变化,RX_CLK上升沿时MAC有效接收到数据。
RMII发送数据时MAC发送的数据和控制信号在时钟的高低电平中心变化,在时钟上升、下降沿被PHY有效读取。而且数据线跟MII相比,还少了一半,变成了TXD[1:0]。

跟MII相比,RMII的数据线少了一半,数据和控制信号在时钟的高低电平中心变化,在时钟的上升、下降沿被有效读取。 

具体可以看看这篇文章MII、RMII、GMII、RGMII接口详解及硬件设计注意事项_流年過客的博客-程序员宅基地

  1. 交叉线-直连线自动转换


按照下表所示,不加下拉电阻,则自动开启交叉线-直连线自动转换

  1. 源回馈电路


电源回馈电路的设计方法如下图所示,电容要贴近引

差分对接口电路设计


RMIICRS_DV应接DP838348RX_DV引脚还是接CRS_DV引脚: 

按常理理解应接CRS_DV引脚,但ST公司的DEMO电路板却接的是RX_DV,网上有一段描述,当作参考:终于搞明白了,如果RMII模式下设置全双工通讯,规范中是不用CRS信号的,因此直接用RX_DV比使用CRS_DV简单(不用从CRS_DVTX_EN信号中恢复CRS信号)。当工作在半双工方式时,RMII需要CRS信号,因此必须使用CRS_DV信号而不能仅连RX_DV管脚;因此如果我们仅使用全双工工作,可连RX_DV管脚(那PIN39)但是如果想即支持全双工又支持半双工,那么一定要连83848CRS_DV管脚(即PIN40)。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/soul__master/article/details/129668767

智能推荐

深度学习哪家强?吴恩达、Udacity和Fast.ai_ai 深度学习-程序员宅基地

文章浏览阅读1.3w次,点赞4次,收藏26次。原文:http://blog.csdn.net/wemedia/details.html?id=43211深度学习哪家强?吴恩达、Udacity和Fast.ai的课程我们替你分析好了原2017.08.20AI科技大本营翻译 | AI科技大本营(rgznai100)参与 | reason_W 引言_ai 深度学习

Matlab小波包分解后如何求各频带信号的能量值?_小波包能量的matlab代码-程序员宅基地

文章浏览阅读5.8k次。异步赠书:Kotlin领衔10本好书 SDCC 2017之区块链技术实战线上峰会 程序员9月书讯 每周荐书:Java Web、Python极客编程(评论送书) window.quickReplyflag = true; var isBole = false; var fasrc="htt_小波包能量的matlab代码

基于openstack安装部署私有云详细图文教程_openstack云平台搭建 最新-程序员宅基地

文章浏览阅读563次,点赞3次,收藏9次。基于openstack安装部署私有云详细图文教程 本文中作者通过自身基于OpenStack搭建私有云平台的实战经验,对OpenStack实施私有云落地的需求进行梳理,综合产生个人的观点和评价并和读者分享。本文主要分享的是云计算、openstack的使用、私有云平台建设、云服务器云硬盘的构建和使用。从基本概念入手到私有云建设,信息量非常大。对于openstack的安装部署都是从..._openstack云平台搭建 最新

vue实现每隔几秒请求一次接口,实现数据更新_vue中每两秒调用一次接口-程序员宅基地

文章浏览阅读1.2w次,点赞2次,收藏37次。项目中我们经常需要实现轮询-每隔几秒请求一次接口实现数据更新1:一般都会使用setInterval,但要注意单纯使用它会导致页面卡死方法1:new Vue({ el: '#app', data: {}, created: function() { var that = this; // setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加 \ window.setInterval(() =_vue中每两秒调用一次接口

高斯数据库错误参考代码GAUSS-51100——GAUSS-51236_[gauss-50236] : the 192.168.40.130 does not exist -程序员宅基地

文章浏览阅读7.5k次,点赞3次,收藏12次。GAUSS-51100:"Failed to verify SSH trust on these nodes: %s."SQLSTATE: 无错误原因:在各节点上核实SSH互信失败。解决办法:检查确保各节点互信必须创建。GAUSS-51101:"SSH exception: \n%s."SQLSTATE: 无错误原因:远程连接异常。解决办法:检查确保网络连接必须正常;检查确保远程机器的IP及登录用户和密码必须正确。GAUSS-51102:"Failed to exch_[gauss-50236] : the 192.168.40.130 does not exist or the permission on the u

彩色成像的基础和应用 原理 Principles(一)_彩色成像意义-程序员宅基地

文章浏览阅读149次。彩色成像的基础和应用 目录_彩色成像意义

随便推点

【报错集锦】yolov8报错ModuleNotFoundError: No module named ‘ultralytics‘_modulenotfounderror: no module named 'ultralytics-程序员宅基地

文章浏览阅读1.2w次,点赞12次,收藏21次。yolov8遇到报错_modulenotfounderror: no module named 'ultralytics

【LeetCode刷题笔记(8-3)】【Python】【接雨水】【双指针】【困难】-程序员宅基地

文章浏览阅读961次,点赞20次,收藏24次。LeetCode刷题笔记;算法题:接雨水;核心思想是利用双指针在O(1)空间复杂度下解决【接雨水】问题。【双指针】【python】【困难】

YOLO8实战:yolov8实现行人跟踪计数_yolov8人流量计算-程序员宅基地

文章浏览阅读3.3k次,点赞12次,收藏56次。行人跟踪统计是智能监控系统中的重要功能,可以广泛应用于人流控制、安全监控等领域。传统的行人跟踪算法往往受到光照、遮挡等因素的干扰,难以实现准确跟踪。随着深度学习技术的发展,目标检测模型逐渐成为行人跟踪的主流方案。本文介绍使用YOLOv8目标检测模型实现行人跟踪统计的方法。_yolov8人流量计算

Idea导入的项目不能运行_idea 跑不起来是什么原因-程序员宅基地

文章浏览阅读5w次,点赞69次,收藏277次。Idea导入的项目不能运行Idea导入的项目不能运行Idea导入的项目不能运行其实这个错误是因为没有设置output的路径,只要修改两个地方的设置就可以了:在Modules设置里勾选”Inherit project compile path”2. 设置Project中的”Project compiler output” 选择”Project的路径”+”\out”,比如说我的就是 如..._idea 跑不起来是什么原因

计算机网络——数据链路层_为什么链路层不采用csma/ca-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。计算机网络——数据链路层_为什么链路层不采用csma/ca

algorithm头文件下的常用函数_algorithm的那个取值-程序员宅基地

文章浏览阅读213次。//头文件#include<algorithm>max();min();abs();swap();//可以交换结构体reverse();//reverse(a,a+n)注意取值[);将数组进行反转可以操作结构体fill();//fill(a,a+n,num);sort();..._algorithm的那个取值

推荐文章

热门文章

相关标签