Single-board microcontroller: Difference between revisions

Content deleted Content added
m Single-board microcontrollers today: fixed unnecessarily kludged internal link
BG19bot (talk | contribs)
m Remove blank line(s) between list items per WP:LISTGAP to fix an accessibility issue for users of screen readers. Do WP:GENFIXES and cleanup if needed. Discuss this at Wikipedia talk:WikiProject Accessibility#LISTGAP, replaced: {{reflis...
Line 1:
{{Refimprove|date=June 2011}}
[[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: [[microprocessor]], [[input/output|I/O circuits]], [[clock generator]], [[RAM]], stored program memory and any support [[integrated circuit|IC]]s necessary. The intention is that the board is immediately useful to an application developer, without them needing to spend time and effort in developing the controller hardware.
 
As they are usually low-cost hardware, 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.
Line 21:
 
== Internal bus ==
The [[bus (computing)|bus]] of the early single-board devices, such as the [[Z80]] and [[6502]], was universally a [[Von Neumann architecture]]. Program and data memory were accessed by the same shared bus, even though they were stored in fundamentally different types of memory: [[Read-only memory|ROM]] for programs and [[RAM]] for data. This bus architecture was needed to economise on the number of pins needed from the limited 40 available for the processor's ubiquitous dual-in-line IC package.
 
It was common to offer the internal bus through an expansion connector, or at least the space for such a connector to be soldered on. This was a low-cost option and offered the potential for expansion, even if it was rarely made use of. Typical expansions would be I/O devices, or memory expansion. It was unusual to add peripheral devices such as tape or disk storage, or even a CRT display
Line 32:
== Input and output ==
[[Image:Arduino Diecimila.jpg|thumb|right|[[Arduino]] Diecimila with Atmel ATMEGA168]]
Microcontroller systems provide multiple forms of input and output signals to allow application software to control an external "real-world" system. Discrete digital I/O provides a single bit of data (on, or off). Analog signals, representing a continuously variable range such as temperature or pressure, can also be inputs and outputs for microcontrollers.
 
Discrete digital inputs and outputs might only be buffered from the microprocessor data bus by an addressable latch, or might be operated by a specialized input/output integrated circuit such as an [[Intel 8255]] or Motorola 6821 [[Peripheral Interface Adapter|parallel input/output adapter]]. Later single-chip micrcontrollers have input and output pins available. The input/output circuits usually do not provide enough current to directly operate such devices as 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 digital converter, are found on some microcontroller boards. Analog outputs may use a digital-to-analog converter, or on some microcontrollers may be controlled by [[pulse-width modulation]]. As for discrete inputs, external circuits may be required to scale inputs, or to provide such functions as [[Wheatstone bridge|bridge]] excitation or [[cold junction compensation]].
 
To control component costs, many boards were designed with extra hardware interface circuits but the components for these circuits weren't installed and the board was left bare. The circuit was only added as an option on delivery, or could be populated later.
Line 56:
|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 usual 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 usual for a developer to have several EPROMs in circulation at any one time.
 
Some microcontroller devices were available with on-board EPROM; these, too, would be programmed in a separate burner, then put into a socket on the target system.
 
The use of EPROM sockets allowed field update of the application program, either to fix errors or to provide updated features.
Line 124:
== Programming single-board microcontrollers ==
=== Development hardware ===
{{Expand section|date=June 2011}}
 
=== Programming languages ===
{{Expand section|date=June 2011}}
 
== Advantages of a single-board microcontroller ==
{{Expand section|date=June 2011}}
 
=== Disadvantages ===
Line 142:
* [[Embedded system]]
* [[Programmable Logic Controller|PLC]]
 
* [[Arduino]]
* [[Make_Controller_KitMake Controller Kit#Make_Controller_KitMake Controller Kit|Make Controller Kit]]
* [[PICAXE]]
* [[BASIC Stamp]]
 
== References ==
{{reflistReflist|colwidth=30em}}
 
{{Use dmy dates|date=June 2011}}