150
1 identifying of objects using RF transmitter and receiver and data retrieving using GSM

Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Embed Size (px)

Citation preview

Page 1: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

1

identifying of objects using RF transmitter and

receiver and data retrieving using GSM

Page 2: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

By :

Ayman Gaffer Ibrahim ECE 1 08D01A0414

Abubaker Bashir Nagar ECE2 07D01A04C8

Saleh Ahmed Mohammed ECE 2 08D01A04C0

2

Page 3: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Identifying Objects Using RF Transmitters and Receivers, and Retrieving Data Using GSM

To provide a system for monitoring and locating objects using Radio

Frequency (RF) transmitters and receivers, and querying about the objects using

mobile phones. An object represents a real world entity. This system is based on

RF transmitters that are tagged to the objects of everyday use and have the

capability of transmitting signals and a receiver that detects the transmission of the

tagged object and stores its corresponding location in the database which is created

specifically for information maintenance of the tagged objects. Mobile phones are

used to query the location of the tagged object by sending a message to the

Subscriber Identity Module (SIM) connected to a Global System for Mobile

Communications (GSM) modem. This GSM modem fetches the location and other

relevant information from the database and encapsulates this information into a

message which is sent back to the mobile phone that has requested the information.

(Note: by keeping this IEEE abstract as reference we will design our own

model)

Existing system:

This article is a novel approach in locating and also retrieving product related

information using mobile phones. It is difficult to go and locate objects manually or

search for them in a short period of time especially when object location is

unknown. In this paper we are attempting to locate objects irrespective of its

distance from the user who is trying to track the object. Objects can be located

more easily if they are equipped with Bluetooth or Infra-Red facilities which

3

Page 4: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

nowadays are commonly found in electronic devices likes Personal Digital

Assistant (PDA), laptops. However the drawback of this is the limited range.

Proposing system:

We are extending the idea to locate objects both stationary and mobile using

RF transmitters and receivers with greater range. On a larger scale this project can

be implemented for locating landmarks in a city or items in a warehouse. The

implementation is based on two criteria. Firstly, we assume that the objects being

tagged are accompanied with a unique ID. Secondly, each receiver is given a

unique location ID that determines the current location of the object.

SYSTEM ARCHITECTURE:

The system architecture comprises of three parts that is the sensing

functionality, storing functionality and querying service.

The sensing functionality comprises of RF transmitters and receivers that are

used to sense the presence of tagged objects within the region.

The storage functionality is used to store all relevant information of the

object in the database. The operator provides a user with a database service

in which the user can store application data such as reports and other

information regarding the objects.

The querying service is used by the user for querying necessary information

associated with the object using GSM network and Short message service

(SMS).

The object tracking application is used for locating and managing objects using Use

case via mobile phones. Use cases are specified for various functions such as

detecting of objects within the sensing range, notify objects that have left the

sensing range, querying about objects, identifying new objects entering and leaving

the sensing range.

4

Page 5: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

5

Chapter 1

Introduction to Embedded Systems

Page 6: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

EMBEDDED SYSTEM

An embedded system is a special-purpose computer system designed to

perform one or a few dedicated functions, sometimes with real-time computing

constraints. It is usually embedded as part of a complete device including hardware

and mechanical parts. In contrast, a general-purpose computer, such as a personal

computer, can do many different tasks depending on programming. Embedded

systems have become very important today as they control many of the common

devices we use.

Since the embedded system is dedicated to specific tasks, design engineers

can optimize it, reducing the size and cost of the product, or increasing the

reliability and performance. Some embedded systems are mass-produced,

benefiting from economies of scale.

Physically, embedded systems range from portable devices such as digital

watches and MP3 players, to large stationary installations like traffic lights, factory

controllers, or the systems controlling nuclear power plants. Complexity varies

from low, with a single microcontroller chip, to very high with multiple units,

peripherals and networks mounted inside a large chassis or enclosure.

In general, "embedded system" is not an exactly defined term, as many

systems have some element of programmability. For example, Handheld computers

share some elements with embedded systems — such as the operating systems and

microprocessors which power them — but are not truly embedded systems,

6

Page 7: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

because they allow different applications to be loaded and peripherals to be

connected.

An embedded system is some combination of computer hardware and

software, either fixed in capability or programmable, that is specifically designed

for a particular kind of application device. Industrial machines, automobiles,

medical equipment, cameras, household appliances, airplanes, vending machines,

and toys (as well as the more obvious cellular phone and PDA) are among the

myriad possible hosts of an embedded system. Embedded systems that are

programmable are provided with a programming interface, and embedded systems

programming is a specialized occupation.

Certain operating systems or language platforms are tailored for the

embedded market, such as Embedded Java and Windows XP Embedded. However,

some low-end consumer products use very inexpensive microprocessors and

limited storage, with the application and operating system both part of a single

program. The program is written permanently into the system's memory in this

case, rather than being loaded into RAM (random access memory), as programs on

a personal computer are.

APPLICATIONS OF EMBEDDED SYSTEM

We are living in the Embedded World. You are surrounded with many

embedded products and your daily life largely depends on the proper functioning of

these gadgets. Television, Radio, CD player of your living room, Washing Machine

or Microwave Oven in your kitchen, Card readers, Access Controllers, Palm

devices of your work space enable you to do many of your tasks very effectively.

Apart from all these, many controllers embedded in your car take care of car

7

Page 8: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

operations between the bumpers and most of the times you tend to ignore all these

controllers.

In recent days, you are showered with variety of information about these

embedded controllers in many places. All kinds of magazines and journals

regularly dish out details about latest technologies, new devices; fast applications

which make you believe that your basic survival is controlled by these embedded

products. Now you can agree to the fact that these embedded products have

successfully invaded into our world. You must be wondering about these embedded

controllers or systems. What is this Embedded System?

The computer you use to compose your mails, or create a document or

analyze the database is known as the standard desktop computer. These desktop

computers are manufactured to serve many purposes and applications.

You need to install the relevant software to get the required processing

facility. So, these desktop computers can do many things. In contrast, embedded

controllers carryout a specific work for which they are designed. Most of the time,

engineers design these embedded controllers with a specific goal in mind. So these

controllers cannot be used in any other place.

Theoretically, an embedded controller is a combination of a piece of

microprocessor based hardware and the suitable software to undertake a specific

task.

These days designers have many choices in

microprocessors/microcontrollers. Especially, in 8 bit and 32 bit, the available

variety really may overwhelm even an experienced designer. Selecting a right

8

Page 9: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

microprocessor may turn out as a most difficult first step and it is getting

complicated as new devices continue to pop-up very often.

In the 8 bit segment, the most popular and used architecture is Intel's 8031.

Market acceptance of this particular family has driven many semiconductor

manufacturers to develop something new based on this particular architecture. Even

after 25 years of existence, semiconductor manufacturers still come out with some

kind of device using this 8031 core.

Military and aerospace software applications

From in-orbit embedded systems to jumbo jets to vital battlefield networks,

designers of mission-critical aerospace and defense systems requiring real-time

performance, scalability, and high-availability facilities consistently turn to the

LynxOS® RTOS and the LynxOS-178 RTOS for software certification to DO-

178B.

Rich in system resources and networking services, LynxOS provides an off-the-

shelf software platform with hard real-time response backed by powerful

distributed computing (CORBA), high reliability, software certification, and long-

term support options.

The LynxOS-178 RTOS for software certification, based on the RTCA DO-

178B standard, assists developers in gaining certification for their mission- and

safety-critical systems. Real-time systems programmers get a boost with

LynuxWorks' DO-178B RTOS training courses.

LynxOS-178 is the first DO-178B and EUROCAE/ED-12B certifiable,

POSIX®-compatible RTOS solution.

9

Page 10: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Communications applications

"Five-nines" availability, CompactPCI hot swap support, and hard real-time

response—LynxOS delivers on these key requirements and more for today's

carrier-class systems. Scalable kernel configurations, distributed computing

capabilities, integrated communications stacks, and fault-management facilities

make LynxOS the ideal choice for companies looking for a single operating system

for all embedded telecommunications applications—from complex central

controllers to simple line/trunk cards.

LynuxWorks Jumpstart for Communications package enables OEMs to rapidly

develop mission-critical communications equipment, with pre-integrated, state-of-

the-art, data networking and porting software components—including source code

for easy customization.

The Lynx Certifiable Stack (LCS) is a secure TCP/IP protocol stack designed

especially for applications where standards certification is required.

Electronics applications and consumer devices

As the number of powerful embedded processors in consumer devices continues

to rise, the BlueCat® Linux® operating system provides a highly reliable and

royalty-free option for systems designers.

And as the wireless appliance revolution rolls on, web-enabled navigation

systems, radios, personal communication devices, phones and PDAs all benefit

from the cost-effective dependability, proven stability and full product life-cycle

support opportunities associated with BlueCat embedded Linux. BlueCat has

10

Page 11: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

teamed up with industry leaders to make it easier to build Linux mobile phones

with Java integration.

For makers of low-cost consumer electronic devices who wish to integrate the

LynxOS real-time operating system into their products, we offer special MSRP-

based pricing to reduce royalty fees to a negligible portion of the device's MSRP.

Industrial automation and process control software

Designers of industrial and process control systems know from experience that

LynuxWorks operating systems provide the security and reliability that their

industrial applications require.

From ISO 9001 certification to fault-tolerance, POSIX conformance, secure

partitioning and high availability, we've got it all. Take advantage of our 20 years

of experience.

MICROCONTROLLER VERSUS MICROPROCESSOR

What is the difference between a Microprocessor and Microcontroller? By

microprocessor is meant the general purpose Microprocessors such as Intel's X86

family (8086, 80286, 80386, 80486, and the Pentium) or Motorola's 680X0 family

(68000, 68010, 68020, 68030, 68040, etc). These microprocessors contain no

RAM, no ROM, and no I/O ports on the chip itself. For this reason, they are

commonly referred to as general-purpose Microprocessors.

A system designer using a general-purpose microprocessor such as the

Pentium or the 68040 must add RAM, ROM, I/O ports, and timers externally to

make them functional. Although the addition of external RAM, ROM, and I/O

11

Page 12: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

ports makes these systems bulkier and much more expensive, they have the

advantage of versatility such that the designer can decide on the amount of RAM,

ROM and I/O ports needed to fit the task at hand. This is not the case with

Microcontrollers.

A Microcontroller has a CPU (a microprocessor) in addition to a fixed

amount of RAM, ROM, I/O ports, and a timer all on a single chip. In other words,

the processor, the RAM, ROM, I/O ports and the timer are all embedded together

on one chip; therefore, the designer cannot add any external memory, I/O ports, or

timer to it. The fixed amount of on-chip ROM, RAM, and number of I/O ports in

Microcontrollers makes them ideal for many applications in which cost and space

are critical. In many applications, for example a TV remote control, there is no

need for the computing power of a 486 or even an 8086 microprocessor. These

applications most often require some I/O operations to read signals and turn on and

off certain bits.

MICROCONTROLLERS FOR EMBEDDED SYSTEMS

In the Literature discussing microprocessors, we often see the term

Embedded System. Microprocessors and Microcontrollers are widely used in

embedded system products. An embedded system product uses a microprocessor

(or Microcontroller) to do one task only. A printer is an example of embedded

system since the processor inside it performs one task only; namely getting the data

and printing it. Contrast this with a Pentium based PC. A PC can be used for any

number of applications such as word processor, print-server, bank teller terminal,

Video game, network server, or Internet terminal. Software for a variety of

applications can be loaded and run. Of course the reason a pc can perform myriad

12

Page 13: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

tasks is that it has RAM memory and an operating system that loads the application

software into RAM memory and lets the CPU run it.

In an Embedded system, there is only one application software that is

typically burned into ROM. An x86 PC contains or is connected to various

embedded products such as keyboard, printer, modem, disk controller, sound card,

CD-ROM drives, mouse, and so on. Each one of these peripherals has a

Microcontroller inside it that performs only one task. For example, inside every

mouse there is a Microcontroller to perform the task of finding the mouse position

and sending it to the PC. Table 1-1 lists some embedded products.

13

Page 14: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

14

CHAPTER2LPC2148

MICROCONTROLLER

Page 15: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

ARM architecture

ARM

Designer ARM Holdings

Bits 32/64

Introduced 1983

Version ARMv8[1]

Design RISC

Type Register-Register

Encoding Fixed

Branching Condition code

Endianness Bi (Little as default)

Extensions NEON, Thumb, Jazelle, VFP, A64

Registers

16/31[1]

ARM is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings. It was named the Advanced RISC Machine and, before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit instruction set architecture in numbers

15

Page 16: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

produced. Originally conceived by Acorn Computers for use in its personal computers, the first ARM-based products were the Acorn Archimedes range introduced in 1987.

Features and applications

In 2005, about 98% of the more than one billion mobile phones sold each year used at least one ARM processor. As of 2009, ARM processors account for approximately 90% of all embedded 32-bit RISC processors and are used extensively in consumer electronics, including personal digital assistants (PDAs), tablets, mobile phones, digital media and music players, hand-held game consoles,calculators and computer peripherals such as hard drives and routers.

Licensees

The ARM architecture is licensable. Companies that are current or former ARM licensees include Alcatel-Lucent, Apple Inc., AppliedMicro, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Ember, Energy Micro, Freescale, Intel (through DEC), LG, Marvell Technology Group, Microsemi, Microsoft, NEC, Nintendo, Nuvoton, Nvidia, Sony, NXP (formerly Philips), Oki, ON Semiconductor, Psion, Qualcomm, Renesas, Samsung, Sharp, Silicon Labs, STMicroelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamaha, Fuzhou Rockchip, and ZiiLABS.

In addition to the abstract architecture, ARM offers several microprocessor core designs, including the ARM7, ARM9, ARM11, Cortex-A8, Cortex-A9, and Cortex-A15. Companies often license these designs from ARM to manufacture and integrate into their own system on a chip (SoC) with other components like RAM, GPUs, or radio basebands (for mobile phones).

System-on-chip packages integrating ARM's core designs include Nvidia Tegra's first three generations, ST-Ericsson's Nova and NovaThor, Silicon Labs's Precision32 MCU, Texas Instruments's OMAPproducts, Samsung's Hummingbird and Exynos products, Apple's A4, A5, and A5X chips, and Freescale's i.MX.

16

Page 17: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Companies can also obtain an ARM architectural license for designing their own, different CPU cores using the ARM instruction set. Distinct ARM architecture implementations by licensees includeAppliedMicro's X-Gene, Qualcomm's Snapdragon and Krait, DEC's StrongARM, Marvell (formerly Intel) XScale, and Nvidia's planned Project Denver.

History

After achieving success with the BBC Micro computer, Acorn Computers Ltd considered how to move on from the relatively simple MOS Technology 6502 processor to address business markets like the one that would soon be dominated by the IBM PC, launched in 1981. The Acorn Business Computer (ABC) plan required a number of second processors to be made to work with the BBC Micro platform, but processors such as the Motorola 68000 and National Semiconductor 32016 were unsuitable, and the 6502 was not powerful enough for a graphics based user interface.[citation needed]

Acorn would need a new architecture, having tested all of the available processors and found them wanting. Acorn then seriously considered designing its own processor, and their engineers came across papers on the Berkeley RISC project. They felt it showed that if a class of graduate students could create a competitive 32-bit processor, then Acorn would have no problem. A trip to theWestern Design Center in Phoenix, where the 6502 was being updated by what was effectively a single-person company, showed Acorn engineers Steve Furber and Sophie Wilson that they did not need massive resources and state-of-the-art R&D facilities.

Wilson set about developing the instruction set, writing a simulation of the processor in BBC Basic that ran on a BBC Micro with a second 6502 processor. It convinced the Acorn engineers that they were on the right track. Before they could go any further, however, they would need more resources. It was time for Wilson to approach Acorn's CEO, Hermann Hauser, and explain what was afoot. Once the go-ahead had been given, a small team was put together to implement Wilson's model in hardware.

17

Page 18: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

A Conexant ARM processor used mainly in routers

Acorn RISC Machine: ARM2

The official Acorn RISC Machine project started in October 1983. VLSI Technology, Inc was chosen as silicon partner, since it already supplied Acorn with ROMs and some custom chips. The design was led by Wilson and Furber, and was consciously designed with a similar efficiency ethos as the 6502. It had a key design goal of achieving low-latency input/output (interrupt) handling like the 6502. The 6502's memory access architecture had allowed developers to produce fast machines without the use of costly direct memory access hardware. VLSI produced the first ARM silicon on 26 April 1985 – it worked the first time and came to be termed ARM1 by April 1985. The first "real" production systems named ARM2 were available the following year.

The ARM1 second processor for the BBC Micro

Its first practical application was as a second processor to the BBC Micro, where it was used to develop the simulation software to finish work on the support chips

18

Page 19: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

(VIDC, IOC, MEMC) and to speed up the operation of the CAD software used in developing ARM2. Wilson subsequently rewrote BBC Basic in ARM assembly language, and the in-depth knowledge obtained from designing the instruction set allowed the code to be very dense, making ARM BBC Basic an extremely good test for any ARM emulator. The original aim of a principally ARM-based computer was achieved in 1987 with the release of the Acorn Archimedes.

In 1992 Acorn once more won the Queen's Award for Technology for the ARM.

The ARM2 featured a 32-bit data bus, a 26-bit address space and twenty-seven 32-bit registers. Program code had to lie within the first 64 Mbyte of the memory, as the program counter was limited to 24 bits because the top 6 and bottom 2 bits of the 32-bit register served as status flags. The ARM2 had atransistor count of just 30,000, compared to Motorola's six-year older 68000 model with 68,000. Much of this simplicity comes from not having microcode(which represents about one-quarter to one-third of the 68000) and, like most CPUs of the day, not including any cache. This simplicity led to its low power usage, while performing better than the Intel 80286. A successor, ARM3, was produced with a 4 KB cache, which further improved performance.

Apple, DEC, Intel, Marvell: ARM6, StrongARM, XScale

In the late 1980s Apple Computer and VLSI Technology started working with Acorn on newer versions of the ARM core. The work was so important that Acorn spun off the design team in 1990 into a new company called Advanced RISC Machines Ltd. Advanced RISC Machines became ARM Ltd when its parent company, ARM Holdings plc, floated on the London Stock Exchange and NASDAQ in 1998.

The new Apple-ARM work would eventually turn into the ARM6, first released in early 1992. Apple used the ARM6-based ARM 610 as the basis for their Apple Newton PDA. In 1994, Acorn used the ARM 610 as the main central processing unit (CPU) in their Risc PC computers. DEC licensed the ARM6 architecture and produced the StrongARM. At 233 MHz this CPU drew only one watt (more recent versions draw far less). This work was later passed to Intel as a part of a lawsuit settlement, and Intel took the opportunity to supplement their aging i960 line with

19

Page 20: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

the StrongARM. Intel later developed its own high performance implementation named XScale which it has since sold to Marvell.

Licensing

The ARM core has remained largely the same size throughout these changes. ARM2 had 30,000 transistors, while the ARM6 grew only to 35,000. ARM's business has always been to sell IP cores, which licensees use to create microcontrollers and CPUs based on this core. The original design manufacturer combines the ARM core with a number of optional parts to produce a complete CPU, one that can be built on old semiconductor fabs and still deliver substantial performance at a low cost. The most successful implementation has been the ARM7TDMI with hundreds of millions sold. Atmelhas been a precursor design center in the ARM7TDMI-based embedded system.

ARM licensed about 1.6 billion cores in 2005. In 2005, about 1 billion ARM cores went into mobile phones. By January 2008, over 10 billion ARM cores had been built, and in 2008 iSuppli predicted that by 2011, 5 billion ARM cores will be shipping per year. As of January 2011, ARM states that over 15 billion ARM processors have shipped.

The ARM architectures used in smartphones, personal digital assistants and other mobile devices range from ARMv5, in obsolete/low-end devices, to the ARM M-series, in current high-end devices.XScale and ARM926 processors are ARMv5TE, and are now more numerous in high-end devices than the StrongARM, ARM9TDMI and ARM7TDMI based ARMv4 processors, but lower-end devices may use older cores with lower licensing costs. ARMv6 processors represented a step up in performance from standard ARMv5 cores, and are used in some cases, but Cortex processors (ARMv7) now provide faster and more power-efficient options than all those prior generations. Cortex-A targets applications processors, as needed by smartphones that formerly used ARM9 or ARM11. Cortex-R targets real-time applications, and Cortex-M targets microcontrollers.

In 2009, some manufacturers introduced netbooks based on ARM architecture CPUs, in direct competition with netbooks based on Intel Atom. According to

20

Page 21: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

analyst firm IHS iSuppli, by 2015, ARM ICs are estimated to be in 23% of all laptops.

In 2011, HiSilicon Technologies Co. Ltd. licensed a variety of ARM technology to be used in communications chip designs. These included 3G/4G basestations, networking infrastructure and mobile computing applications.

ARM cores

Architecture Family

ARMv1 ARM1

ARMv2 ARM2, ARM3

ARMv3 ARM6, ARM7

ARMv4 StrongARM, ARM7TDMI, ARM9TDMI

ARMv5 ARM7EJ, ARM9E, ARM10E, XScale

ARMv6 ARM11, ARM Cortex-M

ARMv7 ARM Cortex-A, ARM Cortex-M, ARM Cortex-R

ARMv8No cores available yet. Will support 64-bit data and addressing 

A summary of the numerous vendors who implement ARM cores in their design is provided by ARM.

Example applications of ARM cores

ARM cores are used in a number of products, particularly various PDAs and smartphones. Some computing examples are the Acorn Archimedes, Apple iPad and ASUS Eee Pad Transformer. Some other uses are the Apple iPod portable media player, Canon PowerShot A470 digital camera, Nintendo DS handheld games console and TomTom automotive navigation system.

21

Page 22: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Since 2005, ARM was also involved in Manchester University's computer, SpiNNaker, which used ARM cores to simulate the human brain.

Architecture

From 1995, the ARM Architecture Reference Manual has been the primary source of documentation on the ARM processor architecture and instruction set, distinguishing interfaces that all ARM processors are required to support (such as instruction semantics) from implementation details that may vary. The architecture has evolved over time, and starting with the Cortex series of cores, three "profiles" are defined:

"Application" profile: Cortex-A series

"Real-time" profile: Cortex-R series

"Microcontroller" profile: Cortex-M series.

Profiles are allowed to subset the architecture. For example, the ARMv6-M profile (used by the Cortex-M0) is a subset of the ARMv7-M profile (it supports fewer instructions).

CPU modes

The ARM architecture specifies the following CPU modes. At any moment in time, the CPU can be in only one mode, but it can switch modes due to external events (interrupts) or programmatically.

User mode

The only non-privileged mode.

System mode

The only privileged mode that is not entered by an exception. It can only be entered by executing an instruction that explicitly writes to the mode bits of the CPSR.

Supervisor (svc) mode

A privileged mode entered whenever the CPU is reset or when a SWI instruction is executed.

22

Page 23: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Abort mode

A privileged mode that is entered whenever a prefetch abort or data abort exception occurs.

Undefined mode

A privileged mode that is entered whenever an undefined instruction exception occurs.

Interrupt mode

A privileged mode that is entered whenever the processor accepts an IRQ interrupt.

Fast Interrupt mode

A privileged mode that is entered whenever the processor accepts an FIQ interrupt.

Instruction set

To keep the design clean, simple and fast, the original ARM implementation was hardwired without microcode, like the much simpler 8-bit 6502 processor used in prior Acorn microcomputers.

The ARM architecture includes the following RISC features:

Load/store architecture.

No support for misaligned memory accesses (although now supported in ARMv6 cores, with some exceptions related to load/store multiple word instructions).

Uniform 16 × 32-bit register file.

Fixed instruction width of 32 bits to ease decoding and pipelining, at the cost of decreased code density. Later, the Thumb instruction set increased code density.

Mostly single clock-cycle execution.

To compensate for the simpler design, compared with contemporary processors like the Intel 80286 and Motorola 68020, some additional design features were used:

Conditional execution of most instructions, reducing branch overhead and compensating for the lack of a branch predictor.

23

Page 24: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Arithmetic instructions alter condition codes only when desired.

32-bit barrel shifter which can be used without performance penalty with most arithmetic instructions and address calculations.

Powerful indexed addressing modes.

A link register for fast leaf function calls.

Simple, but fast, 2-priority-level interrupt subsystem with switched register banks.

Arithmetic instructions

The ARM supports add, subtract, and multiply instructions. The only ARM cores to include integer divide instructions are those implementing the ARMv7-M and ARMv7-R architectures, such as theCortex-M3 and M4.

Registers

Registers R0-R7 are the same across all CPU modes; they are never banked.

R13 and R14 are banked across all privileged CPU modes except system mode. That is, each mode that can be entered because of an exception has its own R13 and R14. These registers generally contain the stack pointer and the return address from function calls, respectively.

24

Page 25: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Aliases:

R13 is also referred to as SP, the Stack Pointer.

25

Registers across CPU modes

usr sys svc abt und irq fiq

R0

R1

R2

R3

R4

R5

R6

R7

R8 R8_fiq

R9 R9_fiq

R10 R10_fiq

R11 R11_fiq

R12 R12_fiq

R13 R13_svc R13_abt R13_und R13_irq R13_fiq

R14 R14_svc R14_abt R14_und R14_irq R14_fiq

R15

CPSR

SPSR_svc

SPSR_abt SPSR_und SPSR_irq SPSR_fiq

Page 26: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

R14 is also referred to as LR, the Link Register.

R15 is also referred to as PC, the Program Counter.

Conditional execution

The conditional execution feature (called predication) is implemented with a 4-bit condition code selector (the predicate) on every instruction; one of the four-bit codes is reserved as an "escape code" to specify certain unconditional instructions, but nearly all common instructions are conditional. Most CPU architectures only have condition codes on branch instructions.

This cuts down significantly on the encoding bits available for displacements in memory access instructions, but on the other hand it avoids branch instructions when generating code for small ifstatements. The standard example of this is the subtraction-based Euclidean algorithm: ARM address mode

In the C programming language, the loop is:

while(i != j) {

if (i > j)

i -= j;

else

j -= i;

}

In ARM assembly, the loop is:

loop CMP Ri, Rj ; set condition "NE" if (i != j),

; "GT" if (i > j),

; or "LT" if (i < j)

SUBGT Ri, Ri, Rj ; if "GT" (greater than), i = i-j;

SUBLT Rj, Rj, Ri ; if "LT" (less than), j = j-i;

26

Page 27: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

BNE loop ; if "NE" (not equal), then loop

which avoids the branches around the then and else clauses. Note that if Ri and Rj are equal then neither of the SUB instructions will be executed, optimising out the need for a conditional branch to implement the while check at the top of the loop, for example had SUBLE (less than or equal) been used.

One of the ways that Thumb code provides a more dense encoding is to remove that four bit selector from non-branch instructions.

Other features

Another feature of the instruction set is the ability to fold shifts and rotates into the "data processing" (arithmetic, logical, and register-register move) instructions, so that, for example, the C statement

a += (j << 2);

could be rendered as a single-word, single-cycle instruction on the ARM.

ADD Ra, Ra, Rj, LSL #2

This results in the typical ARM program being denser than expected with fewer memory accesses; thus the pipeline is used more efficiently.

The ARM processor also has some features rarely seen in other RISC architectures, such as PC-relative addressing (indeed, on the 32-bit ARM the PC is one of its 16 registers) and pre- and post-increment addressing modes.

Another item of note is that the ARM has been around for a while, with the instruction set increasing somewhat over time. Some early ARM processors (before ARM7TDMI), for example, have no instruction to store a two-byte quantity, thus, strictly speaking, for them it's not possible to generate efficient code that would behave the way one would expect for C objects of type "int16_t".

Pipelines and other implementation issues

The ARM7 and earlier implementations have a three stage pipeline; the stages being fetch, decode, and execute. Higher performance designs, such as the ARM9, have deeper pipelines: Cortex-A8 has thirteen stages. Additional implementation

27

Page 28: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

changes for higher performance include a faster adder, and more extensive branch prediction logic. The difference between the ARM7DI and ARM7DMI cores, for example, was an improved multiplier (hence the added "M").

Coprocessors

For those familiar with the Intel x86 family of CPUs, the ARM family of processors does not support or have any instructions similar to CPUID. There are, however, mechanisms for addressing coprocessors in the ARM architecture.

The ARM architecture provides a non-intrusive way of extending the instruction set using "coprocessors" which can be addressed using MCR, MRC, MRRC, MCRR, and similar instructions. The coprocessor space is divided logically into 16 coprocessors with numbers from 0 to 15, coprocessor 15 (cp15) being reserved for some typical control functions like managing the caches and MMUoperation (on processors that have one).

In ARM-based machines, peripheral devices are usually attached to the processor by mapping their physical registers into ARM memory space or into the coprocessor space or connecting to another device (a bus) which in turn attaches to the processor. Coprocessor accesses have lower latency so some peripherals (for example an XScale interrupt controller) are designed to be accessible in both ways (through memory and through coprocessors).

In other cases, chip designers only integrate hardware using the coprocessor mechanism. For example, an image processing engine might be a small ARM7TDMI core combined with a coprocessor that has specialized operations to support a specific set of HDTV transcoding primitives.

Debugging

All modern ARM processors include hardware debugging facilities; without them, software debuggers could not perform basic operations like halting, stepping, and breakpointing of code starting from reset. These facilities are built using JTAG support, though some newer cores optionally support ARM's own two-wire "SWD" protocol. In ARM7TDMI cores, the "D" represented JTAG debug

28

Page 29: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

support, and the "I" represented presence of an "EmbeddedICE" debug module. For ARM7 and ARM9 core generations, EmbeddedICE over JTAG was a de-facto debug standard, although it was not architecturally guaranteed.

The ARMv7 architecture defines basic debug facilities at an architectural level. These include breakpoints, watchpoints, and instruction execution in a "Debug Mode"; similar facilities were also available with EmbeddedICE. Both "halt mode" and "monitor" mode debugging are supported. The actual transport mechanism used to access the debug facilities is not architecturally specified, but implementations generally include JTAG support.

There is a separate ARM "CoreSight" debug architecture, which is not architecturally required by ARMv7 processors.

DSP enhancement instructions

To improve the ARM architecture for digital signal processing and multimedia applications, a few new instructions were added to the set. These are signified by an "E" in the name of the ARMv5TE and ARMv5TEJ architectures. E-variants also imply T,D,M and I.

The new instructions are common in digital signal processor architectures. They are variations on signed multiply–accumulate, saturated add and subtract, and count leading zeros.

Jazelle

Jazelle is a technique that allows Java Bytecode to be executed directly in the ARM architecture as a third execution state (and instruction set) alongside the existing ARM and Thumb-mode. Support for this state is signified by the "J" in the ARMv5TEJ architecture, and in ARM9EJ-S and ARM7EJ-S core names. Support for this state is required starting in ARMv6 (except for the ARMv7-M profile), although newer cores only include a trivial implementation that provides no hardware acceleration.

Thumb

29

Page 30: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

To improve compiled code-density, processors since the ARM7TDMI have featured Thumb instruction set, which have their own state. (The "T" in "TDMI" indicates the Thumb feature.) When in this state, the processor executes the Thumb instruction set, a compact 16-bit encoding for a subset of the ARM instruction set. Most of the Thumb instructions are directly mapped to normal ARM instructions. The space-saving comes from making some of the instruction operands implicit and limiting the number of possibilities compared to the ARM instructions executed in the ARM instruction set state.

In Thumb, the 16-bit opcodes have less functionality. For example, only branches can be conditional, and many opcodes are restricted to accessing only half of all of the CPU's general purpose registers. The shorter opcodes give improved code density overall, even though some operations require extra instructions. In situations where the memory port or bus width is constrained to less than 32 bits, the shorter Thumb opcodes allow increased performance compared with 32-bit ARM code, as less program code may need to be loaded into the processor over the constrained memory bandwidth.

Embedded hardware, such as the Game Boy Advance, typically have a small amount of RAM accessible with a full 32-bit datapath; the majority is accessed via a 16 bit or narrower secondary datapath. In this situation, it usually makes sense to compile Thumb code and hand-optimise a few of the most CPU-intensive sections using full 32-bit ARM instructions, placing these wider instructions into the 32-bit bus accessible memory.

The first processor with a Thumb instruction decoder was the ARM7TDMI. All ARM9 and later families, including XScale, have included a Thumb instruction decoder.

Thumb-2

Thumb-2 technology made its debut in the ARM1156 core, announced in 2003. Thumb-2 extends the limited 16-bit instruction set of Thumb with additional 32-bit instructions to give the instruction set more breadth, thus producing a variable-

30

Page 31: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

length instruction set. A stated aim for Thumb-2 is to achieve code density similar to Thumb with performance similar to the ARM instruction set on 32-bit memory. In ARMv7 this goal can be said to have been met.

Thumb-2 extends both the ARM and Thumb instruction set with yet more instructions, including bit-field manipulation, table branches, and conditional execution. A new "Unified Assembly Language" (UAL) supports generation of either Thumb-2 or ARM instructions from the same source code; versions of Thumb seen on ARMv7 processors are essentially as capable as ARM code (including the ability to write interrupt handlers). This requires a bit of care, and use of a new "IT" (if-then) instruction, which permits up to four successive instructions to execute based on a tested condition. When compiling into ARM code this is ignored, but when compiling into Thumb-2 it generates an actual instruction. For example:

; if (r0 == r1)

CMP r0, r1

ITE EQ ; ARM: no code ... Thumb: IT instruction

; then r0 = r2;

MOVEQ r0, r2 ; ARM: conditional; Thumb: condition via ITE 'T' (then)

; else r0 = r3;

MOVNE r0, r3 ; ARM: conditional; Thumb: condition via ITE 'E' (else)

; recall that the Thumb MOV instruction has no bits to encode "EQ" or "NE"

All ARMv7 chips support the Thumb-2 instruction set. Other chips in the Cortex and ARM11 series support both "ARM instruction set state" and "Thumb-2 instruction set state".

Thumb Execution Environment (ThumbEE)

ThumbEE, also termed Thumb-2EE, and marketed as Jazelle RCT (Runtime Compilation Target), was announced in 2005, first appearing in the Cortex-A8 processor. ThumbEE is a fourth processor mode, making small changes to the

31

Page 32: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Thumb-2 extended Thumb instruction set. These changes make the instruction set particularly suited to code generated at runtime (e.g. by JIT compilation) in managed Execution Environments. ThumbEE is a target for languages such as Limbo, Java, C#, Perl and Python, and allows JIT compilers to output smaller compiled code without impacting performance.

New features provided by ThumbEE include automatic null pointer checks on every load and store instruction, an instruction to perform an array bounds check, access to registers r8-r15 (where the Jazelle/DBX Java VM state is held), and special instructions that call a handler.[27] Handlers are small sections of frequently called code, commonly used to implement a feature of a high level language, such as allocating memory for a new object. These changes come from repurposing a handful of opcodes, and knowing the core is in the new ThumbEE mode.

VFP

VFP (Vector Floating Point) technology is an FPU coprocessor extension to the ARM architecture. It provides low-cost single-precision and double-precision floating-point computation fully compliant with the ANSI/IEEE Std 754-1985 Standard for Binary Floating-Point Arithmetic. VFP provides floating-point computation suitable for a wide spectrum of applications such as PDAs, smartphones, voice compression and decompression, three-dimensional graphics and digital audio, printers, set-top boxes, and automotive applications. The VFP architecture was intended to support execution of short "vector mode" instructions but these operated on each vector element sequentially and thus did not offer the performance of true single instruction, multiple data (SIMD) vector parallelism. This vector mode was therefore removed shortly after its introduction, to be replaced with the much more powerful NEON Advanced SIMD unit.

Some devices such as the ARM Cortex-A8 have a cut-down VFPLite module instead of a full VFP module, and require roughly ten times more clock cycles per float operation. Other floating-point and/or SIMD coprocessors found in ARM-based processors include FPA, FPE, iwMMXt. They provide some of the same functionality as VFP but are not opcode-compatible with it.

Advanced SIMD (NEON)

32

Page 33: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

The Advanced SIMD extension (aka NEON or "MPE" Media Processing Engine) is a combined 64- and 128-bit single instruction multiple data (SIMD) instruction set that provides standardized acceleration for media and signal processing applications. NEON is included in all Cortex-A8 devices but is optional in Cortex-A9 devices. NEON can execute MP3 audio decoding on CPUs running at 10 MHz and can run the GSM adaptive multi-rate (AMR) speech codec at no more than 13 MHz. It features a comprehensive instruction set, separate register files and independent execution hardware. NEON supports 8-, 16-, 32- and 64-bit integer and single-precision (32-bit) floating-point data and operates in SIMD operations for handling audio and video processing as well as graphics and gaming processing. In NEON, the SIMD supports up to 16 operations at the same time. The NEON hardware shares the same floating-point registers as used in VFP. Devices such as the ARM Cortex-A8 and Cortex-A9 support 128-bit vectors but will execute with just 64 bits at a time, whereas newer Cortex-A15 devices can execute 128 bits at once.

Security Extensions (TrustZone)

The Security Extensions, marketed as TrustZone Technology, is found in ARMv6KZ and later application profile architectures. It provides a low cost alternative to adding an additional dedicated security core to an SoC, by providing two virtual processors backed by hardware based access control. This enables the application core to switch between two states, referred to as worlds (to reduce confusion with other names for capability domains), in order to prevent information from leaking from the more trusted world to the less trusted world. This world switch is generally orthogonal to all other capabilities of the processor, thus each world can operate independently of the other while using the same core. Memory and peripherals are then made aware of the operating world of the core and may use this to provide access control to secrets and code on the device.

Typical applications of TrustZone Technology are to run a rich operating system in the less trusted world, and smaller security-specialized code in the more trusted world (named TrustZone Software, a TrustZone optimized version of the Trusted Foundations Software developed by Trusted Logic), allowing much tighter digital rights management for controlling the use of media on ARM-based devices, and preventing any unapproved use of the device.

33

Page 34: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

In practice, since the specific implementation details of TrustZone are proprietary and have not been publicly disclosed for review, it is unclear what level of assurance is provided for a given threat model.

No-execute page protection

As of ARMv6, the ARM architecture supports no-execute page protection, which is referred to as XN, for eXecute Never.

ARMv8 and 64-bit

Released in late 2011, ARMv8 represents the first fundamental change to the ARM architecture. It adds a 64-bit architecture, dubbed 'AArch64', and a new 'A64' instruction set. Within the context of ARMv8, the 32-bit architecture and instruction set are referred to as 'AArch32' and 'A32', respectively. The Thumb instruction sets are referred to as 'T32' and have no 64-bit counterpart. ARMv8 allows 32-bit applications to be executed in a 64-bit OS, and for a 32-bit OS to be under the control of a 64-bit hypervisor.[1] As of March 2012, only the ARMv8-A ("application") profile has been defined, and no implementations have been announced.

To both AArch32 and AArch64, ARMv8 makes VFP and advanced SIMD (NEON) standard. It also adds cryptography instructions supporting AES and SHA-1/SHA-256.

AArch64 features:

New instruction set, A64

31 general-purpose 64-bit registers

Instructions are still 32 bits long and mostly the same as A32

Most instructions can take 32-bit or 64-bit arguments

Addresses assumed to be 64-bit

A new exception system

Fewer banked registers and modes

34

Page 35: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Memory translation from 48-bit virtual addresses based on the existing LPAE, which was designed to be easily extended to 64-bit

ARM licensees

ARM Ltd does not manufacture and sell CPU devices based on its own designs, but rather, licenses the processor architecture to interested parties. ARM offers a variety of licensing terms, varying in cost and deliverables. To all licensees, ARM provides an integratable hardware description of the ARM core, as well as complete software development toolset (compiler, debugger, SDK), and the right to sell manufactured silicon containing the ARM CPU.

Fabless licensees, who wish to integrate an ARM core into their own chip design, are usually only interested in acquiring a ready-to-manufacture verified IP core. For these customers, ARM delivers agate netlist description of the chosen ARM core, along with an abstracted simulation model and test programs to aid design integration and verification. More ambitious customers, including integrated device manufacturers (IDM) and foundry operators, choose to acquire the processor IP in synthesizable RTL (Verilog) form. With the synthesizable RTL, the customer has the ability to perform architectural level optimizations and extensions. This allows the designer to achieve exotic design goals not otherwise possible with an unmodified netlist (high clock speed, very low power consumption, instruction set extensions, etc.). While ARM does not grant the licensee the right to resell the ARM architecture itself, licensees may freely sell manufactured product (chip devices, evaluation boards, complete systems, etc.). Merchant foundries can be a special case; not only are they allowed to sell finished silicon containing ARM cores, they generally hold the right to re-manufacture ARM cores for other customers.

Like most IP vendors, ARM prices its IP based on perceived value. In architectural terms, lower performing ARM cores command lower license costs than higher performing cores. In implementation terms, a synthesizable core costs more than a hard macro (blackbox) core. Complicating price matters, a merchant foundry which holds an ARM license (such as Samsung and Fujitsu) can offer reduced licensing costs to its fab customers. In exchange for acquiring the ARM core through the foundry's in-house design services, the customer can reduce or eliminate payment of ARM's upfront license fee. Compared to dedicated semiconductor foundries

35

Page 36: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

(such as TSMC and UMC) without in-house design services, Fujitsu/Samsung charge 2 to 3 times more per manufactured wafer. For low to mid volume applications, a design service foundry offers lower overall pricing (through subsidization of the license fee). For high volume mass produced parts, the long term cost reduction achievable through lower wafer pricing reduces the impact of ARM's NRE (Non-Recurring Engineering) costs, making the dedicated foundry a better choice.

36

Page 37: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

37

CHAPTER 3BLOCK DIAGRAM & CIRCUIT DIAGRAM

 

Page 38: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

OBJ- 1 RF Transmitter OBJ- 2 RF Transmitters

RF Receiver Location ID - A RF Receiver Location ID - B

Database service with querying service - used by the user for querying necessary information

ARM Processor

SYSTEM ARCHITECTURE

Location – A Location - B

38

Page 39: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

User Mobile for Querying & Object Tracking

GSM SERVICE PROVIDER

CIRCUIT DIAGRAM

39

Page 40: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

40

Page 41: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

41

Page 42: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

42

Page 43: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

43

Page 44: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

44

CHAPTER 4RF TRANSMITTER &

RECEIVER

Page 45: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

RF MODULE

433 MHz RF Transmitter STT-433:

1. Overview

The STT-433 is ideal for remote control applications where low cost and longer

range is required. The transmitter operates from a 1.5-12V supply, making it ideal

for battery-powered applications. The transmitter employs a SAW-stabilized

oscillator, ensuring accurate frequency control for best range performance. Output

power and harmonic emissions are easy to control, making FCC and ETSI

compliance easy. The manufacturing-friendly SIP style package and low-cost make

the STT-433 suitable for high volume applications.

2. Features

· 433.92 MHz Frequency

· Low Cost

· 1.5-12V operation

· 11mA current consumption at 3V

· Small size

45

Page 46: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

· 4 dBm output power at 3V

Transmitter

3. Applications

· Remote Keyless Entry (RKE)

· Remote Lighting Controls

· On-Site Paging

· Asset Tracking

· Wireless Alarm and Security Systems

· Long Range RFID

· Automated Resource Management

4. Specification

Parameter Symbol Min Typ. Max Unit

Operating Voltage Vcc 1.5 3.0 12 Volts DC

Operating Current

Data = VCC

46

Page 47: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Icc - 11mA @3V

59mA @5V

- mA

Operating Current

Data = GND

Icc - 100 - uA

Frequency Accuracy TOL fc -75 0 +75 Khz

Center Frequency Fc - 433 - Mhz

RF Output Power - 4 dBM@3V (2 mW)

16 dBM@5V (39 mW)

dBm / mW

Data Rate 200 1K 3K BPS

Temperature -20 +60 Deg. C

Power up delay 20 ms

5. Pin Description

Pin Name Description

ANT 50 ohm antenna output. The antenna port impedance affects output power and

harmonic emissions. An L-C low-pass filter may be needed to sufficiently filter

harmonic emissions. Antenna can be single core wire of approximately 17cm

length or PCB trace antenna. VCC Operating voltage for the transmitter. VCC

should be bypassed with a .01uF ceramic capacitor and filtered with a 4.7uF

tantalum capacitor. Noise on the power supply will degrade transmitter noise

performance. DATA Digital data input. This input is CMOS compatible and should

47

Page 48: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

be driven with CMOS level inputs. GND Transmitter ground. Connect to ground

plane.

6. Operation

6.1. Theory

OOK(On Off Keying) modulation is a binary form of amplitude modulation. When

a logical 0 (data linelow) is being sent, the transmitter is off, fully suppressing the

carrier. In this state, the transmitter current is very low, less than 1mA. When a

logical 1 is being sent, the carrier is fully on. In this state, the module current

consumption is at its highest, about 11mA with a 3V power supply.

OOK is the modulation method of choice for remote control applications where

power consumption and cost are the primary factors. Because OOK transmitters

draw no power when they transmit a 0, they exhibit significantly better power

consumption than FSK transmitters. OOK data rate is limited by the start-up time

of the oscillator. High-Q oscillators which have very stable center frequencies take

longer to start-up than low-Q oscillators. The start-up time of the oscillator

determines the maximum data rate that the transmitter can send. Pin Name

Description ANT 50 ohm antenna output. The antenna port impedance affects

output power and harmonic emissions. An L-C low-pass filter may be needed to

sufficiently filter harmonic emissions. Antenna can be single core wire of

approximately 17cm length or PCB trace antenna. VCC Operating voltage for the

transmitter. VCC should be bypassed with a .01uF ceramic capacitor and filtered

with a 4.7uF tantalum capacitor. Noise on the power supply will degrade

transmitter noise performance. DATA Digital data input. This input is CMOS

48

Page 49: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

compatible and should be driven with CMOS level inputs. GND Transmitter

ground. Connect to ground plane.

7.2. Data Rate

The oscillator start-up time is on the order of 40uSec, which limits the maximum

data rate to 4.8 kbit/sec.

7.3. SAW stabilized oscillator

The transmitter is basically a negative resistance LC oscillator whose center

frequency is tightly controlled by a SAW resonator. SAW (Surface Acoustic Wave)

resonators are fundamental frequency devices that resonate at frequencies much

higher than crystals.

433 MHz RF Receiver STR-433:

1. Overview

The STR-433 is ideal for short-range remote control applications where cost is a

primary concern. The receiver module requires no external RF components except

for the antenna. It generates virtually no emissions, making FCC and ETSI

approvals easy. The super-regenerative design exhibits exceptional sensitivity at a

49

Page 50: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

very low cost. The manufacturing-friendly SIP style package and low-cost make

the STR-433 suitable for high volume applications.

2. Features

· Low Cost

· 5V operation

· 3.5mA current drain

· No External Parts are required

· Receiver Frequency: 433.92 MHZ

· Typical sensitivity: -105dBm

· IF Frequency: 1MHz

Receiver

3. Applications

· Car security system

· Sensor reporting

· Automation system

· Remote Keyless Entry (RKE)

50

Page 51: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

· Remote Lighting Controls

· On-Site Paging

· Asset Tracking

· Wireless Alarm and Security Systems

· Long Range RFID

· Automated Resource Management

4. Specification

Parameter Symbol Min Typ. Max Unit

Parameter Symbol Min Typ. Max Unit

Operating Voltage Vcc 4.5 5.0 5.5 VDC

Operating Current Icc - 3.5 4.5 mA

Reception Bandwidth BW rx - 1.0 - MHz

Center Frequency Fc - 433.92 - MHz

Sensitivity - - -105 - dBm

Max Data Rate - 300 1k 3K Kbit/s

Turn On Time - - 25 - ms

Operating Temperature T op -10 - +60 °C

5. Pin Description

Pin Name Description

Pin Name Description

ANT Antenna input.

GND Receiver Ground. Connect to ground plane.

51

Page 52: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

VCC(5V) VCC pins are electrically connected and provide operating voltage for

the receiver. VCC can be applied to either or both. VCC should be bypassed with

a .1μF ceramic capacitor. Noise on the power supply will degrade receiver

sensitivity. DATA Digital data output. This output is capable of driving one TTL or

CMOS load.

It is a CMOS compatible output.

6. Operation

7.1. Super-Regenerative AM Detection

The STR-433 uses a super-regenerative AM detector to demodulate the incoming

AM carrier. A superregenerative

detector is a gain stage with positive feedback greater than unity so that it

oscillates. An RC-time constant is included in the gain stage so that when the gain

stage oscillates, the gain will be lowered over time proportional to the RC time

constant until the oscillation eventually dies. When the oscillation dies, the current

draw of the gain stage decreases, charging the RC circuit, increasing the gain, and

ultimately the oscillation starts again. In this way, the oscillation of the gain stage is

turned on and off at a rate set by the RC time constant. This rate is chosen to be

super-audible but much lower than the main oscillation rate. Detection is

accomplished by measuring the emitter current of the gainstage. Any RF input

signal at the frequency of the main oscillation will aid the main oscillation in

restarting. If the amplitude of the RF input increases, the main oscillation will stay

on for a longer period of time, and the emitter current will be higher. Therefore, we

can detect the original base-band signal by simply low-pass filtering the emitter

current.The average emitter current is not very linear as a function of the RF input

52

Page 53: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

level. It exhibits a 1/ln response because of the exponentially rising nature of

oscillator start-up. The steep slope of a logarithmnear zero results in high

sensitivity to small input signals.

7.2. Data Slicer

The data slicer converts the base-band analog signal from the super-regenerative

detector to a CMOS/TTL compatible output. Because the data slicer is AC coupled

to the audio output, there is a minimum data rate. AC coupling also limits the

minimum and maximum pulse width. Typically, data is encoded on the transmit

side using pulse-width modulation (PWM) or non-return-to-zero (NRZ).The most

common source for NRZ data is from a UART embedded in a micro-controller.

Applications that use NRZ data encoding typically involve microcontrollers. The

most common source for PWM data is from a remote control IC such as the HC-

12E from Holtek or ST14 CODEC from SunromTechnologies.

Data is sent as a constant rate square-wave. The duty cycle of that square wave will

generally be either33% (a zero) or 66% (a one). The data slicer on the STR-433 is

optimized for use with PWM encodeddata, though it will work with NRZ data if

certain encoding rules are followed.

7.3. Power Supply

The STR-433 is designed to operate from a 5V power supply. It is crucial that this

power supply be very quiet. The power supply should be bypassed using a 0.1uF

low-ESR ceramic capacitor and a 4.7uF tantalum capacitor. These capacitors

should be placed as close to the power pins as possible. The STR-433 is designed

53

Page 54: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

for continuous duty operation. From the time power is applied, it can take up to

750mSec for the data output to become valid.

7.4. Antenna Input

It will support most antenna types, including printed antennas integrated directly

onto the PCB and

simple single core wire of about 17cm. The performance of the different antennas

varies. Any time a

trace is longer than 1/8th the wavelength of the frequency it is carrying, it should be

a 50 ohm microstrip.

Operation & testing of HT12E and HT12D.

HT12E are CMOS ICs with working voltage ranging from 2.4v to 12v.

Encoder HT12E has eight address and another four address/data lines. The data

set on these twelve lines (address and address/data lines) is serially transmitted

when the transmit enable pin TE is taken low. The data output appears serially on

the D pin. The data is transmitted four times in succession. It consists of differing

length of positive-going pulses for ‘1’ and ‘0’ , the pulse-width for ‘0’ being twice

the pulse-width for ‘1’. The frequency of these pulses may lie between 1.5 and 7

KHZ depending on the resistor value between OSC1 and OSC2 pins. The internal

oscillator frequency of decoder HT12D is 50 times the oscillator frequency of

encoder HT12e. The values of timing resistors connected between OSC1 and

OSC2 pins of HT12e and HT12D , for given supply voltages , can be found out

54

Page 55: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

from the graphs given in the datasheet of the respective clips .The resistor values

used in the circuits here are chosen for approximately 3kHz frequency for the

encoder (HT12E) and 150 kHz for decoder HT12D at V of 5V.

The HT12D receives the data from the HT12E on its D pin serially. If the

address part of the data received matches the levels on ‘0’ through A7 pins fours

times in succession, the valid transmission (VT) pin is taken high. The data on

pins AD8 through AD11 of the HT12e appears on pins D8 through D11 of the

HT12D . Thus the device acts a receiver of 4-bit data (16 device acts a receiver of

4-bit data (16 possible codes with 8-bit addressing (256 possible channels).

For testing the circuit one needs the functional serviceability and

synchronization of the frequency of operation., Once the frequency of the pair is

aligned, on pressing of apush switch on the encoder, LED on the decoder should

glow. One can also check the transfer of data on pins. AD8 through AD11 (the

data pins of the encoder can be set as high or low using switches S2 through S5 ),

which is latched n pins D8 through D11 of the decoder once TE pin is taken low

momentarily using push switch S1. This completes the testing of encoder decoder

pair of HT12E and HT12D.

55

Page 56: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

56

CHAPTER 5GSM MODEM

Page 57: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

GSM

.

Global System for Mobile communications (GSM: originally from

Group Special Mobile) is the most popular standard for mobile phones in the

world. Its promoter, the GSM Association, estimates that 82% of the global mobile

market uses the standard. GSM is used by over 2 billion people across more than

212 countries and territories. Its ubiquity makes international roaming very

common between mobile phone operators, enabling subscribers to use their phones

in many parts of the world. GSM differs from its predecessors in that both signaling

and speech channels are digital call quality, and so is considered a second

generation (2G) mobile phone system. This has also meant that data

communication were built into the system using the 3rd Generation Partnership

Project (3GPP).

The GSM logo is used to identify compatible handsets and equipment

57

Page 58: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

The key advantage of GSM systems to consumers has been better voice quality and

low-cost alternatives to making calls, such as the Short message service (SMS, also

called "text messaging"). The advantage for network operators has been the ease of

deploying equipment from any vendors that implement the standard. Like other

cellular standards, GSM allows network operators to offer roaming services so that

subscribers can use their phones on GSM networks all over the world.

Newer versions of the standard were backward-compatible with the original GSM

phones. For example, Release '97 of the standard added packet data capabilities, by

means of General Packet Radio Service (GPRS). Release '99 introduced higher

speed data transmission using Enhanced Data Rates for GSM Evolution (EDGE).

History

In 1982, the European Conference of Postal and Telecommunications

Administrations (CEPT) created the Groupe Spécial Mobile (GSM) to develop a

standard for a mobile telephone system that could be used across Europe. In 1987,

a memorandum of understanding was signed by 13 countries to develop a common

cellular telephone system across Europe.[6][7]

In 1989, GSM responsibility was transferred to the European Telecommunications

Standards Institute (ETSI) and phase I of the GSM specifications were published in

1990. The first GSM network was launched in 1991 by Radiolinja in Finland with

joint technical infrastructure maintenance from Ericsson. By the end of 1993, over

a million subscribers were using GSM phone networks being operated by 70

carriers across 48 countries.[9]

Technical details

GSM is a cellular network, which means that mobile phones connect to it by

searching for cells in the immediate vicinity. GSM networks operate in four

58

Page 59: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

different frequency ranges. Most GSM networks operate in the 900 MHz or 1800

MHz bands. Some countries in the Americas (including Canada and the United

States) use the 850 MHz and 1900 MHz bands because the 900 and 1800 MHz

frequency bands were already allocated.

The rarer 400 and 450 MHz frequency bands are assigned in some countries,

notably Scandinavia, where these frequencies were previously used for first-

generation systems.

In the 900 MHz band the uplink frequency band is 890–915 MHz, and the

downlink frequency band is 935–960 MHz. This 25 MHz bandwidth is subdivided

into 124 carrier frequency channels, each spaced 200 kHz apart. Time division

multiplexing is used to allow eight full-rate or sixteen half-rate speech channels per

radio frequency channel. There are eight radio timeslots (giving eight burst periods)

grouped into what is called a TDMA frame. Half rate channels use alternate frames

in the same timeslot. The channel data rate is 270.833 kbit/s, and the frame duration

is 4.615 ms.

The transmission power in the handset is limited to a maximum of 2 watts in

GSM850/900 and 1 watt in GSM1800/1900.

GSM has used a variety of voice codecs to squeeze 3.1 kHz audio into between 5.6

and 13 kbit/s. Originally, two codecs, named after the types of data channel they

were allocated, were used, called Half Rate (5.6 kbit/s) and Full Rate (13 kbit/s).

These used a system based upon linear predictive coding (LPC). In addition to

being efficient with bitrates, these codecs also made it easier to identify more

important parts of the audio, allowing the air interface layer to prioritize and better

protect these parts of the signal.

GSM was further enhanced in 1997 with the Enhanced Full Rate (EFR) codec, a

12.2 kbit/s codec that uses a full rate channel. Finally, with the development of

UMTS, EFR was refactored into a variable-rate codec called AMR-Narrowband,

59

Page 60: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

which is high quality and robust against interference when used on full rate

channels, and less robust but still relatively high quality when used in good radio

conditions on half-rate channels.

There are four different cell sizes in a GSM network—macro, micro, pico and

umbrella cells. The coverage area of each cell varies according to the

implementation environment. Macro cells can be regarded as cells where the base

station antenna is installed on a mast or a building above average roof top level.

Micro cells are cells whose antenna height is under average roof top level; they are

typically used in urban areas. Picocells are small cells whose coverage diameter is a

few dozen meters; they are mainly used indoors. Umbrella cells are used to cover

shadowed regions of smaller cells and fill in gaps in coverage between those cells.

Cell horizontal radius varies depending on antenna height, antenna gain and

propagation conditions from a couple of hundred meters to several tens of

kilometers. The longest distance the GSM specification supports in practical use is

35 kilometres (22 mi). There are also several implementations of the concept of an

extended cell, where the cell radius could be double or even more, depending on

the antenna system, the type of terrain and the timing advance.

Indoor coverage is also supported by GSM and may be achieved by using an indoor

picocell base station, or an indoor repeater with distributed indoor antennas fed

through power splitters, to deliver the radio signals from an antenna outdoors to the

separate indoor distributed antenna system. These are typically deployed when a lot

of call capacity is needed indoors, for example in shopping centers or airports.

However, this is not a prerequisite, since indoor coverage is also provided by in-

building penetration of the radio signals from nearby cells.

The modulation used in GSM is Gaussian minimum-shift keying (GMSK), a kind

of continuous-phase frequency shift keying. In GMSK, the signal to be modulated

onto the carrier is first smoothed with a Gaussian low-pass filter prior to being fed

60

Page 61: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

to a frequency modulator, which greatly reduces the interference to neighboring

channels (adjacent channel interference).

Interference with audio devices

This is a form of RFI, and could be mitigated or eliminated by use of additional

shielding and/or bypass capacitors in these audio devices. However, the increased

cost of doing so is difficult for a designer to justify.

It is a common occurrence for a nearby GSM handset to induce a "dit, dit di-dit, dit

di-dit, dit di-dit" output on PA's, wireless microphones, home stereo systems,

televisions, computers, cordless phones, and personal music devices. When these

audio devices are in the near field of the GSM handset, the radio signal is strong

enough that the solid state amplifiers in the audio chain act as a detector. The

clicking noise itself represents the power bursts that carry the TDMA signal. These

signals have been known to interfere with other electronic devices, such as car

stereos and portable audio players.

Network structure

The structure of a GSM network

The network behind the GSM system seen by the customer is large and

complicated in order to provide all of the services which are required. It is divided

into a number of sections and these are each covered in separate articles.

the Base Station Subsystem (the base stations and

their controllers).

the Network and Switching Subsystem (the part of

the network most similar to a fixed network). This

is sometimes also just called the core network.

the GPRS Core Network (the optional part which

allows packet based Internet connections).

61

Page 62: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

all of the elements in the system combine to

produce many GSM services such as voice calls

and SMS.

Subscriber identity module

One of the key features of GSM is the Subscriber Identity Module (SIM),

commonly known as a SIM card. The SIM is a detachable smart card containing

the user's subscription information and phonebook. This allows the user to retain

his or her information after switching handsets. Alternatively, the user can also

change operators while retaining the handset simply by changing the SIM. Some

operators will block this by allowing the phone to use only a single SIM, or only a

SIM issued by them; this practice is known as SIM locking, and is illegal in some

countries.

In Australia, Canada, Europe and the United States many operators lock the

mobiles they sell. This is done because the price of the mobile phone is typically

subsidised with revenue from subscriptions, and operators want to try to avoid

subsidising competitor's mobiles. A subscriber can usually contact the provider to

remove the lock for a fee, utilize private services to remove the lock, or make use

of ample software and websites available on the Internet to unlock the handset

themselves. While most web sites offer the unlocking for a fee, some do it for free.

The locking applies to the handset, identified by its International Mobile

Equipment Identity (IMEI) number, not to the account (which is identified by the

SIM card). It is always possible to switch to another (non-locked) handset if such a

handset is available.

Some providers will unlock the phone for free if the customer has held an account

for a certain time period. Third party unlocking services exist that are often quicker

and lower cost than that of the operator. In most countries, removing the lock is

62

Page 63: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

legal. United States-based AT&T and T-Mobile provide free unlocking services to

their customers after 3 months of subscription.

In countries like Belgium, India, Indonesia and Pakistan, etc., all phones are sold

unlocked. However, in Belgium, it is unlawful for operators there to offer any form

of subsidy on the phone's price. This was also the case in Finland until April 1,

2006, when selling subsidized combinations of handsets and accounts became

legal, though operators have to unlock phones free of charge after a certain period

(at most 24 months).

GSM security

GSM was designed with a moderate level of security. The system was designed to

authenticate the subscriber using a pre-shared key and challenge-response.

Communications between the subscriber and the base station can be encrypted. The

development of UMTS introduces an optional USIM, that uses a longer

authentication key to give greater security, as well as mutually authenticating the

network and the user - whereas GSM only authenticated the user to the network

(and not vice versa). The security model therefore offers confidentiality and

authentication, but limited authorization capabilities, and no non-repudiation.

GSM uses several cryptographic algorithms for security. The A5/1 and A5/2 stream

ciphers are used for ensuring over-the-air voice privacy. A5/1 was developed first

and is a stronger algorithm used within Europe and the United States; A5/2 is

weaker and used in other countries. A large security advantage of GSM over earlier

systems is that the Key, the crypto variable stored on the SIM card that is the key to

any GSM ciphering algorithm, is never sent over the air interface. Serious

weaknesses have been found in both algorithms, and it is possible to break A5/2 in

real-time in a ciphertext-only attack. The system supports multiple algorithms so

operators may replace that cipher with a stronger one.

63

Page 64: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

64

CHAPTER 6POWER SUPPLY

 

Page 65: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

REGULATED POWER SUPPLY

A variable regulated power supply, also called a variable bench power

supply, is one where you can continuously adjust the output voltage to your

requirements. Varying the output of the power supply is the recommended

way to test a project after having double checked parts placement against

circuit drawings and the parts placement guide.

This type of regulation is ideal for having a simple variable bench power

supply. Actually this is quite important because one of the first projects a

hobbyist should undertake is the construction of a variable regulated power

supply. While a dedicated supply is quite handy e.g. 5V or 12V, it's much

handier to have a variable supply on hand, especially for testing.

Most digital logic circuits and processors need a 5 volt power supply. To use

these parts we need to build a regulated 5 volt source. Usually you start with

an unregulated power To make a 5 volt power supply, we use a LM7805

voltage regulator IC (Integrated Circuit). The IC is shown below.

65

Page 66: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

The LM7805 is simple to use. You simply connect the positive lead of your

unregulated DC power supply (anything from 9VDC to 24VDC) to the Input

pin, connect the negative lead to the Common pin and then when you turn on

the power, you get a 5 volt supply from the Output pin.

CIRCUIT FEATURES

Brief description of operation: Gives out well regulated +5V output, output

current capability of 100 mA

Circuit protection: Built-in overheating protection shuts down output when

regulator IC gets too hot

Circuit complexity: Very simple and easy to build

Circuit performance: Very stable +5V output voltage, reliable operation

Availability of components: Easy to get, uses only very common basic

66

Page 67: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

components Design testing: Based on datasheet example circuit, I have used

this circuit succesfully as part of many electronics projects

Applications: Part of electronics devices, small laboratory power supply

Power supply voltage: Unreglated DC 8-18V power supply

Power supply current: Needed output current + 5 mA

Component costs: Few dollars for the electronics components + the input

transformer cost

BLOCK DIAGRAM:

The above block diagram will shows the regulated power supply in this

the power supply can be given from 230V AC supply which will be given to

67

Page 68: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

the 12v-0-12v step down transformer whose output voltage 12V AC. Again

this voltage can be converted into DC voltage by using the Bridge rectifier,

but this voltage is a pulsating DC voltage and this can be converting into pure

DC by connecting the capacitors, and this pure 12V DC will be given to the

7805 voltage regulators whose output voltage is an 5V DC and this can be

given to the microcontroller as a power supply.

EXAMPLE CIRCUIT DIAGRAM:

WE CAN EVEN USE A USB CONNECTOR FOR THE REQUIRED

SUPPLY INSTEAD OF THE ABOVE CIRCUIT

68

Page 69: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Introduction

The most commonly used Character based LCDs are based on Hitachi's HD44780

controller or other which are compatible with HD44580. In this tutorial, we will

69

CHAPTER 7LCD INTERFACING

Page 70: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

discuss about character based LCDs, their interfacing with various

microcontrollers, various interfaces (8-bit/4-bit), programming, special stuff and

tricks you can do with these simple looking LCDs which can give a new look to

your application.

Pin Description

The most commonly used LCD’s found in the market today are 1 Line, 2 Line or 4

Line LCDs which have only 1 controller and support at most of 80 characters,

whereas LCDs supporting more than 80 characters make use of 2 HD44780

controllers.

Most LCDs with 1 controller has 14 Pins and LCDs with 2 controller has 16 Pins

(two pins are extra in both for back-light LED connections). Pin description is

shown in the table below.

Pin No. Name Description

Pin no. 1 VSS Power supply (GND)

Pin no. 2 VCC Power supply (+5V)

Pin no. 3 VEE Contrast adjust

Pin no. 4 RS0 = Instruction input

1 = Data input

Pin no. 5 R/W 0 = Write to LCD

module

70

Page 71: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

1 = Read from LCD

module

Pin no. 6 EN Enable signal

Pin no. 7 D0 Data bus line 0 (LSB)

Pin no. 8 D1 Data bus line 1

Pin no. 9 D2 Data bus line 2

Pin no. 10 D3 Data bus line 3

Pin no. 11 D4 Data bus line 4

Pin no. 12 D5 Data bus line 5

Pin no. 13 D6 Data bus line 6

Pin no. 14 D7 Data bus line 7 (MSB)

DDRAM - Display Data RAM

Display data RAM (DDRAM) stores display data represented in 8-bit character

codes. Its extended capacity is 80 X 8 bits, or 80 characters. The area in display

data RAM (DDRAM) that is not used for display can be used as general data RAM.

So whatever you send on the DDRAM is actually displayed on the LCD. For LCDs

like 1x16, only 16 characters are visible, so whatever you write after 16 chars is

written in DDRAM but is not visible to the user.

CGROM - Character Generator ROM

71

Page 72: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Now you might be thinking that when you send an ASCII value to DDRAM, how

the character is displayed on LCD? So the answer is CGROM. The character

generator ROM generates 5 x 8 dot or 5 x 10 dot character patterns from 8-bit

character codes (see Figure 5 and Figure 6 for more details). It can generate 208 5 x

8 dot character patterns and 32 5 x 10 dot character patterns. User defined character

patterns are also available by mask-programmed ROM.

As you can see in both the code maps, the character code from 0x00 to 0x07 is

occupied by the CGRAM characters or the user defined characters. If user wants to

display the fourth custom character then the code to display it is 0x03 i.e. when

user sends 0x03 code to the LCD DDRAM then the fourth user created character or

pattern will be displayed on the LCD.

CGRAM - Character Generator RAM

As clear from the name, CGRAM area is used to create custom characters in LCD.

In the character generator RAM, the user can rewrite character patterns by

program. For 5 x 8 dots, eight character patterns can be written, and for 5 x 10 dots,

four character patterns can be written.

BF - Busy Flag

Busy Flag is a status indicator flag for LCD. When we send a command or data to

the LCD for processing, this flag is set (i.e. BF =1) and as soon as the instruction is

executed successfully this flag is cleared (BF = 0). This is helpful in producing and

exact amount of delay for the LCD processing.

72

Page 73: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

To read Busy Flag, the condition RS = 0 and R/W = 1 must be met and The MSB

of the LCD data bus (D7) act as busy flag. When BF = 1 means LCD is busy and

will not accept next command or data and BF = 0 means LCD is ready for the next

command or data to process.

Instruction Register (IR) and Data Register (DR)

There are two 8-bit registers in HD44780 controller Instruction and Data register.

Instruction register corresponds to the register where you send commands to LCD

e.g. LCD shift command, LCD clear, LCD address etc. and Data register is used for

storing data which is to be displayed on LCD. When send the enable signal of the

LCD is asserted, the data on the pins is latched in to the data register and data is

then moved automatically to the DDRAM and hence is displayed on the LCD.

Data Register is not only used for sending data to DDRAM but also for CGRAM,

the address where you want to send the data, is decided by the instruction you send

to LCD.

4-bit programming of LCD

In 4-bit mode the data is sent in nibbles, first we send the higher nibble and then the

lower nibble. To enable the 4-bit mode of LCD, we need to follow special sequence

of initialization that tells the LCD controller that user has selected 4-bit mode of

73

Page 74: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

operation. We call this special sequence as resetting the LCD. Following is the

reset sequence of LCD.

Wait for about 20mS

Send the first init value (0x30)

Wait for about 10mS

Send second init value (0x30)

Wait for about 1mS

Send third init value (0x30)

Wait for 1mS

Select bus width (0x30 - for 8-bit and 0x20 for 4-bit)

Wait for 1mS

The busy flag will only be valid after the above reset sequence. Usually we do not

use busy flag in 4-bit mode as we have to write code for reading two nibbles from

the LCD. Instead we simply put a certain amount of delay usually 300 to 600uS.

This delay might vary depending on the LCD you are using, as you might have a

different crystal frequency on which LCD controller is running. So it actually

depends on the LCD module you are using.

In 4-bit mode, we only need 6 pins to interface an LCD. D4-D7 are the data pins

connection and Enable and Register select are for LCD control pins. We are not

using Read/Write (RW) Pin of the LCD, as we are only writing on the LCD so we

have made it grounded permanently. If you want to use it, then you may connect it

on your controller but that will only increase another pin and does not make any big

74

Page 75: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

difference. Potentiometer RV1 is used to control the LCD contrast. The unwanted

data pins of LCD i.e. D0-D3 are connected to ground.

Sending data/command in 4-bit Mode

We will now look into the common steps to send data/command to LCD when

working in 4-bit mode. In 4-bit mode data is sent nibble by nibble, first we send

higher nibble and then lower nibble. This means in both command and data sending

function we need to separate the higher 4-bits and lower 4-bits.

The common steps are:

Mask lower 4-bits

Send to the LCD port

Send enable signal

Mask higher 4-bits

Send to LCD port

Send enable signal

75

Page 76: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

76

CHAPTER 8SERIAL

INTERFACING (MAX 232)

 

Page 77: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

MAX 232

Introduction

MAX-232 is primary used for people building electronics with an RS-232

interface. Serial RS-232 communication works with voltages (-15V ... -3V for

high) and +3V ... +15V for low) which are not compatible with normal computer

logic voltages. To receive serial data from an RS-232 interface the voltage has to be

reduced, and the low and high voltage level inverted. In the other direction (sending

data from some logic over RS-232) the low logic voltage has to be "bumped up",

and a negative voltage has to be generated, too.

77

Page 78: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Fig 5.11 Pin Diagram Of Max 232

Introduction

In telecommunications, RS-232 is a standard for serial binary data interconnection

between a DTE (Data terminal equipment) and a DCE (Data Circuit-terminating

Equipment). It is commonly used in computer serial ports.

Scope of the Standard:

The Electronic Industries Alliance (EIA) standard RS-232-C [3] as of 1969 defines:

Electrical signal characteristics such as voltage levels, signaling rate, timing and

slew-rate of signals, voltage withstand level, short-circuit behavior, maximum stray

capacitance and cable length

Interface mechanical characteristics, pluggable connectors and pin identification

Functions of each circuit in the interface connector

Standard subsets of interface circuits for selected telecom applications

The standard does not define such elements as character encoding (for example,

ASCII, Baudot or EBCDIC), or the framing of characters in the data stream (bits

per character, start/stop bits, parity). The standard does not define protocols for

error detection or algorithms for data compression.

78

Page 79: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

The standard does not define bit rates for transmission, although the standard says

it is intended for bit rates lower than 20,000 bits per second. Many modern devices

can exceed this speed (38,400 and 57,600 bit/s being common, and 115,200 and

230,400 bit/s making occasional appearances) while still using RS-232 compatible

signal levels.

Details of character format and transmission bit rate are controlled by the serial port

hardware, often a single integrated circuit called a UART that converts data from

parallel to serial form. A typical serial port includes specialized driver and receiver

integrated circuits to convert between internal logic levels and RS-232 compatible

signal levels.

Circuit Working Description

In this circuit the MAX 232 IC used as level logic converter. The MAX232 is a

dual driver/receiver that includes a capacive voltage generator to supply EIA 232

voltage levels from a single 5v supply. Each receiver converts EIA-232 to 5v

TTL/CMOS levels. Each driver converts TLL/CMOS input levels into EIA-232

levels.

79

Page 80: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

In this circuit the microcontroller transmitter pin is connected in the MAX232

T2IN pin which converts input 5v TTL/CMOS level to RS232 level. Then T2OUT

pin is connected to reviver pin of 9 pin D type serial connector which is directly

connected to PC.

In PC the transmitting data is given to R2IN of MAX232 through transmitting pin

of 9 pin D type connector which converts the RS232 level to 5v TTL/CMOS level.

The R2OUT pin is connected to receiver pin of the microcontroller. Likewise the

80

Page 81: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

data is transmitted and received between the microcontroller and PC or other

device vice versa.

81

Page 82: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

82

CHAPTER 9SOURCE CODE

Page 83: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

Source Code

# include <8052.h>

# include "LcdV2.h" // On P0

# include "GsmV1.h" // On Serial Port

# include "VerV1.h" // No Port

# define NO 1

# define YES 0

# define DEVICE1 P2_0

# define RX_BUF_SIZE 30

# define SMS_DATA_LEN 5

# define SMS_INDEX 43

# define CMD1_START 0

# define CMD1_LEN 2

83

Page 84: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

# define CMD2_START 0

# define CMD2_LEN 9

# define CMD3_START 9

# define CMD3_LEN 17

# define CMD4_START 26

# define CMD4_LEN 10

# define CMD5_START 36

# define CMD5_LEN 5

# define CMD6_START 41

# define CMD6_LEN 4

# define CMD7_START 41

# define CMD7_LEN 4

# define ERROR_STR_LEN 5

# define OK_LEN 2

# define CR_LEN 3

/************************************************ Global variable

declarations */

unsigned char gucRxBuf[RX_BUF_SIZE],

gucSmsData[SMS_DATA_LEN];

unsigned char gucSmsCount = 0,

gucRxCount = 0,

gucGsmCh = 0;

unsigned int gucGsmState = 0;

84

Page 85: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

unsigned char gucAtCmds[49] =

"AT+CMGF=0AT+CNMI=2,2,0,0,0AT+IFC=O,OAT&D0ATE0ATE1";

/

***************************************************************

Prototypes */

void SerialInit(void);

void GsmInit(void);

void SendInitAtCmds(void);

void SerialPutc(unsigned char ucCh);

void SerialPut(unsigned char ucIndex,unsigned int ucLen);

unsigned char SendAtCmd(unsigned char ucCmdStart,unsigned char

ucCmdLen);

void SendSms(unsigned char *ucpStr,unsigned char Len);

void SendSms2(unsigned char *ucpStr,unsigned char Len);

void RecieveSms(unsigned char *ucSmsData, unsigned char ucLen);

/**************************************************** Function

Definitions */

void serial0() interrupt 4

{

gucGsmCh = SBUF;

switch(gucGsmState)

{

85

Page 86: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

case 0:

if(gucGsmCh == '+')

gucGsmState = 1;

break;

case 1:

if((gucGsmCh == 'c') || (gucGsmCh == 'C'))

gucGsmState = 2;

else

gucGsmState = 0;

break;

case 2:

if((gucGsmCh == 'm') || (gucGsmCh == 'M'))

gucGsmState = 3;

else

gucGsmState = 0;

break;

case 3:

if((gucGsmCh == 't') || (gucGsmCh == 'T'))

gucGsmState = 4;

else

gucGsmState = 0;

break;

case 4:

if(gucGsmCh == ':')

gucGsmState = 5;

else

gucGsmState = 0;

86

Page 87: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

break;

case 5:

gucSmsCount++;

gucRxCount = 0;

if(gucSmsCount >= SMS_INDEX)

gucSmsData[gucSmsCount - SMS_INDEX]

= gucGsmCh;

break;

defalut:

break;

}

gucRxBuf[gucRxCount] = gucGsmCh;

gucRxCount++;

if(gucRxCount >= RX_BUF_SIZE)

gucRxCount = 0;

RI = 0;

}

void GsmInit(void)

{

unsigned char i;

gucGsmState = 0;

gucSmsCount = 0;

gucGsmCh = 0;

TI = 0;

RI = 0;

for(i = 0; i < RX_BUF_SIZE; i++)

87

Page 88: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

gucRxBuf[i] = 0;

for(i = 0; i < SMS_DATA_LEN; i++)

gucSmsData[i] = 0;

}

void SendInitAtCmds(void)

{

while(!(SendAtCmd(CMD4_START,CMD4_LEN)));

while(!(SendAtCmd(CMD5_START,CMD5_LEN)));

while(!(SendAtCmd(CMD1_START,CMD1_LEN)));

while(!(SendAtCmd(CMD2_START,CMD2_LEN)));

while(!(SendAtCmd(CMD3_START,CMD3_LEN)));

while(!(SendAtCmd(CMD6_START,CMD6_LEN)));

}

void SerialInit(void)

{

TMOD = 0x20;

TH1 = 0xfd;

SCON = 0x50;

}

void SerialPutc(unsigned char ucCh)

{

unsigned int i = 0;

unsigned int j = 0;

88

Page 89: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

SBUF = ucCh;

while(TI == 0);

TI = 0;

for(i = 0; i < 20000; i++);

}

void SerialPut(unsigned char ucIndex,unsigned int ucLen)

{

unsigned int i;

for(i = ucIndex; i < (ucIndex + ucLen); i++)

SerialPutc(gucAtCmds[i]);

SerialPutc(0x0d);

SerialPutc(0x0a);

}

unsigned char SendAtCmd(unsigned char ucCmdStart,unsigned char

ucCmdLen)

{

unsigned int i,j;

gucRxCount = 0;

SerialPut(ucCmdStart,ucCmdLen);

for(j = 0; j < 5; j++)

for(i = 0; i < 40000; i++);

if((gucRxBuf[ucCmdLen+3] == 'O') || (gucRxBuf[ucCmdLen+3] ==

'o'))

{

for(i = ucCmdLen+3; i < ucCmdLen+5; i++)

89

Page 90: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

LcdPutc(gucRxBuf[i]);

gucRxCount = 0;

}

else

{

#ifdef GSM_DEBUG

if((gucRxBuf[ucCmdLen+3] == 'E') || (gucRxBuf[ucCmdLen+3] ==

'e'))

{

for(i = ucCmdLen+3; i < ucCmdLen+8; i++)

LcdPutc(gucRxBuf[i]);

gucRxCount = 0;

}

}

void RecieveSms(unsigned char *ucSmsData, unsigned char ucLen)

{

unsigned int i,j;

GsmInit();

while(gucSmsCount < SMS_INDEX);

for(i = 0; i < 10; i++)

for(j = 0; j < 40000; j++);

for(i = 0; i < ucLen; i++)

*(ucSmsData + i) = gucSmsData[i];

90

Page 91: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

*(ucSmsData + i) = 0;

}

void SendSms(unsigned char *ucpStr,unsigned char ucLen)

{

# define SMS_CMD_LEN1 21

# define CTRLZ 0x1a

unsigned char ucSmsSendCmd[21] = "AT+CMGS=+918179715208";

unsigned int ucIndex = 0,

i = 0,

j = 0;

gucRxCount = 0;

for(ucIndex = 0; ucIndex < SMS_CMD_LEN1; ucIndex++)

SerialPutc(ucSmsSendCmd[ucIndex]);

for(ucIndex = 0; ucIndex < SMS_CMD_LEN1; ucIndex++)

for(i = 0; i < ucLen; i++)

SerialPutc(*(ucpStr+i));

for(i = 0; i < 2; i++)

for(j = 0; j < 40000; j++);

SerialPutc(CTRLZ);

for(i = 0; i < 10; i++)

for(j = 0; j < 40000; j++);

}

91

Page 92: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

# define LCD_DELAY 400

# define LCD_PORT P0

# define RS P0_0

# define RW P0_1

# define EN P0_2

bit gbStatus = 0;

void Delay(unsigned int j)

{

unsigned int i;

for(i = 0; i < j ; i++);

}

void LcdInitWrite(unsigned char ucCmd)

{

RS = 0;

RW = 0;

LCD_PORT = ucCmd;

EN = 1;

Delay(LCD_DELAY);

EN = 0;

}

void LcdCmd(unsigned char ucCmd)

92

Page 93: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

{

unsigned char ucTemp;

if(gbStatus)

{

gbStatus=0;

goto NEXT;

}

RS = 0;

NEXT:

RW = 0;

ucTemp = ucCmd;

ucTemp &= 0xf0;

LCD_PORT &= 0x0f;

LCD_PORT |= ucTemp;

EN = 1;

Delay(LCD_DELAY);

EN = 0;

ucTemp = (ucCmd >> 4);

ucTemp &= 0xf0;

LCD_PORT &= 0x0f;

LCD_PORT |= ucTemp;

}

void LcdData(unsigned char ucData)

{

93

Page 94: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

gbStatus = 1;

RS = 1;

LcdCmd(ucData);

}

void LcdInit(void)

{

LcdCmd(0x28);

Delay(LCD_DELAY);

LcdCmd(0x85);

Delay(LCD_DELAY);

LcdCmd(6);

Delay(LCD_DELAY);

LcdCmd(1);

Delay(LCD_DELAY);

}

void LcdPuts(unsigned char *ucStr)

{

unsigned int i;

for(i = 0; ucStr[i] !=0 ; i++)

LcdData(ucStr[i]);

}

void LcdPutc(unsigned char ucCh)

{

LcdData(ucCh);

}

94

Page 95: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

void LcdClear(void)

{

LcdCmd(0x01);

}

95

Page 96: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

96

CHAPTER 10KEIL SOFTWARE

Page 97: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

1. Click on the Keil uVision Icon on DeskTop

2. The following fig will appear

3. Click on the Project menu from the title bar

4. Then Click on New Project

97

Page 98: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

5. Save the Project by typing suitable project name with no extension in u r own folder sited in either C:\ or D:\

98

Page 99: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

6. Then Click on Save button above.

7. Select the component for u r project. i.e. Philips……

8. Click on the + Symbol beside of Philips

99

Page 100: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

9. Select AT89S52 as shown below

10. Then Click on “OK”

11. The Following fig will appear

100

Page 101: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

12. Then Click either YES or NO………mostly “NO”

13. Now your project is ready to USE

14. Now double click on the Target1, you would get another option

“Source group 1” as shown in next page.

101

Page 102: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

15. Click on the file option from menu bar and select “new”

102

Page 103: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

16. The next screen will be as shown in next page, and just maximize it

by double clicking on its blue boarder.

17. Now start writing program in either in “C” or “ASM”

18. For a program written in Assembly, then save it with extension “.

asm” and for “C” based program save it with extension “ .C”

103

Page 104: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

19. Now right click on Source group 1 and click on “Add files to Group

Source”

104

Page 105: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

20. Now you will get another window, on which by default “C” files will

appear.

105

Page 106: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

21. Now select as per your file extension given while saving the file

22. Click only one time on option “ADD”

23. Now Press function key F7 to compile. Any error will appear if so

happen.

24. If the file contains no error, then press Control+F5 simultaneously.

25. The new window is as follows

106

Page 107: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

26. Then Click “OK”

27. Now Click on the Peripherals from menu bar, and check your

required port as shown in fig below

28. Drag the port a side and click in the program file.

107

Page 108: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

29. Now keep Pressing function key “F11” slowly and observe.

30. You are running your program successfully

108

Page 109: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

APPLICATIONS:

1. Applicable in industries to know the status of the machinery working properly or not

2. Applicable in hotels & restaurants, to provide better service to the customers

FUTURE SCOPE:

We can make controlling the devices through remote by using gsm modem. Data retrieving and controlling is also we can make

CONCLUSION:

We had concluded that the project is retrieving the data with the help of gsm modem. The arm controller is capable to control the rf communication and know

the status of the devices with the help of lcd display.

109

Page 110: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

110

CHAPTER 11BIBLIOGRAPHY

Page 111: Identifying of Objects Using Rf Transmitter and Receiver and Data Retrieving Using Gsm

BIBLIOGRAPHY

The 8051 Micro controller and Embedded Systems

-Muhammad Ali Mazidi -Janice Gillispie Mazidi

The 8051 Micro controller Architecture, Programming & Applications

-Kenneth J.Ayala

Fundamentals Of Micro processors and Micro computer -B.Ram

Micro processor Architecture, Programming & Applications

-Ramesh S.Gaonkar

Electronic Components -D.V.Prasad

Wireless Communications - Theodore S. Rappaport

Mobile Tele Communications - William C.Y. Lee

References on the Web:

www.national.comwww.nxp.comwww.8052.com

www.microsoftsearch.comwww.geocities.com

111