3. What is a Single Board Computer?
A single board computer, or SBC, is a type of computer
where all of the computer components are built onto a
single circuit board.
Desktop computers and laptops usually have separate
components that are connected by cables to a central
circuit board.
A single board computer contains the
microprocessor, storage and memory,
as well as other necessary components,
in a single circuit board.
3 Prof.Anish Goel
4. Types of Single Board Computers
There are several different kinds of single board
computers.
Many of the most common
types are categorized by CPU
Manufacturer, Processor
Speed and Packaging Type.
4 Prof.Anish Goel
5. Applications for Single Board Computers:
Single board computers are found embedded in larger
devices including:
ATM machines
Industrial computers
Medical equipment
Automation equipment
Cash registers
Touch screen kiosks
5 Prof.Anish Goel
6. Evolution
Single Board Computers (SBCs)
have changed dramatically over
the years.
Initially the selection factor was
based primarily on the CPU and
its associated peripheral chips.
Twenty years ago that meant Intel, Zilog, or Motorola were the
silicon vendors for microprocessor systems.
As the density, complexity and capability of the silicon
improved, so did the choice and selection methodology for
SBCs.
Today software, board size, and time-to-market are the key
decision factors in addition to just the power and speed of the
CPU.
6 Prof.Anish Goel
7. When to use an SBC.
Reduces development time for faster Time-to-Market
Proven design by vendor increases reliability and reduces risk
Multiple vendors provide a variety of different size, functions,
and price options
Component-level design is
too complex for in-house
engineers
Lack of internal company
resources
Lack of internal manufacturing
expertise
7 Prof.Anish Goel
8. When not to use an SBC.
Not cost effective for very large volumes
Application requires a special size or format
A special CPU or configuration is needed for the
application
Non-commercial environment because of shock,
vibration, heat, humidity, radiation, or power requirements
Special I/O interface needs
8 Prof.Anish Goel
9. Underlying Technology behind Single Board
Computers
Main features of single board computers include a single or
dual microprocessor, RAM, IO, and any other features to
complete a computer on one board.
As the technology of SBCs increased,
the demand for PC compatibility in
embedded applications increased.
The current primary use for SBCs is
for embedded technology.
One aspect of embedded technology is the capability to
perform dedicated functions in an embedded environment.
An embedded environment refers to a part of a complete
device including hardware and mechanical parts.
One common environment used with single boards is for
network adapters.
9 Prof.Anish Goel
10. Technology
Network adapters provide an interface between a computer
and the physical medium comprising the network connection;
they usually consist of a single board. Network interfaces
support one or more communications protocols, which specify
how the computers use the physical medium to exchange data.
Regardless of the environment, a SBC will usually have the
appropriate tools necessary for any embedded system.
10 Prof.Anish Goel
11. Implementation of Single Board Computers
for Embedded Systems
Implementing software onto single board computers has become increasingly
simple as the technology now supports linux on the SBCs.
Software for different systems will do different things.An example of how software
is implemented on SBCs was found in an article about implementing a SBC for
robot control.
In this scenario, the software consisted of an operating system, communication with
the host computer, and an interrupt driven control part.
All programming was done in the C language.
For the majority of embedded systems, programming in the C language is all that
will be necessary to control the device with the single board computer.
11 Prof.Anish Goel
12. Implementation
As the complexity of embedded systems grows, higher
level tools and operating systems are migrating into
machinery where it makes sense.
The result is that any
programming language can
be used on a single board
computer granted the
software on the board
will support it.
12 Prof.Anish Goel
13. Raspberry Pi-Based Beowulf Cluster
a Beowulf cluster is simply a collection of identical,
(typically) commodity computer hardware based systems,
networked together and running some kind of parallel
processing software that allows each node in the cluster
to share data and computation.
Typically, the parallel programming software is MPI
(Message Passing Interface), which utilizes TCP/IP along
with some libraries to allow programmers to create
parallel programs that can split a task into parts suitable
to run on multiple machines simultaneously.
13 Prof.Anish Goel
14. Building the System
There are really only five major components needed for a
working cluster: computer hardware, Linux OS, an MPI
library, an ethernet switch, and possibly a router.
RPi is the computer hardware. Figure shows the overall
network architecture.
The system design includes 32 RPi nodes, 48-port 10/100
switch,Arch Linux ARM, and MPICH3.
14 Prof.Anish Goel