你好 ,ADI专家。
有个问题求助一下,最近在用AD9627,但是它的SPI模式始终无法写入寄存器数据,但是SPI可以正确读出相关寄存器的默认值。 SPI接口是用FPGA来做的。也是就是AD9627只能读出寄存器数据,无法写入寄存器。
而且用示波器测量了SPI的三根信号线,时序是满足datasheet要求的。
不知道这是什么原因?
你好 ,ADI专家。
有个问题求助一下,最近在用AD9627,但是它的SPI模式始终无法写入寄存器数据,但是SPI可以正确读出相关寄存器的默认值。 SPI接口是用FPGA来做的。也是就是AD9627只能读出寄存器数据,无法写入寄存器。
而且用示波器测量了SPI的三根信号线,时序是满足datasheet要求的。
不知道这是什么原因?
请给出实际的电路图和测试波形,这样更方便讨论问题。
你好,
感谢回复。
下图是写0X0D寄存器的波形,写入0x07
下图是读0X0D寄存器的波形,读出值为0x00
下图为读ID寄存器的波形,邮件只放了读的波形。可见读出值为0x12, 是芯片默认值。
调试期间也试过读写其他读寄存器,都无法成功写入,读出值都是默认值。
jackie wu
发件人: CHAI
发送时间: 2018年7月12日 10:02
收件人: jackie wu
主题: Re: AD9627的SPI无法写数据,只能读数据。 -
<https://ezchina.analog.com/?et=watches.email.thread> 中文技术支持
Re: AD9627的SPI无法写数据,只能读数据。
created by CHAI <CHAI> in 数据转换器专区 - <https://ezchina.analog.com/message/56705?commentID=56705#comment-56705> 查看全部讨论
你好,看了您发的图片,有3跟信号线。蓝色毫无疑问是时钟信号。根据您的描述,黄色是信号线。
紫色是什么信号?您没有给出。若紫色为使能信号,正常的时序应当是依靠使能信号和时钟信号判断数据传输的起点,因此,使能信号一直为低电平是不正常的。
若您希望采用流处理的方式,也是需要特殊控制的,状态不能随意切换。建议您核对一下AN-877手册。
另外,根据芯片手册 Transfer Register Map 一节的描述,0x08到0x18之间的寄存器需要配置后额外向0xFF寄存器写入0x01以将写入的数据从缓冲区同步到器件内。您是不是没有这个操作?
@mike, 感谢您的回复。
对于AD9627,我不希望采用流处理模式,紫色确实就是使能信号,最早的测试中,使能信号是只有再读写寄存器时才拉低的,其余时间拉高,相关的波形没有上传,因为读取寄存器仍然只能读出默认值(也就意味着寄存器不能成功写入)。后来使能信号一直被拉低,只是为了做各种尝试。AN-877我又看了一遍,除非采用流处理模式,否则使能信号不能一直拉低。后续我会将使能信号重新控制。
0x08-0x18寄存器的配置需要额外写操作,这一点我确实没有注意到。近期我也会马上做尝试。
以上两点,等我有了更新,会及时反馈到这里。
再次表示感谢。
您好,感谢您的提醒。“0x08到0x18之间的寄存器需要配置后额外向0xFF寄存器写入0x01以将写入的数据从缓冲区同步到器件内”,我以前没注意到。现在代码按这个要求改写后,寄存器可以成功写入。
非常感谢。