High-voltage Programmer for AVR Microcontrollers Print
Written by Vladimir Mitrović   

We usually use ISP programmers for AVR microcontrollers because they offer all the functions that an ordinary user needs. However, there are situations in which such programmers are not helpful: for example, if Serial programming enable fuse (SPIEN) is disabled or if External reset disable fuse (RSTDISBL) is programmed. Although you cannot disable SPIEN in serial programming mode yourself, you may affect some other fuses and disable further serial programming. After that, you may throw the microcontroller away... or use this simple and low-cost parallel and serial high-voltage programmer that will revive it in a minute.

The programmer whose schematic is shown in Figure 1 can read and program the fuses and erase the lock bits for most new AVR microcontrollers (note: it is not intended to program flash and EEPROM memory). It is designed as an extension to MiniPin II and MegaPin development systems, to which it is connected via three 10-pin flat cables.

These 3 cables are connected to ports A, C and D of the MPIN development boards. The 4th port, port B, is used for driving a 16x2 LCD display. The electronic circuit of the programmer is powered by +5 V, taken from the PORTD of the MPIN. It consists of a DC/DC converter (T1, L2 and D1) that raises this voltage to 18-20 V, a 12 V voltage regulator IC1 and two electronic switches (IC2 and T2).

DC/DC converter works at 32 kHz. It is driven by the PD5 pin of the microcontroller contained on the MPIN development systems. The microcontroller keeps PD5 at a logic Low most of the time, which switches off transistor T1 and the DC/DC converter minimizing the power consumption. 100 ms before a programming session starts, the microcontroller starts to produce pulses on the PD5 pin. These pulses wake-up the DC/DC converter and the voltage across C3 rises to 18-20 V. The exact value depends on L2, which has a pretty high tolerance. Zener diode D2 prevents the voltage across C3 exceeding 22 V. This voltage is regulated to 12 V by IC1 and is used as a high voltage source during the programming session. IC2 and T2 are electronic switches that apply either high voltage or the standard 5 V to the microcontroller being programmed.

Besides control signals for the DC/DC converter, the microcontroller produces a number of control and data signals needed during programming. These signals are present at ports A and C (for which all pins are used) as well as at pin PD7.

High-voltage Programmer for AVR Microcontrollers


Continue reading

Shop area

Last Updated on Wednesday, 01 August 2012 14:46