I am somewhat confused about the tolerances required for I2S galvanic isolation.
Originally I thought it would be as simple as taking the I2S pinout and running each leg through an electro-optical isolator like this 4/0 since the data flow is unidirectional in this case. Then you would take the output and feed it to the next system.
But then I started looking into the tolerances required to be transparent to the I2S slaved receiving chip and became less sure. This paper implies there are three main issues with electro-optical isolation:
1. Rise and Fall minimum times to ensure each clock beat is sampled and reproduced (required minimum times dictated by the MClk)
2. Propagation time across the isolator (which if every line is subject to the same delay isn't an issue except for live latency)
3. Saturation delays introduced specifically by electro-optical isolation which can be fixed by maintaining a partial load on the diodes and/or using a different form of isolation like capacitive coupling. This one matters mostly if you're using I2S in a bidirectional fashion
If you're sampling an 8 channel@48khz signal there will be 8 I2S channels: 4 data channels, 2 'polarity/frame' channels/a 'left' and a 'right' clock, and 2 timing (a frame/word clock and Master clock). The lower boundary will be set by the MClk since it will be the highest frequency signal and all other clocks will be a divisible subset of it.
So I believe I need to use a chip that supports up to 6.144 Mhz. Worst case scenario using the first chip is:
(1 bit) per (30 nanoseconds) = 4.16666667 MBps or 33.3333334 Mbps. Assuming 1 bit per hz as the worst efficiency/naively encoded it should have enough overall bandwidth (33Mhz) and the saturation delay shouldn't be an issue so long as every signal has the same delay and the frames are being asynch reclocked on the other end. The range of delay however is somewhat variable but still should fall within the tolerances if we're only using a 6Mhz signal I think.
There are other isolators like this digital isolator which has a smaller rise and fall time but the total transit across the chip is larger and the pulse distortion doesn't seem like it would be much better?
Originally I thought it would be as simple as taking the I2S pinout and running each leg through an electro-optical isolator like this 4/0 since the data flow is unidirectional in this case. Then you would take the output and feed it to the next system.
But then I started looking into the tolerances required to be transparent to the I2S slaved receiving chip and became less sure. This paper implies there are three main issues with electro-optical isolation:
1. Rise and Fall minimum times to ensure each clock beat is sampled and reproduced (required minimum times dictated by the MClk)
2. Propagation time across the isolator (which if every line is subject to the same delay isn't an issue except for live latency)
3. Saturation delays introduced specifically by electro-optical isolation which can be fixed by maintaining a partial load on the diodes and/or using a different form of isolation like capacitive coupling. This one matters mostly if you're using I2S in a bidirectional fashion
If you're sampling an 8 channel@48khz signal there will be 8 I2S channels: 4 data channels, 2 'polarity/frame' channels/a 'left' and a 'right' clock, and 2 timing (a frame/word clock and Master clock). The lower boundary will be set by the MClk since it will be the highest frequency signal and all other clocks will be a divisible subset of it.
So I believe I need to use a chip that supports up to 6.144 Mhz. Worst case scenario using the first chip is:
(1 bit) per (30 nanoseconds) = 4.16666667 MBps or 33.3333334 Mbps. Assuming 1 bit per hz as the worst efficiency/naively encoded it should have enough overall bandwidth (33Mhz) and the saturation delay shouldn't be an issue so long as every signal has the same delay and the frames are being asynch reclocked on the other end. The range of delay however is somewhat variable but still should fall within the tolerances if we're only using a 6Mhz signal I think.
There are other isolators like this digital isolator which has a smaller rise and fall time but the total transit across the chip is larger and the pulse distortion doesn't seem like it would be much better?