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 electronic equipment that configures programmable non-volatile integrated circuits (called programmable devices) such as EPROMs, EEPROMs, Flashes, eMMC, MRAM, FRAM, NV RAM, PALs, FPGAs or programmable logic circuits...


For programming a device (IC) which 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 (on-board programming: in-circuit programming / in-system programming). Afterwards the data is transferred from the programmer into the device by applying signals through the connecting pins. Some devices have a serial interface for receiving the programming data (JTAG interface). Other devices require the data on parallel pins, followed by a programming pulse with a higher voltage for programming the data into the device.

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 device and interface type, and starts the programming process to read/ write/ erase/ blank the data inside the device.


There are four general types of device programmers: Gang programmers (multi-programming sites) for mass production, development programmers (usually single-programming site) 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]