Documente Academic
Documente Profesional
Documente Cultură
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
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
encouragement morally, academically, financially and otherwise.
ACKNOWLEDGEMENT
I thank God for the grace of life and abundance of blessings which He showered
upon me. I wish to express my gratitude to my supervisor Prof (Mrs.) C.C. Okezie
for her support, guidance and encouragement during this seminar writing.
I also want to acknowledge my parents, Prof. and Mrs. U. A. Osisiogu, who has been
of immense supports to my academics and my siblings Onyekachi, Tochukwu and
Ayo-Oluwa who have been a source of encouragement.
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, Engr. 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 and they will achieve much more in their lives.
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 impact in my life, I love you all.
TABLE OF CONTENTS
CERTIFICATION..................................................................................... 1
DEDICATION ........................................................................................... 2
ACKNOWLEDGEMENT ........................................................................ 3
TABLE OF CONTENTS .......................................................................... 4
SECTION ONE.......................................................................................... 7
INTRODUCTION ..................................................................................... 7
SECTION TWO: AN OVERVIEW ON ARDUINO ........................... 10
2.1 Introduction ............................................................................................ 10
2.2 Arduino Uno......................................................................................... 11
2.3 General Specifications ............................................................................ 11
2.3.1 Power Specification.......................................................................................12
2.3.2 Memory Specification...................................................................................13
2.3.3 Input and Output..........................................................................................13
2.3.4
Communication .........................................................................................14
3.
3.6.1
3.6.2
3.6.3
3.7
3.7.1
RS-232........................................................................................................29
3.7.2 RS-422................................................................................................ 30
3.7.3 RS-423................................................................................................ 31
3.7.4 RS-485................................................................................................ 31
3.7.5 USB (Universal Serial Bus)............................................................... 33
3.7.6 Fire Wire (IEEE 1394)..................................................................................35
3.7.7 Ethernet.........................................................................................................35
3.7.8
MIDI...........................................................................................................36
4.4.1
4.4.2
SECTION ONE
INTRODUCTION
In the field of electronics, the interconnection of circuits in order to create a
symbiotic system is vital. For this interconnection to be accomplished, between
processors, sensors and other integrated circuits they must share a common
communication protocol. One of such communication protocol is the serial
communication protocol.
The aim of this paper is to present a good understanding of serial communication and
how it relates to Arduino.
Serial in a general context means one after the other, although in the context of
computing it means the sending of computer information sequentially
[1]
[3]
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 on serial communication and gives an explanation some serial communication
standards. Section 4 deals with how Arduino utilises the capacity of serial
communication and Section 5 gives the summary this paper.
10
2.2
Arduino Uno
ATmega328
Operating Voltage
5V
7-12V
6-20V
40 mA
50 mA
SRAM
2 KB
EEPROM
1 KB
Clock Speed
16 MHz
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 USB or another regulated 5V supply.
C) 3.3V
A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50
mA.
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.
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt
on a low value, a rising or falling edge, or a change in value. See the
attachInterrupt() function for details.
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite()
function.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI
communication using the SPI library.
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.
Additionally, some pins have specialized functionality:
TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the
Wire library. There are a couple of other pins on the board:
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 reset button to shields which block the one on the board.
2.3.4 Communication
The Arduino Uno has a number of facilities for communicating with a computer,
another Arduino, or other microcontrollers. The ATmega328 provides UART-TTL
(5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An
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
14
2.4
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 DFU boot loader, which can be
activated by:
On Rev1 boards: connecting the solder jumper on the back of the board (near the
map of Italy) and then resetting the 8U2.
On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB line to
ground, making it easier to put into DFU mode.
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 external programmer (overwriting the DFU boot loader).
15
2.5
Rather than requiring a physical press of the reset button before an upload, the
Arduino Uno is designed in a way that allows it to be reset by software running on a
connected computer. One of the hardware flow control lines (DTR) of the
ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100 Nano
farad 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
running Mac OS X or Linux, it resets each time a connection is made to it from
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 connection is opened. If a sketch running on the board receives one-time
configuration 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 reset line.
2.6
The Arduino Uno has a resettable poly-fuse 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
16
applied to the USB port, the fuse will automatically break the connection until the
short or overload is removed.
2.7
Physical Characteristics
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 the other pins.
17
3.
3.1
Definition
3.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:
a) Requires fewer interconnecting cables and hence occupies less space.
b) "Cross talk" is less of an issue, because there are fewer conductors compared to
that of parallel communication cables.
c) Many ICs and peripheral devices have serial interfaces.
d) Clock skew between different channels is not an issue.
e) No need of Serialiser/Deserialiser (SerDes).
f) Cheaper to implement.
19
3.3
Clock skew
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,
c) Variation in intermediate devices,
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
20
through.
of
coordinating
transmission
between
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 4)
Asynchronous communication is the commonly prevailing communication method
in the personal computer industry, due to the reason that it is easier to implement and
has the unique advantage that bytes can be sent whenever they are ready, and no
need to wait for blocks of data to accumulate.
21
22
asynchronous
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.
One of the main disadvantages of asynchronous technique is the large relative
overhead, where a high proportion of the transmitted bits are uniquely for
control purposes and thus carry no useful information. But it holds some
advantages like,
1) Simple and doesn't require much synchronization on both communication
sides.
2) The timing is not as critical as for synchronous transmission; therefore
hardware can be made cheaper.
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.
3.5
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 achieved. For instance, a computer which wants to communicate
23
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.
24
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.
25
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.
26
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.
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.
28
3.7
3.7.1 RS-232
Originally, RS-232 is a standard for serial communication transmission of data. It
formally defines the signals connecting between a DTE (data terminal equipment)
such as a computer terminal, and a DCE (data circuit-terminating equipment,
originally defined as data communication equipment
[8]
29
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]
A common use of RS-422 is for RS-232 extenders. An RS-232-compatible variant of
RS-422 using a mini-DIN-8 connector was widely used on Macintosh hardware until
it (and ADB) was replaced by Universal Serial Bus on the iMac in 1998.
Broadcast automation systems and post-production linear editing facilities use RS422A 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 DE9 connector. This is a de facto industry standard connector for RS-422 used by many
manufacturers.
30
3.7.3 RS-423
RS/EIA/TIA-423 is a standard for serial communications. It defines an unbalanced
(single-ended) interface (similar to RS-232), with a single, unidirectional sending
driver, and allows for up to 10 receivers (similar to RS-422). It is normally
implemented in integrated circuit technology and can also be employed for the
interchange of serial binary signals between DTE & DCE. There is no common pinout for RS-423. The BBC (British Broadcasting Cooperation) Micro-computer used
a 5-pin DIN connector. DEC (Disaster Emergency Committee) used it extensively
with a Modified Modular Jack connector. This was sometimes called "DEC-423". [11]
Figure 11: An RS-423 cable with a DB-9 and a DB-25 pin out
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]
31
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.
32
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]
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 25 meters (by category), The
connectors conventionally have the design specifications of width of 12 mm (Aplug), 8.45 mm (B-plug); 7 mm (mini/micro-USB) and height 4.5 mm (A-plug), 7.78
mm (B-plug, pre-v3.0); 1.53 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.
34
[20]
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
Ethernet is a family of computer networking technologies for local area networks
(LANs) and metropolitan area networks (MANs). It was commercially introduced in
1980 and first standardized in 1983 as IEEE 802.3, [23] and has since been refined to
35
support higher bit rates and longer link distances. Over time, Ethernet has largely
replaced competing wired LAN technologies such as token ring, FDDI, and
ARCNET. The primary alternative for contemporary LANs is not a wired standard,
but instead a wireless LAN standardized as IEEE 802.11 and also known as Wi-Fi.
The major application of Ethernet protocol is the networking capabilities it
possesses. Unlike FireWire this is one uses hubs, repeaters, switches and routers. It
also has a good capacity of 10 Mbit/s to 1Gbit/s.
3.7.8 MIDI
MIDI - Musical Instrument Digital Interface is a technical standard that describes a
protocol, digital interface and connectors and allows a wide variety of electronic
musical instruments, computers and other related devices to connect and
communicate with one another. A single MIDI link can carry up to sixteen channels
of information, each of which can be routed to a separate device.
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]
36
Figure 16: The image of a MIDI port and cable respectively starting from left
37
make the PCBs simpler in order words, to lower the costs Philips labs in
Eindhoven (The Netherlands) invented the Inter-Integrated Circuit, IIC or IC
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]
3.7.10 SPI-Serial Peripheral Interface
The Serial Peripheral Interface (SPI) bus is a synchronous serial communication
interface specification used for short distance communication, primarily in
embedded systems. The interface was developed by Motorola and has become a de
facto standard. Typical applications include sensors, Secure Digital cards, and liquid
crystal displays.
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
interface, [27] but it is different from the Synchronous Serial Interface (SSI) protocol,
38
39
40
SECTION FOUR
4.1 THE PROCEDURE FOR SERIAL COMMUNICATION IN
ARDUINO IN CREATING SYSTEMS
The Arduino Uno has a number of facilities for communicating with a computer,
another Arduino, or other microcontrollers. The ATmega328 provides UART
(universal asynchronous receiver / transmitter) TTL (Transistor-to-Transistor Logic)
5 V serial communication, which is available on digital pins 0 (RX) and 1 (TX). An
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. Arduino has two
additional standards of serial communication which includes I2C and the SPI. These
two standards are made available for the Arduino to be able to communicate with
other Arduinos and ICs as the user may want to use them.
41
4.2
UART
4.4
43
44
45
REFERENCES
1. Encarta, M. (2009). Serial Communication. In Computer.
2. Learn.sparkfun.com,. (2015). Serial Communication - learn.sparkfun.com.
Retrieved 20 May 2015, from https://learn.sparkfun.com/tutorials/serialcommunication
3. En.wikibooks.org,. (2015). History of Serial Communications - Wikibooks,
open books for an open world. Retrieved 26 May 2015, from
http://en.wikibooks.org/wiki/History_of_Serial_Communications
4. Axelson, J. (2007). Serial port complete. Madison, Wis.: Lakeview Research.
5. Arduino.cc,. (2015). Arduino - Introduction. Retrieved 28 May 2015, from
http://www.arduino.cc/en/guide/introduction
6. Arduino Datasheet. (2005) (1st ed., pp. 1-8).
7. Eeherald.com,. (2015). Embedded Systems Course - serial communications
basics.
Retrieved
21
May
2015,
from
http://www.eeherald.com/section/design-guide/esmod7.html
8. EIA standard RS-232-C: Interface between Data Terminal Equipment and
Data Communication Equipment Employing Serial Binary Data Interchange.
Washington: Electronic Industries Association. Engineering Dept. 1969.
OCLC 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
Interface Circuits, TIA/EIA-422-B, May 1994
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
http://en.wikipedia.org/wiki/RS-485
46
28
May
2015,
from
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 RS485) - B&B Electronics. Retrieved 28 May 2015, from http://www.bbelec.com/Learning-Center/All-White-Papers/Serial/%95-Polarities-forDifferential-Pair-Signals-(RS422.aspx?utm_source=redirect&utm_medium=SiteTransition&utm_content=b
beurope
15.. Simson.net,. (1999). Boston Globe Online / Business / USB deserves more
support.
Retrieved
28
May
2015,
from
http://simson.net/clips/1999/99.Globe.0520.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/IEEE1394-and-AS5643-brings-deterministic-networking-to-high-reliability-MilAero-designs20.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
47
guide.
Retrieved
28
May
2015,
from
http://web.archive.org/web/20120110031303/http://homerecording.guidento.c
om/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.c
om/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
48