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.

AICx3100 - Beep Generation



Hi

We are using AICx3100 in our design and are having issues in producing any kind of sound at all.
Since I can produce sound on the EVM board without any issues, I captured the I2C traffic on the EVM board and then tried to apply the same register settings on our board in the same order as were done on the EVM board but still no luck.


I have attached the configuration that I have applied. The reg dump in the attached log file is in the format [X][Y] where X is the page number and Y is the reg address. E.g [0][18] is P0 reg 18.

The differences I see in the reg config on my board and the EVM are in the following registers:

- P0/reg 38: EVM = 0x11; our board = 0x00

- P0/reg 39 : EVM = 0xC0; our board = 0x00

- P1/reg 38: EVM = 00; our board = 0x11

- P1/reg 40 and reg 41: EVM = 0x0F; our board = 0x0E

Our design only has speaker output, no headset or mic input. The mic input and the headsets are not connected on the PCB. The MCLK is sourced from a 12MHz ocsillator.

I also noticed that on the EVM when I read back the Beep sin and cos values, they appear to be fluctuating sometimes. Do you expect this to happen?


Lastly, scope observations: when I connect the scope, I can see square-ish signal on the speaker pins but that remains constant. I see similar signal on the EVM but with two noticeable differences: On the EVM when I press the beep button, the duty cycle of this output signal modulates for the duration of the beep. In contrast, when I enable beep by setting D7 in P0.reg 71 on our board, nothing happens (the output signal square wave remains the same). Secondly, the frequency of this signal on EVM is 370KHz but on our board it is 357KHz. Why this difference when the configuration on both is the same?

I would appreciate any suggestions.

Thanks,

Samie

  • Hi, Samie,

    I have asked my colleague to look at this with you.

    -d2

  • Many thanks for this Don. Anything you can do to expedite this would be greatly appreciated as we are about to make a decision on respin of our hardware design and we have been considering using a different TI codec chip if we cant make it work but that is an undesirable path due to extra effort involved in both hardware and software. If we can make AICx3100 work (which is already soldered on our alpha prototypes) it would help a lot.

    I am more than happy to talk over the phone as well, if needed, to explain the issue.


    Regards,

    Samie

  • Another observation we made was the silicon rev numbers printed on the chip.

    The one on the EVM has "AIC 3100 TI 04K E6 VF G4" whereas the one on our prototype boards has "AIC 3100 TI 231 A1 Z0 G4". This may or may not make a difference but thought of mentioning this regardless.


    Samie

  • Instead of copying the I2C traffic, I suggest using the configuration data from AIC3100_USB_Init.txt which is in the codec folder that belongs to the CodecControl GUI (available from the EVM product folder). The GUI has a beep example built in.

    The square signal on the class-D outputs is expected. It will PWM based on the audio as you observed.