ads7056 datasheet 8.4.3.1 Offset Calibration on Power-Up,提到On power-up, the host must provide 24 SCLKs in the first serial transfer to enter the OFFCAL state.
这个操作是必须的吗?
我用逻辑分析仪抓取和它的通信,系统上电6s后,我的主控向ads7056发送了首次通信,cs置1 20ns后,cs置0 ,然后发送了24个以上的clk,但是按照手册Figure 42. Timing for Offset Calibration During Normal Operation 时序图中,此次通信为Calibration ,SDO返回应该都是0 ,但实际上,返回的值看起来像是12位的ad值,
这算是此次校准失败了吗?那之后的adc转换结果可信吗?
Amy Luo:
您好,感谢您对TI产品的关注!如果您需要对ads7056内部失调误差进行校准,那么主控端就需要在串行传输帧中提供SCLK才能进入OFFCAL状态。失调校准可以在上电时操作,也可以在正常工作时操作。在上电时操作的话,主控端必须在第一次串行传输中提供24个SCLK才能进入OFFCAL状态,而在正常操作期间,主控端必须在串行传输帧中提供64个SCLK才能进入OFFCAL状态。
如果您提供了64个SCLK,那么设备在前18个sclk期间提供前一个样本的转换结果,其余的SCLK期间SDO上为0。
f f1:
回复 Amy Luo:
"上电时操作的话,主控端必须在第一次串行传输中提供24个SCLK才能进入OFFCAL状态"
我的流程是
芯片上电 ,什么都不做等6秒 ,向芯片第一次通信,发24个sclk .
就是在这次通信中,芯片没有返回全0,而是返回了adc采样结果
所以猜测芯片未进入上电时操作的OFFCAL
f f1:
回复 f f1:
当然,发sclk前cs也置1置0过了,置1时间也足够了
Amy Luo:
回复 f f1:
芯片上电 ,什么都不做等6秒时,cs是什么状态呢,因为通电时,设备处于ACQ(采集)状态。当CS低时,SCLK引脚上提供的时钟用于转换和数据传输,输出数据在SDO引脚上可用
如数据手册图39所示,设备支持三种功能状态:采集(ACQ)、转换(CNV)和偏移校准(OFFCAL)。设备状态取决于主机控制器提供的CS和SCLK信号。