NHS3152 DAC range

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NHS3152 DAC range

Jump to solution
616 Views
CyrilBZH
Contributor I

Hello,

I'm using an NHS3152 board along with its LPC-Link2 board.

What is the equation translating the "native" DAC value into an actual voltage?

Here is my code:

#include "board.h"

/*fonction pour initialiser le DAC */
static void Init_DAC(void)
{
Chip_IOCON_SetPinConfig(NSS_IOCON, IOCON_ANA0_1, IOCON_FUNC_1); /*utilise le GPO analogique ANA0_1 comme sortie du DAC */
Chip_ADCDAC_Init(NSS_ADCDAC0);
Chip_ADCDAC_SetMuxDAC(NSS_ADCDAC0, ADCDAC_IO_ANA0_1); /* connecte le DAC à la sortie ANA0_1*/
Chip_ADCDAC_SetModeDAC(NSS_ADCDAC0, ADCDAC_CONTINUOUS);
}

int main(void)
{
Board_Init();

Chip_Clock_System_BusyWait_ms(1000);
Init_DAC();
Chip_ADCDAC_WriteOutputDAC(NSS_ADCDAC0,4000);
return 0;

}

Measuring using a voltmeter between ground and ANA0_1, I get the corresponding values

1000 -> 0.6V

1500 -> 0.77V

2000 -> 0.94V

4000 ->1.58

 1000 and 4000 are the min and max values I can put in Chip_ADCDAC_WriteOutputDAC(NSS_ADCDAC0,value), it seems (lower values than 1000, the voltage remains at 0.6V, higher values than 4000 the voltage remaisn at 1.58V).

Thanks

Labels (1)
0 Kudos
1 Solution
592 Views
patrickgeens
NXP Apps Support
NXP Apps Support

Hi Cyril,

 

The DAC transfer curve has an gain/offset shift causing the zero value not outputting 0 Volt and an early flattening at the high end (native>3800).

Use Vout(V) = (native/2881)V + 0.262V for native[0..3800]

 

I don't have an explanation for the 0.6V lowest output voltage.

Check if the output load is not too capacitive (<250pF), possibly causing oscillation.

Minimum resistive load is 1kOhm.

 

Kind regards,

Patrick

View solution in original post

0 Kudos
2 Replies
593 Views
patrickgeens
NXP Apps Support
NXP Apps Support

Hi Cyril,

 

The DAC transfer curve has an gain/offset shift causing the zero value not outputting 0 Volt and an early flattening at the high end (native>3800).

Use Vout(V) = (native/2881)V + 0.262V for native[0..3800]

 

I don't have an explanation for the 0.6V lowest output voltage.

Check if the output load is not too capacitive (<250pF), possibly causing oscillation.

Minimum resistive load is 1kOhm.

 

Kind regards,

Patrick

0 Kudos
564 Views
CyrilBZH
Contributor I

Hi Patrick,

Thanks for this answer, i'll investigate the lower ranger later. My board has no load yet.

Best reagards

Cyril

0 Kudos