ADAU145x TDM clarification please
Hi,
I'm looking to send 8 audio channels from ADAU145x through TDM to my DAC. As I understand it, in Sigmastudio register set up I need to set SDATA_OUT 2 and 3 to TDM mode. I can then use one of these data outputs for my 8 channels whilst leaving the other floating? Allowing me to use the GPIO on the unused SDATA_OUT's respective LRCLK pin? Is it as simple as that?
Thanks again.
Hello Alex,
Since you are mentioning SDATA_OUT 2 and 3 I assume you are using the eval board?
So if you are using TDM8 and only need the one TDM 8 stream then you do not have to setup port 3.
So that certainly leaves LRCLK_OUT_3 available to be used for GPIO. However, you will need the LRCLK_OUT_2 as a clock pin. You either will be supplying this clock to the DAC or the DAC will be supplying the LRCLK along with the BCLK. If you are using ports 0 and 1 with the clocks set as master then you could use one of those clock signals to send over to the other board. Then set port 2 as a master and then set it to be a GPIO and that will take precedence over the clock function. Setting it as master will send the clock internally to the serial shift registers and allow the data to appear at the data port.
Thanks,
Dave T
Hi Dave, thank you.
This is for my own PCB. I should've clarified in the original post the reason for my confusion.
Page 64 of the datasheet says
"Likewise,
flexible TDM output mode requires that both
SDATA_OUT2 and SDATA_OUT3
pins
be
configured for
flexible TDM mode."
As I can't see any mention of non-flexible TDM in the datasheet I wasn't sure if this was the only way to use TDM on the ADAU145x, from your last answer is it safe to assume not?
Thanks again,
Alex.
Hello Alex,
No, you do not have to use the flexible TDM mode. In fact it complicates things a bit.
Have a look at table 38 in the datasheet. This shows you which output channels in SigmaStudio will map to which channel positions in a TDM8 Stream. So for SDATA_OUT2 you will use channels 32-39 in SigmaStudio. Figure 45 also shows this and is a bit easier to see.
In the serial port control register for SDATA_OUT2 you will simply set it to 8 channels and it will route the 8 channels out of SDATA_OUT2. You also need to set the rest of the format and clocking modes in that register. I am not sure exactly what mode you want the serial port to be in.
If you get stuck let me know.
Thanks,
Dave T
Ah brilliant, thank you.
Please log in to reply.