ETH的MDC和MDIO接口介绍

资讯 2024-06-20 阅读:72 评论: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...
  • 2018-5-31币圈简报

    2018-5-31币圈简报
    一、要闻资讯类I. KEY INFORMATION CATEGORY1、央视:数字货币在京揭牌成立!中国或为此突变!1. View: Digital currency is established in Kyoto! China or mutated for it!中国数字货币来了˂a href="https://mp.weixin.qq.com/s/69fxKCf8GKSCscS4lT8WCA" Target="_blank"rel="noformlow"" Chinese...
标签列表