Seminar Paper On Serial Communication
Seminar Paper On Serial Communication
Seminar Paper On Serial Communication
A SEMINAR ON
PRESENTED
BY
OSISIOGU, UKACHI
2010634149
JUNE, 2015
CERTIFICATION PAGE
This is to certify that this seminar work was done by OSISIOGU, UKACHI
OLUWASEUN of the department of Electronic and Computer Engineering in partial
fulfillment for the award of Bachelor Degree in Engineering at Nnamdi Azikiwe
University, Awka
-------------------------------------
PROF C. C. OKEZIE
Supervisor
DEDICATION
I dedicate this seminar paper to the Almighty God for His grace and infinite love
towards me and to my darling parents, siblings, and close friends for their
me. I wish to express my gratitude to my supervisor Prof (Mrs.) C.C. Okezie for her
I also want to acknowledge my parents, Prof. and Mrs. U. A. Osisiogu, who has been of
I also express my gratitude to Prof. V.E Idigio, Prof. Iyiama, Dr. A.C.O Azugbogu, Dr.
Ohaneme, Dr. (Mrs.) S.U. Nnebe, Dr. Ken Akpado, Dr. Tony Isizoh. Dr. T.L Alumuna,
Dr. Ifeagwu, , Dr. Udenze, Engr. Steve Ufuorah, Engr. Ezeagu, Engr. Azubike Aniedu,
Dr. Okorogu and Gerald Nwalozie. These ones have impacted a lot of knowledge in me
turning me into the well-equipped man that I am today. I know that the sky is their limit
Last but not the least are my wonderful friends, Onyedika, Confidence, Jason, Uzoma,
Henry, Kelechi, Gabriel and a host of others who in one way or the other made a huge
In the field of embedded electronics the information of circuits (processors and other
integrated circuits) is vital. In order for such connection to be established a common
protocol must be assigned to them one of such is the serial communication protocol.
Table of contents
SECTION 1
1.0 Introduction
sensors and other integrated circuits they must share a common communication
The aim of this paper is to present a good understanding of serial communication and
Serial in a general context means one after the other, although in the context of
[1]
computing it means the sending of computer information sequentially .
devices. [2] Therefore serial communication can be defined as the form of information
exchange in which the individual bits that compromise the information in the form of
bytes or character travel one after the other through a single channel.
computer. [3] Serial communication transmits data one bit at a time, sequentially, over a
signaling where by covering a fire with blanket and quickly removing it can a generate
a puff of smoke. With some training, the sizes, shapes and timing of these puffs can be
observed from a long distance, noticeable to anyone within its visual range. Stone bowls
used by Native Americans and the towers of the Great Wall of China are examples of
the 19th century the Morse code was invented by Samuel F.B. Morse, the use of
Interchange) began and the first edition of the standard was published in 1963, a major
revision in 1967, and the most recent update in 1986. [4] Till today it defines codes for
the 128 characters used in communication. In 1962 the first serial port communication
was introduced by the Radio Sector of the EIA. This particular technology has evolved
into various standards like the USB, FireWire, Ethernet, RS-485, SPI, SONET and I2C
with many others. The evolution that occurred in serial communication can be said to
have come because of the insatiable need for people to communicate faster and even
over longer distances. Serial communication can now be used to transfer data with a
very high throughput. There are still recent developments that are in progress on how to
even increase the throughput at even longer distances which makes this subject an
community that designs and manufactures kits for building digital devices and
interactive objects that can sense and control the physical world. [5]
The Arduino platform has become quite popular with people just starting out with
electronics, and for good reason. Unlike most previous programmable circuit boards,
the Arduino does not need a separate piece of hardware (called a programmer) in order
to load new code onto the board, a USB can be simply used. Additionally, the Arduino
IDE uses a simplified version of C++, making it easier to learn to program. Finally,
Arduino provides a standard form factor that breaks out the functions of the
The importance of this paper is to look at this vital protocol (serial communication) and
understand how it works with Arduino by understanding Arduino Uno and how serial
communication works conventionally. Once the foundation has been laid, this paper
will then connect these two concepts in order to give a satisfactory understanding on the
topic.
Section 1 gives a general overview and some basic definitions on the subject matter.
Section 2 gives a detailed view on Arduino. Section 3 deals with some necessary details
standards. Section 4 deals with how Arduino utilises the capacity of serial
2.1 Introduction
Environment) that runs on the user’s computer, used to write and upload computer code
to the physical board. The Arduino platform has become quite popular with people just
starting out with electronics, and for good reason. Unlike most previous programmable
circuit boards, the Arduino does not need a separate piece of hardware (called a
programmer) in order to load new code onto the board; the user can simply use a USB
cable. Additionally, the Arduino IDE uses a simplified version of C++, making it easier
to learn to program. Finally, Arduino provides a standard form factor that breaks out the
Arduino manufactures many different boards, each with different potentials. In addition,
Arduino is “open source” hardware. This implies that others can modify and produce
a) Arduino Uno
b) LilyPad Arduino
c) RedBoard
d) Arduino Mega
e) Arduino Leonardo
This paper will only discuss Arduino Uno and its specifications
has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog
inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header,
and a reset button. It contains everything needed to support the microcontroller; simply
battery to get started. The Uno differs from all preceding boards in that it does not use
the FTDI USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as
a USB-to-serial converter.
"Uno" means one in Italian and is named to mark the upcoming release of Arduino 1.0.
The Uno and version 1.0 will be the reference versions of Arduino, moving forward.
The Uno is the latest in a series of USB Arduino boards, and the reference model for the
Microcontroller ATmega328
Operating Voltage 5V
SRAM 2 KB
EEPROM 1 KB
The Arduino Uno can be powered via the USB connection or with an external power
supply. The power source is selected automatically. External (non-USB) power can
come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be
connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads
from a battery can be inserted in the GND and VIN pin headers of the POWER
connector. The board can operate on an external supply of 6 to 20 volts. If supplied with
less than 7V, however, the 5V pin may supply less than five volts and the board may be
unstable. If using more than 12V, the voltage regulator may overheat and damage the
A) VIN
The input voltage to the Arduino board when it's using an external power ource (as
opposed to
5 volts from the USB connection or other regulated power source). The user can supply
voltage through this pin, or, if supplying voltage via the power jack, access it through
this pin.
B) 5 V
The regulated power supply used to power the microcontroller and other components on
the board. This can come either from VIN via an on-board regulator, or be supplied by
C) 3.3V
A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50
mA.
E) IOREF: This pin on the Arduino board provides the voltage reference with which
the microcontroller operates. A properly configured shield can read the IOREF pin
voltage and select the appropriate power source or enable voltage translators on the
Each of the 14 digital pins on the Uno can be used as an input or output, using
pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor
functions:
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data.
These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL
Serial chip.
low value, a rising or falling edge, or a change in value. See the attachInterrupt()
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite()
function.
LED 13: There is a built-in LED connected to digital pin 13. When the pin is HIGH
value, the LED is on, when the pin is LOW, it's off. The Uno has 6 analog inputs,
labeled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024 different
values). By default they measure from ground to 5 volts, though is it possible to change
the upper end of their range using the AREF pin and the analogReference() function.
TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire
AREF: Reference voltage for the analog inputs. Used with analogReference().
Reset. Bring this line LOW to reset the microcontroller. Typically, this is used to add a
2.3.5 Communication
The Arduino Uno has a number of facilities for communicating with a computer,
ATmega8U2 on the board channels this serial communication over USB and appears as
a virtual com port to software on the computer. The '8U2 firmware uses the standard
USB COM drivers, and no external driver is needed. However, on Windows, an *.inf
file is required.
The Arduino software includes a serial monitor which allows simple textual data to be
sent to and from the Arduino board. The RX and TX LEDs on the board will flash when
data is being transmitted via the USB-to serial chip and USB connection to the
computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library
allows for serial communication on any of the Uno's digital pins. The ATmega328 also
support I2C (TWI) and SPI communication. The Arduino software includes a Wire
The Arduino Uno can be programmed with the Arduino software .Select “Arduino
Uno” from the Tools > Board menu (according to the microcontroller on the board).
The ATmega328 on the Arduino Uno comes pre-burned with a boot loader that allows
the user to upload new code to it without the use of an external hardware programmer.
It communicates using the original STK500 protocol (reference, C header files). The
user can also bypass the boot loader and program the microcontroller through the ICSP
(In-Circuit Serial Programming) header. The ATmega16U2 (or 8U2 in the rev1 and
rev2 boards) firmware source code is available. The ATmega16U2/8U2 is loaded with a
On Rev1 boards: connecting the solder jumper on the back of the board (near the map
On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB line to
The user can then use Atmel's FLIP software (Windows) or the DFU programmer (Mac
OS X and Linux) to load a new firmware. Or the user can use the ISP header with an
connected to the reset line of the ATmega328 via a 100 nanofarad capacitor. When this
line is asserted (taken low), the reset line drops long enough to reset the chip. The
Arduino software uses this capability to allow you to upload code by simply pressing
the upload button in the Arduino environment. This means that the boot loader can have
a shorter timeout, as the lowering of DTR can be well coordinated with the start of the
upload.
This setup has other implications. When the Uno is connected to either a computer
software (via USB). For the following half-second or so, the boot loader is running on
the Uno. While it is programmed to ignore malformed data (i.e. anything besides an
upload of new code), it will intercept the first few bytes of data sent to the board after a
or other data when it first starts, make sure that the software with which it
communicates waits a second after opening the connection and before sending this data.
The Uno contains a trace that can be cut to disable the auto-reset. The pads on either
side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You
may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to
The Arduino Uno has a resettable polyfuse that protects your computer's USB ports
from shorts and over-current. Although most computers provide their own internal
protection, the fuse provides an extra layer of protection. If more than 500 mA is
applied to the USB port, the fuse will automatically break the connection until the short
or overload is removed.
The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively,
with the USB connector and power jack extending beyond the former dimension. Three
screw holes allow the board to be attached to a surface or case. Note that the distance
between digital pins 7 and 8 is 160 mil not an even multiple of the 100 mil spacing of
SECTION THREE
3.1 Introduction
Parallel ports are typically used to connect a PC to a printer and are rarely used for other
connections. A parallel port sends and receives data eight bits at a time over eight
separate wires or lines. This allows data to be transferred very quickly. However, the
setup looks more bulky because of the number of individual wires it must contain. But,
in the case of a serial communication, as stated earlier, a serial port sends and receives
data, one bit at a time over one wire. While it takes eight times as long to transfer each
byte of data this way, only a few wires are required. Although this is slower than
parallel communication, which allows the transmission of an entire byte at once, it is
simpler and can be used over longer distances. For example, the IEEE 488
specifications for parallel communication state that the cabling between equipment can
be no more than 20 meters total, with no more than 2 meters between any two devices;
serial, however, can extend as much as 1200 meters (with high-quality cable).
However, at first sight it would seem that a serial link must be inferior to a parallel one,
because it can transmit less data on each clock tick. Although, it is often the case that, in
modern technology, serial links can be clocked considerably faster than parallel links,
and achieve a higher data rate. Even in shorter distance communications, serial
computer buses are becoming more common because of a tipping point where the
disadvantages of parallel busses (clock skew, interconnect density) outweigh their
advantage of simplicity (no need for serializer and deserializer).
The serial port on a PC is a full-duplex device meaning that it can send and receive data
at the same time. In order to be able to do this, it uses separate lines for transmitting and
receiving data. From the above discussion we could understand that serial
communications have many advantages over parallel communication like:
b) "Cross talk" is less of an issue, because there are fewer conductors compared to that
of parallel communication cables.
f) Cheaper to implement.
Clock skew is a phenomenon in synchronous circuits in which the clock signal sent
from the clock circuit arrives at different components at different times, which can be
caused by many things, like:
a) Wire-interconnect length,
b) Temperature variations,
d) Capacitive coupling,
e) Material imperfections,
As the clock rate of a circuit increases, timing becomes more critical and less variation
can be tolerated if the circuit is to function properly. There are two types of clock skew:
Positive skew, which occurs when the clock reaches the receiving register later than it
reaches the register sending data to the receiving register and negative skew which just
opposite: the receiving register gets the clock earlier than the sending register. Two
types of violation can be caused by clock skew. One problem is caused when the clock
travels more slowly than the path from one register to another - allowing data to
penetrate two registers in the same clock pulse, or maybe destroying the integrity of the
latched data. This is called a hold violation because the previous data is not held long
enough at the destination flip-flop to be properly clocked through.
3.4 Asynchronous and Synchronous Data Transmission
Like any data transfer methods, Serial Communication also requires coordination
between the sender and receiver. For example, when to start the transmission and when
to end it, when one particular bit or byte ends and another begins, when the receiver's
capacity has been exceeded, and so on. Here comes the need for synchronization
between the sender and the receiver. A protocol defines the specific methods of
coordinating transmission between a sender and receiver.
Let us take an example. A serial data signal between two PCs must have individual bits
and bytes that the receiving PC can distinguish. If it does not, then the receiving PC
cannot tell where one byte ends and the next one begin or where one bit ends and
begins. So the signal must be synchronized in such a way that the receiver can
distinguish the bits and bytes as the transmitter intends them to be distinguished.
There are two ways to synchronize the two ends of the communication namely
synchronous and asynchronous. The synchronous signaling methods use two different
signals. A pulse on one signal line indicates when another bit of information is ready on
the other signal line. The asynchronous signaling methods use only one signal. The
receiver uses transitions on that signal to figure out the transmitter bit rate (known as
auto baud) and timing, and set a local clock to the proper timing, typically using a PLL
to synchronize with the transmission rate. A pulse from the local clock indicates when
another bit is ready. That means synchronous transmissions use an external clock, while
asynchronous transmissions are use special signals along the transmission medium.
(Refer to Figure 3.3)
The one of the crucial advantages of synchronous data transfer is the lower
overhead and thus, greater throughput, compared to asynchronous one. But it has
some disadvantages such as,
Slightly more complex and
Hardware is more expensive.
3) Set-up is very fast, so well suited for applications where messages are
generated at irregular intervals, for example data entry from the keyboard.
The terms DTE and DCE are very common in the data communications technologies.
DTE is an acronym for Data Terminal Equipment and DCE stands for Data
Communications Equipment. As the full DTE name indicates, this is a piece of device
that ends a communication line, whereas the DCE provides a path for communication.
Using the following example a good understanding of their functions can be acheived.
For instance, a computer which wants to communicate with the Internet through a
modem and a dial-up connection, in order to get to the Internet the computer tells the
modem to dial the number of the internet service provider. After the modems have
dialed the number, the modem of the provider will answer the call. Then your
connection is established. Now you have a connection with the server from your
provider and you can use the Internet. In this example, your PC is a Data Terminal
(DTE). The two modems (internal modem and that one of the provider's) are DCEs.
They make the communication between you and your provider possible. When there is
a need to look at the server of your provider, do we call that a DTE or DCE? The
answer is a DTE. It ends the communication line between you and the server, although
it gives you the possibility to surf around the globe. The reason why it is a DTE is that
when you want to go from your provider's server to another place it uses another
interface. So DTE and DCE are interface dependent devices. It means, for your
connection to the server, the server is a DTE, but the same server is a DCE for the
equipment that it is attached to the rest of the Network.
3) The sense of the optional parity bit, (whether to be used or not, if yes then odd or
even)
After the stop bit, the line may remain idle indefinitely, or another character may
immediately be started. The minimum stop bit length required by the system can be
larger than a "bit". In fact it can be 1.5 stop bits, or 2 stop bits, or even the new
hardware that doesn't support fractional stop bits can be configured to send 2 stop bits
when transmitting and requiring 1 stop bit when receiving.
Figure 3.4: Diagram of a Character Frame
Typically, serial communication is carried out using ASCII form of the data.
Communication is completed using 3 transmission lines: Ground, Transmit, and
Receive. Since serial is asynchronous (in many applications), the port is able to transmit
data on one line while receiving data on another. Other lines are available for
handshaking, but are not required. The important serial characteristics are baud rate,
data bits, stop bits, and parity and for two ports to communicate, these parameters
must match.
In the following section the parameters that are common with serial communication will
be explained.
The baud rate is used to specify data speed, which is a measure of the number of times a
digital signal changes state in one second or the number of signal events or signal
transitions occurring per second. The changes can be
The baud rate can never be higher than the raw bandwidth of the channel, as measured
in Hz. Baud rate and bit rate, often and incorrectly, are used interchangeably. The
relationship between baud rate and bit rate depends on the sophistication of the
modulation scheme used to manipulate the carrier. The bit rate (bits per second or bps)
and baud rate can be the same, if each bit is represented by a signal transition in a
single-bit modulation scheme. Baud rate is almost always a lower figure than bps for a
given digital signal because some signal modulation techniques allow more than one
data bit to be transmitted per change state. So the bit rate (bps) and baud rate (baud per
second) can be connected by the formula:
= × ℎ
The number of bit per baud is determined by the modulation technique. The following
two examples give how it could be.
1) When FSK ("Frequency Shift Keying", a transmission technique) is used, each baud
transmits one bit; only one change in state is required to send a bit. Thus, the modem's
bps rate is equal to the baud rate.
2) When we use a baud rate of 2400, you use a modulation technique called phase
modulation that transmits four bits per baud. So,
Such modems are capable of 9600 bps operation. Common baud rates for telephone
lines are 14400, 28800, and 33600. Baud rates greater than these are possible, but these
rates reduce the distance by which devices can be separated.
3.6.2 Data bits
When the computer sends a packet of information, the amount of actual data may not be
a full 8 bit. Standard values for the data packets are 5, 7, and 8 bits. Which setting that
is configured depends on what information you are transferring. For example, standard
ASCII has values from 0 to 127 (7 bits). Extended ASCII uses 0 to 255 (8 bits). If the
data being transferred is a simple text (standard ASCII), then sending 7 bits of data per
packet is sufficient for communication, otherwise 8 bits of data per packet is utilised. A
packet refers to a single byte transfer, including start or stop bits, data bits, and parity.
Since the number of actual bits depends on the protocol selected, the term packet is
used to cover all instances.
Stop bit is used to indicate the end of a single packet. Typical values are 1, 1.5, and 2
bits. Since the data is clocked across the lines and each device has its own clock, it is
possible for the two devices to become slightly out of sync. Therefore, the stop bits not
only indicate the end of transmission but also give the computers some room for error in
the clock speeds. The more bits that are used for stop bits, the greater the lenience in
synchronizing the different clocks, but the slower the data transmission rate. Start bit is
the bit, which signals the receiver that data is coming. Every byte of data in an
asynchronous serial transmission is preceded by a start bit and followed by a stop bit.
3.6.4 Parity:
It's used for error checking in serial communication. There are two types of parity: even
and odd. And the option of using no parity is also available. For even and odd parity,
the serial port will set the parity bit (the last bit after the data bits) to a value to ensure
that the transmission has an even or odd number of logic high bits. For example, let us
take the data as 011.Then for even parity; the parity bit would be 0 to keep the number
of logic high bits even. Similarly, for odd parity the parity bit would be 1, resulting in
three logic high bits.
3.7.1 RS-232
However, an RS-232 serial port was once a standard feature of a personal computer,
used for connections to modems, printers, mice, data storage, uninterruptible power
supplies, and other peripheral devices. However, RS-232 is hampered by low
transmission speed, large voltage swing, and large standard connectors. In modern
personal computers, USB has displaced RS-232 from most of its peripheral interface
roles. Many computers do not come equipped with RS-232 ports and must use either an
external USB-to-RS-232 converter or an internal expansion card with one or more serial
ports to connect to RS-232 peripherals. Nevertheless, RS-232 devices are still used,
especially in industrial machines, networking equipment and scientific instruments [9].
3.7.2 RS-422
RS-422, also known as TIA/EIA-422, is a technical standard originated by the
Electronic Industries Alliance that specifies electrical characteristics of a digital
signaling circuit. Differential signaling can transmit data at rates as high as 10 Mbit/s,
or may be sent on cables as long as 1500 meters. Some systems directly interconnect
using RS-422 signals, or RS-422 converters may be used to extend the range of RS-232
connections. The standard only defines signal levels; other properties of a serial
interface, such as electrical connectors and pin wiring, are set by other standards. [10]
Broadcast automation systems and post-production linear editing facilities use RS-422A
to remotely control the players/recorders located in the central apparatus room. In most
cases the Sony 9-pin connection is used, which makes use of a standard DE-9
connector. This is a de facto industry standard connector for RS-422 used by many
manufacturers.
3.7.3 RS-423
3.7.4 RS-485
TIA-485-A, also known as ANSI/TIA/EIA-485, TIA/EIA-485, EIA-485 or RS-485, is a
standard defining the electrical characteristics of drivers and receivers for use in
balanced digital multipoint systems. The standard is published by the
Telecommunications Industry Association/Electronic Industries Alliance (TIA/EIA).
Digital communications networks implementing the EIA-485 standard can be used
effectively over long distances and in electrically noisy environments. Multiple
receivers may be connected to such a network in a linear, multi-drop configuration.
These characteristics make such networks useful in industrial environments and similar
applications. [12]
RS-485 signals are used in a wide range of computer and automation systems. In a
computer system, SCSI-2 and SCSI-3 may use this specification to implement the
physical layer for data transmission between a controller and a disk drive. RS-485 is
used for low-speed data communications in commercial aircraft cabins vehicle bus. It
requires minimal wiring, and can share the wiring among several seats, reducing
weight.
RS-485 is used as the physical layer underlying many standard and proprietary
automation protocols used to implement Industrial Control Systems, including the most
common versions of Modbus and Profibus. These are used in programmable logic
controllers and on factory floors. Since it is differential, it resists electromagnetic
interference from motors and welding equipment.
In theatre and performance venues RS-485 networks are used to control lighting and
other systems using the DMX512 protocol.
RS-485 is also used in building automation as the simple bus wiring and long cable
length is ideal for joining remote devices. It may be used to control video surveillance
systems or to interconnect security control panels and devices such as access control
card readers. It can also be used in model railway: controlling the layout in a
network/PC environment, connectors in this case are 8P8C / RJ45.
Although many applications use RS-485 signal levels; the speed, format, and protocol
of the data transmission is not specified by RS-485. Interoperability of even similar
devices from different manufacturers is not assured by compliance with the signal
levels alone.
RS-485 does not specify any connector or pin-out. Circuits may be terminated on screw
terminals, D-subminiature connectors, or other types of connectors. However, there is a
common pin labeling that applies to all connectors which is; A (inverting pin), B (non-
inverting pin), SC (reference pin). The SC line is the optional voltage reference
connection. This is the reference potential used by the transceiver to measure the A and
B voltages. The B line is positive (compared to A) when the line is idle (i.e., data is 1).
[15]
Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that
defines the cables, connectors and communications protocols used in a bus for
connection, communication, and power supply between computers and electronic
devices. [16]
USB was designed to standardize the connection of computer peripherals (including
keyboards, pointing devices, digital cameras, printers, portable media players, disk
drives and network adapters) to personal computers, both to communicate and to supply
electric power. It has become commonplace on other devices, such as smartphones,
PDAs and video game consoles.[17] USB has effectively replaced a variety of earlier
interfaces, such as serial and parallel ports, as well as separate power chargers for
portable devices.
The designers of this standard are Compaq, DEC, IBM, Intel, Microsoft, NEC and
Nortel. The design of this standard was in 1996 (19 years ago). The production of this
standard has been from 1997 to present. Previous standards that superseded the USB are
the serial port, parallel port, game port, Apple Desktop Bus, and PS/2 connector. The
length of the cable is between 2–5 meters (by category), The connectors conventionally
have the design specifications of width of 12 mm (A-plug),[1] 8.45 mm (B-plug); 7 mm
(mini/micro-USB) and height 4.5 mm (A-plug),[1] 7.78 mm (B-plug, pre-v3.0); 1.5–
3 mm (mini/micro-USB). Electrical characteristics includes a signal voltage level of 5 V
± 0.25 V and a maximum current output of 0.5 – 0.9 Amps, but for charging devices up
to 5 A. Also, the USB is specially designed for data transfer and some of the
specifications that facilitate that capability are the packet data transfer ability, it also has
a bit rate capacity of 1.5/12/450/5,000/10,000 Mbit/s depending on the version.[18]
Pin 1 is for the power supply or Vcc, pin 2 is for negative data (-) pin 3 is for positive
data (+) pin 4 is the ground pin.
3.7.6 Fire Wire (IEEE 1394)
IEEE 1394 is an interface standard for a serial bus for high-speed communications and
isochronous real-time data transfer. It was developed in the late 1980s and early 1990s
by Apple, who called it FireWire. The 1394 interface is comparable to USB though
USB has more market share.[19] Apple first included FireWire in some of its 1999
Macintosh models, and most Apple Macintosh computers manufactured in the years
2000 - 2011 included FireWire ports. However, in 2011 Apple began replacing Firewire
with the Thunderbolt interface and, as of 2014, FireWire has been replaced by
Thunderbolt on new Macs.[20] The 1394 interface is also known by the brand i.LINK
(Sony), and Lynx (Texas Instruments). IEEE 1394 replaced parallel SCSI in many
applications, because of lower implementation costs and a simplified, more adaptable
cabling system. The 1394 standard also defines a backplane interface, though this is not
as widely used.
Common applications of FireWire include military and aerospace vehicles for data bus
network in those vehicles. It can also be used for networking but only for ad-hoc
terminals (no routers involved except a hub is to be used). The reason that makes
FireWire useful in IIDC (Instrumentation &
Industrial Digital Camera) is the FireWire data
format standard for live video, and is used by
Apple's iSight A/V camera. The system was
designed for machine vision systems [check it] but
is also used for other computer vision applications
and for some webcams. It is also used in iPod and
iPhone synchronisation and charging. [21][22]
3.7.7 Ethernet
3.7.8 MIDI
MIDI carries event messages that specify notation, pitch and velocity, control signals
for parameters such as volume, vibrato, audio panning, cues, and clock signals that set
and synchronize tempo between multiple devices. These messages are sent to other
devices where they control sound generation and other features. This data can also be
recorded into a hardware or software device called a sequencer, which can be used to
edit the data and to play it back at a later time. [24]
MIDI technology was standardized in 1983 by a panel of music industry
representatives, and is maintained by the MIDI Manufacturers Association (MMA). All
official MIDI standards are jointly developed and published by the MMA in Los
Angeles, California, US, and for Japan, the MIDI Committee of the Association of
Musical Electronics Industry (AMEI) in Tokyo.
Common applications of include firstly Instrument control; MIDI was invented so that
musical instruments could communicate with each other and so that one instrument can
control another. Secondly, it can be used for composition of musical notes [25].
The I²C bus was developed in 1982; its original purpose was to provide an easy way to
connect a CPU to peripherals chips in a TV set. Peripheral devices in embedded
systems are often connected to the microcontroller as memory-mapped I/O devices.
One common way to do this is connecting the peripherals to the microcontroller parallel
address and data busses. This results in lots of wiring on the PCB (printed circuit board)
and additional ‘glue logic’ to decode the address bus on which all the peripherals are
connected. In order to spare microcontroller pins, additional logic and make the PCBs
simpler – in order words, to lower the costs – Philips labs in Eindhoven (The
Netherlands) invented the ‘Inter-Integrated Circuit’, IIC or I²C protocol that only
requires two wires for connecting all the peripheral to a microcontroller. The original
specification defined a bus speed of 100 kbps (kilobits per second). The specification
was reviewed several times, notably introducing the 400 kbps speed in 1995 and – since
1998, 3.4 Mbps for even faster peripherals. [26]
SPI devices communicate in full duplex mode using master-slave architecture with a
single master. The master device originates the frame for reading and writing. Multiple
slave devices are supported through selection with individual slave select (SS) lines.
Sometimes SPI is called a four-wire serial bus, contrasting with three-, two-, and one-
wire serial buses. The SPI may be accurately described as a synchronous serial
[27]
interface, but it is different from the Synchronous Serial Interface (SSI) protocol,
which is also a four-wire synchronous serial communication protocol, but employs
differential signaling and provides only a single simplex communication channel.
The PCI Express electrical interface is also used in a variety of other standards, most
notably in ExpressCard as a laptop expansion card interface, and in SATA Express as a
computer storage interface.
Format specifications are maintained and developed by the PCI-SIG (PCI Special
Interest Group), a group of more than 900 companies that also maintains the
conventional PCI specifications. PCIe 3.0 is the latest standard for expansion cards that
is in production and available on mainstream personal computers. [28][29]
SECTION FOUR
The Arduino Uno has a number of facilities for communicating with a computer,
on the board channels this serial communication over USB and appears as a virtual com
port to software on the computer. The '8U2 firmware uses the standard USB COM
drivers, and no external driver is needed. In order to get a full understanding of this
4.2 UART
device and parallel-to-serial conversion on data received from the CPU. The CPU can
read the UART status at any time. The UART includes control capability and a
processor interrupt system that can be tailored to minimize software management of the
communications link.
The combination of the name UART TTL is actually the combination of the serial
communication used and the voltage level that is being utilised for communication.
1. Modem Applications,
Arduino
In a case where a user chooses to send text and data, so that it will be displayed on a
PC so that whatever goes in and out of the Arduino, could be monitored. This can be
made possible by using the Arduino IDE, to type the appropriate codes that will
In a situation where a user has the intention of sending a normal text, such task is not
difficult when compared to sending a formatted text and numeric data. Arduino uses
various data types and therefore can be able to know the data the user expects it to
print out. In this scenario it is possible to say here that serial communication can be
used to send a vast amount of data irrespective of the type of data it sends. As usual
If a user needs to know how the Arduino react to commands or data sent from a
computer for the sake of debugging the circuit, this can also be achieved with the
In achieving this it is pertinent to know that it is easy to receive 8-bit values (chars
and bytes), because the functions used in the programming uses 8-bit values. The
process that actually makes this possible is the conversion of ASCII characters to
numerical values and vice-versa. There is a code that activates this ability. [30]
5.0 CONCLUSION
Finally, this paper has been able to give attention to a process that has facilitated the
doing so the subject on Serial Communication has not been neglected and should
remain a constant field of research in order to create a better standard that will improve
Could there still be a lot more that can be discovered about serial communication in the
field of computing? How can this actually improve the applications of embedded
electronics? How can this underlying process improve the way many devices
These are questions that Computer Engineers are to keep asking themselves, so that we
This paper has been able to act as an eye opener to this hidden but vital process and
calls for more hands to be on deck as researchers and developers improve on serial
communication. “Shoot for the moon. Even if you miss, you'll land among the stars.”-
Norman Vincent Peale. There is need to aim to reach the best in the area of Serial
Communication, even if it is not reached, something close to it can be achieved and the
REFERENCES
1. Encarta, M. (2009). Serial Communication. In Computer.
38637094
9. Arcelect.com,. (2015). RS232 Tutorial on Data Interface and cables. Retrieved 28 May 2015,
from http://www.arcelect.com/rs232.htm
10. TIA/EIA STANDARD, Electrical Characteristics of Balanced Voltage Digital
11. 11. Instruments, N. (2013) (2nd ed., pp. 1-10). Texas Instruments. Retrieved from
http://www.ti.com/lit/an/snla044b/snla044b.pdf
12. Wikipedia,. (2015). RS-485. Retrieved 28 May 2015, from http://en.wikipedia.org/wiki/RS-
485
13. Manny, S., Jing, Z., Kevin, Z., Clark, K., & Thomas, K. (2010). RS-422 and RS-485 Standards
Overview and System Configurations, Application Report (2nd ed.). Texas Instruments.
14. Bb-elec.com,. (2011). Polarities for Differential Pair Signals (RS-422 and RS-485) - B&B
Electronics. Retrieved 28 May 2015, from http://www.bb-elec.com/Learning-Center/All-
White-Papers/Serial/%95-Polarities-for-Differential-Pair-Signals-(RS-
422.aspx?utm_source=redirect&utm_medium=SiteTransition&utm_content=bbeurope
15. . Simson.net,. (1999). Boston Globe Online / Business / USB deserves more support. Retrieved
28 May 2015, from http://simson.net/clips/1999/99.Globe.05-
20.USB_deserves_more_support+.shtml
16. Bakalar, J. (2009). Sony PlayStation 3 review - CNET. CNET. Retrieved 28 May 2015, from
http://reviews.cnet.com/consoles/sony-playstation-3-60gb/4505-10109_7-31355103.html
17. Wikipedia,. (2015). USB. Retrieved 24 May 2015, from http://en.wikipedia.org/wiki/USB
18. Yaghmour, K. (2003). Building embedded Linux systems. Beijing: O'Reilly.
19. Richard Mourn, D. (2013). IEEE-1394 and AS5643 bring deterministic networking to high
reliability Mil-Aero designs. Embedded. Retrieved 28 May 2015, from
http://www.embedded.com/design/connectivity/4406396/2/IEEE-1394-and-AS5643-brings-
deterministic-networking-to-high-reliability-Mil-Aero-designs-
20. Standards.sae.org,. (2015). AS5643: IEEE-1394b Interface Requirements for Military and
Aerospace Vehicle Applications - SAE International. Retrieved 28 May 2015, from
http://standards.sae.org/as5643/
21. Swift, A. (1997). A brief introduction to MIDI. Doc.ic.ac.uk. Retrieved 28 May 2015, from
http://www.doc.ic.ac.uk/~nd/surprise_97/journal/vol1/aps2/
22. Huber, D. (1999). The MIDI manual. Boston: Focal Press.
23. Web.archive.org,. (2015). What is a DAW - Digital audio workstation - home recording guide.
Retrieved 28 May 2015, from
http://web.archive.org/web/20120110031303/http://homerecording.guidento.com/daw.htm
24. Web.archive.org,. (2015). What is a DAW - Digital audio workstation - home recording guide.
Retrieved 28 May 2015, from
http://web.archive.org/web/20120110031303/http://homerecording.guidento.com/daw.htm
25. Wikipedia,. (2015). Serial Peripheral Interface Bus. Retrieved 29 May 2015, from
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
26. Zhang, Y., & T. Long, N. (2007). Proceedings of the Linux Symposium (1st ed.). Ottawa,
Ontario. Retrieved from http://ols.fedoraproject.org/OLS/Reprints-2007/zhang-Reprint.pdf
27. Pcisig.com,. PCI-SIG - PCI Express Base 3.0 Specification. Retrieved 25 May 2015, from
https://www.pcisig.com/specifications/pciexpress/base3/
28. Mindshare.com,. MindShare - PCI Express (Training). Retrieved 25 May 2015, from
http://www.mindshare.com/learn/?section=132B11E3
29. Margolis, M. (2012). Arduino cookbook. Sebastopol, Calif.: O'Reilly.
30. Reddy, N. (2013). Oscilloscope/Logic Analyser using Arduino (1st ed.). Retrieved from
http://grietinfo.in/projects/MAIN/EEE2013/cd-5-documentation.pdf