trainingreport on embedded system

39
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 193040s, 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

Upload: mukul-mohal

Post on 12-Jul-2015

230 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Trainingreport on embedded system

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

Page 2: Trainingreport on embedded system

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

Page 3: Trainingreport on embedded system

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.

Page 4: Trainingreport on embedded system

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.

Page 5: Trainingreport on embedded system

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:

Page 6: Trainingreport on embedded system

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

Page 7: Trainingreport on embedded system

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

Page 8: Trainingreport on embedded system

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

Page 9: Trainingreport on embedded system

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

Page 10: Trainingreport on embedded system

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

Page 11: Trainingreport on embedded system

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.

Page 12: Trainingreport on embedded system

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

Page 13: Trainingreport on embedded system

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

Page 14: Trainingreport on embedded system

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

Page 15: Trainingreport on embedded system

15

(b) I/O REGISTER

Figure 1.4: TRISB and PORTB direction

(c) TIMERS REGISTER

TIMER0

Figure 1.5: Block diagram of TIMER0

Page 16: Trainingreport on embedded system

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

Page 17: Trainingreport on embedded system

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

Page 18: Trainingreport on embedded system

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

Page 19: Trainingreport on embedded system

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

Page 20: Trainingreport on embedded system

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.

Page 21: Trainingreport on embedded system

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

Page 22: Trainingreport on embedded system

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

Page 23: Trainingreport on embedded system

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).

Page 24: Trainingreport on embedded system

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.

Page 25: Trainingreport on embedded system

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

Page 26: Trainingreport on embedded system

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.

Page 27: Trainingreport on embedded system

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.

Page 28: Trainingreport on embedded system

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

Page 29: Trainingreport on embedded system

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

Page 30: Trainingreport on embedded system

30

11. Set/ inquire - Inquire access mode

12. Set/ Inquire - connection mode

Page 31: Trainingreport on embedded system

31

13. Set/Inquire - bind Bluetooth address

14. Get the work status of Bluetooth module

15. Cancel Bluetooth device

16. Connect device

Page 32: Trainingreport on embedded system

32

2.11 Interfacing Bluetooth module:

2.11.1 Program for interfacing the Bluetooth with microcontroller

( Appendix-1)

Page 33: Trainingreport on embedded system

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

Page 34: Trainingreport on embedded system

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

Page 35: Trainingreport on embedded system

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.

Page 36: Trainingreport on embedded system

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

Page 37: Trainingreport on embedded system

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.

Page 38: Trainingreport on embedded system

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

Page 39: Trainingreport on embedded system

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.