I am trying to design a PCB that embeds 16 ADAU1787 audio codecs (ADC/DAC).
I want to design a board that connects to an FPGA through an FMC port and connects all the codecs to output connectors (Stereo jack and DB25).
Here are the technical details:
- Each codec uses 3 clocks from the FPGA: Master clock=24MHz, Bit clock=3MHz to 24MHz, and Word select=<800kHz.
- These 3 clocks are buffered with an LMK1C1104, each output of the buffer drives 4 codecs.
- Each codec is configured with I2C communication through a multiplexer, but this communication only occurs during initialization (so it should not be a problem for my question, I suppose).
- Each codec has its own data in and data out lines from the FMC connector. The codecs are only ADC/DAC, not amplifiers (so no significant current consumption).
Each codecs square also include the decoupling capacitor and line resistor.
The digital part is on the bottom: Clock buffer and multiplexer.
The analog part is on the top and left: 8 DB25 connectors on top that handle audio signals (input and output), and 16 stereo headphone outputs on the left.
And so the routing is a huge grid. Each codec is connected to:
- 2 DB25 connector
- 1 stereo output connector
- 1 Data In and Data Out from the FMC connector,
- 3 clock from the FMC connector through the clock buffers
- The I2C multiplexer
Not very legible, but this is my PCB:
(The other IC on the bottom is a LED driver)
I know this is a specific PCB, but I hope I didn't do anything stupid. Here are some additional technical specs:
- It's a 4-layer PCB (Sig, GND, VCC, Sig).
- I didn't pour GND on the two signal layers.
- Each signal track is >3W apart (if you see some that are not on my screenshot, it's just LED signal).
- It's a 220mmx220mm PCB
Now, how am I supposed to do my GND layer(s)?
- Do I have to separate AGND and DGND? That seems impossible to do without having a strange interlacing between each codec.
- Do I have to create an AGND layer and a DGND layer? I would say that's a bad idea because of the coupling effect if I have those 2 big planes on top of each other.
- Do I have to create only 1 ground plane?Apparently yes. But still have to separate digital and analog.
And in the end, do I have to worry about that? Because I don't have any analog component, only connectors and codecs. I'm pretty lost because usually, you have one codec and can split analog components and digital components. Here I have 0 analog and few digital components, but a lot of codecs...
What is the right approach?