I have 2 boards connected via a ribbon cable.
CPU board is an 3.3v ARM providing the I2S signals(bit clk, data, L/R signal). I'm using 44100 - 16 bit audio so the bit clock is just approx 1.4 mhz.
The second board has a TI PCM5100 DAC. (I made a small PCB to test with) Today - the two boards are hacked together using 4 inches of ribbon cable and 6 inches of individual wires connected to the CPU board.
The testing proved successful.
I want to change both boards to enable a 12 inch ribbon cable to join the two boards.
Space is a concern so I don't want to wire the ribbon cable as G S G S G S G but just supply signal lines next to each other.
Currently for testing I have no termination - just the CPU pin driving the DAC via the wire/cable.
Researching ribbon cable impedance, I find that it can range from 100 to 150 ohms depending on gnd/signal pairing or not paring.
If I place a 120 ohm termination resistor at the PCM5100 I2S inputs that means the cpu I2S pin must source around 27 ma (3.3 / 120) - which is outside the pin's drive specification.
I can add a buffer/driver on the cpu board to drive the line but not sure if that is a good direction to go.
Should I be concerned about line termination with 12 inches of ribbon cable?
Thanks in advance for any comments.
Joe
Update - Test my understanding:
I have 10 signals that pass via the ribbon cable:
2 with bit rates of approx 1.4 mhz (I2S bit clock and data) 1 with a rate if 88 khz - I2S L/R signal
2 I2C signals (clk and data) - baud 100 khz or 400 khz
and 5 nearly constant level signals: 3.3v GND Reset Mute IRQ
If I add 100 ohms in series with the two I2S signals (BCLK and I2S Data) and position them in the ribbon cable as defined below, then I should have a good chance of addressing my concern - right?
Ribbon cable layout
- GND
- I2S Bclk
- 3.3V
- I2S Data
- Reset
- I2S L/R signal
- Mute
- I2C CLK
- IRQ
- I2C Data