ΣSigmaStudio Ask AI Русский Log in

ADAU1467 SDATA IO not working

SigmaDSP & SigmaStudio fbalk Jan 11, 2018 00:00 19 replies Original on forum ↗
Subscribe
fbalk Question
Jan 11, 2018 00:00

We are using the ADAU1467 with the additional SDATA input lines for our ADCs but we cannot get a working configuration for the IOs.

Is this feature even yet implemented?

Sigma Studio 3.16B1R1744 in use

Audio Signal Processors

adau1467

SigmaDSP Audio Processors

DaveThib Reply
Jan 11, 2018 00:00

Hello fbalk,

Yes, this feature is very integral to this part and is working and has been tested. Can you attach your project along with an explanation of the serial port configuration you require? There is probably a small detail missed in a register setting and we would have a long list of guesses so looking at it will speed up this process.

Thanks,

Dave T

fbalk Reply
Jan 15, 2018 00:00

Hi Dave,

I cannot provide a full file, but here is the configuration of the serial input.

All converters are running in i2s stereo mode, 192kHz 32Bits. The two channels running into Serial Input Port 0 are working (0,1) but the two additional on PIN SDATA6 are not working (4,5).

Are there more settings we have to take care of?

best regards,

Florian

c7b326af7565cfc9bace183962ca0f30.png
c7b326af7565cfc9bace183962ca0f30.png
c7b326af7565cfc9bace183962ca0f30.png-537x308.png
c7b326af7565cfc9bace183962ca0f30.png-537x308.png
1400ec65e59fcb6cac095b52b826e17b.png
1400ec65e59fcb6cac095b52b826e17b.png
1400ec65e59fcb6cac095b52b826e17b.png-605x547.png
1400ec65e59fcb6cac095b52b826e17b.png-605x547.png
784c1b68966f0519702edac89edf589d.png
784c1b68966f0519702edac89edf589d.png
784c1b68966f0519702edac89edf589d.png-174x443.png
784c1b68966f0519702edac89edf589d.png-174x443.png
gotoh Reply
Jan 16, 2018 00:00

Hi Dave,

I am troubled with the same problem.

When SDATA 0 is added to PORT 0 in TDM 8, INVALID IO is displayed.
When TDM 8 adds SDATA 1 to PORT 1, nothing is added.

Every version(Rev3.16/Rev3.16.1beta(32bitOS&64bitOS)/Rev3.15(32bitOS)) will fail.

5f34ba23b3422973603f8ca9019e2fa5.png
5f34ba23b3422973603f8ca9019e2fa5.png
5f34ba23b3422973603f8ca9019e2fa5.png-620x674.png
5f34ba23b3422973603f8ca9019e2fa5.png-620x674.png
67cd64c9d0cc47b02904204e951fd9a2.png
67cd64c9d0cc47b02904204e951fd9a2.png
67cd64c9d0cc47b02904204e951fd9a2.png-588x690.png
67cd64c9d0cc47b02904204e951fd9a2.png-588x690.png
Ken.M Reply
Jan 18, 2018 00:00

Hi,

There are, obviously, bugs in the graphics for SDATAIO configuration.

Much more importantly, we have discovered a bug in the configuration bits for one specific serial input use case. Note that this is an error in the configuration bit-fields only. There are no issues with the actual functionality.

If you are receiving multiple stereo data input streams (I2S or any other two-channel format), and you are using the SDATAIOx pins to receive these additional channels, you must set the Channels/frame and BCLKs/channel menu selection to "4 channels, 32 bit/channel."

Graphically, if what you are trying to achieve is this:

...then you must select four channel mode rather than two channel mode.

The input port configuration on the "Serial Inputs" tab should look like this:

The configuration of additional stereo inputs on the "SDATAIO" tab should look like this:

In your schematic, there will be no signal present on channels 2/3, 6/7, 10/11, etc.

One the SDATAIO page, use the table below to select the appropriate channel from the pin channel routing option menu:

Serial Port
Audio Channels
Menu Selection

Input 0
4 & 5
Channels [7:4] TDM-4 over 4

Input 0
8 & 9
Channels [11:8] TDM-4 over 4

Input 0
12 & 13
Channels [15:12] TDM-4 over 4

Input 1
20 & 21
Channels [7:4] TDM-4 over 4

Input 1
24 & 25
Channels [11:8] TDM-4 over 4

Input 1
28 & 29
Channels [15:12] TDM-4 over 4

Input 2
36 & 37
Channels [7:4] TDM-4 over 4

Input 3
44 & 45
Channels [7:4] TDM-4 over 4

Note that is only applies to serial inputs. Output channel configuration is as documented.

We apologize for the inconvenience.

Ken

4d30603b1d9651137cde14507a81a499.png
4d30603b1d9651137cde14507a81a499.png
4d30603b1d9651137cde14507a81a499.png-206x278.png
4d30603b1d9651137cde14507a81a499.png-206x278.png
5962a2f0a89be45c4216bd4d030f21f7.png
5962a2f0a89be45c4216bd4d030f21f7.png
5962a2f0a89be45c4216bd4d030f21f7.png-612x530.png
5962a2f0a89be45c4216bd4d030f21f7.png-612x530.png
7c093f7006501804ca6d96293033a01b.png
7c093f7006501804ca6d96293033a01b.png
7c093f7006501804ca6d96293033a01b.png-533x293.png
7c093f7006501804ca6d96293033a01b.png-533x293.png
2603de0b8f3a6e1464da82975b170951.png
2603de0b8f3a6e1464da82975b170951.png
2603de0b8f3a6e1464da82975b170951.png-210x99.png
2603de0b8f3a6e1464da82975b170951.png-210x99.png
gotoh Reply
Jan 23, 2018 00:00

Hi Ken,

How do I do in the TDM8 mode I pointed out?

Is the function to expand 8 channels to 16 channels in TDM 8 mode normal? or Bug?

fbalk Reply
Jan 25, 2018 00:00

Hi,

Is it not possible to use the additional input just as i2s 2 channel inputs?

If I configure the Serial input to 4 channel, the bitclock also get doubled (like for TDM4). Our ADC is not able to handle this.

Ken.M Reply
Jan 28, 2018 00:00

This is a very unfortunate bug. The only mode that is affected is I2S input. The output port work as expected.

For input ports in bit clock slave mode, the workaround is simply to select TDM4 mode. LRCLK may be either a master or slave, and changing to TDM4 mode will not change the signal output.

In bit clock master mode, the workaround to output the correct BCLK requires is more complicated. If the required signals appear elsewhere in the system (e.g. the bit clock is being generated by one of the serial output port), the simplest solution is to connect that to both the BCLK of the ADC and the serial input port.

If there are no other serial ports that are generating 64 BCLK/LRCLK, the workaround is to set the clock speed for the serial input port to Fs/2 (i.e. half the core rate). If the serial input port is set to TDM4 mode (as required to use the SDATAIOx pins in I2S mode), then the BCLK output will be correct, but the LRCLK will be at half the required rate. In almost all systems, all serial ports (input or output) in LRCLK master mode will generate the correct signal regardless of the TDM mode, so the LRCLK from another port can be input to both the ADC and the serial port.

Graphically, here are the two options. If any output port is in I2S mode (or another input port is running in I2S mode without using any SDATAIOx pins), use the BCLK output from the other port:

Alternately, use an LRCLK output from another port:

In the second example, the sampling rate of in input port is set to Fs/2 (rather than Fs) as follows:

Note that many ADC will clock a frame of data out on the first 64 bit clocks even of they are not evenly spaced in the sample frame. The LRCLK dictates the sample rate and must be very stable and free of jitter., In contrast, the BCLK is simply used to latch out the most recent data stored in a serial buffer. This is true of all ADI ADCs that I have tested.

Please let me know if you have further problems,

Ken

9450c4f677b2b119f58f40fc4d41fdcf.png
9450c4f677b2b119f58f40fc4d41fdcf.png
9450c4f677b2b119f58f40fc4d41fdcf.png-620x250.png
9450c4f677b2b119f58f40fc4d41fdcf.png-620x250.png
edc99967d757bccfb52c5b2d461d4da8.png
edc99967d757bccfb52c5b2d461d4da8.png
edc99967d757bccfb52c5b2d461d4da8.png-620x250.png
edc99967d757bccfb52c5b2d461d4da8.png-620x250.png
4e6d7b2766408c7f75d1ebefe76de2ca.png
4e6d7b2766408c7f75d1ebefe76de2ca.png
4e6d7b2766408c7f75d1ebefe76de2ca.png-508x429.png
4e6d7b2766408c7f75d1ebefe76de2ca.png-508x429.png
Ken.M Reply
Jan 31, 2018 00:00

There has been some confusion about my answers above, so I will try to summarize:

There is only one use-case that requires a hardware workaround, and it is when all of the following are true

The serial port is an input

The port is in stereo mode (I2S, LJ or RJ)

The SDATAIO pins are being used to receive additional stereo input on the same port

The port is operating as a BCLK clock master

If all of these are true, then either the BCLK or the LRCLK must be generated from another pin.

If 1, 2, and 3 are true, but the stereo input port is operating as a clock slave, select TDM4 mode instead of stereo mode, and everything will work as expected.

All other modes, including stereo modes on the outputs and TDM8, work as described in the data sheet.

gotoh: You are seeing a user interface bug in version 3.16 of SigmaStudio. The mode you need works with no problems on the silicon. The GUI should not show that this is an invalid mode. If you have any problems making this work, please let me know.

Ken

Ken.M Reply
Jan 31, 2018 00:00

This is a bug in SigmaStudio 3.16. Receiving 16 channels on port 0 (or 1) in TDM8 mode, where half are on the primary data pin and half are on an SDATAIO pin, works with no problems even though the GUI show that it is an invalid combination in the graphic above. You have configured it correctly, and it should work without problems.

Ken

Sentosa Reply
Feb 26, 2018 00:00

3.17 still same bug. Want to have port 0 and port 1 TDM8, port 2 and port 3 each two I2S. Total 2 TDM8 and 4 I2S.
0..7 TDM8 port 0
16..23 TDM8 port 1
32/33 I2S port2 36/37 I2S SDATA IO 0/1
40/41 I2S port 3 44/45 I2S SDATA IO 2/3
Not possible to configure. Anyone knows when fixed or how to work around?

ADIApproved Reply
Feb 18, 2020 00:00

To add additional clarification, please note that if the following are true:

The serial input is receiving stereo data (I2S, LJ, or RJ)

The serial input port is a clock slave

LRCLK is a 50/50 duty cycle clock

The serial input port must be configured as a TDM4 input, and data will appear on even numbered channels (0/2/4/6/8/10, etc). No data will be lost as a result of this change.

Additionally, if the external clock master is functioning exactly as the DSP is configured, you may change the "LRCLK Type" to Pulse (even though it's actually being received as 50/50) and data will appear on the standard channels (0/1/4/5/8/9, etc) and can be passed through ASRCs in stereo pairs.

Please see this post for more detail:

https://ez.analog.com/audio/f/q-a/122099/sdataio-is-not-working-correctly-of-adau1463/363509#363509

Joshua

Yosen Reply
Feb 12, 2020 00:00

Hi Ken,

is this bug fixed in the SigmaStudio4.5?

B.R

Yosen

ADIApproved Reply
Feb 18, 2020 00:00

Hello Yosen,

The GUI bug has been fixed as of SigmaStudio 4.2. The silicon anomaly, however, remains, and the workarounds are as Ken discusses above when the DSP is a clock master on the input port, and as I detailed in the other thread when the DSP is a clock slave on the input port.

Joshua

Ken.M Reply
Feb 26, 2018 00:00

Sentosa,

Are all the streams that you describe above inputs?

Ken

Sentosa Reply
Feb 26, 2018 00:00

@Ken: All are input and outputs.

kbug Reply
Mar 5, 2018 00:00

Problems I've found using evaluation board EVAL-ADAU1467Z out of the box are, because of this routing bug:

a) Analog Input 2 - IN2 (ch 36-37) doesn't work in the software meaning there's no signal going into channels 36-37 when input source is connected.

b) Analog Outputs 2 (Ch 4-5), 3 (Ch 8-9), 4 (Ch 12-13) don't receive the signal.

To solve it and get fully functioning board you need to change following settings in Hardware Configuration "Register Control":

1. In Serial_Ports tab -> Serial Inputs, under Serial Input Port 2 select the number of channels to be "4 channels, 32bit/channel" instead of the default 2 channels.

2. In SDATA IO tab find the section as shown in the image below and change the settings as following:

That's it, you should be ready to use Analog Input IN2 (ch36-37) (J15) as your analog signal input as well as Analog Outputs 2 (J13) ,3 (J18), 4 (J17) as your Analog Outputs !

This has to do with the mapping tables from manual:

Below you can find very simple schematic that will route your analog input signal from (Analog) IN2 to (Analog) OUT1 on ADAU 1467 Evaluation Board when using Sigma Studio 3.16 or 3.17. You can play with sending signal to other analog outputs as well.

I attached the basic .dsproj file of this schematic with settings already configured so that you're ready to go !

2459f779e76bf154f4a82e313dacb3be.png
2459f779e76bf154f4a82e313dacb3be.png
2459f779e76bf154f4a82e313dacb3be.png-620x335.png
2459f779e76bf154f4a82e313dacb3be.png-620x335.png
b48c6096b834c6ee1a65cba83f497ea4.png
b48c6096b834c6ee1a65cba83f497ea4.png
b48c6096b834c6ee1a65cba83f497ea4.png-659x1353.png
b48c6096b834c6ee1a65cba83f497ea4.png-659x1353.png
a4830696f9f4b758f8e63c95078137d5.png
a4830696f9f4b758f8e63c95078137d5.png
a4830696f9f4b758f8e63c95078137d5.png-620x91.png
a4830696f9f4b758f8e63c95078137d5.png-620x91.png
5e20f251674d24c71780319a8be2e78f.png
5e20f251674d24c71780319a8be2e78f.png
5e20f251674d24c71780319a8be2e78f.png-620x145.png
5e20f251674d24c71780319a8be2e78f.png-620x145.png
17481b1b59ed82e83cc867a047c1356e.png
17481b1b59ed82e83cc867a047c1356e.png
17481b1b59ed82e83cc867a047c1356e.png-454x398.png
17481b1b59ed82e83cc867a047c1356e.png-454x398.png
4259ea74b4f659f303f4ef826df0c8e4.jpg
4259ea74b4f659f303f4ef826df0c8e4.jpg
4259ea74b4f659f303f4ef826df0c8e4.jpg-620x465.jpg
4259ea74b4f659f303f4ef826df0c8e4.jpg-620x465.jpg
pietervdb Reply
Sep 19, 2019 00:00

Does this also work for the revB board? I can't get the analog inputs working.

kr

Pieter

DaveThib Reply
Oct 1, 2019 00:00

Hello Pieter,

The Rev B is very similar. You are just trying to use the board only with the on-board codec using the 3.5mm jacks?

Can you Zip up and attach your project?

Dave T

pietervdb Reply
Feb 27, 2020 00:00

problem solved, the relation between Bclk and Wclk is not correctDOCX

1.72.png-185x240x2.png
1.72.png-185x240x2.png