2
\$\begingroup\$

I have a custom build of an arduino mega (i.e. I took the reference design, and modified it to fit my specific requirements). As a result, the layout is substantially different from the reference circuit.

Would appreciate thoughts on the ceramic resonator layout. From what I've read, the frequencies this thing runs at (8MHz) are such that it doesn't really matter, but I'd appreciate input nonetheless:

enter image description here

  • C16 is a bypass cap
  • R12 is the resistor required for the resonator (is its placement correct? Should it be behind the ceramic resonator, or where it is?)
  • RN1 is a 10K resistor network used for I2C, and the reset line.
  • D4 is part of the atmega reset circuit
  • There are no signal lines underneath the resonator, just the ground plane.
  • This is a 2 layer board, ground fill on both sides.
  • The resonator is http://www.digikey.com/product-detail/en/0/490-5994-1-ND
\$\endgroup\$
7
  • \$\begingroup\$ On a related note, 10k is a high value for an I2C pull-up. \$\endgroup\$
    – Matt Young
    May 1 '15 at 20:12
  • \$\begingroup\$ @MattYoung what's more appropriate? \$\endgroup\$
    – kolosy
    May 1 '15 at 20:52
  • \$\begingroup\$ 1.8-2.2k is more typical. You may be able to get away with 10k if you're not going very fast. \$\endgroup\$
    – Matt Young
    May 1 '15 at 20:53
  • \$\begingroup\$ @MattYoung got it, will update in the future. This design does work for me, so it's not an immediate issue. \$\endgroup\$
    – kolosy
    May 1 '15 at 20:54
  • \$\begingroup\$ If it's short distance and only 1 or 2 devices, 10k should be adequate, tho 4k7 in future, & as Matt said, lower (stronger) pull-ups if there's longer distances & multiple devices. \$\endgroup\$
    – Techydude
    May 1 '15 at 21:46
1
\$\begingroup\$

I'd call that a decent implementation, covered all the essentials. I haven't checked the footprint for the resonator tho. Question: why did you choose a ceramic resonator, instead of a crystal, or for that matter the onboard RC oscillator? And if I may probe further on the potential consequences of these options, will you be doing anything requiring high speed response/timing, like high speed serial or controlling WS2812/or equiv. RGB LEDs?

\$\endgroup\$
1
  • \$\begingroup\$ I went with it because that's what the Arduino reference design called for, so I just stuck with that. Nothing high speed - 9600 baud serial comm, low speed i2c.. \$\endgroup\$
    – kolosy
    May 2 '15 at 21:41
0
\$\begingroup\$

Murata is recommending in one of their frequently answered questions, to layout a resonator symmetrical about the middle GND terminal.

They also recommend, that the area should be kept free from ground pours and no ground layer should be beneath it.

Here is the article for reference.

Another thing which is quite interesting, is that orientation does matter. The effect won't be huge (like it doesn't work) you will get a frequency deviation from the nominal value. The order of magnitude of this effect is around 0.1 % of the frequency - most of the time you won't notice, but you may.

Otherwise it is recommended to place resonators as close a possible to the driver, which you have done quite well, I'd say.

\$\endgroup\$

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.