AnsweredAssumed Answered

ADAU1446 Flexible TDM Conflicting with other inputs

Question asked by tompdx on Oct 11, 2013
Latest reply on Nov 4, 2013 by BrettG

I am using an ADAU1446.


Summary:  I am unable to get inputs simultaneously from a flexible TDM channel and a collection of TDM2 channels.  All outputs on both types of channels work, but inputs seem to be mutually exclusive.


My ADAU1446 is set up as follows

  • Serial Channel 0 - Flexible TDM 5 channels at 16 bits each
  • Serial Channel 1 - Unused
  • Serial Channel 2 - TDM2
  • Serial Channel 3 - TDM2
  • Serial Channel 4 - TDM2
  • Serial Channel 5 - TDM2


I have two behaviors I can create, only by changing a single register, Serial Input 0 "Word Length", between "Flexible TDM Mode", and "16 bits",  (see attached picture below).


Scenario A - Serial Input 0 is set to Flexible TDM Mode

  • My Flexible TDM Inputs Work
  • TDM2 Inputs do not work
  • Both Flex Outputs and TDM2 outputs all work


Scenario B - Serial Input 0 is set to 16 bits

  • My Flexible TDM Inputs do not Work
  • Now my TDM2 Inputs Work
  • Both Flex Outputs and TDM2 outputs all work


I would not expect Scenario B to work, since I need to set my flexible TDM channel to actually use Flexible TDM.  However what it does do is prove that my TDM2 CODECs, and Analog Path are all set correctly, since they work just fine if I set it this way.


I am puzzled why Scenario A does not work.  Why does anything I do on Serial Input 0, have any effect on the other Serial Inputs? 


I have attached the project file to this as well.  As you can see, I am mixing every input and sending it to every output, so that we don't get confused by inputs and outputs shuffling around.  (download attached project file below)



Do I need to go to an ADAU1445 or ADAU1442?  What am I missing?