Lecture #8: Communication Protocols and Interface

advertisement
Lecture #8: Communication Protocols and Interface
Communication Protocols
(1) PARALLEL DATA TRANSMISSION
IEEE-488 Parallel (HPIB or GPIB )
Centronics Parallel Protocol (Printer )
SCSI
IDE
ISA (Industrial Standard Architecture, 16 bit)
PCI (Referral Component Interconnect, 32 bit)
AGP
(2) SERIAL DATA TRANSMISSION
RS 232
RS 422
RS 485
UART (Universal Asynchronous receiver-transmitter)
USART (Universal Synchronous- Asynchronous receiver-transmitter)
MIDI
IEEE1394, also called "FireWire"
CAN (Controller Area Network)
USB (Universal Serial Bus)
I2C (Inter Integrated Circuit) -- Philips
SPI (Serial Peripheral Interface bus)
Micro-wire
Ethernet
Fiber optics
Bluetooth
WiFi
SUB SECTIONS TO PARALLEL AND SERIAL PROTOCOLS
Wired connections
Wireless connections
Radio Frequency (RF)
Infrared (IR)
HOW TO SELECTION A PROTOCOL OR TO DEVELOP YOUR OWN
Amount of data
Speed of processor
Hardware or software implementation
Number of available pins
Number of sensor
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
Introduction to Communication Interface
Data Transmission
Parallel Communication
Interface (PCI)
Serial Communication
Interface (SCI)
Synchronous
Asynchronous
1. Parallel Data Transmission
Parallel ports were originally developed by IBM as a way to connect a printer to a PC. When IBM was in
the process of designing the PC, the company wanted the computer to work with printers offered by
Centronics, a top printer manufacturer at the time. IBM decided not to use the same port interface on the
computer that Centronics used on the printer. Instead, IBM engineers coupled a 25-pin connector, DB-25,
with a 36-pin Centronics connector to create a special cable to connect the printer to the computer. Other
printer manufacturers ended up adopting the Centronics interface, making this strange hybrid cable an
unlikely de facto standard.
When a PC sends data to a printer or other device using a parallel port, it sends 8 bits of data (1 byte) at a
time. These 8 bits are transmitted parallel to each other. The standard parallel port is capable of sending
50 to 100 kilobytes of data per second.
Advantages of Parallel Data Transmission:
¾ Fastest form of transmission -- able to send multiple bits simultaneously
¾ doesn’t require high frequency of operation
Disadvantages of Parallel Data Transmission:
¾ Requires separate lines for each bit of a word
¾ Costly to run long distances due to multiple wires
¾ Suffers from electromagnetic interference
¾ Cable lengths more limited than a serial cable
Applications: Parallel ports can be used to connect a host of popular computer peripherals: such as prints,
scanners, CD burners, external hard drives, Iomega zip, network adapters, and tape backup drives.
Types of parallel port
At the present time it is known four types of parallel port:
o Standard parallel port (SPP)
o Parallel port PS/2 (bidirectional)
o Enhanced Parallel Port (EPP)
o Extend Capability Port (ECP)
SPP/EPP/ECP
The original specification for parallel ports was unidirectional, meaning that data only traveled in one
direction for each pin. With the introduction of the PS/2 in 1987, IBM offered a new bidirectional
parallel port design. This mode is commonly known as Standard Parallel Port (SPP) and has completely
replaced the original design. Bidirectional communication allows each device to receive data as well as
transmit it. Many devices use the eight pins (2 through 9) originally designated for data. Using the same
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
eight pins limits communication to half-duplex, meaning that information can only travel in one direction
at a time. But pins 18 through 25, originally just used as grounds, can be used as data pins also. This
allows for full-duplex (both directions at the same time) communication.
Enhanced Parallel Port (EPP) was created by Intel, Xircom, and Zenith in 1991. EPP allows for much
more data, 500 kilobytes (KB) to 2 megabytes (MB), to be transferred each second. It was targeted
specifically for non-printer devices that would attach to the parallel port, particularly storage devices that
needed the highest possible transfer rate.
Close on the heels of the introduction of EPP, Microsoft and Hewlett Packard jointly announced a
specification called Extended Capabilities Port (ECP) in 1992. While EPP was geared toward other
devices, ECP was designed to provide improved speed and functionality for printers.
In 1994, the IEEE 1284 standard was released. It included the two specifications for parallel port devices,
EPP and ECP. In order for them to work, both the operating system and the device must support the
required specification. This is seldom a problem today since most computers support SPP, ECP and EPP
and will detect which mode needs to be used, depending on the attached device. If you need to manually
select a mode, you can do so through the BIOS (Basic Input/Output System) on most computers.
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
Description of Pins and their Functions
•
Pin 1 carries the strobe signal. It maintains a
level of between 2.8 and 5 volts, but drops below
0.5 volts whenever the computer sends a byte of
data. This drop in voltage tells the printer that
data is being sent.
•
Pins 2 through 9 are used to carry data. To
indicate that a bit has a value of 1, a charge of 5
volts is sent through the correct pin. No charge
on a pin indicates a value of 0. This is a simple
but highly effective way to transmit digital
information over an analog cable in real-time.
•
Pin 10 sends the acknowledge signal from the
printer to the computer. Like Pin 1, it maintains a
charge and drops the voltage below 0.5 volts to
let the computer know that the data was received.
•
If the printer is busy, it will charge Pin 11. Then, it
will drop the voltage below 0.5 volts to let the
computer know it is ready to receive more data.
•
The printer lets the computer know if it is out of
paper by sending a charge on Pin 12.
•
As long as the computer is receiving a charge on
Pin 13, it knows that the device is online.
•
The computer sends an auto feed signal to the
printer through Pin 14 using a 5-volt charge.
•
If the printer has any problems, it drops the
voltage to less than 0.5 volts on Pin 15 to let the
computer know that there is an error.
•
Whenever a new print job is ready, the computer
drops the charge on Pin 16 to initialize the
printer.
•
Pin 17 is used by the computer to remotely take
the printer offline. This is accomplished by
sending a charge to the printer and maintaining it
as long as you want the printer offline.
•
Pins 18-25 are grounds and are used as a
reference signal for the low (below 0.5 volts)
charge.
Notice how the first 25 pins on the Centronics end
match up with the pins of the first connector. With
each byte the parallel port sends out, a handshaking
signal is also sent so that the printer can latch the
byte.
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
2. Serial Data Transmission:
1. Synchronous Data Transmission: Data is transmitted one bit at a time, using a clock to maintain
integrity between words.
Advantages:
¾ Only one (half duplex) or two (full duplex) wires are required to send/receive data.
¾ Low cost due to low number of wires.
Disadvantages:
¾ Lower speeds than parallel transmissions.
¾ Difficult to maintain data integrity due to problems with synchronizing clocks.
2. Asynchronous Data Transmission: Data is transmitted on bit at a time using start bits and strop bits to
maintain integrity between words.
Disadvantages:
¾ Lower speeds than parallel transmissions.
Key words for SCI
Baud Rate: The measure of the number of signal elements transmitted or received per second. Baud rates
and data bit rates (bps-bit per second) are not equal in asynchronous transmission due to the start and stop
bits.
Start Bit: The bit preceding every word that signals the receiver a data word is coming. In some
microcontroller (e.g., HC11) the start bit is logic low (0), while in others the start bit is logic high (1).
Parity Bit: A bit sometimes added to the end of the data word. There are three possible settings for the
parity: none, even, and odd. The setting represents the sum of the 1’s transmitted.
Stop Bit: The bit or bits following every word that signals the end of a data word. In some microcontroller
(e.g., HC11) the stop bit is logic high (1), while in others the start bit is logic low (0).
Half Duplex: Two-way serial communication using only one line. With half duplex, the device can not
transmit and received at the same time.
Full Duplex: Two-way serial communication using two lines. With full duplex, data can be
simultaneously transmitted and received.
Applications of SCI
¾ The SCI can be used to transmit/receive data through a modem.
¾ The SCI can be used to transmit/receive data with any device that uses RS-232-C protocol.
RS-232
RS-232C is the oldest and most popular serial communication standard. It is the standard used on PC
COM port hardware. It is designed to connect two systems only and is "single ended", meaning that it
uses one wire for data and one for ground. It is a robust interface with speeds to 115,200 baud and will
withstand a short circuit between any 2 pins. Maximum signal voltages are ±15 volts. Cable length
depends on baud rate but is typically 50 feet maximum.
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
Examples
Ex 1: A synchronous data transmission system is operating at 9600 baud. How long is each bit?
Solution: Since in a synchronous data transmission system, the baud rate is same as bps (bit per second) ,
thus at 9600 bps, each bit takes 1/9600 seconds or about 104 μs.
Ex 2: Suppose the number “45” in hex is to be transmitted in an 8-bit asynchronous format with odd
parity. Sketch the output.
Solution: the number “45 in hex” is “0”1000101 in binary. Keep in mind that the data is sent least
significant bit (LSB) first, the result is displayed below. Since there are already three 1’s in the data word,
the parity bit would be set to zero to mean the parity odd.
(Usually in the PC environment you will find 7 or 8 bit words, the first is to accommodate all upper and
lower case text characters in ASCII codes (the 127 characters), the latter one is used to exactly correspond
to one byte. By convention, the least significant bit of the word is sent first and the most significant bit is
sent last. When communicating the sender encodes the each word by adding a start bit in front and 1 or 2
stop bits at the end.
Sometimes it will add a parity bit between the last bit of the word and the first stop bit, this used as a data
integrity check. This is often referred to as a data frame. Five different parity bits can be used, the mark
parity bit is always set at a logical 1, the space parity bit is always set at a logical 0, the even parity bit
is set to logical 1 by counting the number of bits in the word and determining if the result is even, in the
odd parity bit, the parity bit is set to logical 1 if the result is odd. The later two methods offer a means of
detecting bit level transmission errors. Note that you don't have to use parity bits, thus eliminating 1 bit in
each frame, this is often referred to as non parity bit frame).
Most equipment using RS-232 serial ports use a DB-25 type connector, while many PCs today use DB-9
connectors since all you need in asynchronous mode is 9 signals, as shown in Figure 2. Normally the
male connector is on the DTE side and the female connector is on the DCE side even if this is not always
the case.
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
DESCRIPTION OF PINS AND THEIR FUNCTIONS
CIRCUIT
V.24 CIRCUIT
#
DB-25 Pin #
DB-9 Pin #
SIGNAL NAME
AA
101
1
-
Protective Ground
AB
102
7
5
Signal Ground
BA
103
2
3
Transmitted Data
BB
104
3
2
Received Data
CA
105
4
7
Request to send
CB
106
5
8
Clear to send
CC
107
6
6
Data set ready
CD
108
20
4
Data terminal ready
CE
125
22
9
Ring detector
CF
109
8
1
Carrier detect
CG
110
21
-
Signal quality detect
CH / CI
111 / 112
23
-
Data signal rate selector
DA
113
24
-
Transmitter signal timing (DTE)
DB
114
15
-
Transmitter signal timing (DCE)
DD
115
17
-
Receiver signal timing
SBA
118
14
-
Secondary TX
SBB
119
16
-
Secondary RX
SCA
120
19
-
Secondary RTS
SCB
121
13
-
Secondary CTS
SCF
122
12
-
Secondary CD
9
-
Reserved Positive test
10
-
Reserved Negative test
11
-
N/C
18
-
N/C
25
-
N/C
AA: Protective ground
This line is connected to the power ground of the serial adapter. It should not be used as signal ground.
AB: Signal ground
This is the logical ground which is used as a point of reference for all signals received or transmitted. This
signal is very important and must be present for all communications.
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
BA: Transmitted data
This line is used to transmit data from the DTE to the DCE. It is maintained at a logical 1 state when
nothing is transmitted. The terminal will start to transmit when a logical 1 is present on all of the following
lines: Clear To Send, Data Terminal Ready, Data Set Ready, Data Carrier Detect.
BB: Received data
This pin is used to receive data from the DCE to the DTE.The terminal will start to transmit when a logical
1 is present on all of the following lines: Request To Send, Data Terminal Ready, Data Set Ready, Data
Carrier Detect.
CA: Request To Send
On this line, the DTE will send a signal when it wants to receive data from the DCE.
CB: Clear To Send
Here the DCE will send a signal when it's ready to receive data from the DTE.
CC: Data Set Ready
At a logical level of 1, this line indicates to the DTE that the DCE is ready to send data. (ex. When a
modem has established a connection with a remote modem and is in transmission mode).
CD: Data Terminal Ready
When a logical level 1 is sent from the DTE the DCE can start to send and receive data. When this line
passes to logical level 0 the DCE will stop all communications. (ex. A modem would stop all
communications and would disconnect from the line, you will often see "DROP DTR" in communication
programs).
CF: Data Carrier Detect
On this line the DCE indicates to the DTE that it has established a carrier with a remote device.
CE: Ring Indicator
This line is used mostly by communications software when the modem is not in "auto answer" mode and
will indicate to the the software that a remote device is calling. This is signal is optional when not using
software that will answer a phone call automatically.
CG: Signal quality
This line although rarely used serves to indicate to the DTE that the quality of the signal is poor or just not
good enough to keep a good connection.
CH: Data signal rate selector
In the case where a modem able of multiple connection rates, the DTE could choose the speed at which
it is connected. Usually this line is kept a logical level 0 which selects the highest speed.
CI: Data signal rate selector
This signal is the same as CH but in this case the modem selects the speed at which the DTE
communicates.
Timing circuits: In synchronous mode, it is necessary to have some way to exchange clock signals, here
are three timing circuits used in the RS-232 protocol.
DA & DB: Transmitter signal timing:
DA: DTE towards DCE (clock part of the DTE).
DB: DCE towards DTE (clock part of the DCE).
These two circuits are used to synchronize the flow of data. Timing is given by the DTE or DCE but never
from both at the same time. Usually data is transmitted to the modem or it's own clock control on the DB
circuit.
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
DD: Receiver signal timing DCE
DD: DCE towards DTE (clock part of the DCE). This circuit is used to synchronize data received from
the DTE. The clock signal received on this this line indicates to the DTE at which instant to sample the
received data on the the BB line.
NOTE: the following materials between two “+++” lines are for reference only, not included in
the exam
++++++++++++++++++++++++++++Start Here +++++++++++++++++++++++++++++++++++
RS-232, RS-423, RS-422 and RS-485 Serial Interface Standard Summary
All four of these standards were written by the EIA (Electronics Industry Association) to allow
peripherals and computers to communicate with each other regardless of manufacturer. There are
identical government (MIL spec) and international (CCITT) standards.
These standards are for asynchronous serial communication. This means that data is transferred one bit at
a time using a start bit, 7 or 8 data bits, stop bit(s) and an optional parity bit. The data is "self clocking" so
that once the sender and receiver agree on the baud rate, the timing of the individual bits is based only on
the start and stop bits.
Alternatives to these standards are synchronous communication and parallel communication.
Synchronous communication requires an additional clock line between the sender and receiver. Parallel
communication requires a clock line, usually some control signals and several data lines. Both parallel
and synchronous communication systems can transfer data faster than asynchronous serial systems but
require more wires in the interconnect cables. PC parallel ports are examples of parallel communication.
IBM's SDLC and HDLC are synchronous serial communication protocols and have been typically used in
mainframe communications.
RS-232, 423, 422 and 485 specify the communication system characteristics of the hardware such as
voltage levels, terminating resistances, cable lengths, etc. The standards say nothing about the software
protocol or how data is framed, addressed, checked for errors or interpreted.
RS-485
RS-485 is an improved RS-422 with the capability to connect up to 16 devices (transceivers) on one serial
bus to form a network. Such a network can have a "daisy chain" topology where each device is connected
to two other devices except for the devices on the ends. Only one device may drive data onto the bus at a
time. The standard does not specify the rules for deciding who transmits and when on such a network.
That's up to the system designer to define.
RS-423
RS-423 is similar to RS-232C except that it allows for higher baud rates and longer cable lengths because
it tolerates ground voltage differences between sender and receiver. The maximum signal voltage levels
are ±6 volts. Ground voltage differences can occur in electrically noisy environments where heavy
electrical machinery is operating.
RS-422
RS-422, like RS-232, is used to connect only two systems. It uses differential, or "double ended" data
transmission, which means that data is transmitted simultaneously on two wires between two stations
independent of the ground wire. Each signal requires 2 wires with a ground present in the system. The
advantage of this method over RS-232 is higher speeds and longer cable lengths - 4000 feet at a 100K
baud rate, for example.
Introduction
RS-232 was created for one purpose, to interface between Data Terminal Equipment (DTE) and Data
Communication Equipment (DCE) employing serial binary data interchange. RS-232 was originally
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
adopted in 1960 by the Electronic Industries Association (EIA). The DTE is the terminal or computer
and the DCE is the modem or other communication devices.
History
RS-232 was originally adopted in 1960 by the Electronic Industries Association (EIA). The standard
evolved over the years and in 1969 the third revision (RS-232C) was to be the standard of choice of PC
makers. In 1987 a fourth revision was adopted (RS-232D also known as EIA-232D). In most part of this
new revision, they added 3 additional test lines. In this lecture note you will see several parts of the
original RS-232C standard and mostly the ones used in the PC world.
Dr. Winncy Du, E310F, MAE Dept., SJSU, Tel.:408-924-3866,E-mail: wdu@email.sjsu.edu
Download