SlideShare a Scribd company logo
1 of 39
Download to read offline
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=1rn‖ through serial, then receive the 
characters ―OKrn‖. Here, ―rn‖ 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 ―rn‖. 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 ―rn‖). 
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.

More Related Content

What's hot (20)

Embedded system
Embedded systemEmbedded system
Embedded system
 
basic of embedded system
basic of embedded systembasic of embedded system
basic of embedded system
 
Embedded Systems
Embedded Systems Embedded Systems
Embedded Systems
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embedded system.pptx
Embedded system.pptxEmbedded system.pptx
Embedded system.pptx
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Embedded system - embedded system programming
Embedded system - embedded system programmingEmbedded system - embedded system programming
Embedded system - embedded system programming
 
Report file on Embedded systems
Report file on Embedded systemsReport file on Embedded systems
Report file on Embedded systems
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)
 
Embedded system basics
Embedded   system basicsEmbedded   system basics
Embedded system basics
 
edited doc
edited docedited doc
edited doc
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Vinod report es 1
Vinod report es   1Vinod report es   1
Vinod report es 1
 
Vinod report es 1
Vinod report es   1Vinod report es   1
Vinod report es 1
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 

Viewers also liked

The Age of Enlightenment
The Age of EnlightenmentThe Age of Enlightenment
The Age of Enlightenmentdyanv
 
Giao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hauGiao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hauDUNGZIDAN
 
Introduction to Search Marketing - Search Engine Optimisation
Introduction to Search Marketing - Search Engine OptimisationIntroduction to Search Marketing - Search Engine Optimisation
Introduction to Search Marketing - Search Engine OptimisationRhys Downard
 
Social Media Marketing - An Overview
Social Media Marketing - An OverviewSocial Media Marketing - An Overview
Social Media Marketing - An OverviewRhys Downard
 
Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074
Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074
Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074Nguyễn Trường
 
Work samples - Chris L.
Work samples - Chris L.Work samples - Chris L.
Work samples - Chris L.JMarie Kerr
 
Présentation Meteor soft shake
Présentation Meteor soft shakePrésentation Meteor soft shake
Présentation Meteor soft shakeMicha Roon
 
學測、指考單字統計
學測、指考單字統計學測、指考單字統計
學測、指考單字統計Yu-Ting Chen
 
EDU337 Week 1 Assignment
EDU337 Week 1 AssignmentEDU337 Week 1 Assignment
EDU337 Week 1 AssignmentKevin Webb
 

Viewers also liked (16)

Deel i
Deel iDeel i
Deel i
 
The Age of Enlightenment
The Age of EnlightenmentThe Age of Enlightenment
The Age of Enlightenment
 
Giao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hauGiao trinh-autocad-2007-pham van hau
Giao trinh-autocad-2007-pham van hau
 
Introduction to Search Marketing - Search Engine Optimisation
Introduction to Search Marketing - Search Engine OptimisationIntroduction to Search Marketing - Search Engine Optimisation
Introduction to Search Marketing - Search Engine Optimisation
 
Employee relationship
Employee relationshipEmployee relationship
Employee relationship
 
Morfo1 pie
Morfo1 pieMorfo1 pie
Morfo1 pie
 
Social Media Marketing - An Overview
Social Media Marketing - An OverviewSocial Media Marketing - An Overview
Social Media Marketing - An Overview
 
Tuusula 1.10.2016
Tuusula 1.10.2016Tuusula 1.10.2016
Tuusula 1.10.2016
 
Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074
Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074
Tieuluan tvsmsung n2_may07_4294_h_uhgd_20131106102133_3074
 
sosiologi
sosiologisosiologi
sosiologi
 
Work samples - Chris L.
Work samples - Chris L.Work samples - Chris L.
Work samples - Chris L.
 
Présentation Meteor soft shake
Présentation Meteor soft shakePrésentation Meteor soft shake
Présentation Meteor soft shake
 
Maglevv
MaglevvMaglevv
Maglevv
 
學測、指考單字統計
學測、指考單字統計學測、指考單字統計
學測、指考單字統計
 
EDU337 Week 1 Assignment
EDU337 Week 1 AssignmentEDU337 Week 1 Assignment
EDU337 Week 1 Assignment
 
O ring chart
O ring chartO ring chart
O ring chart
 

Similar to Trainingreport on embedded system

Home automation using dtmf
Home automation using dtmfHome automation using dtmf
Home automation using dtmfAjay Naidu Jami
 
Project Report on Embedded Systems
Project Report on Embedded Systems Project Report on Embedded Systems
Project Report on Embedded Systems Suhani Singh
 
Embeddedsystem 110412132957-phpapp02
Embeddedsystem 110412132957-phpapp02Embeddedsystem 110412132957-phpapp02
Embeddedsystem 110412132957-phpapp02ishan111
 
STORAGE DEVICES & OPERATING SYSTEM SERVICES
STORAGE DEVICES & OPERATING SYSTEM SERVICESSTORAGE DEVICES & OPERATING SYSTEM SERVICES
STORAGE DEVICES & OPERATING SYSTEM SERVICESAyesha Tahir
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500sumit tiwari
 
Embedded system notes
Embedded system notesEmbedded system notes
Embedded system notesTARUN KUMAR
 
Gesture control robot using accelerometer documentation
Gesture control robot using accelerometer documentationGesture control robot using accelerometer documentation
Gesture control robot using accelerometer documentationRajendra Prasad
 
137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)Karteek Irukulla
 
Lecture 1 PPT - Introduction to Embedded Systems.pptx
Lecture 1 PPT - Introduction to Embedded Systems.pptxLecture 1 PPT - Introduction to Embedded Systems.pptx
Lecture 1 PPT - Introduction to Embedded Systems.pptxcronydeva
 
lec 1Embedded System Design ppt.pptx
lec 1Embedded System Design ppt.pptxlec 1Embedded System Design ppt.pptx
lec 1Embedded System Design ppt.pptxdhanashribiradar2
 
Embedded system (Chapter 1)
Embedded system (Chapter 1)Embedded system (Chapter 1)
Embedded system (Chapter 1)Ikhwan_Fakrudin
 
What is a Distributed Control System? DCS has evolved from the original desc...
What is a Distributed Control System?  DCS has evolved from the original desc...What is a Distributed Control System?  DCS has evolved from the original desc...
What is a Distributed Control System? DCS has evolved from the original desc...mahdirasoulian2
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxArjayBalberan1
 

Similar to Trainingreport on embedded system (20)

Home automation using dtmf
Home automation using dtmfHome automation using dtmf
Home automation using dtmf
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embeddedsystem
EmbeddedsystemEmbeddedsystem
Embeddedsystem
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Project Report on Embedded Systems
Project Report on Embedded Systems Project Report on Embedded Systems
Project Report on Embedded Systems
 
Embeddedsystem 110412132957-phpapp02
Embeddedsystem 110412132957-phpapp02Embeddedsystem 110412132957-phpapp02
Embeddedsystem 110412132957-phpapp02
 
Embeddedsystems 091130091010-phpapp02
Embeddedsystems 091130091010-phpapp02Embeddedsystems 091130091010-phpapp02
Embeddedsystems 091130091010-phpapp02
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
ritesh (3)
ritesh (3)ritesh (3)
ritesh (3)
 
STORAGE DEVICES & OPERATING SYSTEM SERVICES
STORAGE DEVICES & OPERATING SYSTEM SERVICESSTORAGE DEVICES & OPERATING SYSTEM SERVICES
STORAGE DEVICES & OPERATING SYSTEM SERVICES
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500
 
Embedded system notes
Embedded system notesEmbedded system notes
Embedded system notes
 
Gesture control robot using accelerometer documentation
Gesture control robot using accelerometer documentationGesture control robot using accelerometer documentation
Gesture control robot using accelerometer documentation
 
137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)
 
Lecture 1 PPT - Introduction to Embedded Systems.pptx
Lecture 1 PPT - Introduction to Embedded Systems.pptxLecture 1 PPT - Introduction to Embedded Systems.pptx
Lecture 1 PPT - Introduction to Embedded Systems.pptx
 
Ijetr042175
Ijetr042175Ijetr042175
Ijetr042175
 
lec 1Embedded System Design ppt.pptx
lec 1Embedded System Design ppt.pptxlec 1Embedded System Design ppt.pptx
lec 1Embedded System Design ppt.pptx
 
Embedded system (Chapter 1)
Embedded system (Chapter 1)Embedded system (Chapter 1)
Embedded system (Chapter 1)
 
What is a Distributed Control System? DCS has evolved from the original desc...
What is a Distributed Control System?  DCS has evolved from the original desc...What is a Distributed Control System?  DCS has evolved from the original desc...
What is a Distributed Control System? DCS has evolved from the original desc...
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptx
 

Recently uploaded

Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAbhinavSharma374939
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 

Recently uploaded (20)

Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Analog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog ConverterAnalog to Digital and Digital to Analog Converter
Analog to Digital and Digital to Analog Converter
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 

Trainingreport on embedded system

  • 1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 15 (b) I/O REGISTER Figure 1.4: TRISB and PORTB direction (c) TIMERS REGISTER TIMER0 Figure 1.5: Block diagram of TIMER0
  • 16. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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=1rn‖ through serial, then receive the characters ―OKrn‖. Here, ―rn‖ 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 ―rn‖. 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. 28 2.10 description of Command AT command is case- sensitive, should end up with terminator (―enter‖ or ―rn‖). 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. 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. 30 11. Set/ inquire - Inquire access mode 12. Set/ Inquire - connection mode
  • 31. 31 13. Set/Inquire - bind Bluetooth address 14. Get the work status of Bluetooth module 15. Cancel Bluetooth device 16. Connect device
  • 32. 32 2.11 Interfacing Bluetooth module: 2.11.1 Program for interfacing the Bluetooth with microcontroller ( Appendix-1)
  • 33. 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. 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. 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. 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. 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. 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. 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.