SuperPro6100: USB interfaced stand alone Universal Programmer with plug-in Adapter Board
The 3928, with up to seven sites, is made for programming large data devices, such as MCUs, eMMC HS400, NAND, NOR and Serial Flash devices. High-speed signals support devices up to 200 Mhz and the latest eMMC HS400 modes with data transfer rates of 2.5 nanoseconds per byte.
A programmer, device programmer, chip programmer, device burner,[1]:364 or PROM writer[2] is a piece of electronic equipment that arranges written software to configure programmable non-volatile integrated circuits, called programmable devices.[3]:3 The target devices include PROM, EPROM, EEPROM, Flash memory, eMMC, MRAM, FeRAM, NVRAM, PLDs, PLAs, PALs, GALs, CPLDs, FPGAs, and microcontrollers.
Function
JTAG Connector-based On-Board Programmer for AVR microcontroller with USB Port interface
Programmer hardware has two variants. One is configuring the target device itself with a socket on the programmer. Another is configuring the device on a printed circuit board.
In the former case, the target device is inserted into a socket (usually ZIF) on top of the programmer.[4]:642, pdf15 If the device is not a standard DIP packaging, a plug-in adapter board, which converts the footprint with another socket, is used.[5]:58
In the latter case, device programmer is directly connected to the printed circuit board by a connector, usually with a cable. This way is called on-board programming, in-circuit programming, or in-system programming.[6][7][8]
Afterwards the data is transferred from the programmer into the device by applying signals through the connecting pins. Some devices have a serial interface[9]:232, pdf3
for receiving the programming data (including JTAG interface).[4]:642, pdf15
Other devices require the data on parallel pins, followed by a programming pulse with a higher voltage for programming the data into the device.[10]:125
Usually device programmers are connected to a personal computer through a parallel port,[1]:364USB port,[11]
or LAN interface.[12]
A software program on the computer then transfers the data to the programmer,[1]:364[13]:430
selects the device and interface type, and starts the programming process to read/ write/ erase/ blank the data inside the device.[14][15]
Types
A Gang Programmer with a Set of 4 Sockets.
Xertek SuperBot-2 16-Sockets Automated Gang Programmer
There are four general types of device programmers:
Automated programmers (multi-programming sites, having a set of sockets)[16] for mass production.[4] These systems utilize robotic pick and place handlers with on-board sites. This allows for high volume and complex output (such as laser marking, 3D inspection, Tape input/output, etc.)
Development programmers (usually single-programming site) for first article development and small-series production.[17]
Pocket programmers for development and field service.[17][18]
Specialized programmers for certain circuit types only, such as FPGA,[19]microcontroller,[4]:642, pdf15 and EEPROM programmers.[14]
History
Historical Programmer; A shoebox size
Pocket-sized & USB Port interfaced "ICE for MCU" & Flash memory Programmer
Regarding old PROM programmers, as the many programmable devices have different voltage requirements, every pin driver must be able to apply different voltages in a range of 0–25 Volts.[20]:651[21]:40
But according to the progress of memory device technology, recent flash memory programmers do not need high voltages.[22][23]
In the early days of computing, booting mechanism was a mechanical devices usually consisted of switches and LEDs. It means the programmer was not an equipment but a human, who entered machine codes one by one, by setting the switches in a series of "on" and "off" positions. These positions of switches corresponded to the machine codes, similar to today's assembly language.[24]:261–262[25][26]
Nowadays, EEPROMs are used for bootstrapping mechanism as BIOS, and no need to operate mechanical switches for programming.[27]:45
^
Choi, S. J.; Han, J. W.; Jang, M. G.; Kim, J. S.; Kim, K. H.; Lee, G. S.; Oh, J. S.; Song, M. H.; Park, Y. C.; Kim, J. W.; Choi, Y. K. (2009). "High Injection Efficiency and Low-Voltage Programming in a Dopant-Segregated Schottky Barrier (DSSB) FinFET SONOS for nor-type Flash Memory". IEEE Electron Device Letters. 30 (3): 265–268. doi:10.1109/LED.2008.2010720. ISSN 0741-3106.