Transcript Document
CPU/PC-interfacing With
External Devices
Interfacing
Interfacing between Input/Output devices and the CPU
is must for a system. Because both the input and output
devices have specific electrical characteristics, that are
often different than the technology of the CPU. In case
of switches being used as input devices, then the
problem of ‘bouncing’ of the switch must be taken into
account and must be compensated. Or to use an output
device, translation is often needed to convert output
signals of the CPU to a format that the output device
can use. Port, which is generally accompanied with
each system, is used by each input and output devices
for communication with the system.
Port
Port is a set of signal lines that the microprocessor in CPU
uses to exchange data with devices such keyboard,
modem, drives, printers, displays.
Port Type
1. Parallel Port
2. Serial Port
Parallel Port
Multiple bits are transmitted in parallel at once.
Parallel port is a simple and inexpensive tool for building
computer controlled devices.
Simple in use and easily programmable.
The primary use is to connect printers to computer, so
often called as Printer Port.
A 25 pin female (DB25) connector is attached in almost all
PC in the rear panel.
Parallel Port Types
Original (SPP): This is Standard Parallel Port. SPP can
transfer eight bits at once to a peripheral. It uses nibble
mode for data transfer.
PS/2-type (Simple Bi-directional): It is bi-directional port. It
can transfer eight bits at once to a peripheral.
EPP (Enhanced Parallel Port): It is bi-directional port. It
can switch the direction for data transfer quickly.
ECP (Extended Capabilities Port): It is bi-directional port.
It has its own buffers and support for direct memory access
transfers and data compression.
SCSI (Small Computer System Interface): Allows up to
seven devices to connect to a PC along a single cable.
Multi-mode Ports: The ports that can emulate some or all
of the above types of port.
Parallel Port Modes
Compatibility Mode
Nibble Mode
Byte Mode
EPP
ECP
Hardware
The lines in DB25 connector are divided in to three
groups, they are
1) Data lines (data bus)
2) Control lines
3) Status lines
Data is transferred over data lines.
Control lines are used to control the peripheral and the
peripheral returns status signals back to computer through
Status lines.
Parallel Port Signal Lines
Parallel Port Registers
The registers found in standard parallel
port are,
1) Data register
2) Status register
3) Control register
Register Location
Serial Communication
Serial communication is the most common low-level
protocol for communicating between two or more
devices. Normally, one device is a computer, while the
other device can be a modem, a printer, another
computer, or a scientific instrument such as an
oscilloscope or a function generator.
As the name suggests, the serial port sends and
receives bytes of information in a serial fashion - one
bit at a time. These bytes are transmitted using either
a binary (numerical) format or a text format.
Serial Port Interface Standard
The serial port interface for connecting two devices is
specified by the TIA/EIA-232C standard published by the
Telecommunications Industry Association.
The original serial port interface standard was given by RS232, which stands for Recommended Standard number
232. The term "RS-232" is still in popular use. RS-232
defines these serial port characteristics:
1. The maximum bit transfer rate and cable length.
2. The names, electrical characteristics, and functions of
signals.
3. The mechanical connections and pin assignments.
Connecting Two Devices with a
Serial Cable
The RS-232 standard defines the two devices connected with a serial cable as the
Data Terminal Equipment (DTE) and Data Circuit-Terminating Equipment (DCE).
This terminology reflects the RS-232 origin as a standard for communication
between a computer terminal and a modem.
Because RS-232 mainly involves connecting a DTE to a DCE, the pin assignments
are defined such that straight-through cabling is used, where pin 1 is connected to
pin 1, pin 2 is connected to pin 2, and so on. A DTE to DCE serial connection using
the transmit data (TD) pin and the receive data (RD) pin is shown below.
If you connect two DTE's or two DCE's using a straight serial cable,
then the TD pin on each device are connected to each other, and the
RD pin on each device are connected to each other. Therefore, to
connect two like devices, you must use a null modem cable. As shown
below, null modem cables cross the transmit and receive lines in the
cable.
Serial Port Signals and Pin
Assignments
Serial ports consist of two signal types: data signals and control signals.
To support these signal types, as well as the signal ground, the RS-232
standard defines a 25-pin connection. However, most PC's and UNIX
platforms use a 9-pin connection. In fact, only three pins are required for
serial port communications: one for receiving data, one for transmitting
data, and one for the signal ground.
The pin assignment scheme for a 9-pin male connector on a DTE is
given below.
The pins and signals associated with the 9-pin connector are
described below. Refer to the RS-232 standard for a description of the
signals and pin assignments used for a 25-pin connector.
Signal States
Signals can be in either an active state or an inactive state. An active
state corresponds to the binary value 1, while an inactive state
corresponds to the binary value 0. An active signal state is often
described as logic 1, on, true, or a mark. An inactive signal state is often
described as logic 0, off, false, or a space.
The "on" and "off" states for a data signal and for a control signal are
shown below.
The Data Pins
Most serial port devices support full-duplex communication
meaning that they can send and receive data at the same time.
Therefore, separate pins are used for transmitting and receiving
data. For these devices, the TD, RD, and GND pins are used.
However, some types of serial port devices support only one-way or
half-duplex communications. For these devices, only the TD and
GND pins are used. In this guide, it is assumed that a full-duplex
serial port is connected to your device.
The TD pin carries data transmitted by a DTE to a DCE. The RD
pin carries data that is received by a DTE from a DCE.
The Control Pins
9-pin serial ports provide several control pins that:
Signal the presence of connected devices
Control the flow of data
The control pins include RTS and CTS, DTR and DSR, CD, and RI.
The RTS and CTS Pins. The RTS and CTS pins are used to signal
whether the devices are ready to send or receive data. This type of data
flow control - called hardware handshaking - is used to prevent data loss
during transmission. When enabled for both the DTE and DCE,
hardware handshaking using RTS and CTS follows these steps:
1. The DTE asserts the RTS pin to instruct the DCE that it is ready to
receive data.
2. The DCE asserts the CTS pin indicating that it is clear to send data
over the TD pin. If data can no longer be sent, the CTS pin is
unasserted.
3. The data is transmitted to the DTE over the TD pin. If data can no
longer be accepted, the RTS pin is unasserted by the DTE and the
data transmission is stopped.
The DTR and DSR Pins. Many devices use the DSR and DTR
pins to signal if they are connected and powered. Signaling the
presence of connected devices using DTR and DSR follows these
steps:
1. The DTE asserts the DTR pin to request that the DCE connect
to the communication line.
2. The DCE asserts the DSR pin to indicate it's connected.
3. DCE unasserts the DSR pin when it's disconnected from the
communication line.
The DTR and DSR pins were originally designed to provide an
alternative method of hardware handshaking. However, the RTS
and CTS pins are usually used in this way, and not the DSR and
DTR pins. However, you should refer to your device
documentation to determine its specific pin behavior.
The CD and RI Pins. The CD and RI pins are typically used to
indicate the presence of certain signals during modem-modem
connections.
CD is used by a modem to signal that it has made a connection with
another modem, or has detected a carrier tone. CD is asserted when
the DCE is receiving a signal of a suitable frequency. CD is unasserted
if the DCE is not receiving a suitable signal.
RI is used to indicate the presence of an audible ringing signal. RI is
asserted when the DCE is receiving a ringing signal. RI is unasserted
when the DCE is not receiving a ringing signal (for example, it's
between rings).
Serial Data Format
The serial data format includes one start bit, between five and eight data
bits, and one stop bit. A parity bit and an additional stop bit might be
included in the format as well. The diagram below illustrates the serial
data format.
Number of data bits - parity type - number of stop bits
Synchronous and
Asynchronous Communication
The RS-232 standard supports two types of communication protocols: synchronous and
asynchronous.
Using the synchronous protocol, all transmitted bits are synchronized to a common clock signal.
The two devices initially synchronize themselves to each other, and then continually send
characters to stay synchronized. Even when actual data is not really being sent, a constant flow
of bits allows each device to know where the other is at any given time. That is, each bit that is
sent is either actual data or an idle character. Synchronous communications allows faster data
transfer rates than asynchronous methods, because additional bits to mark the beginning and
end of each data byte are not required.
Using the asynchronous protocol, each device uses its own internal clock resulting in bytes that
are transferred at arbitrary times. So, instead of using time as a way to synchronize the bits, the
data format is used.
In particular, the data transmission is synchronized using the start bit of the word, while one or
more stop bits indicate the end of the word. The requirement to send these additional bits
causes asynchronous communications to be slightly slower than synchronous. However, it has
the advantage that the processor does not have to deal with the additional idle characters. Most
serial ports operate asynchronously.
Bits Transmitted
By definition, serial data is transmitted one bit at a time. The
order in which the bits are transmitted is given below:
1. The start bit is transmitted with a value of 0.
2. The data bits are transmitted. The first data bit corresponds to
the least significant bit (LSB), while the last data bit corresponds
to the most significant bit (MSB).
3. The parity bit (if defined) is transmitted.
4. One or two stop bits are transmitted, each with a value of 1.
The number of bits transferred per second is given by the baud
rate. The transferred bits include the start bit, the data bits, the
parity bit (if defined), and the stop bits.
Start and Stop Bits
1.
2.
3.
Most serial ports operate asynchronously. This means that the
transmitted byte must be identified by start and stop bits. The
start bit indicates when the data byte is about to begin and the
stop bit(s) indicates when the data byte has been transferred.
The process of identifying bytes with the serial data format
follows these steps:
When a serial port pin is idle (not transmitting data), then it is in
an "on" state.
When data is about to be transmitted, the serial port pin
switches to an "off" state due to the start bit.
The serial port pin switches back to an "on" state due to the stop
bit(s). This indicates the end of the byte.
Data Bits
The data bits transferred through a serial port might represent
device commands, sensor readings, error messages, and so on.
The data can be transferred as either binary data or ASCII data.
Most serial ports use between five and eight data bits. Binary data
is typically transmitted as eight bits. Text-based data is transmitted
as either seven bits or eight bits. If the data is based on the ASCII
character set, then a minimum of seven bits is required because
there are 27 or 128 distinct characters. If an eighth bit is used, it
must have a value of 0. If the data is based on the extended ASCII
character set, then eight bits must be used because there are 28 or
256 distinct characters.
The Parity Bit
The parity bit provides simple error (parity) checking for the transmitted data.
The types of parity checking are given below.
The parity checking process follows these steps:
1.
2.
The transmitting device sets the parity bit to 0 or to 1 depending on the data bit
values and the type of parity checking selected.
The receiving device checks if the parity bit is consistent with the transmitted
data. If it is, then the data bits are accepted. If it is not, then an error is returned.
USB (Universal Serial Bus)
With the limitation of parallel port and serial
port attached with PC, only a few peripherals
can be connected to the PC. USB overcomes
this limitation. The Universal Serial Bus gives a
single, standardized, easy-to-use interface to
connect up to 127 devices to a computer. Each
device can consume up to a maximum of 6
megabits per second (Mbps) of bandwidth,
which is fast enough for the many of
peripherals devices.
Benefits of USB
Ease of use : simply plug in it without
rebooting the PC
One Interface for many devices: USB is
flexible enough to be used with many
kind of peripherals. Instead of having a
different connector type and supporting
hardware for each peripheral, one
interface serves many.
Benefits of USB
Automatic Configuration: When a user
connects a USB peripheral to a powered
system, windows automatically detects the
peripheral and loads the appropriate software
driver. Only when first time the peripheral
connects, Windows may prompt the user for
driver, but once only. Even no need of
rebooting of the system after installing the
driver.
Benefits of USB
No user settings: USB peripherals don’t have
user-selectable setting such as port address
and interrupt-request (IRQ) lines.
Easy to connect: With USB, there’s no need
to open the computer’s enclosure to add an
expansion card for each peripheral. A PC
has at least two USB ports.
Simple Cables: The USB’s cables can be as
long as 5 meters. With hubs, a device can be
as far as 30 meters from its host PC. The
following figure shows a typical four-port hub.
Benefits of USB
Hot pluggable: We can connect and
disconnect a peripheral whenever we
want, whether or not the system or
peripheral are powered, without
damaging the PC or peripheral. The
operating system detects when any
device is attached and readies it for
use.
USB 4-port Hub
Benefits of USB
No power supply required: The USB interface
includes power-supply and ground lines that
provide +5V from the computer or hub supply.
A peripheral that requires up to 500 milli
amperes can draw all of its power from the
bus instead of having its own supply. In
contrast, most other peripherals have to
choose between including a power supply in
the device or using a bulky and inconvenient
external supply.
Benefits of USB
Speed: USB supports three bus speeds:
high speed at 480 Megabits per second,
full speed at 12 Megabits per second,
and low speed at 1.5 Megabits per
second.
Working Style of USB
Physical: USB connections are made
externally to the PC that contains the "host
controller". Hubs permit a "hierarchical
star" or tree-like topology of
interconnection, where the PC is at the root.
Standard USB cables having an "A" series
connector on one end, and a "B" series
connector on the other, are used between
devices.
Figures of USB Connector
A typical USB “A” connector
A typical USB “B” connector
For example, a cable between the host PC and a hub would
have an "A" plug at the PC (root) connection and a "B" plug for
the hub's upstream port receptacle. End node devices (or other
hubs) would then attach to the hub's downstream "A"
receptacles with standard "A-B" cables or with integral USB
cables that have an "A" plug incorporated at the upstream end.
Cables may be up to 5 meters in length (up to 3m for low speed
devices), and incorporate 2 pairs of wires - one pair carries the
USB data signaling, and the other pair carries power to "buspowered" devices. Cables for high-speed device attachment
are shielded to prevent electromagnetic interference; low speed
cables do not require shielding. Hubs can be attached to other
hubs - a "chain" of up to five hubs can exist between any device
and the root host controller, giving a maximum distance of 30
meters from the PC to the end node device. And the chained
hubs must be "self-powered" in order to meet power distribution
requirements.
Electrical
The Universal Serial Bus carries data between
the host controller and nodes using differential
drivers and in a bi-directional, half-duplex
mode. Data is sent using NRZI encoding
(transition on a "0", none on a "1") permitting an
efficient and robust transmission channel. "Bitstuffing" (insertion of a "0" after six consecutive
"1"s at the source, with removal at the receiving
end) is employed with the NRZI encoding to
ensure sufficient transitions to maintain
synchronization.
Electrical
The signaling rate for high speed devices is
12 million per second; with NRZI 1bit per
code this yields a nominal 12 megabits per
second (MBPS) data transfer rate, or
equivalently, 1.5 megabytes per second
(MBPS). Low speed devices drive the bus at
1/8 the high-speed rate, resulting in a nominal
1.5 MBPS or 187.5 KBPS. Overhead for
framing and packet zing along with bit-stuffing
will cause the available bandwidth to be
somewhat less than these nominal values.
Electrical
USB devices can be either "self-powered" or
"bus-powered". Self-powered devices obtain
their energy from a source independent of the
USB, for example using batteries or an ACDC converter. Devices that use less than 500
milli amperes (mA) may be bus-powered from
the USB, making use of the nominal 5 volt DC
available on the second pair in the cable. An
energy-saving feature provides that devices
may be placed into a "suspended" state in
which they are only permitted to draw 1/2mA
until given a "wake-up" or "resume"
command.
Logical
A Universal Serial Bus installation requires a
USB host and one or more USB devices. One
or more intervening USB hubs may also be
present.
A USB host system includes:
– Client Software -- associated with controlling the
USB device's functions. Client S/W interfaces with
host application software and the USB system
software, and is generally unique to the device.
– USB system software (e.g. system device drivers)
for the USB host controller -- generally common
code supplied by the host's operating system.
– USB host controller and bus interface hardware.
A USB device includes:
– USB device controller and bus interface hardware.
– Device specific hardware to control unique
functional interfaces, buffer data, etc.
– Device specific software (or "firmware") to
interface with the USB device controller and
device specific hardware. This SW handles USB
communications - commands, status, and data
transfers, and interacts with the client SW in the
host to control functional interfaces in the device.
A USB hub includes:
– Upstream attachment port to a USB host or
another hub.
– One or more downstream ports for attaching USB
devices or hubs.
– USB hub controller and bus interface hardware
and firmware to control hub functions. Hubs repeat
bus transmissions in both directions and notify the
host when the addition or removal of a device is
detected.
The timing of transmissions on the USB is
defined by "frames". A frame time is 1 ms and a
special packet called Start of Frame (SOF) signals
it’s beginning. The host controls all timing,
although provision is also made for
synchronization with an external source. All
transactions on the USB are initiated by the host
and take the form of one or more packets.
There are four types of USB transfers,
optimized for the requirements of
different clients and functions:
– Control transfers - support device
configuration, command, and status flows.
– Interrupt transfers - support devices that
have infrequent small data transfers, but a
bounded service period requirement (e.g.
keyboard, mouse, and joystick).
Bulk transfers - support devices that require
larger amounts of transmission bandwidth and
require guaranteed delivery of data, but can
afford to wait a reasonable amount of time for
the transfer to take place (e.g. asynchronous
modems, scanners, and printers).
Isochronous transfers - support devices which
require guaranteed access and bounded
latency, but have enough intrinsic redundancy
that loss of some limited number of packets
can be tolerated (e.g. voice telephony, audio
CD playback, and digitized video).
Inside USB Cable
Inside a USB cable there are two wires
for power -- +5 volts (Red) and ground
(Brown) – and a twisted pair (Yellow
and Blue) of wires to carry the data. The
following figure shows the USB cable.
GPIB (General Purpose Interface Bus)
The GPIB bus was invented by Hewlett
Packard at the end of the 1960's and they have
given name as HPIB (Hewlett Packard
Interface Bus). Because of its success and
reliability, IEEE renamed it as GPIB and its
standard number is IEEE488.
The intention was to create a reliable bus
system especially designed for connecting
computers and instruments. This networked
system has different features that are required
to create a measurement system.
System Controller and Active Controller
At power-up time, the IEEE-488 interface becomes
the Active Controller in charge. The System
Controller has several unique capabilities including
the ability to send Interface Clear (IFC) and Remote
Enable (REN) commands. IFC clears all device
interfaces and returns control to the System
Controller. REN allows devices to respond to bus
data once they are addressed to listen. The System
Controller may optionally Pass Control to another
controller, which then becomes Active Controller.
Listeners, Talkers and Controllers
There are 3 types of devices that can be connected to the IEEE488 bus (Listeners, Talkers, and Controllers). Some devices
include more than one of these functions. The standard allows a
maximum of 15 devices to be connected on the same bus. A
minimum system consists of one Controller and one Talker or
Listener device.
It is possible to have several Controllers on the bus but only one
may be active at any given time. The Active Controller may pass
control to another controller which in turn can pass it back or on
to another controller. A Listener is a device that can receive data
from the bus when instructed by the controller and a Talker
transmits data on to the bus when instructed. The Controller can
set up a talker and a group of listeners so that it is possible to
send data between groups of devices as well.
Interface Signals
The IEEE-488 interface system consists of 16 signal lines and 8 ground lines.
The 16 signal lines are divided into 3 groups (8 data lines, 3 handshake lines,
and 5 interface management lines).
Device Addresses
The IEEE-488 standard allows up to 15 devices to be
interconnected on one bus. Each device is assigned a unique
primary address, ranging from 0-30, by setting the address
switches on the device. A secondary address may also be
specified, ranging from 0-30.
Physical Characteristics
You can link devices in either a linear, star or combination configuration using a shielded
24-conductor cable. The standard IEEE-488 cable has both a plug and receptacle
connector on both ends. This connector is the Am phenol CHAMP or Cinch Series 57
MICRO RIBBON type. Special adapters and nonstandard cables are available for special
interconnect applications.
The IEEE-488 bus specifies a maximum total cable length of 20 meters with no more
than 20 devices connected to the bus and at least two-thirds of the devices powered on.
A maximum separation of 4 meters between devices and an average separation of 2
meters over the full bus should be followed. Bus extenders and expanders are available
to overcome these system limits.
CAMAC (Computer Automated
Measurement And Control)
CAMAC is a Modular Instrumentation and
Digital Interface System defined as a
standardized instrumentation system for
Computer Automated Measurement and
Control. The system features a fully
specified data highway together with
modular functional units that are
completely compatible and that are
available from diverse sources.
Comparison of popular computer interfaces
Overview
Personal computer (PC) now a day becomes a need for every man. It is widely used in
worksheet generation to game playing to office automation. Generally, it does the most
of the works. This general-purpose computer gave birth to specific purpose computerembedded system, which performs only specified task. The embedded system is only
designed to do specific type of task with in a time frame e.g. a system composed by a
microprocessor and a LCD screen could be used in a plane for sending, receiving and
processing positioning signals from the control tower. The embedded system is
combination of hardware and software. Due to its sophisticated functionality, real-time
operation, low manufacturing cost, low power consumption, it covers many areas.
The popularity of embedded system is growing at a very fast rate along with growing
range of applications, advancement in hardware, software and other related technology.
Further scope of work remains wide open in design and implementation of embedded
system for Internet infrastructure, broadband and wireless network, and consumer
electronic products.
Embedded System
The explosive growth of the Embedded System technology in diverse applications domain has
moved the center of gravity of computing from personal computers to numerous small pervasive
computers hidden away inside our everyday electronic products. Personal computers, that are
widely used, are usually composed of a hard disk; display device, and other hardware and
Input/Output devices. These computers are designed to perform a variety of tasks.
However, the devices called embedded systems, are also composed of hardware and software, but
are designed to accomplish a specific function(s). The software and the hardware in that device
are devoted only to specific purpose only. The function(s) of embedded systems can usually be
replicated by replacing the embedded system with an equivalent device completely built-in.
In general embedded systems are electronic devices that incorporate microprocessors or
microcontrollers within their implementations. More precisely “they are computer hardware,
software and interfaced mechanical, electromechanical or electronic subsystem used to control,
monitor or assist the operation of equipment, machinery or plant within a time frame”.
Characteristics of Embedded System
The basic characteristics of an embedded system are given below. With the
help of these characteristics embedded system can be made to work efficiently.
•Sophisticated functionality
•Real-time operation
•Low manufacturing cost
•Low power
Embedded Systems - Introduction
You can control all the system around just by simple gesture & things
Response to you –
Possible with embedded system:
•ES is a combination of H/W & S/W that forms the component of a
larger system.
•It is programmed to perform a range of dedicated functions usually
with minimal operator intervention.
Embedded Systems - Introduction
An Embedded System typically comprises the
Embedded H/W
Embedded RTOS
Device drivers
Communication Stack
Embedded application S/W
E . H/W
E . H/W it mainly consists of
•Microcontroller with peripheral ICs
•Fixed size volatile Memory (DRAM/SRAM) and
non volatile memory (Flash) connect to M controller – integral
part of the device.
•Depending on targeted application, the device, the peripherals can
include -- serial controller, Ethernet Controller or a wireless
communication controller and other application specific ICs (ASICs).
Many hand held devices have hand keypads, and graphics LCD screens
or user interfaces.
E . RTOS
E . RTOS
Intelligent device performs complex function under the
control of an E. RTOS inside with typically real time in nature &
capable of responding deterministically to time-critical external events.
Device Drivers
Device Drivers
Lowest level S/W that acts as a glue between the operating system
& the peripheral devices.
Communication Stacks
Communication Stacks
Communication s/w that makes embedded device capable for
communicating to the external world.
It has communication stack s/w running on the top of OS
with TCP/IP stack.
E . Application
E . Applications
•E. Application s/w that performs predefined functions of the
embedded device.
•E S like Mobile phones, PDAs, MP3 Players etc.. Have become common.
Current development is towards:
•Increasing computing capabilities in M controller consuming lesser power
•Increasing function capabilities.
•Innovation, R&S for making ES Smaller, Smarter and more Integrated.
MEMS & NEMS