Advertisement

atmel isp

Not rated 18,715

#Atmel #AVR #ISP #Parallel port #In System Programming #programming #microcontroller #PC interface
atmel isp
atmel isp

Description: This device was utilized to program a Digital Voice Recorder designed for a semester project. It connects to the parallel port and can program any Atmel AVR while still integrated into the system, as long as the system has a standard In-System Programming (ISP) connector. The PC interface operates through the parallel port, using the same pinout as the STK-200 programmer from Kanada Systems. The STK-200 programming cable is widely used, and nearly all ISP download software, with the exception of ICCAVR's built-in chip programmer, supports it. The device is straightforward, containing only a single chip, the 74LS245 (a 74LS244 can also be employed with appropriate modifications). A 74HC245 may be substituted as well. This substitution is often necessary when programming ATMega series devices with Atmel AVRISP software, as it employs a 'fast-mode' that can cause programming errors. Ignoring these errors typically does not harm the programming process, and the program executes correctly on the chip. Other programmers, such as PonyProg, do not exhibit any issues regardless of the device being programmed. The device can either supply power to the target system during programming or draw power from the target system. The chosen configuration allows the programmer to draw power from the system. The only chip in the device is a 74LS245 octal bidirectional 3-state driver, although a 74LS244 octal unidirectional bus driver may also be used. The chip ensures that when not in programming mode, the programming interface lines are tristated, allowing the device to operate normally. The direction control is permanently grounded, rendering the device essentially unidirectional. The tristate enable is connected to one of the parallel port outputs, along with a pull-up resistor. Consequently, when the programmer is disconnected or not in programming mode, the outputs of the 74LS245 enter tristate mode. Pins 2 and 12, as well as pins 3 and 11, are interconnected, serving as the identification method for programmer software to recognize an STK-200 compatible programmer connected to the parallel port. The programming LED option has not been utilized, nor has a power-on LED been included, to minimize the load on the power supply of the device being programmed. The AVR ISP from Atmel is an efficient device programmer that can read/write Flash and EEPROM, as well as set security bits. It features a convenient "Autoprogram" command that reloads all device files and downloads any that have changed to the AVR. PonyProg, developed by Claudio Lanconelli, is another capable programmer, albeit slower than AVRISP, and can program various other device types, including EPROMS and serial EEPROMs. The provided circuits are intended for educational purposes only, assuming sufficient knowledge of electricity and electronics. No responsibility will be taken for personal injury or property damage resulting from the use or misuse of the information provided.

This programming device is designed for interfacing with Atmel AVR microcontrollers through a parallel port connection, leveraging the STK-200 pinout for compatibility with various programming software. The core functionality hinges on the 74LS245 octal bidirectional driver, which facilitates data transfer between the programming device and the target microcontroller. The design ensures that when the device is not actively programming, the data lines are placed in a high-impedance state, allowing the target system to operate without interference.

The implementation of the tristate control mechanism is critical for preventing signal contention when multiple devices might be connected to the same data lines. By grounding the direction control, the device operates in a unidirectional mode, simplifying the logic and reducing potential errors during programming sessions. The identification feature, utilizing the connection of specific pins, allows the programmer software to confirm compatibility, ensuring a seamless user experience.

Power management is also a significant consideration in this design. The ability to draw power from the target system during programming reduces the need for an external power supply, enhancing portability and ease of use. The choice to omit power and programming LEDs further minimizes the load on the target device, which is particularly advantageous in battery-operated applications.

Software compatibility is broad, with support for various programming environments, including AVR ISP and PonyProg. The device's ability to handle not only programming but also reading and writing memory types like Flash and EEPROM makes it a versatile tool for developers working with Atmel microcontrollers. This design serves as a practical solution for programming and debugging tasks in embedded systems, providing an efficient means to interface with AVR devices.This was actually used to program my Digital Voice Recorder which I made for my VI sem project. It connects to the Parallel port, and can be used to program any Atmel AVR while it is still in the system, provided the system provides a standard In System Programming (ISP) connector. The PC interface is through the Parallel port, and makes use of th e same pinout as the STK-200 programmer from Kanada Systems. The STK-200 programming cable is very popular, and almost every ISP download software (Except ICCAVR`s inbuilt chip programmer) supports it. The device is very simple, it only contains a single chip, a 74LS245 (a 74LS244 can also be used, with suitable modifications).

Of course, a 74HC245 can be substituted. I think this is necessary when programming the ATMega series devices with the Atmel AVRISP software, since it uses some sort of `fast-mode` that gives an error during programming. Ignoring the error doesnt seem to do harm, and the program executes correctly on the chip. Other programmers such as PonyProg did not have any problems, regardless of the device being programmed.

Can be used either to provide power to the target system during programming, or for the programmer to draw power from the target system during programming. I use it to allow the programmer to draw power from the system. The only chip used in the device is a 74LS245 octal bidirectional 3-state driver. However, a 74LS244 octal unidirecional bus driver may also be used. I just happened to have a 74LS245 lying around. The chip is used so that when the device is not being programmed, the programming interface lines are all tristated, allowing the device to function normally.

The direction control is permanently grounded, making the device essentially unidirectional. The tristate enable is connected to one of the outputs of the parallel port, along with a pullup. Hence, when the programmer is not plugged into a port, or when the device is not being programmed, the `245`s outputs go into tristate mode. Notice that pins 2 and 12, along with pins 3 and 11 are connected together. This is the identification method used by programmer software to determine that an STK-200 compatible programmer is attached to the parallel port.

I havent used the programming LED option, and chose not to use a power-on LED, so that the device being programmed has the least load on it`s power supply. AVR ISP from Atmel, a very good device programmer. It can read/write the Flash and EEPROM, and set the security bits. It includes a nice "Autoprogram" command, that reloads all the device files and downloads the ones that have changed to the AVR.

PonyProg, by Claudio Lanconelli, another nice programmer, a bit slower than AVRISP. However, it can be used to program lots of other types of devices, such as EPROMS, serial EEPROMS, etc. These circuits are provided for your own study only. They all deal with electricity and electronics, a sufficient knowledge of both is assumed. I will not take any responsibility for any personal injury or damage to property arising from use or abuse of the information provided on these pages.


Related Circuits