Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: 3-line serial input formats (I2s, etc.) and compatibility between them (Read 2121 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

3-line serial input formats (I2s, etc.) and compatibility between them

For a DIY project, there seems to be some confusion as to what various decoder/USB interfaces, digital filter chips and DAC chips and their compatibility.

Let me cut right to the chase ...
I need the DF1704 digital filter chip to mate successfully (if possible) to either or both of two DAC chips, noted below.
Will any of them work?

If I have this digital filter chip (DF1704) which accepts I2S but can only output "MSB first". I2S is a MSB-first format afaik.
Quote
The output data format used by the DF1704 for DOL and DOR is Binary Two’s Complement, MSB-first, right-justified audio data. Figures 6(a) and 6(b) show the output data formats for the DF1704. Figure 7 shows the audio output timing
That means the DAC chip downstream must be capable of accepting "MSB first".
I have two options:
A Philips TDA1545A: http://vasiltech.narod.ru/files/TDA1545A.pdf
A Philips TDA1387T: https://pdf1.alldatasheet.com/datasheet-pdf/view/19192/PHILIPS/TDA1387.html

The 1545A and 1387T are very similar 8-pin DACs, but the latter is a I2S, and the former "EIAJ".

The TDA1545A datasheet notes:
Quote
Compatible with most of the Japanese input formats: time multiplexed, two's complement and TTL ....
The TDA1545A accepts input serial data formats of 16-bitword length. Left and right data words are time multiplexed. The most significant bit (bit 1) must always be first. The format of data input is shown in Figs 5 and 6. With a LOW level on the word select input (WS) input data is placed in the right input register and with a HIGH level on the WS input data is placed in the left input register. The data in the input registers is simultaneously latched in the output registers which control the bit  switches

The 1387T datasheet notes:
Quote
I2S-bus input format (time multiplex, two’s complement,TTL) ....
The TDA1387T (CC-DAC) accepts serial input data format of 16-bit word length. Left and right data words are time multiplexed. The input data format is shown in Figs 4 and 5.With a HIGH level on the WS input, data is placed in the right input register, with a LOW level on the WS input, data is placed in the left input register. The data in the input registers are simultaneously latched to the output registers which control the bit switches.
Linux Mint 64-bit. Intel Core i7-9700K CPU @ 3.60GHz × 8 . Kernel Linux 5.4.0-136-generic x86_64. Memory: 16GB. Mesa Intel UHD Graphics 630 (CFL GT2). Various external USB DACs. Schiit, Topping, etc

Re: 3-line serial input formats (I2s, etc.) and compatibility between them

Reply #1
I need the DF1704 digital filter chip to mate successfully (if possible) to either or both of two DAC chips, noted below.
Will any of them work?
No, not without some kind of translation. The DF1704 chip is designed to be used with a pair of PCM1704 DACs, and its output is split into two separate digital signals for that purpose. Both of the DACs you've selected expect I²S input, not the (apparently) non-standard PCM1704 format.

Re: 3-line serial input formats (I2s, etc.) and compatibility between them

Reply #2
I need the DF1704 digital filter chip to mate successfully (if possible) to either or both of two DAC chips, noted below.
Will any of them work?
No, not without some kind of translation. The DF1704 chip is designed to be used with a pair of PCM1704 DACs, and its output is split into two separate digital signals for that purpose. Both of the DACs you've selected expect I²S input, not the (apparently) non-standard PCM1704 format.
Please see the top post, because I note (per datasheet) that: The 1545 is not an I2S device; but the 1387 is.
Apologies for omitting that the DF1704 outputs serial DATA in separate L and R lines (DOL, DOR), as you indicated.
Also apologies for omitting that I am considering using two of those Philips DACs -- e.g., two 1545s -- but using one DAC for L and the other for R.
What do you/others think ... will this work? Again, please keep in mind what the DF1704 datasheet indicates on pp. 8-10 of the datasheeet pertaining to the OUTPUT. The output data format used by the DF1704 for DOL and DOR is Binary Two’s Complement, MSB-first, right-justified audio data.
Linux Mint 64-bit. Intel Core i7-9700K CPU @ 3.60GHz × 8 . Kernel Linux 5.4.0-136-generic x86_64. Memory: 16GB. Mesa Intel UHD Graphics 630 (CFL GT2). Various external USB DACs. Schiit, Topping, etc

Re: 3-line serial input formats (I2s, etc.) and compatibility between them

Reply #3
Please see the top post, because I note (per datasheet) that: The 1545 is not an I2S device; but the 1387 is.
The 1545 datasheet doesn't call it I²S, but the signal timing and format diagrams confirm that it really is I²S.

Also apologies for omitting that I am considering using two of those Philips DACs -- e.g., two 1545s -- but using one DAC for L and the other for R.
What do you/others think ... will this work?
No, you still need some kind of conversion to produce I²S for the DACs.

Re: 3-line serial input formats (I2s, etc.) and compatibility between them

Reply #4
Please see the top post, because I note (per datasheet) that: The 1545 is not an I2S device; but the 1387 is.
The 1545 datasheet doesn't call it I²S, but the signal timing and format diagrams confirm that it really is I²S.

Also apologies for omitting that I am considering using two of those Philips DACs -- e.g., two 1545s -- but using one DAC for L and the other for R.
What do you/others think ... will this work?
No, you still need some kind of conversion to produce I²S for the DACs.
The Philips datasheets are confusing, esp from the 1990s, as the company was putting out chips "every other day" and stuff got mixed up, with omissions and downright errors.
In any case, the DF1704 + (2x)tda1545 works just fine, with very good fidelity, but one simply uses the L channel out (and leave R unused) to create stereo. Again: excellent fidelity, separation and clarity.
The tda1387 does not work; it is I2S input. But can be made to work with glue logic conversion --- messy!
Linux Mint 64-bit. Intel Core i7-9700K CPU @ 3.60GHz × 8 . Kernel Linux 5.4.0-136-generic x86_64. Memory: 16GB. Mesa Intel UHD Graphics 630 (CFL GT2). Various external USB DACs. Schiit, Topping, etc

Re: 3-line serial input formats (I2s, etc.) and compatibility between them

Reply #5
In any case, the DF1704 + (2x)tda1545 works just fine, with very good fidelity, but one simply uses the L channel out (and leave R unused) to create stereo.
It's good that you got it to work, but that behavior isn't described in the datasheet. If you buy another TDA1545 and end up with a different revision, you may see different behavior. The only way to guarantee reliable behavior is to provide data in I²S format.