Hello, I'm having troubles setting the serial ports to TDM8, I've previously worked with 2 channel DACs and SigmaDSP but this has me stumped.
ADAU1962 is master in standalone mode, TDM8 pulse.
ADAU1446 is slave. I'm using clock domain 3.
ADAU1446 serial out 3 outputs to DSDATA1 on ADAU1962.
ADAU1446 serial out 0 outputs to DSDATA2 on ADAU1962.
I am able to get a signal from the DSP to DAC outputs by setting TDM type to TDM2(stereo), this is obviously incorrect but at least suggests the hardware is working.
I feel like I've tried every configuration under the sun but as a starting point, here are my current settings. Any help appreciated. Thanks.
The serial ports and clocking on this part are very flexible but can be confusing. There are a few things that can easily be missed.
There are some strange things it does in assigning the serial port numbers in the hardware. Even if it is not assigned, it still takes up two slots. This is detailed on page 51 in the datasheet about the Automatic Output Channel Assignment. Well, it looks like you have read that section because it looks like you are sending data out to the correct channels in SigmaStudio.
Have you set the clock pad multiplexer properly? That is assigned clock domain 3 to the output ports? I see you have selected clock domain 3 for the serial ports. You might want to try swapping the output pair assignments. You can rearrange the output signals in SigmaStudio. Since some of these channel assignments are sequential, this may be the issue.
By the way, I usually use an oscillator inside the DSP to send a signal to the serial ports as a test. This way you can send a known full scale signal and make certain the data is being properly transmitted. Then introduce the serial input port complication once the outputs are know good.
If you cannot find the issue after these few things I just detailed, then attach your project so I can look at more registers. This is a complicated part.
You will have to zip the file to be able to attach it onto a forum post.
Still no luck so file attached, many thanks.
I took a quick look. You have the core start pulse set to serial input domain 8. Is there something on those clock domain pins? It looks like your setup is correct but if there is no clock there then the program will not start executing. I will look further when I get a moment.
One of the inputs is on serial input domain 8 and the signal meter confirms input is functioning.
I don't remember why originally I set the core start pulse that way as opposed to internally generated. Probably couldn't see a difference in result either way and figured that option was there for a reason. Is one way 'better' than the other?
With serial ouputs 0 and 3 set to TDM8, with my scope I can see data on output 0 but nothing on output 3. If I change output 0 to TDM2 I am able to see data on output 3 aswell as 0. It seems I can't set 2 ports to TDM8? I can't see anything in the data sheet that disallows this, guidance please?