在项目调试中,遇到的问题,在ADI论坛上发帖咨询,转发到这里。网址如下:
AD9689 input clock not detect - Q&A - High-Speed ADCs - EngineerZone (analog.com)
Our FPGA board has two AD9689,one works ok, but the other can't work. We have read register 0x011B (Clock status register), the read out data is 0x00 which means input clock is not detected.
1. We have verified the SPI communication is normal.
2. And we also have checked the input CLK has clock.
3. We have tried to replace another AD9689 with the working not good AD9689, but also don't solve the issue.
Please help me, thanks!
In addition, I have found our problem is similar with the following questions, but I don't get our problem's answer.
ADC and DAC clock detect issue - Q&A - High-Speed ADCs - EngineerZone (analog.com)
AD9690 no clock detected - Q&A - High-Speed ADCs - EngineerZone (analog.com)
Our hardware schematic as follows:
ADI工程师的回复如下:
The clock detection function only needs to meet two basic conditions: The first one is that the chip has been fully powered on, and the second one is the clock is stable at the clock pins (CLK±) as required.
So please make sure the AD9689 is powered up correctly, you could check the power supply as close as possible to the power supply pins first. Then please also check the clock frequency and amplitude at the CLK± pins.
The good thing is you have two AD9689 on your board, one of them is working, it's easier for you to compare the differences of the peripheral circuits between the two parts.
后面是我在ADI论坛上翻到了下面的这个帖子,然后查看了自己的代码,发现是我忘记给PDWN/STBY赋值。
I have solved the problem by following pages.
AD-FMCDAQ2-EBZ. AD9680 - "no input clock detected" - Q&A - FPGA Reference Designs - EngineerZone (analog.com)
My problem's reason is that I missed to assign another AD9689's input signal PDWN/STBY. There are several solutions:
1、FPGA output PDWN/STBY = 1'b0 to AD9689;
2、AD9689 control registers 0x003F set 0x003f80;
3、AD9689 control registers 0x0040 set 0x0040bf。
总结:PDWN/STBY信号,我们实际中一般都不会用到,所以最好的办法就是使用控制寄存器把这个信号禁掉。
我测试了下,控制寄存器0x003F或者0x0040中的任何一个都可以,当然最好是把这两个寄存器都按上面设置下,也就是多发两条写命令: 0x003f80,0x0040bf。