您好,我在使用CDCE62002的过程中,利用CDCE62002 EVM软件生成相应的寄存器值,在利用FPGA通过SPI写寄存器时有点问题,写Register0时,通过读寄存器指令能够正常的读出寄存器内的值,在写Register1时,写完后读出的寄存器值却是Register0,而且芯片也没有锁定,在ISE利用Chipscope看,spi时序上没有问题,现在搞不清楚问题出在哪里,需要您的帮助。寄存器的值为Register0,F60FD0A0,Register1,E3856011。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,我在使用CDCE62002的过程中,利用CDCE62002 EVM软件生成相应的寄存器值,在利用FPGA通过SPI写寄存器时有点问题,写Register0时,通过读寄存器指令能够正常的读出寄存器内的值,在写Register1时,写完后读出的寄存器值却是Register0,而且芯片也没有锁定,在ISE利用Chipscope看,spi时序上没有问题,现在搞不清楚问题出在哪里,需要您的帮助。寄存器的值为Register0,F60FD0A0,Register1,E3856011。
你寄存器是否有全部写完,看是否锁定?
你读命令是否有32位全部发完了,读写之前片选是否有拉高超过20nS以上?
32bit指的是4位寄存器地址+28bit data,一共是32bit。
寄存器2的定义可以看下,其中包含了几个只读位,还有很多Diagnostics bit 描述只是For TI use only,不用管。需要配置的只有bit 7, PD=1 正常操作模式,和Bit13=0Xuelian Ji1 说:那配置的时候需要寄存器0 1 2都写入数据吗?还是只配置寄存器0 1就可以了? 我根据evm软件生成的寄存器值,配置后,输出频率是原设定频率的1.8倍,这是什么原因?
另外,你需要的输入输出频率为多大?
把输入参考的时钟替换成25MHz就可以输出正确的频率了,手册写的范围应该包括10MHz的,是不是只能用25MHz,不能使用其他频率的晶振?
晶振10M没问题,这个不用怀疑,输入范围为2M~42MHz。
采用10M的时候,晶振能正常起振吗?另外,有没有换块新的试下,是不是晶振本身不稳定的原因导致。
建议是选择一个干净稳定的晶振,并且外接并联电容时候主要注意CDCE62002这款内部集成了10pF电容,所以考虑外部电容值的时候不要漏掉这个10pF.这点在datasheet中有详细描述和计算公式。