Part Number:LMK04832
tdv的意思是下降沿最多只能保持60ns才能读到读寄存器的值吗?如果超过60ns就不能正常读到了是吗?
Amy Luo:
您好,
不是的,tdv的意思是在sclk下降沿开始,最大只需等待60ns就可以读到有效数据,小于60ns可能读不到有效数据。
,
Ruixin Feng:
请帮忙看下为什么这个时序读不到寄存器的值,谢谢!
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/48/2620.IMG_5F00_8290.JPG
,
Amy Luo:
请先确认下设备SPI接口电平是否与主控端电平兼容?
默认情况下是使用3线SPI,而3线SPI的SDIO pin默认是OD接口,因此如果外部无上拉的话,输出就无法输出高电平。如果可以写入的话,建议先写入SDIO_RDBK_TYPE=0,然后再读出看是否可以正确读出?
,
Ruixin Feng:
但是这个寄存器描述是在3线模式readback的时候把SDIO配置成OD?
如果用3线spi的话需要SDIO外部上拉吗? 还是说在read操作时要把这个寄存器值改掉?
,
Amy Luo:
如数据表描述”Sets the SDIO pin to open drain when during SPI readback in 3 wire mode“ ,是的,就是这个意思。
如果是OD输出的话,需外部上拉,但是为避免硬件上的更改,您可以通过软件将这个寄存器值配置为push-pull输出。
,
Ruixin Feng:
请问意思是readback的时候SDIO必须配置为pushpull吗?
但是SDIO读寄存器值的时候不需要做驱动吧,如果是OD也可以输出高电平吧。
还有一个问题,就是FPGA那边的管脚应该在地址位输出完之后改成什么状态呢? 是高阻态就可以吗?
,
Amy Luo:
Ruixin Feng 说:请问意思是readback的时候SDIO必须配置为pushpull吗?
不是必须,SDIO管脚外接上拉也可以;
Ruixin Feng 说:但是SDIO读寄存器值的时候不需要做驱动吧,如果是OD也可以输出高电平吧。
读寄存器的时候,SDIO管脚在三线SPI模式下是输出管脚,OD输出不能输出高电平,因此如果不配置寄存器的话,就需要外接上拉。
Ruixin Feng 说:还有一个问题,就是FPGA那边的管脚应该在地址位输出完之后改成什么状态呢? 是高阻态就可以吗?
因为是三线SPI,SDIO管脚即做输入又做输出。对于LMK04832作为从设备,在其SDIO管脚作为输入管脚输入R/W位和地址位后,它就作为输出管脚输出寄存器值。因此,在FPGA那边在地址位输出完之后应改成输入状态,以输入读出的LMK04832的寄存器值。
,
Ruixin Feng:
感谢回复!
所以如果客户配置的是OD但是没有上拉,读操作就有可能出现图中的情况对吗
,
Amy Luo:
在三线SPI模式下,是的。
,
Amy Luo:
您将SDIO管脚外接上拉或者将寄存器位配置为SDIO_RDBK_TYPE=0后,再进行寄存器读操作是否可以正确读出寄存器值?
请注意在FPGA端在地址位输出完之后应改成输入状态。
,
Amy Luo:
帖子我先关了,如果您的问题没有解决,您可以再回复帖子。