A programmer, device programmer, chip programmer,
device burner,
or PROM writer
[
] is a piece of electronic equipment that arranges written
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consist ...
to configure programmable
non-volatile
Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data.
Non-volatile memory typi ...
integrated circuits
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tin ...
, called programmable devices.
[
] The target devices include
PROM,
EPROM,
EEPROM
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or ...
,
Flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both use ...
,
eMMC,
MRAM,
FeRAM
Ferroelectric RAM (FeRAM, F-RAM or FRAM) is a random-access memory similar in construction to DRAM but using a ferroelectric layer instead of a dielectric layer to achieve non-volatility. FeRAM is one of a growing number of alternative non-vol ...
,
NVRAM,
PLDs,
PLAs,
PALs,
GALs,
CPLDs,
FPGAs
A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
, and
microcontrollers.
Function
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
A printed circuit board (PCB; also printed wiring board or PWB) is a medium used in electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a laminated sandwich str ...
.
In the former case, the target device is inserted into a socket (usually
ZIF) on top of the programmer.
If the device is not a standard
''DIP packaging'', a plug-in adapter board, which converts the
footprint with another socket, is used.
[
]
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
In-system programming (ISP), or also called in-circuit serial programming (ICSP), is the ability of some programmable logic devices, microcontrollers, and other embedded devices to be programmed while installed in a complete system, rather than ...
''.
[
][
][
]
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 (including
JTAG
JTAG (named after the Joint Test Action Group which codified it) is an industry standard for verifying designs and testing printed circuit boards after manufacture.
JTAG implements standards for on-chip instrumentation in electronic design aut ...
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
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or te ...
through a parallel port,
[
]
USB port,
[
]
or
LAN
Lan or LAN may also refer to:
Science and technology
* Local asymptotic normality, a fundamental property of regular models in statistics
* Longitude of the ascending node, one of the orbital elements used to specify the orbit of an object in spa ...
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.
[
]
Types
There are four general types of device programmers:
# Automated programmers (multi-programming sites, having a set of sockets)
[
] for mass production.
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.
[
]
# Pocket programmers for development and field service.
[
]
# Specialized programmers for certain circuit types only, such as
FPGA,
[
] microcontroller,
and
EEPROM
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or ...
programmers.
History
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 025 Volts.
[
][
]
But according to the progress of memory device technology, recent flash memory programmers do not need high voltages.
[
][
]
In the early days of
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
,
booting
In computing, booting is the process of starting a computer as initiated via Computer hardware, hardware such as a button or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its ma ...
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
In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
.
[
][
][
]
Nowadays,
EEPROM
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or ...
s are used for
bootstrapping mechanism as
BIOS, and no need to operate mechanical switches for programming.
[
]
Manufacturers
For each vendor's web site, refer to
"External links" section.
*Batronix
BPM MicrosystemsDiagProg4: CodiProg*
Xeltek Inc.
*Conitec Datasystems
MCUmall Electronics Inc.*
Data I/O
Data I/O is a provider of manual and automated data programming and security provisioning systems for flash memory, microcontroller and logic devices, founded in 1972. The company develops products used for the design and manufacturing of system ...
*
Elnec
Elnec is a Slovak manufacturer of device programming systems for programmable integrated circuits.
History
Since its founding in 1991, the company has been oriented towards developing and manufacturing developer tools like device programmers ...
*DediProg Technology Co.,Ltd
*
*Hi-Lo System Research
*Phyton, Inc.
See also
*
Off-line programming
*
In-system programming
In-system programming (ISP), or also called in-circuit serial programming (ICSP), is the ability of some programmable logic devices, microcontrollers, and other embedded devices to be programmed while installed in a complete system, rather than ...
*
Debug port
*
JTAG interface
*
Common Flash Memory Interface
The Common Flash Memory Interface (CFI) is an open standard jointly developed by Advanced Micro Devices, AMD, Intel, Sharp Corporation, Sharp and Fujitsu. It is implementable by all flash memory vendors, and has been approved by the non-volatile- ...
*
Open NAND Flash Interface Working Group
The Open NAND Flash Interface Working Group (ONFI or ONFi with a lower case "i") is a consortium of technology companies working to develop open standards for NAND flash memory and devices that communicate with them. The formation of ONFI wa ...
*
Atmel AVR#Programming interfaces
*
PIC microcontroller#Device programmers
*
Intel HEX – ASCII file format
*
SREC – ASCII file format
*
ELF – Binary file format
*
COFF
The Common Object File Format (COFF) is a format for executable, object code, and shared library computer files used on Unix systems. It was introduced in Unix System V, replaced the previously used a.out format, and formed the basis for e ...
– Binary file format
*
Hardware description language
References
External links
*Technical information
JEDEC - Memory Configurations: JESD21-CJEDEC - Common Flash Interface (CFI) Specification, JESD68.01, September 2003.Intel - Common Flash Interface (CFI) and Command Sets**
ttps://www.keysight.com/main/editorial.jspx?&ckey=2052199 What is the IEEE 1532 Standard? Keysight TechnologiesJEDEC - STANDARD DATA TRANSFER FORMAT BETWEEN DATA PREPARATION SYSTEM AND PROGRAMMABLE LOGIC DEVICE PROGRAMMER: JESD3-C, Jun 1994JEDEC - JC-42 Solid State Memories
*Manufactures
BPM MicrosystemsXeltek Inc.Conitec Datasystems Inc.Data I/O CorporationElnec s.r.o.DediprogMinato Holdings Inc.Hi-Lo System Research Co. Ltd.Phyton, Inc.halec
{{DEFAULTSORT:Programmer (Hardware)
Computer engineering
Integrated circuits
Non-volatile memory
Gate arrays