Maker Pro
Maker Pro

question: multiple crystals or one?

D

DJ Delorie

krw said:
I certainly hope you have no CO or fire issues, or ever want to
sell the house. The furnace is one thing I do *not* mess with.

Yeah, I thought of those things. Hey, I have to live with it.

There are regular thermostats backing it up as overrides, in case it
gets colder than 55 (turn on heat) or hotter than 80 (shut off heat).

Plus we run the woodstove all winter, and the furnace can run 100% of
the time without problem. The worst that could happen if the board
fails miserably is that we get uncomfortable.
 
D

DJ Delorie

DJ Delorie said:
So... An RC filter on the GPIO pin to slow it down to match the
comparator's speed?

I chose to put 16 ohm limiting resistors on the mosfet drains. That
keeps the mosfets within spec for Vds max when they both conduct.

I updated http://www.delorie.com/house/furnace/pcb2/zone1.pdf

I'd rather not mess with the GPIO line because of how much trouble I
went through to get the tri-state sensing working right.
 
J

John Devereux

DJ Delorie said:
You're right, it was uS, not nS. Now I know why you're worried.

So... An RC filter on the GPIO pin to slow it down to match the
comparator's speed?

That should work. If it is too long you will get a distinct "tristate"
period during a transition.
 
H

habib.bouaziz-viallet

Le Mon, 08 Jan 2007 11:20:30 -0500, DJ Delorie a écrit :
Relating to EMI and/or reliability. Refresher: this board will be
bolted to my furnace, to control it and the central air. Yeah, I'm
still working on it. Old board: http://www.delorie.com/house/furnace/

Background: the board has six MCUs on it. One is a gumstix (200 or
200MHz XScale). Four are R8C/1B's and one is a R8C/26. These five
R8C's use a 20MHz crystal clock source (the usual xin/xout setup).
I've currently got five crystals on the board, one next to each MCU.
The crystals are almost as big as the chips! It's a four layer board.

The question is: Is it better to have one crystal per MCU, right at
the MCU, or to have one master clock and run it to each MCU? The
distance is about four inches, and the MCU's don't have to be
synchronized (they talk over I2C). My primary concern is correct
operation of the board, as it's in a high-noise environment, so I'm
wondering if the five crystals are going to mess each other (or
anything else) up, or if the long clock line is going to pick up EMI,
and which is the worse of the two.
Why not implement the two solutions in the PCB ?

1/ 1 crystal on each MCU,

2/ A simple BJT/Crystal based Colpitts oscillator followed by a single
schmitt trigger gate (Fairchild NC7SZ14) that distribute clocks signal to
each xin MCU pin.

and make some tests ... i personnaly prefer the second one. EMI issues
depends on how PCB signal are routed (traces placed near a Ovolt low
impedance plan).

Habib
 
T

Tim Shoppa

DJ said:
I'm using Panasonic's EFO-BM series (ok, they're resonators, doesn't
change the EMI question), which are very small and have the load caps
built-in. The whole thing is 160x120 thou, and only 72 cents each.
Accuracy is 0.5%, not as good as the 5ppm crystals I use for ethernet,
for example, but far better than the 5% for the built-in clock.

I'm just thinking that 5% (the built-in oscillator) may not be good
enough for 1wire or RS-232. A 9600 baud link at 10080 baud? Or 9120
baud? The chip's bootloader even has - as part of the programming
procedure - a calibration loop! You send it 16 NUL bytes and it
adjusts its baud generator to match it, because it's usually off by
too much by default.

There are one-wire serial protocols that are much less sensitive to
clock precision. FM or MFM data for example. They can effectively do
that calibration loop for every bit... probably unnecessary.

Tim.
 
DJ said:
I'm just thinking that 5% (the built-in oscillator) may not be good
enough for 1wire or RS-232. A 9600 baud link at 10080 baud? Or 9120
baud? The chip's bootloader even has - as part of the programming

Say what? After the clock goes through the baud rate divider there
isn't anything near to that much variation.
procedure - a calibration loop! You send it 16 NUL bytes and it
adjusts its baud generator to match it, because it's usually off by
too much by default.

Usually because it's auto-bauding, not because any particular baud rate
is off.
 
D

DJ Delorie

Say what? After the clock goes through the baud rate divider there
isn't anything near to that much variation.

There is if the *clock* has that much variation.
Usually because it's auto-bauding, not because any particular baud
rate is off.

Not according to the chip's specs.
 
J

jasen

I'm using Panasonic's EFO-BM series (ok, they're resonators, doesn't
change the EMI question), which are very small and have the load caps
built-in. The whole thing is 160x120 thou, and only 72 cents each.
Accuracy is 0.5%, not as good as the 5ppm crystals I use for ethernet,
for example, but far better than the 5% for the built-in clock.

I'm just thinking that 5% (the built-in oscillator) may not be good
enough for 1wire or RS-232. A 9600 baud link at 10080 baud? Or 9120
baud? The chip's bootloader even has - as part of the programming
procedure - a calibration loop! You send it 16 NUL bytes and it
adjusts its baud generator to match it, because it's usually off by
too much by default.

In perfect conditions async serial w3ith 10 bit symbols can handle 2.5%
frequency error at each end (or 5% at one end)

Bye.
Jasen
 
Top