芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 2455|回复: 0

RTL8211EG-VB芯片自动协商时协商为百兆或十兆的原因

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 425

    主题

    785

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15867
    QQ
    发表于 2023-5-15 22:11:56 | 显示全部楼层 |阅读模式



    在RTL8211EG-VB的手册中,说明了其各个IO在不同阶段,可能复用为不同的功能。手册以字母组合来指示该IO的各种属性,
    I: Input
    LI: Latched Input During Power up or Reset
    O: Output
    IO: Bi-Directional Input and Output
    P: Power
    PD: Internal Pull Down During Power On Reset
    PU: Internal Pull Up During Power OnReset
    OD: Open Drain
    G: Ground

    如下图所示
    GM0COTVCS{_QCFHLIG(]TKX.png




    而对于RX_ER的管脚,其管脚属性为O/LI/PU,也就是默认作为输出,上电时该引脚的值会被锁存。同时该IO内部有上拉电阻。所以该管脚上电默认应该为高电平。如下图所示。
    ~8]TGMZ0~QHN3B82I)LCIOL.png


    对于RX_ERR管脚,手册里说了,其复用为AN[1]脚,当该脚和AN[0](RXD7的复用功能)电平组合为
    AN[1:0] = 11:,自动协商到最优速率
    AN[1:0] = 01:,在100M半双工和10M全双工之间协商一个最优速率
    如下图所示。(pdf第25页,手册页码第16页)
    ]6%{45CPF_6QCT8@)AV8`DU.png

    所以,如果不给RX_ERR一个确定的管脚,该信号又接到了FPGA上,就有可能复位上电时,该管脚被FPGA的管脚拉到低电平,导致最终无法协商为千兆速率。

    解决方法,在程序中添加一个input类型的RX_ERR端口并分配正确的IO,避免FPGA随意分配错误的信号到该管脚上,以避免此问题。

    当然,部分用户会发现,我们在vivado的工程的xdc管脚约束文件中,加入了下面这句话,也同样可以用。
    1.   set_property BITSTREAM.CONFIG.UNUSEDPIN Pullnone [current_design]  
    复制代码


    这是因为,pullnone意思是悬空,意思就是让FPGA对没有使用的管脚不做任何上下拉处理。由于RX_ERR这个管脚在phy内部是上拉,所以只要fpga不去下拉就不会有问题,不加pullnone,fpga默认可能应该是pulldown

    具体大家可以查阅芯片的数据手册。
    RTL8211E(G)-VB(VL)-CG_DataSheet_1 8.pdf (1.76 MB, 下载次数: 139)



    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-4-30 18:01 , Processed in 0.184263 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表