Programmer (hardware) explained

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

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

Connection

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. If the device is not a standard DIP packaging, a plug-in adapter board, which converts the footprint with another socket, is used.[3]

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.[4] [5] [6]

Transfer

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

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

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

Types

There are four general types of programmers:

  1. Automated programmers often have multiple programming sites/sockets[15] for mass production.[16] 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.[17]
  3. Pocket programmers for development and field service.[18]
  4. Specialized programmers for certain circuit types only, such as FPGA,[19] microcontroller, and EEPROM 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.[20] [21] 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] [25] [26] Nowadays, EEPROMs are used for bootstrapping mechanism as BIOS, and no need to operate mechanical switches for programming.[27]

Manufacturers

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

See also

External links

Notes and References

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