打印
[学习资料]

求助:LAN9252使用SQI通信,进行数字复位后读BYTE_TEST异常

[复制链接]
671|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Job军|  楼主 | 2022-6-1 14:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 | 只看该作者
那可能是还没完全复位你就开始读了

使用特权

评论回复
板凳
Job军|  楼主 | 2022-6-2 10:13 | 只看该作者
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

主题

2

帖子

0

粉丝