I put together a quick interface board for the Raspberry Pi so that I don't have to use a bunch of single wires next time I want to connect it up.
The design is really simple, but I went with a 4 layer board because there were too many signal crossings, and it meant that I could at least make an effort to keep the higher speed I2S bus lines at close to 50 ohm impedances. The boards are off to OSHPark, and I've put them on the SuperAudioBoard GitHub repo. I'll share the design on OSHPark when I've had a chance to test it (if you use the files on github, it's at your own risk :)).
I also updated the design and user guides with some info that I had forgotten. In my haste, I had forgotten things like
- the fact that the I2S bus isolators are unidirectional so the codec always has to be the I2S bus master (this is the best performance anyway because the clocks will be derived directly from the 24.576MHz crystal).
- that the audio outputs are line out only, and cannot be used to drive headphones or speakers
- the max signal swings of the audio inputs and outputs
I'm still working on getting my last prototype working. I'm pretty sure that I've narrowed it down to the codec chip itself. I already replaced the I2C isolator, but that didn't help at all.
I almost pulled off a pad when I replaced the I2C isolator, and it only has 8 pins, so I wasn't looking forward to trying to remove the 28 pin codec without a hot air reflow station. I was looking through Adafruit's website to see how the reflow station was priced, and I ran across this: Chip Quik SMD Removal Kit. It looks like it should be a great help. Anyone else have experience with that stuff?