首页 > 编程语言 >stm32 DM9162 网络编程实现

stm32 DM9162 网络编程实现

时间:2023-06-12 12:11:21浏览次数:47  
标签:MII RMII CLK 编程 RX stm32 PHY DM9162 时钟

 

  • TX_CLK:数据发送时钟线。标称速率为 10Mbit/s 时为 2.5MHz;速率为 100Mbit/s 时为 25MHz。 RMII 接口没有该线。

  • RX_CLK:数据接收时钟线。标称速率为 10Mbit/s 时为 2.5MHz;速率为 100Mbit/s 时为 25MHz。 RMII 接口没有该线。

  • TX_EN:数据发送使能。在整个数据发送过程保存有效电平。

  • TXD[3:0]或 TXD[1:0]:数据发送数据线。对于 MII 有 4 位, RMII 只有 2 位。只有在TX_EN 处于有效电平数据线才有效。

  • CRS:载波侦听信号,由 PHY 芯片负责驱动,当发送或接收介质处于非空闲状态时使能该信号。在全双工模式该信号线无效。

  • COL:冲突检测信号,由 PHY 芯片负责驱动,检测到介质上存在冲突后该线被使能,并且保持至冲突解除。在全双工模式该信号线无效。

  • RXD[3:0]或 RXD[1:0]:数据接收数据线,由 PHY 芯片负责驱动。对于 MII 有 4 位,RMII 只有 2 位。在 MII 模式,当 RX_DV 禁止、 RX_ER 使能时,特定的 RXD[3:0]值用于传输来自 PHY 的特定信息。

  • RX_DV:接收数据有效信号,功能类似 TX_EN,只不过用于数据接收,由 PHY 芯片负责驱动。对于 RMII 接口,是把 CRS 和 RX_DV 整合成 CRS_DV 信号线,当介质处于不同状态时会自切换该信号状态。

  • RX_ER:接收错误信号线,由 PHY 驱动,向 MAC 控制器报告在帧某处检测到错误。

  • REF_CLK:仅用于 RMII 接口,由外部时钟源提供 50MHz 参考时钟。因为要达到 100Mbit/s 传输速度, MII 和 RMII 数据线数量不同,使用 MII 和 RMII 在时钟线的设计是完全不同的。对于 MII 接口,一般是外部为 PHY 提供 25MHz 时钟源,再由 PHY 提供 TX_CLK 和 RX_CLK 时钟。对于 RMII 接口,一般需要外部直接提供 50MHz时钟源,同时接入 MAC 和 PHY。

 

 

参考链接:

https://doc.embedfire.com/net/lwip/zh/latest/doc/chapter3/chapter3.html

标签:MII,RMII,CLK,编程,RX,stm32,PHY,DM9162,时钟
From: https://www.cnblogs.com/hzijone/p/17474682.html

相关文章

  • 还没有一个人能够把并发编程讲解的这么透彻
    ●Synchronization的底层实现概述 Java虚拟机的同步(Synchronized)是基于进入和退出管理对象(monitor)实现的。同步方法并不是由monitorenter和monitorexit指令来实现同步的,而是由方法调用指令读取运行时常量池中的方法的ACC_SYNCHRONIZED标志来隐式实现的。 注:monitorenter和m......
  • stm32 74HC4051 编程实现
    4个引脚,具有8通道模拟/数字多路复用器(MUX)功能 通过对S0、S1、S2置对应值,选择对应通道 再配置对应的PA6UI1-8对应的1个引脚为ADC方式   参考链接:https://controllerstech.com/multiplexer-74hc4051-and-stm32/......
  • 实验6 turtle绘图与python库应用编程体验
    实验任务1task1-11fromturtleimport*2defmove(x,y):3penup()4goto(x,y)5pendown()6defdraw(n,size=100):7foriinrange(n):8fd(size)9left(360/n)10defmain():11pensize(2)12pencolor(......
  • 编程名词
    .NETCLI:命令行接口(CLI)工具,用于开发,生成,运行和发布.NET应用程序的跨平台工具链。.NETSDK:用于开发、生成和测试应用的工具、库和运行时集。.NETCLR(运行时):用于运行应用程序的运行时和库集。IL:中间语言,是一种紧凑型的代码格式,可在任何操作系统或体系结构收到支持。......
  • 实验7 面向对象编程与内置模块
    实验任务1:实验源码:1classAccount:2"""一个模拟银行账户的简单类"""34def__init__(self,name,account_number,initial_amount=10):5"""构造新账户"""6self._name=name7......
  • 实验6 turtle绘图与python库应用编程体验
    task1-1源代码1fromturtleimport*23defmove(x,y):4'''画笔移动到坐标(x,y)处'''5penup()6goto(x,y)7pendown()89defdraw(n,size=100):10'''绘制边长为size的正n变形'''1......
  • C语言编程—递归
    递归指的是在函数的定义中使用函数自身的方法。举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?'从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……'"语......
  • 实验7 面向对象编程与内置模块
    实验1task1.py实验源码:classAccount:'''一个模拟银行账户的简单类'''def__init__(self,name,account_number,initial_amount=10):'''构造新账户'''self._name=nameself._card_no=......
  • 实验6 turtle绘图与Python库应用编程体验
    task1-1.py实验源码:fromturtleimport*defmove(x,y):penup()goto(x,y)pendown()defdraw(n,size=100):foriinrange(n):fd(size)left(360/n)defmain():pensize(2)pencolor('red')move(-200,0)......
  • NOI / 1.9编程基础之顺序查找
    06:笨小猴描述笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-mi......