Can i use the DAC in SGTL5000 for constant voltage

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

Can i use the DAC in SGTL5000 for constant voltage

Jump to solution
776 Views
jvogt
Contributor I

Hi,

i'm trying to use the DAC in the SGTL5000 for constant voltage. I want to set the voltage via the I2S and the output level of LINEOUT should be configurable between 0V and 0.8V. So first, is this even possible and second, if yes, what do i have to care about?

P.s. i could use a normal DAC, but i would have to buy one first, while the SGTL5000 is already equipped.

Tags (2)
0 Kudos
1 Solution
701 Views
reyes
NXP TechSupport
NXP TechSupport

Hi,

 

First I want to make sure that I understand your request, you want to use the SGTL5000 as a DAC by input a digital signal using the I2S pins, then use the internal DAC of the codec to convert this signal into an analog signal and output it using LINEOUT signal, correct?

 

We do not have a report of a customer using the SGTL5000 this way, in theory it could work, but we have never test it before, so we cannot give you a step by step guideline about how to do it, but these are the main steps you need to follow:

 

First you need to select the route, you have two options, use the DAP or bypass it.

To configure a route, the CHIP_SSS_CTRL register is used. Each output from the source select switch has its own register field that is used to select what input is routed to that output.

For example, to route the I2S digital input through the DAP and then out to the DAC (LINEOUT) outputs write SSS_CTRL->DAP_SELECT to 0x1 (selects I2S_IN) and SSS_CTRL->DAC_SELECT to 0x3 (selects DAP output).

If DAP is bypassed, then SSS_CTRL->DAC_SELECT = 0x1 = I2S_IN.

 

When I2S IN -> DAC -> LINEOUT route is selected, output Level (when VDDIO and VDDA are 1.8V) is 0.6 Vrms (which is 0.85Vpp).

 

Power up the digital and Analog interfaces used (I2S_IN and DAC) using the following bits:

* CHIP_DIG_POWER 0x0002

To power up the I2C_IN (I2S_IN_POWERUP - Bit 0) and the DAC (DAC_POWERUP – bit 5)

* CHIP_ANA_POWER 0x0030

To power up the DAC use DAC_POWERUP

 

 

Some extra configuration is needed in the DAC to complete the setting:

The DAC output has a digital volume control from -90 dB to 0 dB in ~0.5 dB step sizes. The register CHIP_DAC_VOL controls the DAC volume.

 

The line output has a dedicated gain stage that can be used to adjust the output level. The CHIP_LINE_OUT_VOL controls the line level output gain.

The line outputs also have a dedicated mute that is controlled by the register field CHIP_ANA_CTRL- >MUTE_LO, you need to make sure it is not activated for your application.

The line out volume is intended as maximum output level adjustment. It is intended to be used to set the maximum output swing. It does not have the range of a typical volume control and does not have a zero cross detect (ZCD). However the DAC digital volume could be used if volume control is desired.

 

Regards,

Jose

NXP Semiconductors

View solution in original post

0 Kudos
2 Replies
702 Views
reyes
NXP TechSupport
NXP TechSupport

Hi,

 

First I want to make sure that I understand your request, you want to use the SGTL5000 as a DAC by input a digital signal using the I2S pins, then use the internal DAC of the codec to convert this signal into an analog signal and output it using LINEOUT signal, correct?

 

We do not have a report of a customer using the SGTL5000 this way, in theory it could work, but we have never test it before, so we cannot give you a step by step guideline about how to do it, but these are the main steps you need to follow:

 

First you need to select the route, you have two options, use the DAP or bypass it.

To configure a route, the CHIP_SSS_CTRL register is used. Each output from the source select switch has its own register field that is used to select what input is routed to that output.

For example, to route the I2S digital input through the DAP and then out to the DAC (LINEOUT) outputs write SSS_CTRL->DAP_SELECT to 0x1 (selects I2S_IN) and SSS_CTRL->DAC_SELECT to 0x3 (selects DAP output).

If DAP is bypassed, then SSS_CTRL->DAC_SELECT = 0x1 = I2S_IN.

 

When I2S IN -> DAC -> LINEOUT route is selected, output Level (when VDDIO and VDDA are 1.8V) is 0.6 Vrms (which is 0.85Vpp).

 

Power up the digital and Analog interfaces used (I2S_IN and DAC) using the following bits:

* CHIP_DIG_POWER 0x0002

To power up the I2C_IN (I2S_IN_POWERUP - Bit 0) and the DAC (DAC_POWERUP – bit 5)

* CHIP_ANA_POWER 0x0030

To power up the DAC use DAC_POWERUP

 

 

Some extra configuration is needed in the DAC to complete the setting:

The DAC output has a digital volume control from -90 dB to 0 dB in ~0.5 dB step sizes. The register CHIP_DAC_VOL controls the DAC volume.

 

The line output has a dedicated gain stage that can be used to adjust the output level. The CHIP_LINE_OUT_VOL controls the line level output gain.

The line outputs also have a dedicated mute that is controlled by the register field CHIP_ANA_CTRL- >MUTE_LO, you need to make sure it is not activated for your application.

The line out volume is intended as maximum output level adjustment. It is intended to be used to set the maximum output swing. It does not have the range of a typical volume control and does not have a zero cross detect (ZCD). However the DAC digital volume could be used if volume control is desired.

 

Regards,

Jose

NXP Semiconductors

0 Kudos
701 Views
jvogt
Contributor I

Hi Jose,

thank you for your response. Your explanation helps a lot.

Greetings

Julian

0 Kudos