1
\$\begingroup\$

I'm trying to make a PCB that has both an analog part and digital part.

I divided the PCB in areas (sort of), like power supply, MCU (STM32), multiplexers (around 10 ICs, mix of CD4051s, CD4052's and CD4053), and analog components (mostly transistors and capacitors for audio signals).

I know it is advised to keep the analog part away from the digital part, but the multiplexers define all the (flexible) audio routing, so it's impossible to split the PCB in an analog and digital part as all multiplexer ICs handle both digital (the selection of channels) and analog (the channels themselves).

Below is my 'work in progress'... Most ICs are multiplexers (although I want to keep the digital only ICs on the right side, such as shift registers and level shifters). ... and yes, I know I have to move some ICs as they are off the edge now :-)

enter image description here

How can I make sure there will be no noise/crosstalk?

Some ideas I gathered/read about:

  • Using GND for back (impossible to split in a digital GND and analog GND though)
  • No parallel digital next to analog signals (also hard, as I use the Manhattan technique, otherwise routing is impossible)
  • Using GND signals parallel to analog signals (not tried, but cost quite some space to have many parallel signals).
  • Putting all analog components on one side of the board (not tried, is this a good idea?); not sure how to handle GND in a good manner this way.
  • Or should I try to separate the board in a digital/analog part, and get long lines from the multiplexers to the analog components and carefully route each multiplexer to minimize crossing digital/analog traces?

Note, I'm mainly using SMD components, and my electronics (as a hobby) skills are not good enough I can do a noise analysis (if there exists such thing practically).

Any better ideas are welcome.

Update

Possibly there is not much of an issue, since the multiplexers only change when the users presses a button (which results in a change of all settings, but this is once per 100 ms in worst case.

So the most 'worry' is that 9V signals (for controlling the multiplexers) close to a (much lower?) audio/analog signal can affect that analog signal. I think not, but I'm not 100% sure.

\$\endgroup\$
  • 4
    \$\begingroup\$ Keep the digital edges as slow as you need them, add a resistor on every digital output that has to cross a significant part of the PCB (resistor arrays are your friends in these cases). \$\endgroup\$ – Wesley Lee Apr 10 at 23:49
  • \$\begingroup\$ @WesleyLee I'm afraid I need a bit more info ... how can I keep them slow? I can lower the SPI speed if that's what you mean (but that doesn't make the edges slower I think). \$\endgroup\$ – Michel Keijzers Apr 10 at 23:55
  • 1
    \$\begingroup\$ He is not saying that you need to slow down your clock frequency but the rise/fall time of the clock edge. Even a slow clock, with fast rising edges has multiple harmonics that can couple onto other signals. Series resistors help slow down the edges, if you can afford that. \$\endgroup\$ – Big6 Apr 11 at 0:26
  • 1
    \$\begingroup\$ Another thing that helps, aside from routing itself, is having the signal and its reference layer/plane as close as possible. Everything being equal, it reduces crosstalk. There is a page by Henry Ott that goes into the details. Here is that link: hottconsultants.com/techtips/pcb-stack-up-2.html \$\endgroup\$ – Big6 Apr 11 at 0:32
  • 1
    \$\begingroup\$ I will read it, thanks for the link (edited after you added the link) \$\endgroup\$ – Michel Keijzers Apr 11 at 0:34
1
\$\begingroup\$

Series resistors:

They are series termination resistors, close to the source of the signal. They won't reduce the data rate of your signal, will just make their rise/fall time longer (slower edges).

There are some quick references to this by Henry Ott, and this video by Robert Feranec, and some detailed explanation in this EE.SE question/answers, so I won't go into too much detail.

But basically, the faster your signal changes on a line, more noise its gonna induce around it.

Resistor arrays:

I like YC164, which are easy-ish to hand solder or place manually on pasted PCBs. But basically they are a space saving and "part count reducer" if you are soldering stuff by hand.

schematic

simulate this circuit – Schematic created using CircuitLab

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Thanks ... I will read into it (tomorrow as it's late now). It's a good task for me to find out what the resistor value should be... I didn't know these existed. I know SIP network arrays, but they have a common 'GND', these are like multiple resistors in one, more useful. \$\endgroup\$ – Michel Keijzers Apr 11 at 0:37
  • 1
    \$\begingroup\$ You don't have to use a resistor array, it is just something that is super helpful if you have to add a bunch of resistors of the same values all next to each other. Also, there are a bunch of crosstalk calculators online (i.e. you input rise/fall times and the distance/geometry of the tracks, and it will give you an estimated crosstalk, so that could be a decent ballpark to start with). Alternatively, for one off projects and/or slow-ish data rates, you can just add a resistor and change later empirically. (i.e. check the signals and crosstalk with a scope). \$\endgroup\$ – Wesley Lee Apr 11 at 0:41
  • \$\begingroup\$ @MichelKeijzers - Thanks but please don't accept my answer yet as there might be other helpful answers, I just posted this to complement my comment. \$\endgroup\$ – Wesley Lee Apr 11 at 0:43
  • 2
    \$\begingroup\$ Thanks for all those tips ... it's indeed a one-off project (or a zero-off if I run into more problems ;-) ) ... actually it's more a learning experiment (and hope to make someone else happy with a possible result). And adding resistors also make it indeed possible to use a scope (I have one). \$\endgroup\$ – Michel Keijzers Apr 11 at 0:44
  • 1
    \$\begingroup\$ Ok (but probably I accept it later) ... maybe in my case it's not even that much of an issue (the crosstalk for edges), as when the settings are changed (and the multiplexers are changing), the sound (going through the analog traces) is high likely off anyway. And I think having a 9V (continuous) signal next to a (changing) low voltage audio signal is no problem. I should check that, as I also have a wave form generator. Really need to get used to the tools I have since some time ;-) Although I don't have a PCB with traces to check. \$\endgroup\$ – Michel Keijzers Apr 11 at 0:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.