Date post: | 12-Jul-2015 |
Category: |
Engineering |
Upload: | mukul-mohal |
View: | 224 times |
Download: | 3 times |
1
CHAPTER-1
INTRODUCTION TO “EMBEDDED SYSTEM”
An embedded system is a computer system designed to perform one or a few
dedicated functions often with real-time computing constraints. It is embedded as part
of a complete device often including hardware and mechanical parts. By contrast, a
general-purpose computer, such as a personal computer (PC), is designed to be
flexible and to meet a wide range of end-user needs. Embedded systems control many
devices in common use today.
Embedded systems are controlled by one or more main processing cores that is
typically either a microcontroller or a digital signal processor (DSP). For example, air
traffic control systems may usefully be viewed as embedded, even though they
involve mainframe computers and dedicated regional and national networks between
airports and radar sites. (Each radar probably includes one or more embedded systems
of its own.)
Since the embedded system is dedicated to specific tasks, design engineers can
optimize it reducing the size and cost of the product and increasing the reliability and
performance. Some embedded systems are mass-produced, benefiting from
economies of scale. In general, "embedded system" is not a strictly definable term, as
most systems have some element of extensibility or programmability. For example,
handheld computers share some elements with embedded systems such as the
operating systems and microprocessors which power them, but they allow different
applications to be loaded and peripherals to be connected. Moreover, even systems
which don't expose programmability as a primary feature generally need to support
software updates. On a continuum from "general purpose" to "embedded", large
application systems will have subcomponents at most points even if the system as a
whole is "designed to perform one or a few dedicated functions", and is thus
appropriate to call "embedded".
In the earliest years of computers in the 1930–40s, computers were sometimes
dedicated to a single task, but were far too large and expensive for most kinds of tasks
performed by embedded computers of today. Over time however, the concept of
2
programmable controllers evolved from traditional electromechanical sequencers, via
solid state devices, to the use of computer technology.
Since these early applications in the 1960s, embedded systems have come down in
price and there has been a dramatic rise in processing power and functionality. The
first microprocessor for example, the Intel 4004, was designed for calculators and
other small systems but still required many external memory and support chips. In
1978 National Engineering Manufacturers Association released a "standard" for
programmable microcontrollers, including almost any computer-based controllers,
such as single board computers, numerical, and event-based controllers.
Embedded systems span all aspects of modern life and there are many examples of
their use.
Telecommunications systems employ numerous embedded systems from telephone
switches for the network to mobile phones at the end-user. Computer networking uses
dedicated routers and network bridges to route data.
Transportation systems from flight to automobiles increasingly use embedded systems.
New airplanes contain advanced avionics such as inertial guidance systems and GPS
receivers that also have considerable safety requirements. Various electric motors —
brushless DC motors, induction motors and DC motors — are using electric/electronic
motor controllers. Automobiles, electric vehicles, and hybrid vehicles are increasingly
using embedded systems to maximize efficiency and reduce pollution. Other
automotive safety systems include anti-lock braking system (ABS), Electronic
Stability Control (ESC/ESP), traction control (TCS) and automatic four-wheel drive.
Medical equipment is continuing to advance with more embedded systems for vital
signs monitoring, electronic stethoscopes for amplifying sounds, and various medical
imaging (PET, SPECT, CT, MRI) for non-invasive internal inspections.
1.1 USER INTERFACE
Embedded systems range from no user interface at all — dedicated only to one task
— to complex graphical user interfaces that resemble modern computer desktop
3
operating systems. Simple embedded devices use buttons, LEDs, graphic or character
LCDs (for example popular HD44780 LCD) with a simple menu system.
A more sophisticated devices use graphical screen with touch sensing or screen-edge
buttons provide flexibility while minimizing space used: the meaning of the buttons
can change with the screen, and selection involves the natural behavior of pointing at
what's desired. Handheld systems often have a screen with a "joystick button" for a
pointing device.
Some systems provide user interface remotely with the help of serial (e.g. RS-232,
USB, I²C, etc) or network (e.g. Ethernet) connection. In spite of installed client
software and cables are needed this approach usually gives a lot of advantages:
extends the capabilities of embedded system, avoids the cost of a display, simplifies
BSP, allows to build rich user interface on PC.
1.2 PROCESSORS IN EMBEDDED SYSTEMS
Embedded processors can be broken into two broad categories: ordinary
microprocessors (μP) and microcontrollers (μC), which have many more peripherals
on chip, reducing cost and size. Contrasting to the personal computer and server
markets, a fairly large number of basic CPU architectures are used; there are Von
Neumann as well as various degrees of Harvard architectures, RISC as well as non-
RISC and VLIW; word lengths vary from 4-bit to 64-bits and beyond (mainly in DSP
processors) although the most typical remain 8/16-bit. Most architectures come in a
large number of different variants and shapes, many of which are also manufactured
by several different companies.
A long but still not exhaustive list of common architectures are: 65816, 65C02,
68HC08, 68HC11, 68k, 8051, ARM, AVR, AVR32, Blackfin, C167, Coldfire, COP8,
Cortus APS3, eZ8, eZ80, FR-V, H8, HT48, M16C, M32C, MIPS, MSP430, PIC,
PowerPC, R8C, SHARC, ST6, SuperH, TLCS-47, TLCS-870, TLCS-900, Tricore,
V850, x86, XE8000, Z80, AsAP etc.
1.3 EMBEDDED SOFTWARE ARCHITECTURES
There are several different types of software architecture in common use.
4
1.3.1 SIMPLE CONTROL LOOP
In this design, the software simply has a loop. The loop calls subroutines, each of
which manages a part of the hardware or software.
1.3.2 INTERRUPT CONTROLLED SYSTEM
Some embedded systems are predominantly interrupt controlled. This means that
tasks performed by the system are triggered by different kinds of events. An interrupt
could be generated for example by a timer in a predefined frequency, or by a serial
port controller receiving a byte. These kinds of systems are used if event handlers
need low latency and the event handlers are short and simple.
Usually these kinds of systems run a simple task in a main loop also, but this task is
not very sensitive to unexpected delays.
Sometimes the interrupt handler will add longer tasks to a queue structure. Later, after
the interrupt handler has finished, these tasks are executed by the main loop. This
method brings the system close to a multitasking kernel with discrete processes.
1.3.3 COOPERATIVE MULTITASKING
A nonpreemptive multitasking system is very similar to the simple control loop
scheme, except that the loop is hidden in an API. The programmer defines a series of
tasks, and each task gets its own environment to ―run‖ in. When a task is idle, it calls
an idle routine, usually called ―pause‖, ―wait‖, ―yield‖, ―nop‖ (stands for no
operation), etc.The advantages and disadvantages are very similar to the control loop,
except that adding new software is easier, by simply writing a new task, or adding to
the queue-interpreter.
1.3.4 PREEMPTIVE MULTITASKING OR MULTI-THREADING
In this type of system, a low-level piece of code switches between tasks or threads
based on a timer (connected to an interrupt). This is the level at which the system is
generally considered to have an "operating system" kernel. Depending on how much
functionality is required, it introduces more or less of the complexities of managing
multiple tasks running conceptually in parallel.
5
As any code can potentially damage the data of another task (except in larger systems
using an MMU) programs must be carefully designed and tested, and access to shared
data must be controlled by some synchronization strategy, such as message queues,
semaphores or a non-blocking synchronization scheme.
Because of these complexities, it is common for organizations to buy a real-time
operating system, allowing the application programmers to concentrate on device
functionality rather than operating system services, at least for large systems; smaller
systems often cannot afford the overhead associated with a generic real time system,
due to limitations regarding memory size, performance, and/or battery life.
1.3.5 MICROKERNELS AND EXOKERNELS
A microkernel is a logical step up from a real-time OS. The usual arrangement is that
the operating system kernel allocates memory and switches the CPU to different
threads of execution.
User mode processes implement major functions such as file systems, network
interfaces, etc. In general, microkernels succeed when the task switching and intertask
communication is fast, and fail when they are slow.
Exokernels communicate efficiently by normal subroutine calls. The hardware, and all
the software in the system are available to, and extensible by application programmers.
1.3.6 MONOLITHIC KERNELS
In this case, a relatively large kernel with sophisticated capabilities is adapted to suit
an embedded environment. This gives programmers an environment similar to a
desktop operating system like Linux or Microsoft Windows, and is therefore very
productive for development; on the downside, it requires considerably more hardware
resources, is often more expensive, and because of the complexity of these kernels
can be less predictable and reliable. Common examples of embedded monolithic
kernels are Embedded Linux and Windows CE.
Despite the increased cost in hardware, this type of embedded system is increasing in
popularity, especially on the more powerful embedded devices such as Wireless
Routers and GPS Navigation Systems. Here are some of the reasons:
6
• Ports to common embedded chip sets are available.
• They permit re-use of publicly available code for Device Drivers, Web Servers,
Firewalls, and other code.
• Development systems can start out with broad feature-sets, and then the distribution
can be configured to exclude unneeded functionality, and save the expense of the
memory that it would consume.
• Many engineers believe that running application code in user mode is more reliable,
easier to debug and that therefore the development process is easier and the code more
portable.
• Many embedded systems lack the tight real time requirements of a control system.
Although a system such as Embedded Linux may be fast enough in order to respond
to many other applications.
• Features requiring faster response than can be guaranteed can often be placed in
hardware.
• Many RTOS systems have a per-unit cost. When used on a product that is or will
become a commodity, that cost is significant.
1.3.7 EXOTIC CUSTOM OPERATING SYSTEMS
A small fraction of embedded systems require safe, timely, reliable or efficient
behavior unobtainable with the one of the above architectures. In this case an
organization builds a system to suit. In some cases, the system may be partitioned into
a "mechanism controller" using special techniques, and a "display controller" with a
conventional operating system. A communication system passes data between the two.
1.3.8 ADDITIONAL SOFTWARE COMPONENTS
In addition to the core operating system, many embedded systems have additional
upper-layer software components. These components consist of networking protocol
stacks like CAN, TCP/IP, FTP, HTTP, and HTTPS, and also included storage
capabilities like FAT and flash memory management systems. If the embedded
devices has audio and video capabilities, then the appropriate drivers and codecs will
7
be present in the system. In the case of the monolithic kernels, many of these software
layers are included. In the RTOS category, the availability of the additional software
components depends upon the commercial offering.
1.4 PERIPHERALS
Embedded Systems talk with the outside world via peripherals, such as:
Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485 etc
Synchronous Serial Communication Interface: I2C, SPI, SSC and ESSI
(Enhanced Synchronous Serial Interface)
Universal Serial Bus (USB)
Multi Media Cards (SD Cards, Compact Flash etc)
Networks: Ethernet, Controller Area Network, LonWorks, etc
Timers: PLL(s), Capture/Compare and Time Processing Units
Discrete IO: aka General Purpose Input/Output (GPIO)
Analog to Digital/Digital to Analog (ADC/DAC)
Debugging: JTAG, ISP, ICSP, BDM Port, BITP DP9 port
1.5 PIC MICROCONTROLLER
PIC stands for ―Peripheral Interface Controller‖ .It is having 16 bit CPU & introduced
by ―Microchip‖ company. It is RISC (Reduced Instruction Set Computing)
compatible controller. This controller has only 35 instruction. Its maximum operated
speed is 20 Mhz oscillator/clock input. The nice things about the controller is that
they are compatible with each other and a program for one model can very easily be
used in many cases with no modification , be run on other models of family.
The basic assembler instruction set of PIC microcontroller consist of only 35
instructions and most of family members (except the newly developed devices) use
same instruction set , i.e , why a program developed for one model can run on another
model with same architecture without any changes. The PIC microcontroller
have ‖INTRRUPT‖ capability .
1.6 MICROCONTROLLER VERSUS MICROPROCESSOR
A microcontroller differs from a microprocessor in many ways. The first and most
8
important difference is its functionality. In order the microprocessor may be used,
other components such as memory or components for data transfer must be added to it.
Even though the microprocessor is considered to be a powerful computer machine,
the weak point is that it is not adjusted to communication to peripheral environment.
Simply, in order to communicate with peripheral environment, the microprocessor
must use specialized circuits added as external chips. It means in short that
microprocessors are the pure heart of the computers. That is how it was when they
appeared and the same is now.
On the other hand, the microcontroller is designed to be all of that in one. No other
specialized external components are needed for its application because all necessary
circuits which otherwise belong to peripherals are already built into it. It in any case
saves the time and space needed to design a device.
Figure 1.1: Microcontroller vs. Microprocessor
1.7 FEATURES OF PIC 16f887 MICROCONTROLLERS
RISC architecture
o Only 35 instructions to learn
o All single-cycle instructions except branches
9
Operating frequency 0-20 MHz
Precision internal oscillator
o Factory calibrated
o Software selectable frequency range of 8MHz to 31KHz
Power supply voltage 2.0-5.5V
o Consumption: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA
(stand-by mode)
Power-Saving Sleep Mode
Brown-out Reset (BOR) with software control option
35 input/output pins
o High current source/sink for direct LED drive
o software and individually programmable pull-up resistor
o Interrupt-on-Change pin
8K ROM memory in FLASH technology
o Chip can be reprogrammed up to 100.000 times
In-Circuit Serial Programming Option
o Chip can be programmed even embedded in the target device
256 bytes EEPROM memory
o Data can be written more than 1.000.000 times
368 bytes RAM memory
10
A/D converter:
o 14-channels
o 10-bit resolution
3 independent timers/counters
Watch-dog timer
Analogue comparator module with
o Two analogue comparators
o Fixed voltage reference (0.6V)
o Programmable on-chip voltage reference
PWM output steering control
Enhanced USART module
o Supports RS-485, RS-232 and LIN2.0
o Auto-Baud Detect
Master Synchronous Serial Port (MSSP)
o supports SPI and I2C mode
Although there are several hundred models of PIC microcontrollers, choosing a
microcontroller for an application is not a difficult task and requires taking into
account these factors:
Number of I/O pins required
Required peripherals (e.g., USART,USB)
The minimum size of program memory
The minimum size of RAM
11
Whether or not EEPROM nonvolatile data memory is required
Speed
Physical size
Cost
Figure 1.2: 40 Pin Microcontroller
1.8 INSIDE A PIC MICROCONTROLLER
Although there are many models of microcontrollers in PIC family, they all share
some common features, such as program memory, data memory ,I/O ports and timers.
Some devices have additional features such as A/D converters, USARTs and so on.
Because of these common features , we can look at these attributes and cover the
operations of most of devices in family.
1.8.1 PROGRAM MEMORY
The program memory is where your program resides. In early microprocessors and
microcontrollers the program memory was EPROM, which meant that it had to be
erased using UV light before it could be programmed. Most PIC microcontrollers are
based on flash technology, where the memory chip can be erased or reprogrammed
using a programmer device. Most PIC microcontrollers can also be programmed
without removing from their circuits. This process (called in-circuit serial
programming, or ISP) speeds up the development cycle and lowers the development
costs. Although the program memory is mainly used to store a program , there is no
reason why it cannot be used to store constant data used in programs.
12
A PIC, basis program have several pages of codes and still fit inside a 1K of program
memory. The width of a 14-bit program memory is actually 14-bits. It is interesting to
note that PICs are known as 8-bit Microcontrollers. This is actually true as far as the
width of data memory is concerned , which is 8-bit wide. Microchip calls the 14-bits a
word, even though a word is 16-bit wide.
When a power is applied to Microcontroller or when MCLR (Master Clear) input is
lowered logic 0, execution starts from the Reset Vector, which is first word of
program memory. Thus the first instruction executed after a reset is the one located at
address 0 of the program memory.
1.8.2 DATA MEMORY (RAM)
The data memory is used to store all of your program variables. This is a RAM, which
means that all the data is lost when power is removed. The data memory is 8-bit wide
and that is why the PIC microcontrollers are called 8-bit microcontrollers.
1.8.3 BUS
It is a group of 8 or 16 wires. There are three types of buses i.e., address bus , control
bus , data bus. Address bus consists of many lines as the amount of memory we wish
to address and serves to transmit address from CPU memory. Data bus is wide as data,
in our case the 8-bit or the connection lines and connect all blocks inside the
microcontroller. Control bus is between memory unit and CPU, I/O unit and CPU.
1.8.4 I/O UNIT
The input and output pins which we have to set which is input or output key is set by
this. All these are also called as ―ports‖. There are several types of ports: input, output
or bidirectional ports .When working with ports, first of all it is necessary to choose
which port we need to work with, and then to send data to, or take it from port. when
working with it the port acts like a memory location. Something is simply being
written into or read from it and it could be noticed on pins of microcontroller.
1.8.5 PORTS
Port is register inside a microcontroller which is connected by wires to the pin of
13
controller. Ports represent physical connection of Central Processing unit with an
outside world. Microcontroller uses them in order to monitor or control other
components or devices. Due to functionality, some pins have two fold roles like
RA4/T0CK1 for instance, which is simultaneously the fourth bit of port A and an
external input for free-run counter. Selection of one of these two pins functions is
done in one of the configurational registers. PIC has 5 I/O PORTS.
All port pins be defined as input or output, according to the needs of device that‘s
being developed. In order to define a pin as input or output pin, the right combinations
of zeros and ones must be written in TRIS register. If at the appropriate place in TRIS
register a logical ―1‖ is written, then that pin is an input pin and if opposite is true, it
is an output pin. Every port has its proper TRIS register. Thus port A has TRIS A at
address 85h, port B has TRIS B at address 86h, port C has TRIS C at address 87h,
port D has TRIS D at address 88h, port E has TRIS E at address 89h.
1.9 REGISTERS
1.9.1 GENERAL-PURPOSE REGISTERS
General-purpose registers are used for storing temporary data and results created
during operation. For example, if the program performs counting (products on the
assembly line), it is necessary to have a register which stands for what we in everyday
life call ‗sum‘. Since the microcontroller is not creative at all, it is necessary to
specify the address of some general purpose register and assign it that function. A
simple program to increment the value of this register by 1, after each product passes
through a sensor, should be created. Now the microcontroller can execute the program
as it knows what and where the sum to be incremented iFixed voltage reference
(0.6V)s. Similarly, each program variable must be preassigned some of the general-
purpose registers.
1.9.2 SPECIAL FUNCTION REGISTERS (SFR)
Special-function registers are also RAM memory locations, but unlike general-
purpose registers, their purpose is predetermined during manufacturing process and
cannot be changed. Since their bits are connected to particular circuits on the chip
(A/D converter, serial communication module, etc.), any change of their contents
14
directly affects the operation of the microcontroller or some of its circuits. For
example, the ADCON0 register controls the operation of A/D converter. By changing
its bits it is determined which port pin is to be configured as converter input, the
moment conversion is to start as well as the speed of conversion.
Another feature of these memory locations is that they have their names (both
registers and their bits), which considerably simplifies the process of writing a
program. Since high-level programming languages can use the list of all registers with
their exact addresses, it is enough to specify the name of a register in order to read or
change its contents.
Some of important SRF registers that you may need to configure while programming
in high-level language are:
(a) OPTION register
(b) I/O register
(c) Timer register
(d) INTCON register
(e) A/D converter register
The functions and bit definitions of these registers are described in detail in the
following sections:
a) OPTION REGISTER
Figure 1.3: OPTION Register bit definition
15
(b) I/O REGISTER
Figure 1.4: TRISB and PORTB direction
(c) TIMERS REGISTER
TIMER0
Figure 1.5: Block diagram of TIMER0
16
TIMER1
Figure 1.6: Block diagram of TIMER1
TIMER2
Figure 1.7: Block diagram of TIMER2
1.10 INTERRUPTS
The PIC16F882/883/884/886/887 has multiple interrupt sources:
• External Interrupt RB0/INT
17
• Timer0 Overflow Interrupt
• PORTB Change Interrupts
• 2 Comparator Interrupts
• A/D Interrupt
• Timer1 Overflow Interrupt
• Timer2 Match Interrupt
• EEPROM Data Write Interrupt
• Fail-Safe Clock Monitor Interrupt
• Enhanced CCP Interrupt
• EUSART Receive and Transmit Interrupts
• Ultra Low-Power Wake-up Interrupt
• MSSP Interrupt
The Interrupt Control register (INTCON) and Peripheral nterrupt Request Register 1
(PIR1) record individual interrupt requests in flag bits. The INTCON register also has
individual and global interrupt enable bits.
A Global Interrupt Enable bit, GIE (INTCON<7>), enables (if set) all unmasked
interrupts, or disables (if cleared) all interrupts. Individual interrupts can be disabled
through their corresponding enable bits in the INTCON, PIE1 and PIE2 registers,
respectively. GIE is cleared on Reset. The Return from Interrupt instruction, RETFIE,
exits the interrupt routine, as well as sets the GIE bit, which re-enables unmasked
interrupts.
The following interrupt flags are contained in the INTCON register:
• INT Pin Interrupt
• PORTB Change Interrupts
• Timer0 Overflow Interrupt
18
The peripheral interrupt flags are contained in the PIR1 and PIR2 registers. The
corresponding interrupt enable bits are contained in PIE1 and PIE2 registers.
The following interrupt flags are contained in the PIR1 register:
• A/D Interrupt
• EUSART Receive and Transmit Interrupts
• Timer1 Overflow Interrupt
• Synchronous Serial Port (SSP) Interrupt
• Enhanced CCP1 Interrupt
• Timer1 Overflow Interrupt
• Timer2 Match Interrupt
The following interrupt flags are contained in the PIR2 register:
• Fail-Safe Clock Monitor Interrupt
• 2 Comparator Interrupts
• EEPROM Data Write Interrupt
• Ultra Low-Power Wake-up Interrupt
• CCP2 Interrupt
When an interrupt is serviced:
• The GIE is cleared to disable any further interrupt.
• The return address is pushed onto the stack.
• The PC is loaded with 0004h.
For external interrupt events, such as the INT pin, PORTB change interrupts, the
interrupt latency will be three or four instruction cycles. The exact latency depends
upon when the interrupt event occurs (see Figure 14-8). The latency is the same for
one or two-cycle instructions. Once in the Interrupt Service Routine, the source(s) of
19
the interrupt can be determined by polling the interrupt flag bits. The interrupt flag
bit(s) must be cleared in software before re-enabling interrupts to avoid multiple
interrupt requests.
Table 1.1: SUMMARY OF INTERRUPT REGISTERS
20
CHAPTER 2: BLUETOOTH
Bluetooth is a wireless technology standard for exchanging data over short distances
(using short-wavelength UHF radio waves in the ISM band from 2.4 to 2.485GHz)
from fixed and mobile devices, and building personal area networks (PANs). Invented
by telecom vendor Ericsson in 1994, it was originally conceived as a wireless
alternative to RS-232 data cables. It can connect several devices, overcoming
problems of synchronization.
Bluetooth is managed by the Bluetooth Special Interest Group (SIG), which has more
than 20,000 member companies in the areas of telecommunication, computing,
networking, and consumer electronics.[4] Bluetooth was standardized as IEEE
802.15.1, but the standard is no longer maintained. The SIG oversees the development
of the specification, manages the qualification program, and protects the
trademarks.[5] To be marketed as a Bluetooth device, it must be qualified to standards
defined by the SIG.[6] A network of patents is required to implement the technology,
which is licensed only for that qualifying device.
2.1 Bluetooth protocol stack
Bluetooth is defined as a layer protocol architecture consisting of core protocols,
cable replacement protocols, telephony control protocols, and adopted protocols.
Mandatory protocols for all Bluetooth stacks are: LMP, L2CAP and SDP. In addition,
devices that communicate with Bluetooth almost universally can use these protocols:
HCI and RFCOMM.
2.1.1LMP
The Link Management Protocol (LMP) is used for set-up and control of the radio link
between two devices. Implemented on the controller.
2.1.2 AVRCP
Audio/Video Remote Control Profile. AVRCP is designed to provide a standard
interface to control TVs, hi-fi equipment, or others to allow a single remote control
(or other device) to control all the A/V equipment to which a user has access. It may
be used in concert with A2DP or VDP. Commonly used in car navigation systems to
control streaming Bluetooth audio. Adopted versions 1.0, 1.3, 1.4 & 1.5
2.1.3 L2CAP
The Logical Link Control and Adaptation Protocol (L2CAP) Used to multiplex
multiple logical connections between two devices using different higher level
protocols. Provides segmentation and reassembly of on-air packets.
21
In Basic mode, L2CAP provides packets with a payload configurable up to 64kB,
with 672 bytes as the default MTU, and 48 bytes as the minimum mandatory
supported MTU.
In Retransmission and Flow Control modes, L2CAP can be configured either for
isochronous data or reliable data per channel by performing retransmissions and CRC
checks.
Bluetooth Core Specification Addendum 1 adds two additional L2CAP modes to the
core specification. These modes effectively deprecate original Retransmission and
Flow Control modes:
Enhanced Retransmission Mode (ERTM): This mode is an improved
version of the original retransmission mode. This mode provides a reliable
L2CAP channel.
Streaming Mode (SM): This is a very simple mode, with no retransmission or
flow control. This mode provides an unreliable L2CAP channel.
Reliability in any of these modes is optionally and/or additionally guaranteed by the
lower layer Bluetooth BDR/EDR air interface by configuring the number of
retransmissions and flush timeout (time after which the radio will flush packets). In-
order sequencing is guaranteed by the lower layer.
Only L2CAP channels configured in ERTM or SM may be operated over AMP
logical links.
2.1.4 SDP
The Service Discovery Protocol (SDP) allows a device to discover services offered by
other devices, and their associated parameters. For example, when you use a mobile
phone with a Bluetooth headset, the phone uses SDP to determine which Bluetooth
profiles the headset can use (Headset Profile, Hands Free Profile, Advanced Audio
Distribution Profile (A2DP) etc.) and the protocol multiplexer settings needed for the
phone to connect to the headset using each of them. Each service is identified by a
Universally Unique Identifier (UUID), with official services (Bluetooth profiles)
assigned a short form UUID (16 bits rather than the full 128).
2.1.5 RFCOMM
Radio Frequency Communications (RFCOMM) is a cable replacement protocol used
to generate a virtual serial data stream. RFCOMM provides for binary data transport
and emulates EIA-232 (formerly RS-232) control signals over the Bluetooth baseband
layer, i.e. it is a serial port emulation.
RFCOMM provides a simple reliable data stream to the user, similar to TCP. It is
used directly by many telephony related profiles as a carrier for AT commands, as
well as being a transport layer for OBEX over Bluetooth.
Many Bluetooth applications use RFCOMM because of its widespread support and
22
publicly available API on most operating systems. Additionally, applications that used
a serial port to communicate can be quickly ported to use RFCOMM.
2.1.6 BNEP
The Bluetooth Network Encapsulation Protocol (BNEP) is used for transferring
another protocol stack's data via an L2CAP channel. Its main purpose is the
transmission of IP packets in the Personal Area Networking Profile. BNEP performs a
similar function to SNAP in Wireless LAN.
2.1.7 AVCTP
The Audio/Video Control Transport Protocol (AVCTP) is used by the remote control
profile to transfer AV/C commands over an L2CAP channel. The music control
buttons on a stereo headset use this protocol to control the music player.
2.1.8AVDTP
The Audio/Video Distribution Transport Protocol (AVDTP) is used by the advanced
audio distribution profile to stream music to stereo headsets over an L2CAP channel.
Intended to be used by video distribution profile in the bluetooth transmission.
2.1.9 TCS
The Telephony Control Protocol – Binary (TCS BIN) is the bit-oriented protocol that
defines the call control signaling for the establishment of voice and data calls between
Bluetooth devices. Additionally, "TCS BIN defines mobility management procedures
for handling groups of Bluetooth TCS devices."
TCS-BIN is only used by the cordless telephony profile, which failed to attract
implementers. As such it is only of historical interest.
2.2 Adopted protocols
Adopted protocols are defined by other standards-making organizations and
incorporated into Bluetooth‘s protocol stack, allowing Bluetooth to code protocols
only when necessary. The adopted protocols include:
Point-to-Point Protocol (PPP)
Internet standard protocol for transporting IP datagrams over a point-to-point link.
TCP/IP/UDP
Foundation Protocols for TCP/IP protocol suite
Object Exchange Protocol (OBEX)
Session-layer protocol for the exchange of objects, providing a model for object and
23
operation representation
Wireless Application Environment/Wireless Application Protocol (WAE/WAP)
WAE specifies an application framework for wireless devices and WAP is an open
standard to provide mobile users access to telephony and information services.
2.3Baseband error correction
Depending on packet type, individual packets may be protected by error correction,
either 1/3 rate forward error correction (FEC) or 2/3 rate. In addition, packets with
CRC will be retransmitted until acknowledged by automatic repeat request (ARQ).
2.4 Setting up connections
Any Bluetooth device in discoverable mode will transmit the following information
on demand:
Device name
Device class
List of services
Technical information (for example: device features, manufacturer, Bluetooth
specification used, clock offset)
Any device may perform an inquiry to find other devices to connect to, and any
device can be configured to respond to such inquiries. However, if the device trying to
connect knows the address of the device, it always responds to direct connection
requests and transmits the information shown in the list above if requested. Use of a
device's services may require pairing or acceptance by its owner, but the connection
itself can be initiated by any device and held until it goes out of range. Some devices
can be connected to only one device at a time, and connecting to them prevents them
from connecting to other devices and appearing in inquiries until they disconnect from
the other device.
Every device has a unique 48-bit address. However, these addresses are generally not
shown in inquiries. Instead, friendly Bluetooth names are used, which can be set by
the user. This name appears when another user scans for devices and in lists of paired
devices.
Most cellular phones have the Bluetooth name set to the manufacturer and model of
the phone by default. Most cellular phones and laptops show only the Bluetooth
names and special programs are required to get additional information about remote
devices. This can be confusing as, for example, there could be several cellular phones
in range named T610 (see Bluejacking).
24
2.5 Pairing and bonding
Many of the services offered over Bluetooth can expose private data or allow the
connecting party to control the Bluetooth device. For security reasons it is necessary
to be able to recognize specific devices and thus enable control over which devices
are allowed to connect to a given Bluetooth device. At the same time, it is useful for
Bluetooth devices to be able to establish a connection without user intervention (for
example, as soon as they are in range).
To resolve this conflict, Bluetooth uses a process called bonding, and a bond is
generated through a process called pairing. The pairing process is triggered either by
a specific request from a user to generate a bond (for example, the user explicitly
requests to "Add a Bluetooth device"), or it is triggered automatically when
connecting to a service where (for the first time) the identity of a device is required
for security purposes. These two cases are referred to as dedicated bonding and
general bonding respectively.
Pairing often involves some level of user interaction; this user interaction is the basis
for confirming the identity of the devices. Once pairing successfully completes, a
bond will have been formed between the two devices, enabling those two devices to
connect to each other in the future without requiring the pairing process in order to
confirm the identity of the devices. When desired, the bonding relationship can later
be removed by the user.
2.6 Implementation
During the pairing process, the two devices involved establish a relationship by
creating a shared secret known as a link key. If a link key is stored by both devices
they are said to be paired or bonded. A device that wants to communicate only with a
bonded device can cryptographically authenticate the identity of the other device, and
so be sure that it is the same device it previously paired with. Once a link key has
been generated, an authenticated Asynchronous Connection-Less (ACL) link between
the devices may be encrypted so that the data that they exchange over the airwaves is
protected against eavesdropping.
Link keys can be deleted at any time by either device. If done by either device this
will implicitly remove the bonding between the devices; so it is possible for one of the
devices to have a link key stored but not be aware that it is no longer bonded to the
device associated with the given link key.
Bluetooth services generally require either encryption or authentication, and as such
require pairing before they allow a remote device to use the given service. Some
services, such as the Object Push Profile, elect not to explicitly require authentication
or encryption so that pairing does not interfere with the user experience associated
with the service use-cases.
25
2.7 Pairing mechanisms
Pairing mechanisms have changed significantly with the introduction of Secure
Simple Pairing in Bluetooth v2.1. The following summarizes the pairing mechanisms:
Legacy pairing: This is the only method available in Bluetooth v2.0 and before.
Each device must enter a PIN code; pairing is only successful if both devices
enter the same PIN code. Any 16-byte UTF-8 string may be used as a PIN
code; however, not all devices may be capable of entering all possible PIN
codes.
Limited input devices: The obvious example of this class of device is a
Bluetooth Hands-free headset, which generally have few inputs. These
devices usually have a fixed PIN, for example "0000" or "1234", that
are hard-coded into the device.
Numeric input devices: Mobile phones are classic examples of these
devices. They allow a user to enter a numeric value up to 16 digits in
length.
Alpha-numeric input devices: PCs and smartphones are examples of
these devices. They allow a user to enter full UTF-8 text as a PIN code.
If pairing with a less capable device the user needs to be aware of the
input limitations on the other device, there is no mechanism available
for a capable device to determine how it should limit the available
input a user may use.
Secure Simple Pairing (SSP): This is required by Bluetooth v2.1, although a
Bluetooth v2.1 device may only use legacy pairing to interoperate with a v2.0
or earlier device. Secure Simple Pairing uses a form of public key
cryptography, and some types can help protect against man in the middle, or
MITM attacks. SSP has the following characteristics:
Just works: As implied by the name, this method just works. No user
interaction is required; however, a device may prompt the user to
confirm the pairing process. This method is typically used by headsets
with very limited IO capabilities, and is more secure than the fixed PIN
mechanism which is typically used for legacy pairing by this set of
limited devices. This method provides no man in the middle (MITM)
protection.
Numeric comparison: If both devices have a display and at least one
can accept a binary Yes/No user input, they may use Numeric
Comparison. This method displays a 6-digit numeric code on each
device. The user should compare the numbers to ensure they are
identical. If the comparison succeeds, the user(s) should confirm
pairing on the device(s) that can accept an input. This method provides
MITM protection, assuming the user confirms on both devices and
actually performs the comparison properly.
Passkey Entry: This method may be used between a device with a
26
display and a device with numeric keypad entry (such as a keyboard),
or two devices with numeric keypad entry. In the first case, the display
is used to show a 6-digit numeric code to the user, who then enters the
code on the keypad. In the second case, the user of each device enters
the same 6-digit number. Both of these cases provide MITM protection.
Out of band (OOB): This method uses an external means of
communication, such as Near Field Communication (NFC) to
exchange some information used in the pairing process. Pairing is
completed using the Bluetooth radio, but requires information from the
OOB mechanism. This provides only the level of MITM protection that
is present in the OOB mechanism.
2.8 BLUETOOTH MODULE HC-05
HC-05 embedded Bluetooth serial communication module (can be short for module)
has two work modes: order-response work mode and automatic connection work
mode. And there are three work roles (Master, Slave and Loopback) at the automatic
connection work mode. When the module is at the automatic connection work mode,
it will follow the default way set lastly to transmit the data automatically. When the
module is at the order-response work mode, user can send the AT command to the
module to set the control parameters and sent control order. The work mode of
module can be switched by controlling the module PIN (PIO11) input level.
2.8.1 Serial module PINs:
1. PIO8 connects with LED. When the module is power on, LED will flicker.
And the flicker style will indicate which work mode is in using since different
mode has different flicker time interval.
2. PIO9 connects with LED. It indicates whether the connection is built or not.
When the Bluetooth serial is paired, the LED will be turned on. It means the
connection is built successfully.
3. PIO11 is the work mode switch. When this PIN port is input high level, the
work mode will become order-response work mode. While this PIN port is
input low level or suspended in air, the work mode will become automatic
connection work mode.
4. The module can be reset if it is re-powered since there is a reset circuit at the
module.
2.9 NOTIFICATIONS
2.9.1. How to get to the AT mode.
Way 1:
Step 1: Input low level to PIN34.
Step 2: Supply power to the module.
27
Step 3: Input high level to the PIN34. Then the module will enter to AT mode. The
baud rate is assame as the communication time, such as 9600 etc.
Way 2:
Step 1: Connect PIN34 to the power supply PIN.
Step 2: Supply power to module (the PIN34 is also supplied with high level since the
PIN34 is connected with power supply PIN). Then the module will enter to AT
module. But at this time, the baud rate is 38400. In this way, user should change the
baud rate at the AT mode, if they forget the communication baud rate.
How to get to the communication mode:
Step 1: Input low level to PIN34.
Step 2: Supply power to the module. Then the module will enter to communication
mode. It can be used for pairing.
2.9.2. How to set this module be the master role.
Step 1: Input high level to PIO11.
Step 2: Supply power to the module. And the module will enter to the order-response
work mode.
Step 3: Set the parameters of the super terminal or the other serial tools (baud rate:
38400, data bit:8, stop bit:1, no parity bit, no Flow Control)
Step 4: Sent the characters ―AT+ROLE=1\r\n‖ through serial, then receive the
characters ―OK\r\n‖. Here, ―\r\n‖ is the CRLF.
Step 5: Input low level to PIO, and supply power to the module again. Then this
module will become master role and search the other module (slave role)
automatically to build the connection.
2.9.3. Notes.
(1) HC-03 and HC-05‘s command should end up with ―\r\n‖. It means when you
finish programming, you should add terminator (―ENTER‖ or ―0x0d 0x0a‖) to the
program. It‘s different from HC-04 and HC-06 (They don‘t need terminator).
(2) The most common commands for HC-03 and HC-05 are: AT+ROLE (set master–
slave), AT+CMODE( set address pairing) , AT+PSWD (set password).
If you want the master module has the function of remembering slave module, the
mostsimply way is: First, set AT+CMODE=1. Make the master module pair with the
slavemodule. Second, set AT+CMODE=0. Then the master module just can make
pair with that specified slave module.
(3) When PIN34 keeps high level, all commands can be used. Otherwise, only some
of them can be used.
28
2.10 description of Command
AT command is case- sensitive, should end up with terminator (―enter‖ or ―\r\n‖).
1. Test
2. Reset
3. Get the soft version
4. Restore default status
5. Get module Bluetooth address
6. Set/ inquire device‘s name
29
7. Get the remote Bluetooth device‘s name
8. Set/ inquire module role
9. Set/inquire device type
10. Set/ inquire-Inquire access code
30
11. Set/ inquire - Inquire access mode
12. Set/ Inquire - connection mode
31
13. Set/Inquire - bind Bluetooth address
14. Get the work status of Bluetooth module
15. Cancel Bluetooth device
16. Connect device
32
2.11 Interfacing Bluetooth module:
2.11.1 Program for interfacing the Bluetooth with microcontroller
( Appendix-1)
33
Chapter 3: Radio Frequency Identification
Radio-frequency identification (RFID) is the wireless use of electromagnetic fields
to transfer data, for the purposes of automatically identifying and tracking tags
attached to objects. The tags contain electronically stored information. Some tags are
powered by electromagnetic induction from magnetic fields produced near the reader.
Some types collect energy from the interrogating radio waves and act as a passive
transponder. Other types have a local power source such as a battery and may operate
at hundreds of meters from the reader. Unlike a barcode, the tag does not necessarily
need to be within line of sight of the reader, and may be embedded in the tracked
object. Radio frequency identification (RFID) is one method for Automatic
Identification and Data Capture (AIDC).
RFID tags are used in many industries. An RFID tag attached to an automobile during
production can be used to track its progress through the assembly line.
Pharmaceuticals can be tracked through warehouses. Livestock and pets may have
tags injected, allowing positive identification of the animal.
Since RFID tags can be attached to cash, clothing, possessions, or even implanted
within people, the possibility of reading personally-linked information without
consent has raised serious privacy concerns.
3.1 Design
3.1.1 Tags
A radio-frequency identification system uses tags, or labels attached to the objects to
be identified. Two-way radio transmitter-receivers called interrogators or readers
send a signal to the tag and read its response.
RFID tags can be either passive, active or battery-assisted passive. An active tag has
an on-board battery and periodically transmits its ID signal. A battery-assisted passive
(BAP) has a small battery on board and is activated when in the presence of an RFID
reader. A passive tag is cheaper and smaller because it has no battery. However, to
start operation of passive tags, they must be illuminated with a power level roughly
three magnitudes stronger than for signal transmission. That makes a difference in
interference and in exposure to radiation.
Tags may either be read-only, having a factory-assigned serial number that is used as
a key into a database, or may be read/write, where object-specific data can be written
into the tag by the system user. Field programmable tags may be write-once, read-
multiple; "blank" tags may be written with an electronic product code by the user.
3.1.2 Readers
RFID systems can be classified by the type of tag and reader. A Passive Reader
Active Tag (PRAT) system has a passive reader which only receives radio signals
from active tags (battery operated, transmit only). The reception range of a PRAT
34
system reader can be adjusted from 1–2,000 feet (0.30–609.60 m)[citation needed],
allowing flexibility in applications such as asset protection and supervision.
An Active Reader Passive Tag (ARPT) system has an active reader, which transmits
interrogator signals and also receives authentication replies from passive tags.
An Active Reader Active Tag (ARAT) system uses active tags awoken with an
interrogator signal from the active reader. A variation of this system could also use a
Battery-Assisted Passive (BAP) tag which acts like a passive tag but has a small
battery to power the tag's return reporting signal.
Fixed readers are set up to create a specific interrogation zone which can be tightly
controlled. This allows a highly defined reading area for when tags go in and out of
the interrogation zone. Mobile readers may be hand-held or mounted on carts or
vehicles.
3.1.3 Frequencies
Band Regulations Range Data speed Remarks Approximate
tag cost
in volume
(2006) US $
120–150 kHz
(LF) Unregulated 10cm Low
Animal
identification,
factory data
collection
$1
13.56 MHz
(HF) ISM band
worldwide 10cm - 1 m
Low to
moderate
Smart cards
(MIFARE,
ISO/IEC
14443)
$0.50
433 MHz
(UHF)
Short Range
Devices 1–100 m Moderate
Defence
applications,
with active
tags
$5
865-
868 MHz
(Europe)
902-
928 MHz
(North
America)
UHF
ISM band 1–12 m Moderate to
high
EAN, various
standards
$0.15
(passive tags)
2450-
5800 MHz
(microwave)
ISM band 1–2 m
High 802.11
WLAN,
Bluetooth
standards
$25 (active
tags)
3.1–10 GHz
(microwave)
Ultra wide
band to 200 m High
requires
semi-active
or active tags
$5 projected
Tabel 3.1: RFID frequency bands
35
3.1.4 Signaling
Signaling between the reader and the tag is done in several different incompatible
ways, depending on the frequency band used by the tag. Tags operating on LF and HF
bands are, in terms of radio wavelength, very close to the reader antenna because they
are only a small percentage of a wavelength away. In this near field region, the tag is
closely coupled electrically with the transmitter in the reader. The tag can modulate
the field produced by the reader by changing the electrical loading the tag represents.
By switching between lower and higher relative loads, the tag produces a change that
the reader can detect. At UHF and higher frequencies, the tag is more than one radio
wavelength away from the reader, requiring a different approach. The tag can
backscatter a signal. Active tags may contain functionally separated transmitters and
receivers, and the tag need not respond on a frequency related to the reader's
interrogation signal.
An Electronic Product Code (EPC) is one common type of data stored in a tag. When
written into the tag by an RFID printer, the tag contains a 96-bit string of data. The
first eight bits are a header which identifies the version of the protocol. The next 28
bits identify the organization that manages the data for this tag; the organization
number is assigned by the EPCGlobal consortium. The next 24 bits are an object class,
identifying the kind of product; the last 36 bits are a unique serial number for a
particular tag. These last two fields are set by the organization that issued the tag.
Rather like a URL, the total electronic product code number can be used as a key into
a global database to uniquely identify a particular product.
3.1.5 Miniaturization
RFIDs are easy to conceal or incorporate in other items. For example, in 2009
researchers at Bristol University successfully glued RFID micro-transponders to live
ants in order to study their behavior This trend towards increasingly miniaturized
RFIDs is likely to continue as technology advances.
Hitachi holds the record for the smallest RFID chip, at 0.05mm × 0.05mm. This is
1/64th the size of the previous record holder, the mu-chip. Manufacture is enabled by
using the silicon-on-insulator (SOI) process. These dust-sized chips can store 38-digit
numbers using 128-bit Read Only Memory (ROM). A major challenge is the
attachment of antennas, thus limiting read range to only millimeters.
3.2 The Difference Between RFID and Bar Codes
One of the key differences between RFID and bar code technology is RFID eliminates
the need for line-of-sight reading that bar coding depends on. Also, RFID scanning
can be done at greater distances than bar code scanning. High frequency RFID
systems (850 MHz to 950 MHz and 2.4 GHz to 2.5 GHz) offer transmission ranges of
more than 90 feet, although wavelengths in the 2.4 GHz range are absorbed by water
(the human body) and therefore has limitations.
36
3.3 Working Of Rfid System
In a basic RFID system, tags are attached to all items that are to be tracked. These
tags are made from a tiny tag-chip, sometimes called an integrated circuit (IC), that is
connected to an antenna that can be built into many different kinds of tags including
apparel hang tags, labels, and security tags, as well as a wide variety of industrial
asset tags. The tag chip contains memory which stores the product's electronic product
code (EPC) and other variable information so that it can be read and tracked by RFID
readers anywhere.
An RFID reader is a network connected device (fixed or mobile) with an antenna that
sends power as well as data and commands to the tags. The RFID reader acts like an
access point for RFID tagged items so that the tags' data can be made available to
business applications.
3.4 RFID Tags
An RFID tag is comprised of an integrated circuit (called an IC or chip) attached to an
antenna that has been printed, etched, stamped or vapor-deposited onto a mount which
is often a paper substrate or PolyEthylene Therephtalate (PET). The chip and antenna
combo, called an inlay, is then converted or sandwiched between a printed label and
its adhesive backing or inserted into a more durable structure.
3.4.1 Tag Chip
The tag's chip or integrated circuit (IC) delivers performance, memory and extended
features to the tag. The chip is pre-programmed with a tag identifier (TID), a unique
serial number assigned by the chip manufacturer, and includes a memory bank to
store the items' unique tracking identifier (called an electronic product code or EPC).
3.4.2 Electronic Product Code (EPC)
The electronic product code (EPC) stored in the tag chip's memory is written to the
tag by an RFID printer and takes the form of a 96-bit string of data. The first eight bits
are a header which identifies the version of the protocol. The next 28 bits identify the
organization that manages the data for this tag; the organization number is assigned
by the EPCglobal consortium. The next 24 bits are an object class, identifying the
kind of product; the last 36 bits are a unique serial number for a particular tag. These
last two fields are set by the organization that issued the tag. The total electronic
product code number can be used as a key into a global database to uniquely identify
that particular product.
3.4.3 Tag Antennas
Tag antennas collect energy and channel it to the chip to turn it on. Generally, the
larger the tag antenna's area, the more energy it will be able to collect and channel
37
toward the tag chip, and the further read range the tag will have.
There is no perfect antenna for all applications. It is the application that defines the
antenna specifications. Some tags might be optimized for a particular frequency band,
while others might be tuned for good performance when attached to materials that
may not normally work well for wireless communication (certain liquids and metals,
for example). Antennas can be made from a variety of materials; they can be printed,
etched, or stamped with conductive ink, or even vapor deposited onto labels.
Tags that have only a single antenna are not as reliable as tags with multiple antennas.
With a single antenna, a tag's orientation can result in ―dead zones‖, or areas on the
tag where incoming signals cannot be easily harvested to provide sufficient energy to
power on the chip and communicate with the reader. A tag with dual antennas is able
to eliminate these dead zones and increase its readability but requires a specialized
chip.
3.5 RFID Readers
An RFID reader, also known as an interrogator, is a device that provides the
connection between the tag data and the enterprise system software that needs the
information. The reader communicates with tags that are within its field of operation,
performing any number of tasks including simple continuous inventorying, filtering
(searching for tags that meet certain criteria), writing (or encoding) to selected tags,
etc.
The reader uses an attached antenna to capture data from tags. It then passes the data
to a computer for processing. Just like RFID tags, there are many different sizes and
types of RFID readers. Readers can be affixed in a stationary position in a store or
factory, or integrated into a mobile device such as a portable, handheld scanner.
Readers can also be embedded in electronic equipment or devices, and in vehicles.
3.5.1 Reader Antennas
RFID readers and reader antennas work together to read tags. Reader antennas
convert electrical current into electromagnetic waves that are then radiated into space
where they can be received by a tag antenna and converted back to electrical current.
Just like tag antennas, there is a large variety of reader antennas and optimal antenna
selection varies according to the solution's specific application and environment.
The two most common antenna types are linear- and circular-polarized antennas.
Antennas that radiate linear electric fields have long ranges, and high levels of power
that enable their signals to penetrate through different materials to read tags. Linear
antennas are sensitive to tag orientation; depending on the tag angle or placement,
linear antennas can have a difficult time reading tags. Conversely, antennas that
radiate circular fields are less sensitive to orientation, but are not able to deliver as
much power as linear antennas.
38
Choice of antenna is also determined by the distance between the RFID reader and the
tags that it needs to read. This distance is called read range. Reader antennas operate
in either a "near-field" (short range) or "far-field" (long range). In near-field
applications, the read range is less than 30 cm and the antenna uses magnetic coupling
so the reader and tag can transfer power. In near-field systems, the readability of the
tags is not affected by the presence of dielectrics such as water and metal in the field.
In far-field applications, the range between the tag and reader is greater than 30 cm
and can be up to several tens of meters. Far-field antennas utilize electromagnetic
coupling and dielectrics can weaken communication between the reader and tags.
3.5.2 Reader Control and Application Software
Reader control and application software, also known as middleware, helps connect
RFID readers with the applications they support. The middleware sends control
commands to the reader and receives tag data from the reader.
3.6 Program For Inter Facing RFID with Microcontroller
(APPENDIX-2)
3.7 Uses
The RFID tag can be affixed to an object and used to track and manage inventory,
assets, people, etc. For example, it can be affixed to cars, computer equipment, books,
mobile phones, etc.
RFID offers advantages over manual systems or use of bar codes. The tag can be read
if passed near a reader, even if it is covered by the object or not visible. The tag can
be read inside a case, carton, box or other container, and unlike barcodes, RFID tags
can be read hundreds at a time. Bar codes can only be read one at a time using current
devices.
In 2011, the cost of passive tags started at US$0.09 each; special tags, meant to be
mounted on metal or withstand gamma sterilization, can go up to US$5. Active tags
for tracking containers, medical assets, or monitoring environmental conditions in
data centres start at US$50 and can go up over US$100 each. Battery-Assisted Passive
(BAP) tags are in the US$3–10 range and also have sensor capability like temperature
and humidity.[citation needed]
RFID can be used in a variety of applications, such as:
Electronic Lock with RFID Card System, ANSI
Access management
Tracking of goods
Tracking of persons and animals
Toll collection and contactless payment
39
Machine readable travel documents
Smartdust (for massively distributed sensor networks)
Tracking sports memorabilia to verify authenticity
Airport baggage tracking logistics
Timing sporting events
In 2010 three factors drove a significant increase in RFID usage: decreased cost of
equipment and tags, increased performance to a reliability of 99.9% and a stable
international standard around UHF passive RFID. The adoption of these standards
were driven by EPC global, a joint venture between GS1 and GS1 US, which were
responsible for driving global adoption of the barcode in the 1970s and 1980s. The
EPCglobal Network was developed by the Auto-ID Center.