求助:LAN9252使用SQI通信,进行数字复位后读BYTE_TEST异常
LAN9252使用SQI通信,主机对LAN9252进行数字复位(DIGITAL_RST)后,主机读取到DIGITAL_RST寄存器位(RESET_CTL中的bit0)返回0后主机读回来的BYTE_TEST是88888888而不是87654321,数字复位(DIGITAL_RST)后增加1ms延迟后才能正常读取到87654321,为何会这样? 那可能是还没完全复位你就开始读了 caigang13 发表于 2022-6-1 19:18那可能是还没完全复位你就开始读了
按照规格书描述:
• 数字复位(DIGITAL_RST)
首先可通过轮询字节顺序测试寄存器(BYTE_TEST)确定多模块复位/配置是否完成。在主机接口复位完成之前,返回的数据是无效的。一旦返回的数据是正确的字节顺序值,主机接口复位即完成。
整个芯片级复位的完成必须通过轮询硬件配置寄存器(HW_CFG)或功耗管理控制寄存器(PMT_CTRL)的READY位直至该位置1来确定。READY位置1时表示复位已完成且器件已准备好接受访问。
除了硬件配置寄存器(HW_CFG)、功耗管理控制寄存器(PMT_CTRL)、字节顺序测试寄存器(BYTE_TEST)和复位控制寄存器(RESET_CTL)外,当READY 位清零时,对任何内部资源进行读访问都不应通过软件完成。在READY位置1之前,对任何地址的写操作均是无效的。
读操作是在轮询了RESET_CTL和HW_CFG复位bit置1后立马执行的,是寄存器置1后还需要等一段时间?
页:
[1]