Content deleted Content added
Andy Dingley (talk | contribs) |
No edit summary |
||
(10 intermediate revisions by 8 users not shown) | |||
Line 1:
{{Short description|Microcontroller built onto a single printed circuit board}}
{{
[[Image:Mck glamor 320.jpg|thumb|right|The [[Make Controller Kit]] with an Atmel AT91SAM7X256 ([[ARM architecture|ARM]]) microcontroller.]]
A '''single-board microcontroller''' is a [[microcontroller]] built onto a single [[printed circuit board]]. This board provides all of the circuitry necessary for a useful control task: a [[microprocessor]], [[input/output|I/O circuits]], a [[clock generator]], [[RAM]], stored program memory and any necessary support [[integrated circuit|IC]]s. The intention is that the board is immediately useful to an application developer, without requiring them to spend time and effort to develop controller hardware.
Line 11 ⟶ 13:
|author=Peter Grigson
|author2=David Harris
|date=
}}</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
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.
Line 36 ⟶ 38:
Discrete digital inputs and outputs might be buffered from the microprocessor data bus only by an addressable latch, or might be operated by a specialized input/output IC, such as an [[Intel 8255]] or Motorola 6821 [[Peripheral Interface Adapter|parallel input/output adapter]]. Later single-chip microcontrollers have input and output pins available. These input/output circuits usually do not provide enough current to directly operate devices like lamps or motors, so solid-state relays are operated by the microcontroller digital outputs, and inputs are isolated by [[signal conditioning]] level-shifting and protection circuits.
One or more analog inputs, with an analog multiplexer and common [[analog
To control component costs, many boards were designed with extra hardware interface circuits but without the components for these circuits installed, leaving the board bare. The circuit was added as an option on delivery, or could be populated later.
Line 43 ⟶ 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]], [[
== Programming ==
Line 54 ⟶ 56:
|title=Universal EPROM Programmer
|author=Mike Bedford
|date=
|pages=45–51, 37–39
}}</ref>
Some microcontroller devices were available with on-board EPROM. These would also be programmed in a separate burner, then put into a socket on the target system.
Line 67 ⟶ 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
|publisher = Flite Electronics International
|title = Microprofessor Training System
Line 77 ⟶ 75:
|url-status = dead
|archiveurl = https://web.archive.org/web/20080509183609/http://www.flite.co.uk/microprofessor-mpf-1b-z80-training-system.htm
|archivedate = 9 May 2008}}</ref>
=== Hosted development ===
Line 88 ⟶ 84:
== Single-chip microcontrollers ==
[[Image:KL Intel D8749.jpg|thumb|A [[Intel 8048|8048]]-family microcontroller with an on-board UV [[EPROM]], the [[8749]] ]]
[[Image:Pickit1 devboard.jpg|thumb|right|A development board for a [[PIC microcontroller|PIC]] family device ]]
Single-chip microcontrollers, such as the Intel [[Intel 8048|8748]], combined many of the features of previous boards into a single IC package. Single-chip microcontrollers integrate memory (both RAM and ROM) on-package and, therefore, do not need to expose the data and address [[Bus (computing)|bus]] through the pins of the IC package. These pins are then available for I/O lines. These changes also reduce the area required on the printed circuit board and simplify the design of the single-board microcontroller. Examples of single-chip microcontrollers include:
Line 108 ⟶ 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>
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"
* Technology demonstration boards for innovative processors or peripheral features:
** [[AVR Butterfly]]
** [[Parallax Propeller]]
<!--
== Programming single-board microcontrollers ==
Line 148 ⟶ 131:
{{Portal|Electronics}}
*[[Comparison of single-board microcontrollers]]
* [[Microprocessor development board]]
* [[Embedded system]]
Line 162 ⟶ 144:
== References ==
{{Reflist|30em}}
▲{{Use dmy dates|date=June 2011}}
{{Microcontrollers}}
|