ETH的MDC和MDIO接口介绍

资讯 2024-06-20 阅读:113 评论:0
引言 Aurix1G/2G芯片支持以太网功能, ETH与外部的MAC或者PHY之间的接口一般有如下几种, MII, RMII,RGMII, MDC/MDIO, 前几种用于数据传输, 而...
美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

引言

Aurix1G/2G芯片支持以太网功能, ETH与外部的MAC或者PHY之间的接口一般有如下几种, MII, RMII,RGMII, MDC/MDIO, 前几种用于数据传输, 而MDC/MDIO主要用于对PHY的管理, 通过该接口可以实现对PHY内部寄存器的读写和控制, 如下图所示 (图1)

1.png

 

图1 MDC/MDIO接口

1.     MDC/MDIO信号线介绍

MDC是时钟信号, MDIO是双向的数据信号, 有点类似我们的IIC协议.  MDC的时钟最大可设置为2.5MHz. 可通过MAC_MDIO_ADDRESS寄存器来设置.

2.     Clause 22 和Clause 45

Clause 22 和Clause 45是两种不同形式的MDC/MDIO数据协议. 我们一开始在IEEE 802.3里面定义Clause 22. 之后为了10G以太网的需求扩展, 推出了Clause 45, Clause 45在802.3ae的规范标准里面定义.

1)      Clause 22

下图(图2)是Clause22的数据帧格式:

2.png

 

图2 Clause22的数据帧格式

  •  ST: Start Frame, 启动帧. 固定为01B

  • OP: Opcodes, 操作码. Clause22支持两种操作, Read是10B, Write是01B

  • PHYADR: Physical Address, PHY芯片的物理地址. 5个bit, 可以最多挂32个从设备. 很多PHY芯片物理地址的选择都是通过外部硬件的硬件上下拉设定的, 在芯片上电的时候其引脚的电平会被读取到芯片内部进行锁存.

  •  REGADR: Register Address, PHY的寄存器地址. 也是5个bit, 可以支持32个寄存器. 实际上802.3里面对前16个寄存器的内容做了严格规定, 后16个寄存器的内容是芯片厂商自定义的.

  • TA: Turnaround, 转换位.对于写操作是10B, 对于读操作是Z0B. 这个Z0的含义是, 当信号在Z bit之前, 时钟是上升沿采集, 等到最后一个上升沿采集完数据之后, 在该波形的下降沿采集Z bit. 电平由高变低. 之后的一个下降沿设置0 bit, 之后所有的波形下降沿采集, 最后一个波形的下降沿不使用.

  • DATA: 数据位, 16bit的数据读写

 

实际在芯片操作当中, 其实还有前导码的概念, Aurix的1G和2G有32个bit全为1的前导码, 这个不需要我们软件设置, 芯片自己就会产生. 如图3所示

3.png

 

图3 Aurix完整的MDC/MDIO数据帧格式

写操作的数据帧格式如下:

3-1.png

 

读操作的数据帧格式如下

3-2.png

 

2)      Clause 45

下图(图4)是Clause45的数据帧格式

4.png

 

图4 Clause45的数据帧格式

  • ST, Start Frame, 起始帧. 固定为00B

  • OP, Opcode, 操作码, Clause45的操作有四种, 分别是地址帧, 写操作, 读操作, 以及增量读操作

  • PHYADR, 从机的物理地址

  • DEVTYPE, 子模块类型

  • TA, 同Clause

  • ADDRESS/DATA, 表示不同模式下地址或者读写的数据

PS: 需要注意的是, TC2xx的MCU只支持Clause22的数据帧格式, TC3xx支持Clause22和Clause45.

3.     软件实现

有两个比较关键的寄存器, 一个是MAC_MDIO_ADDRESS寄存器, 一个是MAC_MDIO_DATA寄存器.

1)      MAC_MDIO_ADDRESS

3-11.png

 

该寄存器用于配置MDC的时钟, 采用的Clause种类, 整个数据帧TA bit之前的部分,

MDC时钟的配置

3-12.png

 

通过C45E bit来选择Clause的种类

3-13.png

 

Opcode的配置, 通过其中的GOC_0和GOC_1来实现

3-14.JPG

 

 

PHYADD通过PA bit来实现

3-15.png

 

REGADD或者DEVTYPE通过RDA bits来实现

3-16.png

 

GB bit用于表征接口的状态. 当进行写操作的时候, 先见数据写入MAC_MDIO_DATA寄存器, 然后再写ADDRESS寄存器, 并将该位置1. 当进行读操作的时候, 先写ADDRESS寄存器,  该bit同时也置1, 当读到该bit为0的时候, 表示读数据完成.

3-17.png

 

另外一个寄存器就是MAC_MDIO_DATA寄存器,里面的低16位是读写寄存器的数据, 高16bit只适用于Clause45, 为Clause数据帧格式下TA后面的ADDRESS.

3-18.png

 

英飞凌的illd库中包含了软件接口的功能实现, 其代码如下:

Clause22的写操作

clause 22.png

 

Clause22的读操作

clause 22 du.png

 

Clause45的写操作

clause 45 xie.png

 

Clause45的读操作

clause 45du.png

 

此外, 英飞凌提供的MCAL也提供了相应的AutoSAR标准接口供客户使用

TC2xx的读写接口分别是:

  • Eth_17_EthMac_WriteMii

  • Eth_17_EthMac_ReadMii

TC3xx的读写接口分别是:

  • Eth_17_GEthMac_WriteMii

  • Eth_17_GEthMac_ReadMii

PS: 这里也有一个需要注意的是, TC3xx的MCAL的读写接口不支持Clause45, 因为这部分并没有在Auotsar的标准里面做要求.

 

美化布局示例

欧易(OKX)最新版本

【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   全球官网 大陆官网

币安(Binance)最新版本

币安交易所app【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址

火币HTX最新版本

火币老牌交易所【遇到注册下载问题请加文章最下面的客服微信】永久享受返佣20%手续费!

APP下载   官网地址
文字格式和图片示例

注册有任何问题请添加 微信:MVIP619 拉你进入群

弹窗与图片大小一致 文章转载注明

分享:

扫一扫在手机阅读、分享本文

发表评论
平台列表
美化布局示例

欧易(OKX)

  全球官网 大陆官网

币安(Binance)

  官网

火币(HTX)

  官网

Gate.io

  官网

Bitget

  官网

deepcoin

  官网
热门文章
  • 区块链社区有哪些?区块链社区是什么?

    区块链社区有哪些?区块链社区是什么?
    展开全文...
  • 0.00006694个比特币等于多少人民币/美金

    0.00006694个比特币等于多少人民币/美金
    0.00006694比特币等于多少人民币?根据比特币对人民币的最新汇率,0.00006694比特币等于4.53424784美元/32.5436 16人民币。比特币(BTC)美元(USDT)人民币(CNY)0.000066944.53424784【比特币密码】32.82795436 16比特币对人民币的最新汇率为:490408.64 CNY(1比特币=490408.64人民币)(1美元=7.24人民币)(0.00006694USDT=0.0004846456 CNY)汇率更新时...
  • 0.00003374个比特币等于多少人民币/美金

    0.00003374个比特币等于多少人民币/美金
    0.00003374比特币等于多少人民币?根据比特币对人民币的最新汇率,0.00003374比特币等于2.2826 1222美元/16.5261124728人民币。比特币(BTC)美元(USDT)人民币(CNY)0.00003374克洛克-0/22216.5261124728比特币对人民币的最新汇率为:489807.72 CNY(1比特币=489807.72人民币)(1美元=7.24人民币)(0.00003374USDT=0.0002442776 CNY)。汇率更新于2024...
  • 0.00015693个比特币等于多少人民币/美金

    0.00015693个比特币等于多少人民币/美金
    0.000 15693比特币等于多少人民币?根据比特币对人民币的最新汇率,0.000 15693比特币等于10.6 1678529美元/76.86554996人民币。比特币(BTC)【比特币价格翻倍】美元(USDT)人民币(CNY)0.000/克洛克-0/5693【数字货币矿机】10.6 167852976.8655254996比特币对人民币的最新汇率为:489,807.72 CNY(1比特币= 489,807.72人民币)(1美元=7.24人民币)(0.00015693 U...
  • 带你进入一次元宇宙,让你亲身体会如何在元宇宙中抓住自己的机会

    带你进入一次元宇宙,让你亲身体会如何在元宇宙中抓住自己的机会
    元宇宙是个怎样的世界?鑫哥今天带你进入一次元宇宙。今天用最简单明了的语言来解释一下元宇宙,还有如何利用元宇宙实现财富自由。What kind of world is Yuan cosmos? Brother Jin took you into the Yuan cosmos today. Today, explain the Yuan cosmos in the simplest language, and how to use the Yuan cosmos for the...
标签列表