Thursday, 27 September 2018

design - What precautions should I take when mixing analog audio and digital on the same board?


What precautions should I take when mixing analog audio and digital (uC control) on the same board? I don't want to hear the I2C bus in my speakers. I'm thinking about





  1. Separate power supplies

  2. Separate ground planes, with each part within its own ground plane

  3. A single connection over a ferrite bead between ground planes

  4. Lots of decoupling, preferably by RC instead of simply a C

  5. Slew rate control, esp. on serial buses (lots of edges!)

  6. Physical distance between both world



The RC decoupling may or may not be overkill, but it costs only a resistor.

Other suggestions?



Answer



I've never had an issue with I2C being audible in a circuit including using I2C adjustable resistors in a 60dB gain microphone pre-amp so i doubt you'll have much issue but here are some thoughts.


Avoid using multiple ground planes unless you really need it. You can easily cause more noise problems than you solve if your not very careful to avoid routing any signal over the split in the plane. Unless your goal is very high fidelity, use a single solid ground plane. In general you will find almost every mixed signal IC will call for separate analog and digital grounds/supplies. While this is great in an ideal world, if you don't have the space to do this properly, you will cause more noise problems than you will solve. For instance your better off using a single power supply with an LC filter in front of the analog input than you are running a separate supply across the board on a 15mil trace.


Other thoughts:



  • Use an I2C clock above the audio range, 40khz or higher. Use the largest pull up resistors you can given your bus speed. This limits the current and hence noise generation. Also make sure the I2C bus isn't ringing, if it is use series termination at all devices (40-50ohm resistor should be fine). Match the I2C traces to 50ohm if you can and make 1 long run through all devices rather than T-ing off the bus.

  • A single, solid ground plane. Remember that high frequency signals will follow the path of least inductance to ground, not the path of least resistance. With this in mind lay out the PCB such that ground currents from the digital portions are not traveling under the analog portions.

  • Proper decoupling, do not use resistors. You have to calculate this for your particular design but a 0.1uF and a 10nF ceramic cap per power pin and larger, 10uF caps per major IC or section is generally a safe bet. Always place caps as close as possible to the power pin and get to ground ASAP. Don't be stingy with the vias, even using multiple vias to ground for each decoupling cap is not a bad idea if you have the space.

  • Use either a separate regulated power supply or use an LC filter to segment off an analog supply from the digital supply. If you use a split plane, you again can't cross this split on an adjacent layer with ANY traces.


  • Use protection around any sensitive analog components or pins. Ground rings around op amp inputs, etc. In fact a ground pour on the surface of the analog section is not a bad idea as long as its properly coupled to the ground plane (lots of vias) and doesn't have orphaned copper.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...