管理接口状态机分析(三)
1. (RESET_MAC_RX)对核操作
对地址(0x404)写入32'h90000000;//bit 28:Receiver Enable **** bit31:rest
2. (RESET_MAC_TX)对核操作
对地址(0x408)写入32'h90000000;//bit 28:Receiver Enable **** bit31:rest
3. (CNFG_MDIO)对核操作
配置管理寄存器,对地址(500)写入“68”。使能MDIO及配置其速率。
4. (CNFG_FLOW)
配置管理寄存器,对地址(40C)写入“0”。这是流控制配置字。
5. (CNFG_FILTER)
“design_on_board”是个标志位,由(4)来决定的,如果没有管理接口则为0
这里我们设置为1,故将核心设置为混杂模式。对地址“708”写入1
混杂模式:如果此位设置为1,则帧过滤器将设置为混杂模式。无论目标地址如何,所有帧都将传递到接收方客户端。
6. (CNFG_FRM_FILTER_1)
配置管理寄存器,对地址(701)写入“32'h040302DA”。
7. (CNFG_FRM_FILTER_MASK_1)
配置管理寄存器,对地址(750)写入“32' hFFFFFFFF“。帧过滤器掩码值
8. (CNFG_FRM_FILTER_2)
配置管理寄存器,对地址(714)写入“32' h025A0605 “。帧过滤器相关
9. (CNFG_FRM_FILTER_MASK_2)
配置管理寄存器,对地址(754)写入“32' hFFFFFFFF“。帧过滤器相关
10. (CNFG_FRM_FILTER_3)
配置管理寄存器,对地址(758)写入“32'h06050403“。帧过滤器相关
11. (CNFG_FRM_FILTER_MASK_3)
配置管理寄存器,对地址(750)写入“32' hFFFFFFFF“。帧过滤器相关
12. (CHECK_SPEED)
如果收到“update_speed_reg”信号后进入“(2)UPDATE_SPEED”状态更新以太网速率。
“serial_command”这个先不考虑,大致流程是搞懂了
通过管理接口访问MDIO接口完全是寄存器映射。表2-37显示了MDIO寄存器列表。有关详细信息,请参阅MDIO接口。仅当使用可选MDIO接口生成内核时,这些寄存器才可用。
表4.1 MDIO配置寄存器释义
映射地址为0x500,设定 | |||
位 | 默认值 | 类型 | 描述 |
31:7 | N/A | Ro | 保留 |
6 | 0 | R/W | MDIO启用: 此位为1时,MDIO接口可用于访问连接的PHY设备。 该位为0时,MDIO接口被禁用,MDIO信号保持无效。 只有将Clock Divide设置为非零值时,才允许写入该位。 |
5:0 | 0 | R/W | 这个是配置mdc频率的,规范要求mdc频率不能大于2.5M,为了防止超出规范,Clock Divide值默认为0,也就不启用。 例如例子,s_axi_aclk=100M,Clock Divide为24,mdc = 2M
|
映射地址为0x504,Mido的控制字 | |||
位 | 默认值 | 类型 | 描述 |
31:29 | N/A | Ro | 保留 |
28:24 | 0 | R/W | TX_PHYAD:这可以控制正在访问的PHY地址。 |
23:21 | N/A | Ro | 保留 |
20:16 | 0 | R/W | TX_REGAD:它控制被访问的寄存器地址。 |
15:14 | 0 | R/W | TX_OP:该字段控制写入1以启动时执行的访问类型。 01写访问 10读访问 |
13:12 | N/A | Ro | 保留 |
11 | 0 | WO | 启动:向此位写入1将启动MDIO传输 |
10:8 | N/A | Ro | 保留 |
7 | 0 | RO | MDIO就绪:设置后,MDIO已启用并准备好进行新传输。这也用于识别先前的事务何时完成(例如,读取数据有效)。 |
6:0 | N/A | Ro | 保留 |
映射地址为0x508,Mido的写数据 | |||
31:16 | N/A | Ro | 保留 |
15:0 | 0 | R/W | 写数据 |
映射地址为0x50C,Mido的读数据 | |||
31:17 | N/A | RO | 保留 |
16 | 0 | RO | MDIO Ready:这是MDIO控制字的位[7]的副本 |
15:0 | 0 | RO | 读数据 |
映射地址为0x410,MAC波特率的配置 | |||
31:30 | 10 | R/W | MAC的速率配置 00:10Mb/s 01:100Mb/s 10:1Gb/s 当为1Gb/s或2.5Gb/s的速度支持生成TEMAC解决方案时,位[31:30]被硬编码为值10。 当生成TEMAC解决方案以支持10Mb/s和100Mb/s的速度时,位[31:30]仅接受值00来配置10Mb/s的操作,或者接受01来配置100Mb/s的操作 操作。 |
29:0 | N/A | RO | 读数据 |
快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~
有建议、有需求、有疑问、联系我