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.

AIC3254 AD-dsp-DA problem

Hi everyone,

I did my own board for AIC3254, used SPI to connect it with an ARM, and even made it work when routing as follow:

mic - IN1 - MICPGA - MA - HP - out (not using AD, DA, DSP)

I have used the .cfg file generated by pps 24787 with the following block diagram:

and configured the routing (in2 was used to test) and micbias using a serial terminal and my ARM to update the registers.

I have been able to map the AD and DA clocks to MFP5, and had the following results:

pg 0, reg 25 = 0x04
pg 0, reg 26 = 0x81
pg 0, reg 52 = 0x10
with reg 25 = 0x04 and 0x06, MFP5 = 49.15M ;
with reg 25 = 0x05, MFP5 = 6.14M ;
with reg 25 = 0x07, MFP5 = 1.02M

the config used was :

pg 0, reg 1 = 0x00
pg 0, reg 2 = 0x60
pg 0, reg 3 = 0x00
pg 0, reg 4 = 0x03
pg 0, reg 5 = 0x91
pg 0, reg 6 = 0x18
pg 0, reg 7 = 0x00
pg 0, reg 8 = 0x00
pg 0, reg 9 = 0x00
pg 0, reg 10 = 0x00
pg 0, reg 11 = 0x82
pg 0, reg 12 = 0x88
pg 0, reg 13 = 0x03
pg 0, reg 14 = 0x00
pg 0, reg 15 = 0x04
pg 0, reg 16 = 0x00
pg 0, reg 17 = 0x08
pg 0, reg 18 = 0x84
pg 0, reg 19 = 0x98

pg 0, reg 20 = 0x80
pg 0, reg 23 = 0x04

pg 0, reg 63 = 0xd4
pg 0, reg 64 = 0x00
pg 0, reg 81 = 0xc0
pg 0, reg 82 = 0x00

AD, DA, MICPGA are un-muted.

No sound can be heard on HP out, unless I route IN1 to HP, not changing anything else when doing that.

My kit, used to test pps+AIC is based on AIC3262, so I can only use CodecControl for that codec. We used AIC3254 because it wasn't a BGA and would make things easier for us...

I'm not sure how to make it work now, I hope that you can help me please...

Thanks,

Fernando

  • Hi, Fernando,

    Welcome to e2e, and thanks for your interest in our products.

    I have requested a colleague of mine to look into this for you, but he's super busy right now, so it might be later this week before he can look at your issue. Please let us know if you get it figured out before then.

    -d2

  • Hi Fernando,

    Perhaps it might be better to start with a simpler process flow (e.g. Decimator to DSP_A_DSP_D to Interpolator) for debugging.

    From you description it seems like you are getting analog working, so I suppose the AVDD rail is proper. Are you using an external I2S bus? Even if you don't plan to output/input data through I2S, you need to have I2S active either externally or internally. So configure p0_r27 for BCLK/WCLK as outputs and p0_r29-r30 (DAC_MOD_CLK as BDIV input and N=1). Make sure that if you don't use an external I2S I/F, the BCLK, WCLK and DOUT pins are NOT ground.

    Regards,

    J-

  • Hi Fernando,

    maybe this link is of interest for you ?

    http://e2e.ti.com/support/data_converters/audio_converters/f/64/p/55649/197793.aspx#197793

    good luck,

    Ute

  • Hi J-,

    That was a nice start, I can hear a lot of noise now. I used:

    pg0, reg 27 = 0x0c

    pg0, reg 29 = 0x01

    pg0, reg 30 = 0x81 (when I set this, the noise started)

    Using an oscilloscope, I can see an almost square signal (it looks like the AD or the DA is saturating, so there is some jumping around but its almost always at the maximum or minimum value) and it jumps close to 3.2kHz of frequency.. I will try to get the AD and DA gain at a lower gain setting too and tell you what happens.

    Do you mind to help me check the AD fs and DA fs? I'm a little confused with the interpolator/decimator effect on them...PPS set the interpolator to 8 and the decimator to 4, default for that Frame.

    Thanks,

    Fernando

  • Hi Ute,

    Thanks a lot for your reply, but I'm using the .cfg file and it contains all info from the .h files already on the right sequence (or at least I hope so...).

    At the beggining, I was going to use the .h files, but I found that topic that you sent me and considered the .cfg file as a faster alternative to get my board working considering how my uprocessor was already programmed. Right now, this .cfg file still looks viable, but the .h solution is surely more neat and faster to get to work if you change something on the process flow (so, if someone is reading this and considering to use the .cfg file, I advice you to use the .h files and follow the topic sent by Ute).

    Best regards,

    Fernando.

  • Hi J-,

    I just tweaked some regs here and now I can hear my own voice, with some periodic noise mixed, but at least I got something going on. Now I just need to be sure that fs is as it should be on all blocks (to be sure that the sound won't be distorted by something like that) and get rid of that mixed noise.

    Thanks for all the help until now.

    Regards,

    Fernando

  • Hi Fernando,

    Good to hear! I recommend you to read this document so you get more familiar on the requirements of the part: http://www.ti.com/lit/pdf/slaa404.

    Regards,

    J-