AnsweredAssumed Answered

Problem with AD5410

Question asked by agniteja@saitroniks.com on Mar 27, 2013
Latest reply on May 5, 2013 by agniteja@saitroniks.com

I have been configuring AD5410 for one of my application.

 

Specification :

 

Input voltage : 23 VDC - AVDD

Input volgae : 3.3 VDC- DVDD


Output load : 330 Ohm 1/2 watt resistor.

 

During the initial stages I'm facing the following problem.

 

1. I'm configuring the control register for 0- 24mA. However when I'm giving the data to data register as FFF (hex value) its showing to me a constant 16mA. (Pl. check the attached waveforms & schematic)

 

2. I'm configuring the data register to 15,12 ,12.3 & 12.7 mA & I'm able to read the output current correctly. However If i go below 10 i.e 9mA then the current again displays 16mA. The voltage remains to be constant at 23 volts. (Pl. check the attached waveform & schematic)

 

3. I have configured the SPI in the micro controller . After the Power ON I'm unable to see the output. However if I take the oscilloscope and connect one end of the probe to ground and other end to the CLOCK pin, from that moment I'm able to see the output continually until the power OFF. 

 

4. Doubt : When ever I'm giving new value to the data register should i require to configure the control register every time pl. clarify.

 

Pl. suggest your view and where could i probably go wrong.  attached the schematic, and wave forms

 

//////********* SPI*********////////////

the spi configured is 250 KHZ.

////***** code*********./////////////////

 

while(1)

{

LATCH = 0x1;

LATCH = 0x0;

SSP2BUF =0x55;// control register address

while (!PIR3bits.SSP2IF )

{ }

PIR3bits.SSP2IF =0;

SSP2BUF =0b00110000;//

while ( !PIR3bits.SSP2IF )

{}

PIR3bits.SSP2IF =0;

SSP2BUF =0xb00010111;

while ( !PIR3bits.SSP2IF )

{}

PIR3bits.SSP2IF =0;

LATCH = 0x1;

Delay1TCY();

Delay1TCY();

//while(1)

//{

LATCH = 0x0;

SSP2BUF =0x1;

while ( !PIR3bits.SSP2IF )

{}

PIR3bits.SSP2IF =0;

SSP2BUF =0b11111111;

while ( !PIR3bits.SSP2IF )

{}

PIR3bits.SSP2IF =0;

SSP2BUF =0b11110000;

while (!PIR3bits.SSP2IF )

{}

PIR3bits.SSP2IF =0;

LATCH = 0x1;

Delay1TCY();

Delay1TCY();

Delay1TCY();

Delay1TCY();

Delay1TCY()

Outcomes