Serial audio transmission over cable ... #2

Thread Starter

giovanni.dista

Joined Apr 14, 2021
54
Last edited by a moderator:

Ian0

Joined Aug 7, 2020
9,817
i'm very interessed to interface I2s with a rs485 cause distance...can i do this? how do i do this? tks
WM8804 is the device you need.
https://www.cirrus.com/products/wm8804/
SPDIF (also AES3) is the format used to send digital audio over medium distances, and it's generally sent transformer-coupled rather than by RS485. This avoids the RS485 earth forming ground loops. SPDIF is Manchester coded, so it has no net DC level, which is done for two reasons - to recover the clock, and to allow it to be transformer coupled.
It can also be sent down fibreoptics using the TOSLINK system.
https://www.cliffuk.co.uk/products/optical/opticaljacks.htm
For longer distances, and for multiple channels down a single cable, the format is DANTE.
https://en.wikipedia.org/wiki/Dante_(networking)
now used in all the professional mixing desks.
 

Thread Starter

giovanni.dista

Joined Apr 14, 2021
54
WM8804 is the device you need.
https://www.cirrus.com/products/wm8804/
SPDIF (also AES3) is the format used to send digital audio over medium distances, and it's generally sent transformer-coupled rather than by RS485. This avoids the RS485 earth forming ground loops. SPDIF is Manchester coded, so it has no net DC level, which is done for two reasons - to recover the clock, and to allow it to be transformer coupled.
It can also be sent down fibreoptics using the TOSLINK system.
https://www.cliffuk.co.uk/products/optical/opticaljacks.htm
For longer distances, and for multiple channels down a single cable, the format is DANTE.
https://en.wikipedia.org/wiki/Dante_(networking)
now used in all the professional mixing desks.

thanks for your answer Ian, however I have to manage an rs485 signal that carries the audio from other devices and I would like to convert it to i2s. How can i do this? if i can how do this? what device can i use?
 

Papabravo

Joined Feb 24, 2006
21,225
thanks for your answer Ian, however I have to manage an rs485 signal that carries the audio from other devices and I would like to convert it to i2s. How can i do this? if i can how do this? what device can i use?
I'm pretty sure you cannot do it directly. Part of the I2C protocol is the handling of the ACK slot. RS-485 does not have the concept of making the transmitter be high impedance for one bit time to receive the ACK. Your best bet is to make an I2C to I2C bridge using RS-485 as the physical layer for a higher level protocol. I envision a processor on Board "A" being able to talk an I2C peripheral on Board "B" by having the processor on Board "A" talk to the processor on Board "B", and the processor on Board "B" will talk to the I2C peripheral on Board "B" and report back to the processor on Board "A"

I have no idea if that will meet your requirements or not.
 

Thread Starter

giovanni.dista

Joined Apr 14, 2021
54
I'm pretty sure you cannot do it directly. Part of the I2C protocol is the handling of the ACK slot. RS-485 does not have the concept of making the transmitter be high impedance for one bit time to receive the ACK. Your best bet is to make an I2C to I2C bridge using RS-485 as the physical layer for a higher level protocol. I envision a processor on Board "A" being able to talk an I2C peripheral on Board "B" by having the processor on Board "A" talk to the processor on Board "B", and the processor on Board "B" will talk to the I2C peripheral on Board "B" and report back to the processor on Board "A"

I have no idea if that will meet your requirements or not.

let me explain better, I have 3 boards far from each other and each of these boards has a microphone. The audio signal of each microphone goes to a board via the rs485. Now I would like to switch from the rs485 signal to an I2S signal.
 

Papabravo

Joined Feb 24, 2006
21,225
let me explain better, I have 3 boards far from each other and each of these boards has a microphone. The audio signal of each microphone goes to a board via the rs485. Now I would like to switch from the rs485 signal to an I2S signal.
I'm sorry I misread what you originally posted and confused I2S with I2C. They are not the same thing. Let me look further.
EDIT: Since the data transfer is in one direction only you put an RS-485 transmitter at one end and an RS-485 receiver at the other end, properly terminate the connection for the cable type and you should be good to go. I2S is a data format. RS-485 is a physical transmission medium. Where do you see a problem?
 
Last edited:

Thread Starter

giovanni.dista

Joined Apr 14, 2021
54
I'm sorry I misread what you originally posted and confused I2S with I2C. They are not the same thing. Let me look further.
EDIT: Since the data transfer is in one direction only you put an RS-485 transmitter at one end and an RS-485 receiver at the other end, properly terminate the connection for the cable type and you should be good to go. Where do you see a problem?
if i wanted to use for example cs8416 (cirrus) as a receiver, the input signal cannot be the rs485 signal.
 

Papabravo

Joined Feb 24, 2006
21,225
if i wanted to use for example cs8416 (cirrus) as a receiver, the input signal cannot be the rs485 signal.
We used the CS8416 and it's predecessors with RS-485 receivers to convert the Differential RS-485 signal to a single ended signal. You can also use a transceiver and just wire the transmitter inactive. Data is data after all.
 

Papabravo

Joined Feb 24, 2006
21,225
sorry i would write 3.3 volt rs485 receiver
The RS-485 side does not care what voltage you use for the transceiver. It is a differential receiver after all with a wide common mode range; something like +12V to -7V IIRC. On the other side it can be 5V or 3.3V, I don't think it matters. If you use a transceiver as a receiver only, the transmitter should have the output disabled (tri-stated) and the input grounded. Also, make sure that you properly terminate the cable for point-to-point operation according to your cable type. You can use twisted pair, shielded or unshielded, coax or whatever.

On the transmitter side, I think it will be to your advantage to use a higher voltage than 3.3V if you want to drive a long cable with above average DC resistance. The differential voltage at the other end of the cable, should be at leas 400 mV into the terminating resistor to be safe. These are easy measurements to make.

We used to have a test CD that created an I2S data stream that when reconstructed produced a 1000 Hz. tone. Great debugging tool.
 

Papabravo

Joined Feb 24, 2006
21,225
What is the purpose of the input capacitors on RxP0-RxP3
We did not use them on the CS8612 or CS8614. Is that some new feature where you are converting the data stream to edges?
 

Papabravo

Joined Feb 24, 2006
21,225
in datasheet of cs8416 pag 50 to use ttl , it use a capacitor 0.01 uF, it's wrong?
TTL is just a logic family that defines logic 0 and logic 1 to be certain voltage levels. If you put capacitors there you will block the DC levels generated by the receivers and be looking positive and negative going spikes for each edge. I don't thing that is what you want but let me check the datasheet to see if I can find it. Thos TTL voltage levels also happen to be compatible, sort of, with 3.3V CMOS.

EDIT: I forgot that they made this change where they are looking differentially at RxP0 and RxN. Never mind you are correct.
 

Thread Starter

giovanni.dista

Joined Apr 14, 2021
54
Hello boys!! my question now is: if I have to transmit the audio up to 200 meters with rs485, what can the maximum quality of the transmitted audio be? I use a cs8406 for transmission, it's possible? because cs8406 use s\pdif, i'm not an expert but spdif if i understand good send data to great speed and i need cd audio quality and i don't know if rs485 is compatible with this speed
 
Last edited:

Ian0

Joined Aug 7, 2020
9,817
S/PDIF is a data format specification, RS485 is an electrical specification. You can send S/PDIF over RS485 if you want to, but S/PDIF is designed to be transformer coupled, which would be an advantage to you because there would be no common ground.
The maximum length for either format will be about the same = 100,000,000 divided by bit-rate,
So full CD quality = 44100 samples/second.
S/PDIF encodes that at 2.8224Mbit/second, suggesting you'd get about 35 metres.

If you're sending this audio around a site that is already wired in ethernet, have a look at these
https://www.canford.co.uk/Index/DANTE-interfaces/CANFORD-DANTE-INTERFACES
 

Thread Starter

giovanni.dista

Joined Apr 14, 2021
54
first tks for your reply.
spdif, as I understand it, encodes the signal using the Biphase Mark Code, so actually in your calculations there is an additional multiplication by 2 to do right? I knew that the maximum speed of the rs485 is 10 Mbit / s up to 10 meters and then drops down to 100 kbit / s at 1200 meters, is that correct?
 
Last edited:
Top