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.
The Ranco ETC-211000 utilizes an Atmega16L8 microcontroller. The chip comes with initial protection, necessitating an erasure before any code development can occur. The design has significant flaws, potentially ranking among the worst encountered during reverse engineering efforts, which span over...
The circuit demonstrates the interfacing of the DS1820 temperature sensor with a microcontroller. The first pin of the sensor is connected to ground (GND), the third pin is connected to the power supply (VCC), and the second pin is connected...
The FM497 is an integrated electronic ignition controller designed for breakerless ignition systems that utilize Hall effect sensors. This device operates an external NPN Darlington transistor to manage the coil current, thereby delivering the necessary stored energy while maintaining low...
The page is about equipping an Atmel AVR microcontroller based system with a Prism WLAN interface. This document is intended for people that already have experiences with the AVR microcontrollers and teaches them how to add a cheap but flexible...
One of the more challenging aspects of creating a control or security system that utilizes a PC, such as a burglar alarm, is connecting the sensors to the computer. This typically requires specialized interface expansion boards, and programming that includes...
A slice of the SM2965 includes a canonical 80C32 microcontroller, FLASH memory, E2PROM (28SF512), SRAM for static data storage, and a watchdog timer (WDT). The cost performance of the SM2965 is notably high. This device is designed as a single-piece...
Martin Ustek has modified the project to include a Sokoban game. Information about his version can be found throughout this page; for full details, please visit his website (Czech). Either game can be selected with a menu that appears when...
To program some AVR microcontroller unit (MCU) you will need an AVR programmer. The better way to do that is to buy some development kit like STK-500. This kit has the advantage to give you serial port, LCD connector, SRAM...
On board the AVRs that can be programmed are those in the schematic. For other members of the AVR family or the rest programmable ICs that Ponyprog can program, there is the J1 connector (CON10) which allows expanding the programmer's...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more