This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AIC34 EVM.



Hi:

I am evaluating the AIC34 using the TLV320AIC34EVM. I am using the I2C command scripts that came with the EVM installation cd. I am able to play WAV files using the scirpts AIC34EVM_PlayWaveFile(Block A 0x30).txt and AIC34EVM_PlayWaveFile(Block A 0x34).txt; however, the loopback scripts Loopback(Block A 0x30).txt and Loopback(Block A 0x34).txt do not work. The scripts loop data from microphone to headset. I tried loopback with both the on-board microphone and an external microphone to no effect. The clocks look all right.

Could you lease help?

Thanks a lot!

Cheers,

Mushtaq

  • Hi, 

    The loop back scripts require some additional configuration steps. These scripts will take the analog inputs, digitize them, then play them back through the DAC's and finally out the headphones. The digital connection needs to be looped externally with a jumper.

    The first step is not to be sending any I2S data via USB since the ADC will be providing the I2S for the DACs (In other words, you can record on the PC but don't  play anything - including system sounds). 

    Next you must connect Din to Dout with a jumper. You can find these signals on J17 for both block A and B depending on which you are using.

    This should get it working.

  • Hi:

    I am using port A and I have Din_A(J71.11) and Dout_A(J17.13) shorted. It still does not work!

    I don't think I am sending anything over I2S. Once I have loaded and executed the command file, I don't do anything with the EVM GUI. How do I ensure that nothing is being sent over I2S?

    Thanks a lot!

    Cheers,

    Mushtaq

  • Check Din_A for any data activity. You should have none until you put some signal into the ADC. This will also let you know if the problem is on the ADC side (no change in data with an input signal) or the output side (good signal on Dout, no signal from headphones).

  • Hi:

    I2S is set to off for loopback. It still does not work!

    I will check Din.

    Thanks a lot!

    Cheers,

    Mushtaq

  • Hi,

    If the script is the same one that I am looking at, I2S from the mother board must be enabled. It is using the MCLK, BCLK and WCLK signals from the mother board. you could turn off the I2S from the mother board on SW2 but then you would need to add some code to make BCLK and WCLK outputs. This is still using MCLK from the motherboard. 

    In addition to Din, I would verify, MCLK, BCLK and WCLK at the AIC34

  • Hi:

    I am using the script Loopback(Block A 0x30).txt .

    Is this script supposed to work with the default factory settings of the AIC34EVM and USB-MODEVM, and Din_A shorted to Dout_A?

    I have verified the default settings for the two against the EVM user guide.

    I will verify the Din and clks and get back.

    Thanks a lot!

    Cheers,

    Mushtaq

  • Hi:

    I added the following line of code w 30 08 c0 to the script Loopback(Block A 0x30).txt in order to force WCLK and BCLK as outputs and had I2S set to OFF on SW2. I downloaded this command file. I am observe activity on Din without any audio from the microphone. WCLK=44.1K, BCLK=1.4M, and MCLK=11.2M. The activity on Din does not appear to change if I speak into the microphone. I don't hear anything on the headset.

    Thanks a lot.

    Cheers,

    Mushtaq

  • Hi Mushtaq,

    Were you able to get this to work?

  • Hi:

    Thanks a lot!

    I have got it to work manually , i.e., by setting the GUI knobs and buttons.

    I think the reason was that headset detection was not enabled. What do you think?

    Obiously, the loopback scripts that came with the installation CD are not complete and do not work as is.

    Even after setting the WCLK and BCLK to output in the Audio Interface GUI, I could not get the scritp to work., and the reason is what I mentioned earlier.

    I will dump the script generated when the codec is configured through the GUI and use that.

    Please provide feedback!

    Thanks a lot!

    Cheers,

    Mushtaq

     

  • HI Mushtaq,

    i am facing the same issue here i.e. im not able to get the loopback working , also ,im not able to play wav files .

    can you please tell me the procedure via gui (or cammand script).

    This will be of great help !

    Regards,

    Shrish

  • Hi Shrish:

    I am assuming that you are using the AIC34 EVM. The I2C scripts that came with the CD should work. For playing out wave files you need to do the following:

                    Go to control panel / audio devices and ensure that USB-MODEVM is selected as the default sound playback device. Then in the audio playback software, Audacity in my case, select USB-MODEVM as speaker.

    I hope this works.

    At present I can't recall how I got loopback to work. 

    Thanks a lot!

    Cheers,

    Mushtaq

  • Hi Mushtaq,

    Thanks for the help. Setting the audio device in the control panel worked for .wav file playout. (but it didnt work for loopback - here i have connected Dout and Din through a jumper and disabled USB - I2S in Sw2, but still). Anyway loopback was not of a requirement. I just wanted to capture audio and i was able to capture through PC. This is fine.

    Now, the sound gets recorded at 44.1kHz and 16bits per channel. I want to record at 48kHz and 32 bit per channel. I also want to experiment with DSP mode (for multi-channel capture). I tried changing the clock and audio interface  settings in GUI, but was not able to see the frequency change when i probed WCLK. Do you know what might be the problem ?

    Thanks in Advance.

    Regards,

    Shrish

  • hi,

    After reading the data sheets, i see that , using USB i2s we can run only at 44.1kHz and 16bits . In non USB i2s mode , i was able to gerenate the required clock. (Kindly ignore my query above)

    Now , I am trying to capture audio using block B codec. If i simply switch between blocks in the GUI, i am not able to see the desired result.

    here is how i evaluate,

    in Block A ..i probe GPIO 1 pin > configure it as output in GUI > toggle between 1 and 0 ..im able to see the result on scope, hence block A path is verified

    in Block selection B ..i follow the same steps ...but i do not see the change in oscilliscope. hence Block B registers are not getting configred.

    Please let me know where im going wrong.

    Regards,

    Shrish

  • Hello Shrish, Mushtq,

    I am facing similar issues to the ones you've described above.
    Would you mind sharing the scripts or knowledge about how to solve these issues? I am mainly referring to the usage of loop-back patch with on-board microphone, but also to the long list of questions written by Shrish in his thread.

    Thanks,
    Tzviel