DT104 20pin AVR & 2051 CPU SimmStick 

This simmstick suits both the old (2051)and new (AVR) Atmel 20 pin Micros and include onboard RS232 and EEPROM.

DT104 fitted with AT89C2051

A minimal system could be a 1200 Micro in the DT104 SimmStick board with just the 20 pin Micro, a crystal and two caps either side ot the crystal. C3 and C4. That's all you need. This means it can be built in what, 3 or 4 minutes?

Download Schematic in PDF format.
View Schematic on Screen in GIF Format

Parts List

This board was designed for Atmel AVR 20 pin DIP Micros, however it suits both AVR and non-AVR devices. Minor changes need to be made if you choose to use the DT104 with a non-AVR micro such as the AT89C2051. If you are using it with say the AT90S1200, then no changes are required and many components don't need to be installed.

1 x DT104 SimmStickTM PCB

1 x 780L5 +5 Voltage regulator in TO-92 case. (Optional)
1 x Capacitor C1 .01uf (or .1uf) Ceramic
1 x Capacitor C2 .01uf (or .1uf) Ceramic
1 x Capacitor C3 15pf to 30pf Ceramic (Install only if Crystal is installed)
1 x Capacitor C4 15pf to 30pf Ceramic (Install only if Crystal is installed)
1 x Capacitor C9 4.7uf Electrolytic (PCB mount.) or Tant. @16 V. (pwr-res)

1 x Resistor  R1 10K .25 watt (Res pullup and part of power-up reset).

1 x Resistor  R2 10K .25 watt (D0 pullup only for non-AVR Micro.)
1 x Resistor  R3 10K .25 watt (D1 pullup only for non-AVR Micro.)

1 x Resistor  R4 10K .25 watt (Install only if E3 EEPROM is installed)
1 x Resistor  R5 10K .25 watt (Install only if E3 EEPROM is installed)

1 x Resistor  R6 10K .25 watt (Install only for non-AVR.)
1 x Resistor  R7 10K .25 watt (Install only for non-AVR.)
1 x Resistor  R8 10K .25 watt (Used for power up-reset circuit.)
1 x PNP small signal transistor. BC558. (Install only for non-AVR.)
US Type 2N4403 can be used, however it must be rotated 180 degrees so 
that the flat side of the transistor is facing away from R7 and not 
towards it as shown on the overlay.
Install or Omit C3 & C4
  • Using a Crystal - Install C3 and C4 (22-33pf)
  • Using a Resonator - Omit C3 & C4
  •  
Changes for Using AT89C2051 instead of AVR CPU

The only change is to enable the Reset to the CPU to be inverted

  • To do this, CUT the track between pins 1 & 2 of J3 (solder side of PCB)
  • Install a jumper between pins 2 and 3 of J3
  • Install R7, Q1, and R6 (these are omitted for AVR CPUs)

Component Overlay



Subject:     AVR and resonators
Date:         Fri, 04 Dec 1998 17:46:07 +0100
From:        Stefan Wimmer <sw@cellware.de>
To:            don@dontronics.com

Hi Don,
you wrote in your SIMM Sick page:
"Again, at the time of writing, I don't think anyone has been able to get an
AVR device to start with a Resonator."
Just yesterday evening I added a 3-pin resonator (8MHz, CST series made by
MURATA) to a 2313 and it worked without problems. I have used this kind of
resonators in 4 and 8MHz with many controllers (e.g. Z8, COP8) up to now, and
all worked.
Maybe that's of interest...
Stefan
http://www.GeoCities.com/CapeCanaveral/6368/


Serial Communications

1 x Capacitor C5 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 x Capacitor C6 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 x Capacitor C7 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 x Capacitor C8 1uf Electrolytic (PCB mount.) or Tant. @16 V.
1 x MAX-232 E2 (or equivalent)

It may also pay to install a 16 pin socket for the Max-232, as you may have to remove it for some configurations.

Brown-Out Circuit

This small IC in a TO-92 package is used to stop the Micro operation becoming unpredictable during a power 'brown-out' (where the voltage dips but doesn't fail). In most cases this isn't required - just an added precaution for reliable operation. The older Micros may well need this device.

By just simply ignoring the brown-out circuit and installing resistors R1, R8, and C9, the circuit operation should be fine.

If you wish to use the brown-out circuit, it's just added to the board, and can be either a CMOS or Open Collector type.
You can use the following I.C.'s:

  • Panasonic MN13811-S (Open Collector)
  • Panasonic MN1381-S (CMOS)
  • Zetek ZM33064
  • Motorola MC33064P

Other types may also be suitable. These should switch at between 4.2 and 4.6 volts. This is for +5 Volt operation.

Headers

J1: +5Volt Isolation.
Used to Isolate the +5V signal on the edge connector from the 78L05 regulator output if it is installed. Both outputs should never be used together. The track on the solder side of the board under J1 needs to be cut to isolate the 78L05 regulator output. A test link and two male posts are used to reinstall the regulator output.

J2: AUX Power In.
Brings in an alternative source of DC power. A 9 Volt battery may be connected to J2. Pin 1 is positive and pin 2 negative.

J3: RESET Inversion (AVR vs 2051 CPU)
Controls the reset level required for the Micro. Needs to be reset low for AVR, then returned high, and high to reset returning to low for non-AVR.

For AVR operation, the board requires no alteration to this header. Components R7, Q1, and R6 are left out for AVR and installed for non-AVR. Also for non-AVR, the track needs to be cut on the solder side ot the board between pins 1 and 2, and a wire link, or header pins and test link needs to be installed.

J4: Using the 104 as a Programmer.
The board is default set to be a standard target board. To make it into a programmer, the track must be changed much the same as described in the above J3 section, that is isolate pins 1 and 2, and connect pins 2 and 3  together.

J5: SPI Bus
The 20 pin AVR devices don't have an SPI bus, but software can be used to produce one, so this header was included. Also contains all the signals required for In-Circuit-Programming, so a cable with a DB-25 Male connector to an 8 pin SIL header can be used to program the device from a printer port. Check out the simple Jerry Meng programmer circuit. This can be found in my Atmel links. I had to add a 680pf cap between pin 19 of the Micro and ground to get Jerry's circuit to be reliable.

J6: Using the 104 as a Programmer.
Used for signal isolation when the DT104 is used as a programmer.

When used as a target board, the default board setting is correct. If used as a programmer, this link can be isolated, but it's not required unless you have I/O connected to D9 on the Simmstick bus and are concerned about the signal pulsing during the programming cycle.

The D9 signal has been renamed to XD9 after the link, meaning external to the bus, not the module. XD9 is used by the programming board to take control of the target board as it is jumpered via J4 to the target board reset signal.


Subject:     Possible improvement to DT-104
Date:         Fri, 09 Jul 1999 22:15:29 +0000
From:        "Ben Hitchcock" <ben@(anti-spam)wollongong.apana.org.au>

Don,

I just got my AT90S1200's to program each other using a SPI interface.  One problem I found was that I had to modify the DT104 a bit to get the reset line to toggle.

As it is, pin 8 of the SPI connector (J5) is connected directly to the reset pin on the AT90S1200.  This is a problem if you use the stick as a programmer - you need to do something clever to get a proper reset signal on that pin.

I suggest connecting pin 8 on the SPI port to pin 2 on J4.  This means that if you change the stick to programming configuration, the port will change also to become driving the reset pin on the slave simmstick, not being driven.

What I did was cut my socket apart so that the reset pin on the AT90S1200 was flapping in the breeze, not connected to anything, and I connected all three pins on J4 together.  Not very elegant, but it works.

Maybe it's something to add the next time you do a major revision (But looking at the DT104, I don't think it will ever have a major revision - it's too good for that!).  I think that it would be a bit of a headache to put another trace in.  Just following the traces on the board is tricky, what with the number of times they swap sides!

Just a thought,
Ben Hitchcock