ADIS16465 已经成功配置为scaled sync mode,其中MSC_CTRL配置为0x00C9,
tiMESTAMP寄存器可以读到数值,PPS信号频率为1Hz,UP_SCALE寄存器值为2000,但在buffer模式下读取数据时,出现卡顿的现象,且DR信号频率不稳定,具体表现为:在开机配置完成scan_elements、MSC_CTRL、UP_SCALE后,将数据更新率设置为100Hz,接着使能buffer,出现数据卡顿的现象,查看DIAG_STAT寄存器,其值为0x0082,即报错Clock error和Datapath overrun,但该寄存器状态在跳变,读出的数值不稳定(0x0082和0之间跳变);
针对clock error,测试确定外接PPS信号非常稳定,系统识别出的clk_freq也为1,而且尝试更改了PPS信号的频率,错误并未消除;针对Datapath overrun,根据datasheet中的描述,数据输出率为2000Hz的是时候,可以最多读取12个16bit寄存器的内容,而我们在buffer模式下读数据使用的是BurstRead功能,一共读取10个16bit寄存器,而且数据输出率只有100Hz,同样不知道为何报错。
在内部时钟模式下,就不存在该问题,只需将MSC_CTRL配置为0x00C1,其他设置均不改变,再使能buffer,模块不再报错,数据也不再卡顿,但是同样DR信号不是很稳定。
请问这个问题该如何解决?