Single-board microcontroller: Difference between revisions

Content deleted Content added
Tags: Reverted references removed shouting
Chi Loka (talk | contribs)
No edit summary
 
(4 intermediate revisions by 4 users not shown)
Line 1:
{{Short description|Microcontroller built onto a single printed circuit board}}
{{More citations needed|date=June 2011}}
{{Use dmy dates|date=May 2020}}
Line 6 ⟶ 7:
As they are usually low-cost, and have an especially low capital cost for development, single-board microcontrollers have long been popular in education. They are also a popular means for developers to gain hands-on experience with a new [[processor family]].
 
== Origins ==
YO SOY JUANES EL CALIDOSO
Single-board microcontrollers appeared in the late 1970s, when the appearance of early microprocessors, such as the [[MOS Technology 6502|6502]] and the [[Zilog Z80|Z80]],<ref name="ETI, Marvin" >{{Cite journal
|journal=[[Electronics Today International]]
|title='Marvin' - Z80 Control Computer
|author=Peter Grigson
|author2=David Harris
|date= August–October 1983
}}</ref> made it practical to build an entire controller on a single board, as well as affordable to dedicate a computer to a relatively minor task.
 
In March 1976, [[Intel]] announced a single-board computer product that integrated all of the support components required for their [[8080]] microprocessor, along with 1 [[kilobyte]] of RAM, 4 kilobytes of user-programmable ROM, and 48 lines of parallel digital I/O with line drivers. The board also offered expansion through a bus connector, but could be used without an expansion card cage when applications did not require additional hardware. Software development for this system was hosted on Intel's [[Intellec MDS]] microcomputer development system; this provided assembler and [[PL/M]] support, and permitted [[in-circuit emulation]] for debugging.<ref>[http://www.dvq.com/docs/brochures/intel_sbc_80_10.pdf Intel SBC 80/10 Single Board Computer brochure], 1976</ref>
 
Processors of this era required a number of support chips to be included outside of the processor. [[RAM]] and [[EPROM]] were separate, often requiring memory management or refresh circuitry for [[Dynamic random-access memory|dynamic memory]]. I/O processing might have been carried out by a single chip such as the [[Intel 8255|8255]], but frequently required several more chips.
 
A single-board microcontroller differs from a [[single-board computer]] in that it lacks the general-purpose user interface and mass storage interfaces that a more general-purpose computer would have. Compared to a [[microprocessor development board]], a microcontroller board would emphasize digital and analog control interconnections to some controlled system, whereas a development board might by have only a few or no discrete or analog input/output devices. The development board exists to showcase or train on some particular processor family and, therefore, internal implementation is more important than external function.
 
== Internal bus ==
Line 16 ⟶ 30:
 
== External bus expansion ==
Some microcontroller boards using a general-purpose microprocessor can bring the address and data bus of the processor to an expansion connector, allowing additional memory or peripherals to be added. This provides resources not already present on the single board system. Since not every system will require expansion, the connector may be optional, with a mounting position provided for installation by thCARAthe DEuser VRGif desired.
 
== Input and output ==
Line 31 ⟶ 45:
 
==Communications and user interfaces==
Communications interfaces vary depending on the age of the microcontroller system. Early systems might implement a [[serial port]] to provide [[RS-232]] or [[current loop]]. The serial port could be used by the application program or could be used, in conjunction with a monitor ROM, to transfer programs into the microcontroller memory. Current microcontrollers may support [[USB]], wireless networks ([[Wi-Fi]], [[ZigBeeZigbee]], or others), or provide an Ethernet connection. In addition, they may support a [[TCP/IP]] protocol stack. Some devices have firmware available to implement a Web server, allowing an application developer to rapidly build a Web-enabled instrument or system.
 
== Programming ==
Line 42 ⟶ 56:
|title=Universal EPROM Programmer
|author=Mike Bedford
|date= August–September 1983
|pages=45–51, 37–39
}}</ref> This EPROM was then physically plugged into the board. As the EPROM would be removed and replaced many times during program development, it was common to provide a [[Zero Insertion Force|ZIF]] socket to avoid wear or damage. Erasing an EPROM with a [[ultraviolet|UV]] eraser takes a considerable time, and so it was also common for a developer to have several EPROMs in circulation at any one time.
Line 55 ⟶ 69:
When the single-board controller formed the entire development environment (typically in education), the board might also have included a simple [[hexadecimal]] keypad, calculator-style LED display, and a "monitor" program set permanently in ROM. This monitor allowed [[machine code]] programs to be entered directly through the keyboard and held in RAM. These programs were in machine code, not even in assembly language, and were often assembled by hand on paper before being inputted. It is arguable as to which process was more time-consuming and error prone: assembling by hand, or keying byte-by-byte.
 
Single-board "keypad and calculator display" microcontrollers of this type were very similar to some low-end microcomputers of the time, such as the [[KIM-1]] or the [[Microprofessor I]].<ref name="KIM 1">{{cite web |title=KIM 1 |url=http://www.old-computers.com/museum/computer.asp?c=149 |archive-url=https://web.archive.org/web/20210618184839/http://www.old-computers.com/museum/computer.asp?c=149 |archive-date=2021-06-18 |website=old-computers.com |publisher=Old Computers}}</ref> Some of these microprocessor "trainer" systems are still in production today, used as very low-cost introductions to microprocessors at the hardware programming level.<ref name="Microprofessor">{{cite web
|title=KIM 1
|url=http://www.old-computers.com/museum/computer.asp?c=149
|publisher=[http://www.old-computers.com Old Computers.com]
}}</ref> Some of these microprocessor "trainer" systems are still in production today, used as very low-cost introductions to microprocessors at the hardware programming level.<ref name="Microprofessor">{{cite web
|publisher = Flite Electronics International
|title = Microprofessor Training System
Line 94 ⟶ 104:
The original market demand for a simplified board implementation is no longer as relevant for microcontrollers. Single-board microcontrollers are still important, but have shifted their focus to:
 
* Easily accessible platforms aimed at traditionally "non-programmer" groups, such as artists, designers, hobbyists, and others interested in creating interactive objects or environments.<ref>[http://www.arduino.cc/ Arduino's home page]</ref> Some typical projects in 2011 included: the backup control of DMX stage lights and special effects, multi-camera control, autonomous fighting robots, controlling bluetooth projects from a computer or smart phone,<ref name="Dwengo" /> LEDs and multiplexing, displays, audio, motors, mechanics, and power control.<ref>Arduino [http://arduino.cc/forum/ User's forum]</ref> These controllers may be embedded to form part of a [[physical computing]] project. Popular choices for this work are the [[Arduino]],<ref name="Arduino, Project homepage">{{cite web |title=Project homepage |url=http://www.arduino.cc/ |access-date=2024-09-05 |website=arduino.cc |publisher=Arduino project}}</ref> [[Dwengo]]<ref name="Dwengo">{{cite web |title=Project homepage |url=http://www.dwengo.org/ |access-date=2024-09-05 |website=dwengo.org |publisher=Dwengo}}</ref><ref>
|title=Project homepage
|url=http://www.arduino.cc/
|publisher=[http://www.arduino.cc/ Arduino project]
}}</ref> [[Dwengo]]<ref name="Dwengo" >{{cite web
|title=Project homepage
|url=http://www.dwengo.org/
|publisher=[http://www.dwengo.org/ Dwengo]
}}</ref><ref>
Timothy L. Warner.
[https://books.google.com/books?id=3TUkAQAAQBAJ "Hacking Raspberry Pi"].
2013.
p. 12.
</ref> or [[Wiring (development platform)|Wiring]].<ref>Wiring.org's Wiring development platform [http://wiring.org.co/ home page]</ref><ref name="Wiring" >{{cite web |title=Wiring hardware. Overview |url=http://wiring.org.co/hardware/index.html |access-date=2024-09-05 |website=wiring.org.co |publisher=Wiring project}}</ref>
|title=Wiring: Hardware
|url=http://wiring.org.co/hardware/index.html
|publisher=[http://wiring.org.co/about.html Wiring project]
}}</ref>
* Technology demonstration boards for innovative processors or peripheral features:
** [[AVR Butterfly]]
** [[Parallax Propeller]]
 
<!--
== Programming single-board microcontrollers ==