Post Go back to editing

Analog ports not <orking anymore

Category: Hardware
Product Number: ADAU1467

Hello,

I am using the ADAU1467 eval board to test the audio signals on a Bluetooth module. The setup is simple as shown in the following picture :

I input the audio directly through the IN0 serial port pins. The output is set to the analog output 1. Until now, everything worked correctly. However, at some point, I changed one parameter that I had changed multiple times before (the input/output I2S clocks) in the serial port registers, and when I compiled, I couldn't hear any audio anymore. I have tried reverting to prior changes but the issue is still there. To make sure that I didn't mess with any registers, I started a blank project with the same configuration. The only parameters I changed are the MCLK frequency that I set to 128*Fs to have the same frequency as my Bluetooth module, as well as the input0 clocks that I set to slaves from domain0 for either BCLK and LRCLK. Unfortunately, the analog ports don't seem to work anymore (wether it's for input or output). I can confirm that the serial input pins function correctly based on the levels I used in my config.

I have noticed that one detail on the USBi card that I use to program the ADAU. Upon connecting it to my computer, the I2C LED turns on as usual, but after a few seconds, the SPI LED starts blinking as if it weren't powered properly. I don't know if the issue originates from the USBi card.

Would anyone know where the issue could come from (hoping that the ADAU board isn't dead).

ThibDouil

Parents
  • Hello ThibDouil,

    I noticed one little thing that you are mentioning the 'MCLK frequency', I assume you mean the MCLK OUT below, Is that right?

    The only parameters I changed are the MCLK frequency that I set to 128*Fs to have the same frequency as my Bluetooth module

    The default sample rate is 48KHz, since you are using the Eval board, the On-board CODEC AD1937 gets its master clock from the DSP's MCLK OUT pin. If you set that to 128*Fs, then it will be 6.144MHz. It won't work with the MCLK_IN of 6.144MHz. So, please change that MCLK_OUT as 256*Fs like above and see if it works.

    The default is 256*Fs which is 12.288MHz. Even if you are using sample rates like 96KHz,192KHz, the MCLK to the CODEC can still be 12.288MHz, the internal divider (sample rate register on the ADC/DAC) will take care of that. please refer the codec's datasheet for more info on this.

    If you want to output 6.144MHz to one of your peripherals, then use the BCLK of one of the unused serial ports.

    You can set the serial port at 48KHz and set TDM4, 32 bits/channel, it will generate 6.144MHz frequency. please refer the pic below.

    I have noticed that one detail on the USBi card that I use to program the ADAU. Upon connecting it to my computer, the I2C LED turns on as usual, but after a few seconds, the SPI LED starts blinking as if it weren't powered properly. I don't know if the issue originates from the USBi card.

    The default state is I2C here, so when you connect the USBi, the power LED will turn On and followed by that I2C LED will turn On by default. Once you change protocol to SPI in the schematic of USBi module and compile the project then it will change to SPI and the SPI LED will turn On. So, the SPI LED is glowing continuously or blinking often as you said?

    It seems like you can read and write without a problem, anyway, try changing the DC values and read it back like Dave said.

    Regards,

    Harish

  • Hello Harish, 

    Well it looks like the issue was simply coming from the MCLK register. After setting it back to 256*Fs, the analog inputs and outputs work again. Thanks for helping, it was a simple mistake, but at least now I am reassured that I haven't fried any component.

  • Hello ThibDouil,

    I think this is coming down to your change in the MCLK frequency not being fully realized. When you changed it from 12.288MHz down to 6.144MHz, did you change the PLL settings? If you did not then the internal master clock in the DSP will be running at half speed. This will cause all the sample rates to be half the rate and also affect the ability to read fast clocks. 

    You would need to change this register to divide by 2 instead of 4.

    This will certainly cause lots of issues. The Codec will stop working because the sample rate clocks are wrong. 

    Dave T

  • Hello Dave,

    I did not change the PLL settings when changing the MCLK frequency. I am using Microchip's IS2083 BM module to test the audio. Initially, I assumed that the poor audio quality I was getting when the module was configured in I2S slave mode came from the mismatching MCLK frequencies on both devices. The issue actually comes from the Bluetooth module itself. On the other hand, the master mode on that module works just fine with the ADAU1467 with the MCLK set to 256*Fs. Since having a 12.228MHz frequency allows me to use devices configured with a 6.144MHz frequency, I guess I'll just stick to the default settings. 

    Thank you for your help.

Reply
  • Hello Dave,

    I did not change the PLL settings when changing the MCLK frequency. I am using Microchip's IS2083 BM module to test the audio. Initially, I assumed that the poor audio quality I was getting when the module was configured in I2S slave mode came from the mismatching MCLK frequencies on both devices. The issue actually comes from the Bluetooth module itself. On the other hand, the master mode on that module works just fine with the ADAU1467 with the MCLK set to 256*Fs. Since having a 12.228MHz frequency allows me to use devices configured with a 6.144MHz frequency, I guess I'll just stick to the default settings. 

    Thank you for your help.

Children
No Data