Post Go back to editing

jack detection with ADAU1361

Hello,

I would like to use the jack detection function with an ADAU1361. I have setup the audio output from the serial I2S interface of the codec to line output LOUTP and ROUTP (pins 18 and 15). This works fine, i.e. an audio signal is present at the line outputs.

However, when I than change register R2 (Digital Microphone/Jack Detection Control) from 0x00 to 0x10 (or 0x11) and toggle the signal JACKDET/MICIN between low and high, these toggles remain without effect to the line outputs.

How do I correctly setup the jack detection function?

Is there any way to read the state of the JACKDET/MICIN pin into the host processor?

What effect has the setting of the pin drive strength in register R42 (Jack Detect Pin Control)? As the JACKDET/MICIN pin is always an input, a drive strength for this pin does not sound meaningful to me.

Thanks, Frank

  • Hi Frank,

    I apologize for the delay. We will respond as soon as possible. Thanks for your patience.

    Regards,
    Coleman

  • The jack detection function is described in the ADAU1361/ADAU1761 datasheets, but a correction needs to be made. The jack detect function will look at an input flag on the JACKDET/MICIN pin, and when the flag is active it will mute the headphone outputs and not the line outputs. Unfortunately, this is probably the opposite of what a user would want to do with this function in a real system. Typically, you would want to mute the line outputs when headphones are plugged in, and not the other way around. The way that we have this implemented on this IC is the reverse of the typically desired functionality, and therefore it is probably not very useful.

    Unfortunately, even on the ADAU1761, which includes a SigmaDSP core, this problem cannot be solved by using a GPIO and handling it with logic in the DSP. The reason is that the audio going to the line output and the headphone outputs are both going through the stereo DACs before the analog outputs, so these are the same signals inside the DSP core. There isn’t a way to mute one of the paths in the DSP core and not mute the other.

    Therefore, the only solution we can offer is to monitor the jack detection flag and handle it externally to the ADAU1361/ADAU1761 in the system's microcontroller. The microcontroller could take the jack detection flag and use that to write commands to the ADAU1361/ADAU1761’s control registers in order to mute the line output and enable the headphone output.

    Because this feature, as implemented in the hardware, is not practical in a real system, we will take the necessary measures to remove it from the datasheets.