Programmer (hardware)

From Wikipedia, the free encyclopedia

Template:Short description

File:NuProg-E2-wsocket.png
Engineering Universal Programmer with two sockets
File:Programmer conitec galep5.jpg
Pocket Programmer Galep-5 with a ZIF socket
File:NPP16-FrontSide-wso-wobg.png
Universal Gang Programmer with 16 sockets
BPM 3928 Automated Programming System
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.

In the context of installing firmware onto a device, a programmer, device programmer, chip programmer, device burner,[1]Template:Rp or PROM writer[2] is a device that writes, a.k.a. burns, firmware to a target device's non-volatile memory.[3]Template:Rp

Typically, the target programmable chip is one of the following types: PROM, EPROM, EEPROM, Flash memory, eMMC, MRAM, FeRAM, NVRAM, PLD, PLA, PAL, GAL, CPLD, FPGA, microcontroller.

Connection

File:Adafruit TinyISP AVR Programmer.jpg
JTAG Connector-based
On-Board Programmer
for AVR microcontroller
with USB Port interface

Generally, a programmer connects to a device in one of two ways.

Insertion

In some cases, the target device is inserted into a socket (usually ZIF) on the programmer.[4]Template:Rp If the device is not a standard DIP packaging, a plug-in adapter board, which converts the footprint with another socket, is used.[5]Template:Rp

Cable & port

In some cases, a programmer connects to a device via a cable to a connection port on the device. This is sometimes called on-board programming, in-circuit programming, or in-system programming.[6][7][8]

Transfer

Data is transferred from the programmer to the device as signals via connecting pins.

Some devices have a serial interface[9]Template:Rp for receiving data (including JTAG interface).[4]Template:Rp Other devices communicate on parallel pins, followed by a programming pulse with a higher voltage for programming the data into the device.[10]Template:Rp

Usually, a programmer is controlled via a connected personal computer through a parallel port,[1]Template:Rp USB port,[11] or LAN interface.[citation needed] A program on the controlling computer interacts with the programmer to perform operations such as configure install parameters and program the device,[1]Template:Rp [12]Template:Rp [13][14]

Types

File:Sp 5004gp transp.png
A Gang Programmer with a Set of 4 Sockets.

There are four general types of programmers:

  1. Automated programmers often have multiple programming sites/sockets[15] for mass production.[4] Sometimes used with robotic pick and place handlers with on-board sites to support high volume and complex output such as laser marking, 3D inspection, tape input/output, etc.
  2. Development programmers usually have a single programming site; used for first article development and small-series production.[16]
  3. Pocket programmers for development and field service.[16][17]
  4. Specialized programmers for certain circuit types only, such as FPGA,[18] microcontroller,[4]Template:Rp and EEPROM programmers.[13]

History

File:Universal Prom Programmer.jpg
Historical Programmer;
A shoebox size
File:78K0R Cool-It.jpg
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.[19]Template:Rp[20]Template:Rp But according to the progress of memory device technology, recent flash memory programmers do not need high voltages.[21][22]

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.[23]Template:Rp[24][25] Nowadays, EEPROMs are used for bootstrapping mechanism as BIOS, without the need to operate mechanical switches for programming.[26]Template:Rp

Manufacturers

For each vendor's web site, refer to "External links" section.

  • Batronix GmbH & Co. KG
  • BPM Microsystems
  • Conitec Datasystems
  • Data I/O Corporation
  • DediProg Technology Co., Ltd
  • Elnec s.r.o
  • Elprosys Sp. z o.o.
  • halec
  • Hi-Lo System Research
  • MCUmall Electronics Inc.
  • Minato Holdings [ja]
  • Phyton, Inc.
  • Xeltek Inc.

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ a b c Page Module:Citation/CS1/styles.css has no content.Mueller, Scott (2003). Upgrading and Repairing PCs. Que Publishing. p. 364. ISBN 9780789727459. PROM programmer PC transfer.
  2. ^ Page Module:Citation/CS1/styles.css has no content.Cressler, John D. (2017). Silicon Earth: Introduction to Microelectronics and Nanotechnology, Second Edition. CRC Press. ISBN 9781351830201.
  3. ^ Page Module:Citation/CS1/styles.css has no content.Czerwinski, Robert; Kania, Dariusz (2013). Finite State Machine Logic Synthesis for Complex Programmable Logic Devices. Springer Science & Business Media. ISBN 9783642361661.
  4. ^ a b c d Page Module:Citation/CS1/styles.css has no content.Mazidi, Muhammad Ali; Naimi, Sarmad; Naimi, Sepehr (2011). The AVR microcontroller and embedded systems : using Assembly and C (PDF). Upper Saddle River, N.J.: Prentice Hall. ISBN 9780138003319. Archived from the original (PDF) on 2020-02-15. Retrieved 2018-03-16.
  5. ^ Page Module:Citation/CS1/styles.css has no content.Edwards, Lewin (2006). So You Wanna Be an Embedded Engineer: The Guide to Embedded Engineering, From Consultancy to the Corporate Ladder. Elsevier. p. 58. ISBN 9780080498157. plug-in adapters DIP packaging.
  6. ^ Page Module:Citation/CS1/styles.css has no content."IEEE 1532-2002 - IEEE Standard for In-System Configuration of Programmable Devices". IEEE.
  7. ^ Page Module:Citation/CS1/styles.css has no content."What is the IEEE 1532 Standard?". Keysight Technologies.
  8. ^ Page Module:Citation/CS1/styles.css has no content.Jacobson, Neil G. (2012). The In-System Configuration Handbook:: A Designer's Guide to ISC. Springer Science & Business Media. ISBN 9781461504894.
  9. ^ Page Module:Citation/CS1/styles.css has no content.Ong, Royan H. L.; Pont, Michael J. (25 April 2001). "Empirical comparison of software-based error detection and correction techniques for embedded systems". Proceedings of the ninth international symposium on Hardware/Software codesign - CODES '01. ACM. pp. 230–235. CiteSeerX 10.1.1.543.9943. doi:10.1145/371636.371739. ISBN 978-1581133646. S2CID 15929440.
  10. ^ Page Module:Citation/CS1/styles.css has no content.Ravichandran, D. (2001). Introduction To Computers And Communication. Tata McGraw-Hill Education. ISBN 9780070435650.
  11. ^ Page Module:Citation/CS1/styles.css has no content."Review: XG autoelectric TL866CS MiniPro Universal USB Programmer". Gough's Tech Zone. 22 April 2016.
  12. ^ Page Module:Citation/CS1/styles.css has no content.International Validation Forum (1995). Validation Compliance Annual: 1995. CRC Press. ISBN 9780824794590.
  13. ^ a b Page Module:Citation/CS1/styles.css has no content."How to Read, Erase, & Write EProm EEProm Chips Electronic Fuel injection DIY Tuning GQ-4X Programmer". YouTube. 2 May 2014.
  14. ^ Page Module:Citation/CS1/styles.css has no content."EPROMS: The minimum you need to know to burn your own". www.classic-computers.org.nz.
  15. ^ Page Module:Citation/CS1/styles.css has no content."gang | Definition of gang in English by Oxford Dictionaries". Oxford Dictionaries | English. Archived from the original on March 17, 2018.
  16. ^ a b Page Module:Citation/CS1/styles.css has no content."EEVblog #411 - MiniPro TL866 Universal Programmer Review - Page 1". www.eevblog.com.
  17. ^ Page Module:Citation/CS1/styles.css has no content."EPROM programmer for field service - Google Search". www.google.com.
  18. ^ Page Module:Citation/CS1/styles.css has no content.Pang, Aiken; Membrey, Peter (2016). Beginning FPGA: Programming Metal: Your brain on hardware. Apress. ISBN 9781430262480.
  19. ^ Page Module:Citation/CS1/styles.css has no content.Godse, Atul P.; Godse, Deepali A. (2008). Digital Techniques. Technical Publications. ISBN 9788184314014.
  20. ^ Page Module:Citation/CS1/styles.css has no content.Ball, Stuart (2002). Embedded Microprocessor Systems: Real World Design. Elsevier. ISBN 9780080477572.
  21. ^ Page Module:Citation/CS1/styles.css has no content.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. Bibcode:2009IEDL...30..265C. doi:10.1109/LED.2008.2010720. ISSN 0741-3106.
  22. ^ Page Module:Citation/CS1/styles.css has no content."Remembering the PROM knights of Intel | EE Times". EETimes. 2002-07-03.
  23. ^ Page Module:Citation/CS1/styles.css has no content.DuCastel, Bertrand; Jurgensen, Timothy (2008). Computer Theology: Intelligent Design of the World Wide Web. Midori Press LLC. ISBN 9780980182118.
  24. ^ Page Module:Citation/CS1/styles.css has no content."Getting Started with Blinking Lights on Old Iron". Hackaday. 10 August 2017.
  25. ^ Page Module:Citation/CS1/styles.css has no content.Gooijen, Henk. "NOVA 3 console description". www.pdp-11.nl.
  26. ^ Page Module:Citation/CS1/styles.css has no content.Goel, Anita (2010). Computer Fundamentals. Pearson Education India. ISBN 9788131733097.

Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.