USB -> I2S and Analogue

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I've designed a very simple board around the PCM2706 IC, with analogue output (so I can use it now and hopefully remove some of the hum/noise I get from my PCs) and I2S for connection to a TDA1541A DAC I'll be making at some point in the future.

The overall footprint is slightly less than 5cm x 5cm (2" x 2"). I know it's customary to put SMD parts on one side and through hole on the other, but pretty much everything will go on the top side because I will mount this as a daughter-board to my future DAC via pins in the 3 isolated holes plus the I2S header. The mute and volume buttons are momentary push buttons I salvaged from an old car CD player faceplate.

I've designed this to be cheap. It'll cost me about $50 to make two (I got the DAC chips free as samples). All I hope to get from it is less noise than the onboard sound cards of my PCs. As such, no major design changes will be entertained at this point.
 

Attachments

  • schematic.jpg
    schematic.jpg
    92.4 KB · Views: 515
  • top.jpg
    top.jpg
    129.6 KB · Views: 498
  • bottom.jpg
    bottom.jpg
    63.1 KB · Views: 468
  • board.jpg
    board.jpg
    128.1 KB · Views: 460
Last edited:
Ground planes, those skinny ground tracks aint gonna help with noise. Seperate the digital and analogue sections, ie make sure no digital tracks go near the analogue tracks and visa verso, and try and get as much ground pour on top and bottom layers with plenty of gnd vias joining the layers, one plane.
USB d- and d+ are differential signals and best routed as a differential pair.
You have numerous traces coming out of single SMD pads and numerous acid traps, that could do with tidying up.
Capacitors for crytals want moving and routes tidying up and being direct through the caps and resistor, with a gnd guard ring around these routes.
And the power supply routes could do with thickening up a bit.
 
Here are my changes. I changed the USB connector from a mini B to a B for the more flexible pin arrangement. I moved the LED to the SSPND pin for more information, I lowered some of the capacitance since I had too much for a bus powered application, plus tried to take most of the advice given by Marce.
 

Attachments

  • board.jpg
    board.jpg
    126.5 KB · Views: 76
  • bottom.jpg
    bottom.jpg
    75.1 KB · Views: 94
  • top.jpg
    top.jpg
    140.8 KB · Views: 120
  • schematic.jpg
    schematic.jpg
    88.9 KB · Views: 134
Well I have one assembled, and it works pretty well for analogue. The background is very close to silent, close enough that I can't tell if it's working even with my very efficient IEMs, which was one of my main goals. I had some troubles with the proto service, the slot holes for the 3.5mm jack and the buttons were ignored and done as just plated round holes, so those items didn't fit.

I had R16, the ground loop breaking resistor, as 10r. That was much too high and contributed to instability. I had extra, so I paralleled 4 to give 2r5, and that seems to work just great, although I haven't since tested the ground loop problem I get with my main amp.

My HD415 headphones connected directly made the output extremely unstable (they have a meter long cable), with all sorts of oscillations. Adding a separate jack with 100r in series with the signal cured that problem and also lowered the volume enough that the volume control is actually usable again (and in addition limits the output power to a bit lower than the max specified by the PCM2706) :)

Photos to follow this weekend.
 
Last edited:
I had R16, the ground loop breaking resistor, as 10r. That was much too high and contributed to instability. I had extra, so I paralleled 4 to give 2r5, and that seems to work just great, although I haven't since tested the ground loop problem I get with my main amp.

That's the worse thing that is vehiculated around here - the "ground loop breaking". There is absolutelly no need for that.
 
Ground between cases is not in the signal path. Is like conecting the fridge and washer toghether on the same ground plane with your equipment. There is no circulation on that ground that will go into your signal input, because is just ONE wire.
Using a resistor in the signal path ground is just forcing the signal to return via external ground, because now that's the path with lowest resistance. Signal will travel now thru the power sockets and electric cords instead of shielded wire.
Instead of traveling via a shielded cable, now you just created a huge ground loop in the SIGNAL path. And now you are picking up all the RF noises with that loop.
 
Last edited:
Ground between cases is not in the signal path. Is like conecting the fridge and washer toghether on the same ground plane with your equipment. There is no circulation on that ground that will go into your signal input, because is just ONE wire.
Using a resistor in the signal path ground is just forcing the signal to return via external ground, because now that's the path with lowest resistance. Signal will travel now thru the power sockets and electric cords instead of shielded wire.
Instead of traveling via a shielded cable, now you just created a huge ground loop in the SIGNAL path. And now you are picking up all the RF noises with that loop.

The resistor is between digital and analogue ground and not in the signal path ground.
 
The 100R resistors I added to the output are on the bottom, covering the cuts I made in the output traces. I jumpered the ground loop breaking R16/C16 to join the analogue and digital grounds.

This is my second one built and working, the first has volume/mute buttons that work just great. (the first one isn't as pretty due to all the desoldering/resoldering I did while I figured out the instability problems)

Photos:
 

Attachments

  • populated_top.jpg
    populated_top.jpg
    444.7 KB · Views: 114
  • populated_bottom.jpg
    populated_bottom.jpg
    325.1 KB · Views: 103
  • boards.jpg
    boards.jpg
    397.3 KB · Views: 100
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.