AnsweredAssumed Answered

Initialisation & Stability Issues while using SPI with AD5270

Question asked by Philo on Mar 24, 2016
Latest reply on Apr 15, 2016 by msamera

Hi there,


I'm working on a new circuit design based around using two AD5270's as Digi-Pots in a Wheatstone's Bridge to generate it tiny signal voltage (about 0.1 - 10mV).


For me the IC's seem incredibly temperamental often giving a variety of resistances when running the same bit of firmware in debug mode after numerous reboots. I know the SPI is working as I have checked SYNC, SCLK. DIN & SDO with an oscilloscope to ensure the correct signals are being generated / supplied. Although occasionally I find there is no SDO but repeatedly recycling the power eventually fixes this.


My supply voltage is 3.3V, Vss & EXT_CAP are connected via a 1uF capacitor, SDO is being pulled up by 1K resistor.

My clock is configured as SMP = 0, CKE = 0, CKP = 0.


The SPI code segment I am using is as follows:


SPI_Out = 0xXXXX;    
PORTBbits.RB5 = 0;
while (!SPI1STATbits.SPIRBF);
PORTBbits.RB5 = 1;


The Data Out and Data In is shown below


Data OutDescriptionData InDesciption
0x2400Software Shutdown Disabled (Just In Case)0x0000Default
0x1000Software Reset (RDAC = Last 50-TP)0x2400Echo
0x1C03Enable Update of RDAC & 50-TP0x1000Echo
0x2000Read Control Register0x1C03Echo
0x0400Set RDAC to Minimum0x0000RDAC & 50-TP Not Enabled



Sometimes the return from  0x2000 is 0x0003 (RDAC & 50-TP Enabled) which is the desired effect but I can walk away, come back 20 minutes later and the same lines of code return different responses or the chip becomes totally unresponsive.


Any suggestions or solutions to this would be gladly welcomed; I would definitely not call myself an expert so it’s quite possible it is very simple. I am already interfacing with an AD8402 which gave no bother, I understand the 5270 is quite more complex however.


Thanks in advance.