C610 Ethernet Modification


Newsgroups: comp.sys.mac.hardware
Subject: Speed bumping C610 and ethernet
From: Eckart Hasselbrink <Hasselbrink@fhi-berlin.mpg.de>
Date: 24 Jan 94 13:23:45 +0100
Organization: Fritz-Haber-Institut der MPG

This note concerns upgrading the clock of Centris 610 Macintoshes which are equipped with on board ethernet. Beyond this, nothing new is described in this document apart from what has been discussed previously.

  1. As is well known Apple has equipped the Centris 610 with a 68LC040 processor running at 20 MHz. The 68LC040 does not have a floating point unit on chip. This disadvantage can be addressed by replacing the processor with a 68040 since the processor is socketed. (As a personal note on the side, such an investment is worthwhile for less people than one might think.) No further modifications on the board or anywhere else are necessary.

  2. Many people have found that the C610 hardware can sustain a faster clock than the built in 20MHz clock. Running a C610 at a higher clock rate necessitates replacing or overriding the built in 10 MHz oscillator. There are excellent instructions by Guy Kuo at the sumex ftp site (or your favorite mirror) about how to do this. This works regardless of whether one has replaced the 68LC040 by a 68040 or not. However, one should be aware that in the case of the 68LC040 a heatsink should be added if the clock is faster than 20 MHz. There are two generations of the 68040 around, older ones need a heatsink at speeds faster than 20 MHz, newer ones can sustain 25 MHz without a heat sink. Newer ones are of mask version 0E31F or later. These versions were produced after Motorola switched to the 0.65 micron technology which results in less heat dissipation. The mask designation is found in the upper right corner of the part. (BTW, the availability of this generation CPUs is, apart from marketing considerations, what allowed Apple to go from the 20 MHz Centris 610 to the 25 MHz Quadra 610.)

However, we have found that clocking the processor with a faster rate breaks the onboard ethernet with which a fraction of the Centris 610 machines are equipped. This problem arises since the 10 MHz clock for the ethernet is derived from the same oscillator which clocks the processor. 10 MHz is the intrinsic clock of the ethernet standard. Hence, every other clock rate makes the ethernet hardware defunct.

However, as far as we can tell the PCBs used in the Centris 610 and the Quadra 610 are identical. The Quadra has an additional 20 MHz oscillator from which the clock for the ethernet is derived, plus some little pieces which make it work. One should not get confused by the different clock rates. Yes, a 20 MHz oscillator is used to derive the 10 MHz for the ethernet decoder. Providing an oscillator at double the necessary frequency and down dividing it by two is a standard technique in circuit design. And yes, the oscillator for the processor runs at half the necessary clock rate. That technique is not so wide spread.

In summary, by adding components on the board it is possible to supply a separate clock for the ethernet hardware, which in turn allows one to replace the clock for the processor by a faster one, while keeping the ethernet controller functional. At this point a note may be useful. The following procedure involves modifying the computer board using a solder iron, which although anticipated by Apple's designers, is in the case of failure certainly not covered by any warranty. It should also better not be the first exercise with which wants to gain practice in soldering. Some of the parts are really tiny and one needs, apart from good equipment, a steady hand. Better, bribe your friends in EE with a good bottle of wine to do it for you, than risk becoming the butt of the joke at every party for the next months.

On the Centris 610 board there is near the center of the board a spare site for an additional oscillator. There are solder pads for a small DIP SMD (surface mounted device) oscillator or a larger 14 pin conventional one. About a cm to the left of it is an empty space for an inductor (L12). The inductor serves the dual purpose of providing +5V to the oscillator and filtering some of the current transients from the oscillator. Since I did not have an inductor on hand and I did not know what value inductor is used, I replaced it with a wire jumper. This seems to work fine. The backside of the board also has provision to add capacitors here, but that is not used in the Quadra 610 either.

The top view of the circuit board looks like this:

       |
 Sonic |
  chip |
------
                  x   x         \
                  |   |          |
            5     3   2 \ SM     | Aux Pads
         L12 here       | Osc    | for 14 pin
            6-----4   1 / Pads   | Oscillator
                  |   |          |
                  x   x         /
1 NC
2 GND (Connected to GND supply)
3 Out
4 VDD (from 6)
5 Direct connection to +5V supply
6 Supplies +5V to pin 4 of oscillator (short to 4)

On the back side of the board one finds in the center a 0 Ohm resistor which serves as a jumper (R144). Next to it are two empty soldering spots (R145 and R146). R145 is the location of the jumper in the Quadra 610. The jumper selects which oscillator clocks the ethernet hardware. R146 takes a 50 Ohm resistor and provides some buffering for the output of the oscillator.

                                     50 OHM here
                                         |
                0 Ohm ------>            !
              x     x-----x     x-----x     x----->
                R144        R145        R146
Here is what one has to do:
  1. add the 20 MHz oscillator (20.0 MHz SG615 - DigiKey #SE2114)
  2. relocate the jumper from R144 to R145 (two soldering irons and a helper make this very easy)
  3. add the 50 Ohm resistor on R146 (SMD 'chip' resistor - it is probably okay to replace this with a wire jumper but we have not tested this)
  4. add the inductor on L12 or replace it by a jumper

The parts necessary are a 20 MHz oscillator, a 50 OHM SMD resistor, and whatever one feels happy to use as an "inductor". Total costs about $2-4. After having done this, one is free to clock the CPU at whatever rate the machine seems up to, following the instructions posted by Guy Kuo recently.

I am not sure whether the additional oscillator fixes the serial port malfunction problems when the 680(LC)40 is clocked at rates exceeding 28 to 30 MHz. My C610 with the additional oscillator seems to do LocalTalk fine with a 29.5 MHz CPU clock. However, as I said we have not tested the maximum CPU rate thoroughly.

This procedure has been followed and found to work by myself and Travis Blalock
(blalock@hpl.hp.com). My C610 has working Ethernet with a CPU speed of 29.5 MHz while Travis's ethernet is functional with a CPU speed of 30 MHz. However, do this modification at your own risk. We cannot accept any responsibility for havoc you may wreak on your machine once you go under the hood with a soldering iron.


Eckart Hasselbrink (Hasselbrink@fhi-berlin.mpg.de)
Fritz-Haber-Institut
Faradayweg 4-6
14195 Berlin
Germany
FON: x49-30-8305 316
FAX: x49-30-8305 520