Programmer (hardware)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
SuperPro6100: USB interfaced stand alone Universal Programmer
Pocket Programmer Galep-5

In the field of computer hardware, the term programmer, chip programmer or device programmer refers to a device that configures programmable non-volatile digital circuits such as EPROMs, EEPROMs, Flashes, PALs, FPGAs or programmable logic circuits.


For programming a circuit, it is either inserted into a socket (often ZIF) on top of the programmer, or the programmer is directly connected by an adapter to the circuit board (In-System Programming). Afterwards the data is transferred into the circuit by applying signals to the connecting pins. Some circuits have a serial interface for receiving the programming data (JTAG interface). Other circuits require the data on parallel pins, followed by a programming pulse with a higher voltage for programming the data into the circuit.

Usually device programmers are connected to a personal computer through a printer connector, USB port or LAN interface. A software program on the computer then transfers the data to the programmer, selects the circuit and interface type, and starts the programming process.


There are four general types of device programmers: Gang programmers for mass production, development programmers for development and small-series production, pocket programmers for development and field service, and specialized programmers for certain circuit types only, e.g. EPROM programmers. Early device programmers had the size of a shoe box and a weight of up to 4 kg; the latest generation device programmers are pocket sized, weigh less than 200 g and require no external power supply. These types of programmers can be used in field service for maintenance or setup of machinery that contains programmable circuits.

A challenge for device programmer manufacturers is the design of the pin drivers that are directly connected to the circuit to be programmed. Due to the many programmable circuits, every pin driver must be able to apply different voltages in a range of 0..25 Volts, clock rates of up to 40 MHz, and logic inputs with adjustable threshold. Modern programmers use a dedicated integrated circuit for the pin drivers.


In the early days of computing, before terminal and graphical display devices, a programmer was a device used to configure a program for a computer. It usually consisted of switches and LEDs, where instructions had to be entered one by one by setting the switches in a series of "on" and "off" positions. The positions of the switches corresponded to computer instructions, similar to how assembly language is used today. Such hardware programmers are almost never seen or used today.

See also[edit]