Getting Started

Programers

Interfacing

Links

Microcontroller Programmers

Programmers are used to load your programs to the IC's Flash memory. They range from high end industrial models costing Rs. 30000+ to simple Rs. 500 ones. Price will vary depending on how many types of ICs the device can program, speed of programming, protection circuits and quality of build.

Labtool

High end models like Labtool-48UXP can program so many devices - from EEPROM memories, microcontrollers, PLDs of various vendors like AMD, Altera, ATMEL, PIC, Zilog etc. They cost around $1000. You will not need such a huge programmer to start with.


In-System Programmer or Stand-alone Programmer?

You can choose from two types of programmers. In-System programmers program a microcontroller that is still placed on its target or application board. The IC need not be removed from its applicaion. This enables very fast develop-transfer-test cycles as you need not handle the IC for each time you modify the code.

 

ISP Programmer

Figure: Cheap Loader Cable of Asim's ISP for 89S*51/89S*52

You can build your own In-System programmer using a cheap cable! Check out this highly simple design to get you started with C51 (but be careful with your parallel port). I have tried it and it works fine for me. Also, check this design with buffer ICs. For PIC, check out NOPPP, the "No-Parts" PIC Programmer (I have not tested this). PonyProg is a must see website with very good designs that you can build on your own!

It is better to solder the components of your ISP programmer on to a seperate board. An Illustration:

PC

Computer

->

Programmer

ISP Programmer with Connector

->

target board

Your Target Board

This way, you can easily use the same ISP programmer hardware for different applications or projects.

Ext Programmer Ext Programmer Ext Programmer
Figure: Ready-made Standalone IC Programmers

In a Stand-alone Programmer, the IC to be programmed has to be placed on the programmer to be programmed. This system is very suitable for production environments where you need to program a lot of ICs before fabrication. Its also suitable if you have an application board that does not support In-System programming or have an IC that does not support in-system programming (for example, Atmel C*51 range). Since stand-alone programmers mostly use high voltage programming, and also since they can use all the pins of the IC, the program can be written parallely - one byte at a time. This means a lot faster programming speed than In-System programing which does serial programming.

What is a ZIF Socket?

Any good programmer will contain a ZIF socket - a Zero Insertion Force Socket. It will allow you to quickly and easily fit and remove the IC for programming.

ZIF Socket

It is pretty much a necessity if you need to remove the IC at all! The only case you will not need a ZIF Socket is when you are using some In-System or In-Circuit Programming method and the target microcontroller is on its own board. Shown in the image above is a Textool 40-pin socket. The leaver at the top is used to lock or release the target IC.


Gang Programmers

In Production environments where lots of ICs have to be programmed per day, a gang programmer can be used. It programmes a few ICs (four, eight etc) simultaniously. They are very essential for loading programs that are large in size.

Gang Programmer

Figure: A Gang Programmer

Programming Software

You have to have a software on your PC that supports the programmer you have. PonyProg is a very good example. Your source for the programmer circuit will usually give you pointers as to which softwares are compatible with the circuit. If you purchased the progremmer, expect the vendor to provide you CDs for the programming software and support it. If you built one yourself from a circuit from the web, the website will contain links to the software that are compatible with it.

An Advice

Select your microcontroller core first and buy a programmer that can program it and a few more ICs. A typical 89C51 programmer can cost anywhere between Rs 1500 - Rs 3000 depending on the build quality (bare board vs enclosed), supporting software (program loader, assemblers, compilers) and documentation. Contact me if you require programmers and are from India.