Part Number:ADS1262
我用的是ADS1262,寄存器的配置如下:配置的输出速率是20SPS,Gain=1.
WREG_POWER = 24'h410000,
WREG_INTERFACE = 24'h420000, WREG_INPMUX = 24'h460067,
WREG_REFMUX = 24'h4F0012,
WREG_MODE0 = 24'h430000,
WREG_MODE1 = 24'h440080,
WREG_MODE2 = 24'h45000F4;
配置过程是:delay(10ms)——>RESET——>写入各个寄存器——>START1开始转换。
我用了两个ADS1262。
我希望得到的结果是:两片ADC尽量保持在同一时刻输出数据,可以稍微有十几uS的不同步,但是要保持相对稳定。
我的观测信号是:两片ADC的“DRDY”脚,观测该脚输出的脉冲在时间上是不是保持相对稳定,是保持在同一时刻还是有些许的错开。
两片ADC都是用的温度稳定性特别好的有源晶振,尽量减少时钟上的差异带来的输出数据不稳定。
观测结果:1、上电瞬间,抓取二者输出的第一个DRDY脉冲,大概有几个us的先后错开,这可以接受。以其中1个ADC作为参考,继续观测另一个DRDY信号,发现另一个ADC的DRDY信号是移动的,他们并不是保持相对不动的,大概七八分钟位置相互运动了大概600us。我猜测这可能是晶振的差异导致的。
2、我让两片ADC共用同一个晶振输出,这样就保证了他们晶振的一致性。现象就是还是会有相对运动,但情况会好一些,晶振一致并不能根治这个现象。
3、请问有没有什么好的办法,让数据输出同步,因为我想在一定的时间内从两片ADC中读到同样个数的数据。
Amy Luo:
您好,
是需要使用相同的时钟源,但是如果两个设备的时钟走线长度不一致,那么时钟到达设备的延迟就不一样,因此,两个设备的时钟走线长度需一致;
启动转换时,是使用的同一个启动信号吗?即如果使用Start pin启动转换的话,是使用的同一个控制管脚控制的这两个设备的start pin吗?即让这两个设备同时开始转换。在下一个转换周期完成之前,只需要从每个设备读取转换结果,因此不必同时从这两个设备读取结果。
这两个设备您是使用的同一个SPI总线吗?两个设备使用相同SPI总线的一个潜在问题是,在同时向两个设备写入命令时,需确保没有DOUT/DRDY输出争用问题,这需要一些额外的逻辑和控制来防止争用问题