现在遇到一个奇怪的现象,每次配置DAC5682Z寄存器的参数都一样,但是频谱测得输出信号却不同。
配置的目标是输出一个56MHz单频点信号,但配置相同的参数后,有时可以输出目标信号,有时输出的信号并非所要,中心频点会偏离到60MHz左右且两边有谐波。输出正常的几率比较随机,有时连续多次是非正常频点,有时连续几次均为正常频点,有时正常与非正常间隔出现,找不到规律。回读的寄存器状态值在非正常与正常频点时均一致。
当前芯片连接结构为 由独立的时钟芯片提供80M参考时钟给DAC5682Z的CLKN和FPGA。FPGA提供数据与DCLK,SYNC等信号,FPGA提供的DCLK为160M;
寄存器配置值为
addr value
0x01 0x10
0x02 0x80
0x03 0x70
0x05 0x04
0x06 0x2d
0x09 0x39
0x0e 0x40
spi使用三线模式。每次配置前先复位DAC5682Z。
status0读取到的值始终为0x83。
请教大神们,问题原因会是什么?如何解决?
联系方式:1069444742@qq.com
user151383853:
我看看会不会是硬件的问题, 比如电源和参考的噪声, 时钟频率的抖动…
wen cao1:
回复 user151383853:
应该不是硬件问题,一旦工作正常,也不会在运行时出现问题。
现在对手册35页DCLK与SYNC之间的延时有点疑问,在不需要多个DAC同步的情况下,是否也需要在FPGA写入数据时在时钟后加上这个延时?
会不会是因为这个延时导致的时序不严格,最终在输出时体现为频点正常与否的随机性?