874xprog.txt

(13 KB) Pobierz
     Hobby microprocessor projects don't have to be complex.  The
typical microprocessor project consists of the processor, EPROM,
RAM, address decoder circuitry, clock circuitry, input/output ports,
and the ever present but essential "glue" components.  Things can
further be complicated if a special purpose IC like an
analog-to-digital converter is thrown in.  Then comes the pleasure
of putting all of this on a circuit board, and most of the time the
complexity of the circuit along with the placement of its components
requires a double-sided circuit board!

     Don't despair.  There is an easier and more enjoyable way to
exercise your hobby.  This article will open the door to a more
efficient approach to hobby microprocessor project design and
construction.  Imagine a processor, EPROM, RAM, clock and
input/output ports all integrated into a standard 40 pin package.
Imagine a simple easy to build programmer for this IC that you can
build in an evening for under $50.  If you've got a project that
requires a microcontroller, then stop dreaming and read on as we
describe an easy to build programmer for the 8748H and 8749H series
of microcomputers.

8748/49H DESCRIPTION

     The 8748/49H is commonly referred to as a single-component
8-bit microcomputer.  The instruction sets for the 8748H and 8749H
are identical.  The 8749H contains 2K of EPROM and 128 bytes of RAM
while the 8748H contains 1K of EPROM and 64 bytes of RAM.  This
doesn't sound like a lot, but in most controller applications you
will find the amounts of EPROM and RAM more than adequate.  If you
do require extra RAM, you can hang it outboard just like you would
with any other processor IC.  Otherwise both IC's include an
interval timer/event counter, two single level interrupts, an
internal oscillator, a true bi-directional bus, two latched
quasi-bidirectional I/O ports, two testable input pins, and of
course an 8-bit processor that executes over 96 instructions with
most of them consisting of a single byte.  If you're short on I/O or
memory, the 8748H/49H will accommodate most all of the common
peripheral circuitry available for other microprocessors.  A minimum
configuration consists of the 8748H/49H, a crystal, two 27pF disks,
a 5 volt DC power source and a 1 uF reset capacitor.  I can go on
extolling the virtues of this IC but that exceeds the scope of this
article.  I would suggest that you request a data sheet when you
purchase your 8748H/49H.  As for cross assemblers for the 8748H/49H,
there are many in the public domain as there are many more
advertised in reputable electronics publications such as this one.
You can choose the one that fits your situation and your pocketbook.


DESCRIPTION

     The 8748H/49H lends itself well to applications that require
I/O port activity and serial (RS-232) communications with a terminal
or supervisory program.  This project was designed to take advantage
of both.  Most all of the data storage and screen information are
maintained and presented to the user by the terminal program. Any
data or commands are sent serially at 2400 bits per second from the
terminal program via serial port to the programmer.  The
programmer's processor acts on the received data and returns any
necessary data to the terminal program.  This offloads the normal
housekeeping functions that would normally be performed by the
programmer's processor and thus simplifies both the hardware and the
software of the programmer module.  U1 is an RS-232
driver/receiver.  U1's purpose is to convert the EIA signals from
your serial port to TTL levels for the 8749H and vice versa.  The
input serial data stream is fed into the T0 input of the 8749H while
the output data stream is fed from I/O Port 1.0.  The combination of
the driver/receiver IC, built-in hardware of the 8749H and firmware
in EPROM is how the terminal program communicates with the 8748H/49H
programmer. U2 is the microcomputer IC that controls the application
of the proper programming voltage levels, pulses, address
information and data to the device to be programmed, U3 (the target
device).  As you can see we have taken advantage of the latching
bidirectional port architecture.  These bidirectional ports latch
output data and read input data that is latched onto an external
port by another device.  The principal is identical to the
traditional use of a 74LS373 octal latch used as an output port and
a companion 74LS244 used as an input port.  There are no external
latches or address decode circuitry used in either the data bus or
control ports P1 and P2 of the programmer.  Data and address
information are multiplexed on the bus pins AD0-AD7.  The bus pins
behave in a similar fashion to the bidirectional port pins but tend
to be more TTL-like in nature.  If you get a data sheet, study the
differences in internal hardware construction as it pertains to the
bus and quasi-bidirectional I/O ports.  In the case of the
programmer hardware, the target, U3, and main processor, U2,
alternately latch output data on their respective busses to be read
by the opposing processor's bus.  Address pins A8-A10 are actually
U2's I/O port pins P.0-P.2 and are used as latched output pins.  I/O
port P1 is used to control the transistor pairs that supply the
correct programming voltages to the target device.  Since all of the
bidirectional I/O pins can drive one TTL load, port P1 is also used
to set up TTL logic levels on U2's port pins P1.4-P1.6 that connect
to the target device directly.  Power for U1 and U2 is supplied via
voltage regulator V1 and associated circuitry.  Crystal X1 along
with the two 27pF capacitors supply the feedback path for the
on-chip oscillator.  Since precise clock periods are required to
generate timing for the serial data stream and programming pulses, a
crystal controlled oscillator is essential.

     The 1 uF tantalum capacitor is the microcomputer reset
capacitor.  Note the absence of the reset switch. Don't be tempted
to add one.  If the power is toggled or the processor is reset while
a target device is socketed, permanent damage will result to the
target due to transient voltages on the transistor pairs generated
by a main processor reset.  Therefore, NEVER apply or terminate
power while a target is socketed.  You may add a reset switch across
the 1 uF capacitor in the example circuits included in this article.
U3, the device to be programmed, can be either a 8748H or 8749H.
You select the type when you run the terminal program.  The target
device needs +5, +18 and +21 volt DC power sources to effect the
programming/verify process.  These voltages are derived from voltage
regulators V2, V3 and V4.  V2 and V3 are standard LM317
configurations that supply the high voltages using the low power
"LZ" version of the LM317 device.  Transistor pairs Q3-Q4, Q5-Q6 and
Q7-Q8 provide the high voltage switching functions necessary for the
programming and verification of the target device.  Voltage
regulator V4 supplies +5 volts DC to the target during programming
and verification.  Light emitting diode LED1 is active when power is
applied to the target device.  Transistor pair Q1-Q2 is used to
switch all power to the target device, U3.  I found during testing
that the target 8748H/49H could indeed be inserted and removed with
target +5 power on, but it pays to be careful so I added the
fail-safe power feature for U3.  In that the 8748H/49H is not a
static device, it needs a clock signal to move data internally.
Crystal X2 along with its 27pF capacitors are employed to supply an
internal clock signal for the target device.  Any crystal between 3
and 4 MHz will suffice here.  The target clock period is not
critical to the programming process. The sequence used to program U3
is similar to programming an ordinary EPROM.  First of all, the
target device is powered up in program mode.  Address information is
passed to the target by U2.  Then, data information is latched out
of U2 to the target.  A program pulse is applied to the target PROG
pin and the verification process follows.  If verification is good,
then the process is repeated for the next byte and so on. In
summary, U1 converts EIA RS-232 voltage levels to TTL voltage levels
and vice versa.  U2 provides communication with the terminal program
via a 2400 bits per second serial link, provides address and data
information to the target, provides precisely timed pulses to the
target and provides voltage switching information to the transistor
pairs that interface with the target.  U3 is programmed with the
data you specify using the terminal program in conjunction with U2.
All of this is done with a single component microcomputer on a single
sided board!


CONSTRUCTION

     Begin construction by etching and drilling the printed circuit
board.  You may also purchase a professionally fabricated printed
circuit board from the author.  Since the programmer relies heavily
on voltages that are within specific tolerances, start assembly by
installing power supply diodes D1-D4 and filter capacitor C1.  Mount
the switch S1 and connect the 18 VAC transformer.  With no other
components mounted other than what is mentioned above, you should
have a full wave bridge circuit that is providing +25 volts DC
measured across the terminals of C1.  Once you are satisfied that
this portion is functioning properly, install voltage regulator V1
and bypass capacitor C11.  Be sure to install a heatsink on V1.
Apply power and measure the output of V1.  You should have +5 volts
DC on the output pin of V1.  If this is true, assemble the rest of
the high voltage power supply components R1-R4, C2, C12, V2, V3 and
V4.  To check the voltage levels at the high voltage and target
regulators you must also install transistor pair Q1-Q2 since this
pair supplies all power to the target device. Also install both
LED's ...
Zgłoś jeśli naruszono regulamin