So far I’ve discussed about the micro controller and the compiler software. I’ve yet not written anything about programming.
ATmega32 series micro controllers support 3 types of programming
- Parallel Programming
- ISP Programming or serial Programming
- Programming via JTAG
Here ISP stands for In System
Programmer. To burn a micro controller just the burning Hardware is not
enough, it requires software also that would download the program
present in a computer or memory device into the micro controller.
Now the software which I am concerned about is named PONY PROGRAMMER 2.06.
My circuit is adapted from its website. It uses PC COM PORT to download
the program into the micro controller. It have signal amplitude of +5
to +12 volt representing binary ‘1’ and -5 to -12 representing ‘0’.
The micro controller,
ATmega32 is programmed using the pins meant for SPI communication. To
enable programming, the microcontroller is taken to the RESET state by
pulling its reset pin LOW (Logic 0, or say 0 V), in this state,
microcontroller is programmable in either mode (Parallel programming and
serial programming). Micro controller always accepts 0 V as logic 0 and
+5 V as logic one.
So as I’ve described
before, there is a mismatch between the signal transmitted by PC and
signals accepted by the micro controller. Signals are made suitable for
micro controller. In the programmer, Zener diodes provide necessary
conditioning of the signals. It is so attached that it converts ±12 volt
signal to +5-0 volt signal which is suitable for the micro
controllers. A resistance is necessary to limit the current in the
nodes of Zener diodes, without the resistors, the voltage can burn the
Zener diode, and computer internal circuits may also receive harms.
A high signal (+5V) in the ‘Reset’ pin
of micro controller brings it into operational state. A low signal
(Ground) drives it into programming mode. As internal pull up resistors
are provided at the reset pins, so if nothing is connected to this pin,
the micro controller tries to execute the program written within it.
Designers may provide a resistance capacitance reset circuit, but it’s
not always necessary. Whatever, a push button is used most of the time
to provide reset facility. Here in the burner circuit, an open collector
output is provided to the reset pin, it is driven by the programmer
through the port. This much is enough.
circuit diagram of ISP PROGRAMMER
The necessary data transmission and
reception work portion is handles by the pony programmer. Follow the
links provided to download pony programmer. The following burner circuit
can burn ATmega32 microcontroller, connect the derived signals to the
adjacent pins, attach the cable to com port, power up the device i.e.
micro controller, and the micro controller is ready to be programmed.