Top Banner
CHAPTER-1 INTRODUCTION
96

@@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Jul 29, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

CHAPTER-1

INTRODUCTION

Page 2: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

1.INTRODUCTION

EMBEDDED SYSTEM:

An embedded system is a special-purpose system in which the computer

is completely encapsulated by or dedicated to the device or system it controls. Unlike

a general-purpose computer, such as a personal computer, an embedded system

performs one or a few predefined tasks, usually with very specific requirements. Since

the system is dedicated to specific tasks, design engineers can optimize it, reducing

the size and cost of the product. Embedded systems are often mass-produced,

benefiting from economies of scale.

Personal digital assistants (PDAs) or handheld computers are generally

considered embedded devices because of the nature of their hardware design, even

though they are more expandable in software terms. This line of definition continues

to blur as devices expand. With the introduction of the OQO Model 2 with the

Windows XP operating system and ports such as a USB port — both features usually

belong to "general purpose computers", — the line of nomenclature blurs even more.

Physically, embedded systems ranges 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.

In terms of complexity embedded systems can range from very simple with a

single microcontroller chip, to very complex with multiple units, peripherals and

networks mounted inside a large chassis or enclosure.

Figure1.1

Page 3: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Examples of Embedded Systems:

Avionics, such as inertial guidance systems, flight control hardware/software and

other integrated systems in aircraft and missiles

Cellular telephones and telephone switches

Engine controllers and antilock brake controllers for automobiles

Home automation products, such as thermostats, air conditioners, sprinklers,

and security monitoring systems

Handheld calculators

Handheld computers

Household appliances, including microwave ovens, washing machines, televi-

sion sets, DVD players and recorders

Medical equipment

Personal digital assistant

Videogame consoles

Computer peripherals such as routers and printers.

BLOCK DIAGRAM:

AMBULANCE 1 SECTION:

FIGURE1.1

MICRO CONTROLLER

ZIGBEE TRANCEIVER

KEYPAD

POWER SUPPLY

Page 4: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

AMBULANCE 2 SECTION:

Figure1.2

TRAFFIC SIGNAL SECTION:

Figure1.3

POWER SUPPLY:

MICRO CONTROLLER

ZIGBEE TRANCEIVER

KEYPAD

POWER SUPPLY

ZIGBEE TRANSCEIVER

MICRO

CONTROLLER

TRAFFIC SIGNALLIGHTS

POWER SUPPLY

Step DownTransformer

BridgeRectifier

FilterCircuit

Regulator section

Page 5: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

DESCRIPTION:

According to this project, it employs 3 sections, one is placed at traffic signal

junction and the other two sections placed in two different Ambulances. The sections

placed in the ambulance contains 5 switches for the operations Emergency, Normal,

out, direction 1 and direction 2.

So according to this project, whenever the ambulance is yet to reach a traffic

signal junction, the concerned person need to press the switches like Emergency /

Normal priority and direction 1 / 2 informing the direction and priority of ambulance

reaching the signal junction. The other section placed at traffic signal receives the

information and takes the control action according to the priority. The control action

is in the form of timing for Green lights. If both are of high priority i.e. Emergency

then the one who pressed first will be given priority.

The communication between the sections is done using Zigbee technology.

Each and every section is designed around a microcontroller as a control unit. The

Zigbee module is interfaced to microcontroller.

TECHNOLOGY:

Now a day's every system is automated in order to face new

challenges. In the present days Automated systems have less manual operations,

flexibility, reliability and accurate. Due to this demand every field prefers automated

control systems. Especially in the field of electronics automated systems are giving

good performance. And this is realized by making use of Zigbee technology for

communication. Zigbee is new wireless technology guided by IEEE 802.15.4

Personal Area Network standard. It is primarily designed for the wide ranging

controlling applications and to replace the existing non-standard technologies. It

currently operates in 868MHz band at a data rate of 20Kbps in Europe, 914MHz band

at 40kbps in USA, and the 2.4GHz ISM bands Worldwide at a maximum data-rate of

250kbps.

Page 6: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

SOFTWARES:

1. Embedded C

2. Keil IDE

3. Uc-Flash

HARDWARES:

AMBULANCE SECTION:

1. Micro Controller

2. Keypad

3. Zigbee transceiver

4. Power Supply

TRAFFIC SIGNAL SECTION:

1. Traffic Signal Lights

2. Micro Controller

3. Zigbee transceiver

4. Power Supply

Page 7: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

CHAPTER-2

INTRODUCTION TO

MICROCONTROLLER

Page 8: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

2. Introduction To Microcontroller

2.1 A BRIEF HISTORY OF 8051:

In 1981, Intel Corporation introduced an 8 bit microcontroller called 8051.

This microcontroller had 128 bytes of RAM, 4K bytes of chip ROM, two timers, one

serial port, and four ports all on a single chip. At the time it was also referred as “A

SYSTEM ON A CHIP”

2.2 AT89S52:

The AT89S52 is a low-power, high-performance CMOS 8-bit microcontroller with

8K bytes of in-system programmable Flash memory. The device is manufactured

using Atmel’s high-density nonvolatile memory technology and is compatible with

the industry-standard 80C51 instruction set and pinout. The on-chip Flash allows the

program memory to be reprogrammed in-system or by a conventional nonvolatile

memory pro-grammer. By combining a versatile 8-bit CPU with in-system

programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful

microcontroller, which provides a highly flexible and cost-effective solution to many,

embedded control applications. The AT89S52 provides the following standard

features: 8K bytes of Flash, 256 bytes of RAM, 32 I/O lines, Watchdog timer, two

data pointers, three 16-bit timer/counters, a six-vector two-level interrupt architecture,

a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the

AT89S52 is designed with static logic for operation down to zero frequency and

supports two software selectable power saving modes. The Idle Mode stops the CPU

while allowing the RAM, timer/counters, serial port, and interrupt system to continue

functioning. The Power-down mode saves the RAM con-tents but freezes the

oscillator, disabling all other chip functions until the next interrupt

Figure2.1

Page 9: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Figure2.2

8031 has 128 bytes of RAM, two timers and 6 interrupts.

8051 has 4K ROM, 128 bytes of RAM, two timers and 6 interrupts.

8052 has 8K ROM, 256 bytes of RAM, three timers and 8 interrupts.

Of the three microcontrollers, 8051 is the most preferable. Microcontroller

supports both serial and parallel communication.

In the concerned project 8052 microcontroller is used. Here microcontroller

used is AT89S52, which is manufactured by ATMEL laboratories.

The 8051 is the name of a big family of microcontrollers. The device which

we are going to use along this tutorial is the 'AT89S52' which is a typical 8051

microcontroller manufactured by Atmel™. Note that this part doesn't aim to explain

the functioning of the different components of a 89S52 microcontroller, but rather to

give you a general idea of the organization of the chip and the available features,

which shall be explained in detail along this tutorial.

The block diagram provided by Atmel™ in their datasheet showing the

architecture the 89S52 device can seem very complicated, and since we are going to

use the C high level language to program it, a simpler architecture can be represented

as the figure 1.2.A.

Page 10: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

This figures shows the main features and components that the designer

can interact with. You can notice that the 89S52 has 4 different ports, each one having

8 Input/output lines providing a total of 32 I/O lines. Those ports can be used to

output DATA and orders do other devices, or to read the state of a sensor, or a switch.

Most of the ports of the 89S52 have 'dual function' meaning that they can be used for

two different functions: the fist one is to perform input/output operations and the

second one is used to implement special features of the microcontroller like counting

external pulses, interrupting the execution of the program according to external

events, performing serial data transfer or connecting the chip to a computer to update

the software.

2.3 NECESSITY OF MICROCONTROLLERS:

Microprocessors brought the concept of programmable devices and made

many applications of intelligent equipment. Most applications, which do not need

large amount of data and program memory, tended to be costly.

The microprocessor system had to satisfy the data and program requirements

so, sufficient RAM and ROM are used to satisfy most applications .The peripheral

control equipment also had to be satisfied. Therefore, almost all-peripheral chips were

used in the design. Because of these additional peripherals cost will be comparatively

high.

An example:

8085 chip needs:

An Address latch for separating address from multiplex address and data.32-KB

RAM and 32-KB ROM to be able to satisfy most applications. As also Timer /

Counter, Parallel programmable port, Serial port, and Interrupt controller are needed

for its efficient applications.

In comparison a typical Micro controller 8051 chip has all that the 8051 board

has except a reduced memory as follows.

4K bytes of ROM as compared to 32-KB, 128 Bytes of RAM as compared to 32-KB.

Page 11: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Bulky:

On comparing a board full of chips (Microprocessors) with one chip with all

components in it (Microcontroller).

Debugging:

Lots of Microprocessor circuitry and program to debug. In Micro controller

there is no Microprocessor circuitry to debug.

Slower Development time: As we have observed Microprocessors need a lot of

debugging at board level and at program level, where as, Micro controller do not have

the excessive circuitry and the built-in peripheral chips are easier to program for

operation.

So peripheral devices like Timer/Counter, Parallel programmable port, Serial

Communication Port, Interrupt controller and so on, which were most often used were

integrated with the Microprocessor to present the Micro controller .RAM and ROM

also were integrated in the same chip. The ROM size was anything from 256 bytes to

32Kb or more. RAM was optimized to minimum of 64 bytes to 256 bytes or more.

Microprocessor has following instructions to perform:

1. Reading instructions or data from program memory ROM.

2. Interpreting the instruction and executing it.

3. Microprocessor Program is a collection of instructions stored in a Nonvolatile

memory.

4. Read Data from I/O device

5. Process the input read, as per the instructions read in program memory.

6. Read or write data to Data memory.

7. Write data to I/O device and output the result of processing to O/P device.

Page 12: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Introduction to AT89S52:

The system requirements and control specifications clearly rule out the use of 16,

32 or 64 bit micro controllers or microprocessors. Systems using these may be earlier

to implement due to large number of internal features. They are also faster and more

reliable but, the above application is satisfactorily served by 8-bit micro controller.

Using an inexpensive 8-bit Microcontroller will doom the 32-bit product failure in

any competitive market place. Coming to the question of why to use 89S52 of all the

8-bit Microcontroller available in the market the main answer would be because it has

8kB Flash and 256 bytes of data RAM32 I/O lines, three 16-bit timer/counters, a

Eight-vector two-level interrupt architecture, a full duplex serial port, on-chip

oscillator, and clock circuitry.

In addition, the AT89S52 is designed with static logic for operation down to

zero frequency and supports two software selectable power saving modes. The Idle

Mode stops the CPU while allowing the RAM, timer/counters, serial port, and

interrupt system to continue functioning. The Power Down Mode saves the RAM

contents but freezes the oscillator, disabling all other chip functions until the next

hardware reset. The Flash program memory supports both parallel programming and

in Serial In-System Programming (ISP). The 89S52 is also In-Application

Programmable (IAP), allowing the Flash program memory to be reconfigured even

while the application is running.

By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel

AT89S52 is a powerful microcomputer which provides a highly flexible and cost

effective solution to many embedded control applications.

FEATURES:

Compatible with MCS-51 Products

8K Bytes of In-System Reprogrammable Flash Memory

Fully Static Operation: 0 Hz to 33 MHz

Three-level Program Memory Lock

256 x 8-bit Internal RAM

32 Programmable I/O Lines

Three 16-bit Timer/Counters

Page 13: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Eight Interrupt Sources

Programmable Serial Channel

Low-power Idle and Power-down Modes

4.0V to 5.5V Operating Range

Full Duplex UART Serial Channel

Interrupt Recovery from Power-down Mode

Watchdog Timer

Dual Data Pointer

Power-off Flag

Fast Programming Time

Flexible ISP Programming (Byte and Page Mode)

PIN DIAGRAM:

FIG-2.3 PIN DIAGRAM OF 89S52 IC

Page 14: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

2.4 PIN DESCRIPTION

VCC:

Supply voltage.

GND:

Ground.

Port 0:

Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin can

sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as

highimpedance inputs.Port 0 can also be configured to be the multiplexed loworder

address/data bus during accesses to external program and data memory. In this mode,

P0 has internal pullups. Port 0 also receives the code bytes during Flash programming

and outputs the code bytes during program verification.

External pullups are required during program verification.

Port 1:

Port 1 is an 8-bit bidirectional I/O port with internal pullups. The Port 1 output buffers

can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled

high by the internal pullups and can be used as inputs. As inputs,Port 1 pins that are

externally being pulled low will source current (IIL) because of the internal pullups.

In addition, P1.0 and P1.1 can be configured to be the timer/counter 2 external count

input (P1.0/T2) and the timer/counter 2 trigger input (P1.1/T2EX), respectively, as

shown in the following table. Port 1 also receives the low-order address bytes during

Flash programming and verification.

Page 15: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Port 2:

Port 2 is an 8-bit bidirectional I/O port with internal pullups.The Port 2 output buffers

can sink/source four TTL inputs.When 1s are written to Port 2 pins, they are pulled

high by

the internal pullups and can be used as inputs. As inputs, Port 2 pins that are

externally being pulled low will source current (IIL) because of the internal pullups.

Port 2 emits the high-order address byte during fetches from external program

memory and during accesses to external data memory that use 16-bit addresses

(MOVX @ DPTR). In this application, Port 2 uses strong internal pull-ups when

emitting 1s. During accesses to external data memory that use 8-bit addresses

(MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2

also receives the high-order address bits and some control signals during Flash

programming and verification.

Port 3:

Port 3 is an 8-bit bidirectional I/O port with internal pullups.The Port 3 output buffers

can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled

high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are

externally being pulled low will source current (IIL) because of the pullups. Port 3

also serves the functions of various special features of the AT89S52, as shown in the

following table. Port 3 also receives some control signals for Flash programming and

verification.

RST:

Reset input. A high on this pin for two machine cycles while the oscillator is

running resets the device. This pin drives High for 96 oscillator periods after

Page 16: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

the Watchdog times out. The DISRTO bit in SFR AUXR (address 8EH) can

be used to disable this feature. In the default state of bit DISRTO, the RESET

HIGH out feature is enabled. ALE/PROG Address Latch Enable (ALE) is an

output pulse for latching the low byte of the address during accesses to

external memory. This pin is also the program pulse input (PROG) during

Flash programming. In normal operation, ALE is emitted at a constant rate of

1/6 the oscillator frequency and may be used for external timing or clocking

purposes. Note, however, that one ALE pulse is skipped during each access to

external data memory. If desired, ALE operation can be disabled by setting bit

0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX

or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the

ALE-disable bit has no effect if the microcontroller is in external execution

mode.

PSEN:

Program Store Enable (PSEN) is the read strobe to external program

memory. When the AT89S52 is executing code from external program

memory, PSEN is activated twice each machine cycle, except that two PSEN

activations are skipped during each access to external data memory.

EA/VPP:

External Access Enable. EA must be strapped to GND in order to

enable the device to fetch code from external program memory locations

starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is

programmed, EA will be internally latched on reset. EA should be strapped to

VCC for internal program executions. This pin also receives the 12-volt

programming enable voltage

(VPP) during Flash programming.

XTAL1:

Input to the inverting oscillator amplifier and input to the

nternal clock operating circuit.

XTAL2:

Output from the inverting oscillator amplifier.

Page 17: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

FIG-2.4 Functional block diagram of micro controller

The 8052 Oscillator and Clock:

The heart of the 8051 circuitry that generates the clock pulses by which all

the internal all internal operations are synchronized. Pins XTAL1 And XTAL2 is

provided for connecting a resonant network to form an oscillator. Typically a quartz

crystal and capacitors are employed. The crystal frequency is the basic internal clock

frequency of the microcontroller. The manufacturers make 8051 designs that run at

specific minimum and maximum frequencies typically 1 to 16 MHz.

Fig-2.5 Oscillator and timing circuit

Page 18: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

2.5 MEMORIES:

Types of memory:

The 8052 have three general types of memory. They are on-chip memory,

external Code memory and external Ram. On-Chip memory refers to physically

existing memory on the micro controller itself. External code memory is the code

memory that resides off chip. This is often in the form of an external EPROM.

External RAM is the Ram that resides off chip. This often is in the form of standard

static RAM or flash RAM.

a) Code memory :

Code memory is the memory that holds the actual 8052 programs that is to be

run. This memory is limited to 64K. Code memory may be found on-chip or off-chip.

It is possible to have 8K of code memory on-chip and 60K off chip memory

simultaneously. If only off-chip memory is available then there can be 64K of off chip

ROM. This is controlled by pin provided as EA

b) Internal RAM:

The 8052 have a bank of 256 bytes of internal RAM. The internal RAM is

found on-chip. So it is the fastest Ram available. And also it is most flexible in terms

of reading and writing. Internal Ram is volatile, so when 8051 is reset, this memory is

cleared. 256 bytes of internal memory are subdivided. The first 32 bytes are divided

into 4 register banks. Each bank contains 8 registers. Internal RAM also contains 256

bits, which are addressed from 20h to 2Fh. These bits are bit addressed i.e. each

individual bit of a byte can be addressed by the user. They are numbered 00h to FFh.

The user may make use of these variables with commands such as SETB and CLR.

Special Function registered memory:

Special function registers are the areas of memory that control specific

functionality of the 8052 micro controller.

a) Accumulator (0E0h)

Page 19: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

As its name suggests, it is used to accumulate the results of large no of

instructions. It can hold 8 bit values.

b) B registers (0F0h)

The B register is very similar to accumulator. It may hold 8-bit value. The b

register is only used by MUL AB and DIV AB instructions. In MUL AB the higher

byte of the product gets stored in B register. In div AB the quotient gets stored in B

with the remainder in A.

C)Stack pointer (81h)

The stack pointer holds 8-bit value. This is used to indicate where the

next value to be removed from the stack should be taken from. When a value is to be

pushed onto the stack, the 8052 first store the value of SP and then store the value at

the resulting memory location. When a value is to be popped from the stack, the 8052

returns the value from the memory location indicated by SP and then decrements the

value of SP.

d) Data pointer

The SFRs DPL and DPH work together work together to represent a 16-bit

value called the data pointer. The data pointer is used in operations regarding

external RAM and some instructions code memory. It is a 16-bit SFR and also an

addressable SFR.

e) Program counter

The program counter is a 16 bit register, which contains the 2 byte address,

which tells the 8052 where the next instruction to execute to be found in memory.

When the 8052 is initialized PC starts at 0000h. And is incremented each time an

instruction is executes. It is not addressable SFR.

f) PCON (power control, 87h)

The power control SFR is used to control the 8051’s power control modes.

Certain operation modes of the 8051 allow the 8051 to go into a type of “sleep

mode” which consumes much lee power.

Page 20: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Figure2.6

g) TCON (timer control, 88h)

The timer control SFR is used to configure and modify the way in which the

8051’s two timers operate. This SFR controls whether each of the two timers is

running or stopped and contains a flag to indicate that each timer has overflowed.

Additionally, some non-timer related bits are located in TCON SFR. These bits are

used to configure the way in which the external interrupt flags are activated, which

are set when an external interrupt occurs.

Figure2.7

h) TMOD (Timer Mode, 89h)

The timer mode SFR is used to configure the mode of operation of each of the

two timers. Using this SFR your program may configure each timer to be a 16-bit

timer, or 13 bit timer, 8-bit auto reload timer, or two separate timers. Additionally

you may configure the timers to only count when an external pin is activated or to

count “events” that are indicated on an external pin.

Figure2.8

Page 21: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

i) TO (Timer 0 low/high, address 8A/8C h)

These two SFRs taken together represent timer 0. Their exact behavior

depends on how the timer is configured in the TMOD SFR; however, these timers

always count up. What is configurable is how and when they increment in value.

j) T1 (Timer 1 Low/High, address 8B/ 8D h)

These two SFRs, taken together, represent timer 1. Their exact behavior

depends on how the timer is configured in the TMOD SFR; however, these timers

always count up..

k) P0 (Port 0, address 90h, bit addressable)

This is port 0 latch. Each bit of this SFR corresponds to one of the pins on a

micro controller. Any data to be outputted to port 0 is first written on P0 register. For

e.g., bit 0 of port 0 is pin P0.0, bit 7 is pin p0.7. Writing a value of 1 to a bit of this

SFR will send a high level on the corresponding I/O pin whereas a value of 0 will

bring it to low level.

l) P1 (port 1, address 90h, bit addressable)

This is port latch1. Each bit of this SFR corresponds to one of the pins on a

micro controller. Any data to be outputted to port 0 is first written on P0 register. For

e.g., bit 0 of port 0 is pin P1.0, bit 7 is pin P1.7. Writing a value of 1 to a bit of this

SFR will send a high level on the corresponding I/O pin whereas a value of 0 will

bring it to low level

m) P2 (port 2, address 0A0h, bit addressable):

This is a port latch2. Each bit of this SFR corresponds to one of the pins on a

micro controller. Any data to be outputted to port 0 is first written on P0 register. For

e.g., bit 0 of port 0 is pin P2.0, bit 7 is pin P2.7. Writing a value of 1 to a bit of this

SFR will send a high level on the corresponding I/O pin whereas a value of 0 will

bring it to low level.

Page 22: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

n) P3 (port 3, address B0h, bit addressable) :

This is a port latch3. Each bit of this SFR corresponds to one of the pins on a

micro controller. Any data to be outputted to port 0 is first written on P0 register. For

e.g., bit 0 of port 0 is pin P3.0, bit 7 is pin P3.7. Writing a value of 1 to a bit of this

SFR will send a high level on the corresponding I/O pin whereas a value of 0 will

bring it to low level.

o) IE (interrupt enable, 0A8h):

The Interrupt Enable SFR is used to enable and disable specific interrupts. The

low 7 bits of the SFR are used to enable/disable the specific interrupts, where the

MSB bit is used to enable or disable all the interrupts. Thus, if the high bit of IE is 0

all interrupts are disabled regardless of whether an individual interrupt is enabled by

setting a lower bit.

Figure2.9

p) IP (Interrupt Priority, 0B8h)

The interrupt priority SFR is used to specify the relative priority of each

interrupt. On 8051, an interrupt maybe either low or high priority. An interrupt may

interrupt interrupts. For e.g., if we configure all interrupts as low priority other than

serial interrupt. The serial interrupt always interrupts the system, even if another

interrupt is currently executing. However, if a serial interrupt is executing no other

interrupt will be able to interrupt the serial interrupt routine since the serial interrupt

routine has the highest priority.

Figure2.10

q) PSW (Program Status Word, 0D0h)

The program Status Word is used to store a number of important bits that are

set and cleared by 8052 instructions. The PSW SFR contains the carry flag, the

Page 23: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

auxiliary carry flag, the parity flag and the overflow flag. Additionally, it also

contains the register bank select flags, which are used to select, which of the “R”

register banks currently in use.

Figure2.11

r) SBUF (Serial Buffer, 99h)

SBUF is used to hold data in serial communication. It is physically two

registers. One is writing only and is used to hold data to be transmitted out of 8052 via

TXD. The other is read only and holds received data from external sources via RXD.

Both mutually exclusive registers use address 99h.

2.6 POWER SUPPLY

All digital circuits require regulated power supply. In this article we are going

to learn how to get a regulated positive supply from the mains supply.

 

igure2.12

Figure 1 shows the basic block diagram of a fixed regulated power supply. Let us go

through each block.

Page 24: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

2.6.1 TRANSFORMER:

Figure2.13

A transformer consists of two coils also called as “WINDINGS” namely

PRIMARY & SECONDARY.

They are linked together through inductively coupled electrical conductors

also called as CORE. A changing current in the primary causes a change in the

Magnetic Field in the core & this in turn induces an alternating voltage in the

secondary coil. If load is applied to the secondary then an alternating current will flow

through the load. If we consider an ideal condition then all the energy from the

primary circuit will be transferred to the secondary circuit through the magnetic field.

So  

 

The secondary voltage of the transformer depends on the number of turns in the Primary as well as

in the secondary.

2.6.2 Rectifier:

A rectifier is a device that converts an AC signal into DC signal. For rectification

purpose we use a diode, a diode is a device that allows current to pass only in one

Page 25: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

direction i.e. when the anode of the diode is positive with respect to the cathode also

called as forward biased condition & blocks current in the reversed biased condition.

 Rectifier can be classified as follows:

1) Half Wave rectifier:

Figure2.14

This is the simplest type of rectifier as you can see in the diagram a half wave

rectifier consists of only one diode. When an AC signal is applied to it during the

positive half cycle the diode is forward biased & current flows through it. But during

the negative half cycle diode is reverse biased & no current flows through it. Since

only one half of the input reaches the output, it is very inefficient to be used in power

supplies.

2)  Full wave rectifier:

Figure2.15

Half wave rectifier is quite simple but it is very inefficient, for greater

efficiency we would like to use both the half cycles of the AC signal. This can be

achieved by using a center tapped transformer i.e. we would have to double the size of

Page 26: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

secondary winding & provide connection to the center. So during the positive half

cycle diode D1 conducts & D2 is in reverse biased condition. During the negative half

cycle diode D2 conducts & D1 is reverse biased. Thus we get both the half cycles

across the load.

One of the disadvantages of Full Wave Rectifier design is the necessity of using a

center tapped transformer, thus increasing the size & cost of the circuit. This can be

avoided by using the Full Wave Bridge Rectifier.

 3)BridgeRectifier:

Figure2.16

As the name suggests it converts the full wave i.e. both the positive & the negative

half cycle into DC thus it is much more efficient than Half Wave Rectifier & that too

without using a center tapped transformer thus much more cost effective than Full

Wave Rectifier.

Full Bridge Wave Rectifier consists of four diodes namely D1, D2, D3 and D4.

During the positive half cycle diodes D1 & D4 conduct whereas in the negative half

cycle diodes D2 & D3 conduct thus the diodes keep switching the transformer

connections so we get positive half cycles in the output.

Figure2.17

Page 27: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

 

If we use a center tapped transformer for a bridge rectifier we can get both positive &

negative half cycles which can thus be used for generating fixed positive & fixed

negative voltages.

2.6.3 FILTER CAPACITOR:

Even though half wave & full wave rectifier give DC output, none of them provides a

constant output voltage. For this we require to smoothen the waveform received from

the rectifier. This can be done by using a capacitor at the output of the rectifier this

capacitor is also called as “FILTER CAPACITOR” or “SMOOTHING

CAPACITOR” or “RESERVOIR CAPACITOR”. Even after using this capacitor a

small amount of ripple will remain.

We place the Filter Capacitor at the output of the rectifier the capacitor will charge to the peak

voltage during each half cycle then will discharge its stored energy slowly through the load while

the rectified voltage drops to zero, thus trying to keep the voltage as constant as possible.

Figure2.18

If we go on increasing the value of the filter capacitor then the Ripple will decrease. But

then the costing will increase. The value of the Filter capacitor depends on the current consumed

by the circuit, the frequency of the waveform & the accepted ripple.

Page 28: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

 

Where,

Vr= accepted ripple voltage.( should not be more than 10% of  the voltage)

I= current consumed by the circuit in Amperes.

F= frequency of the waveform. A half wave rectifier has only one peak in one cycle so F=25hz

Whereas a full wave rectifier has Two peaks in one cycle so F=100hz.

2.6.4 VOLTAGE REGULATOR :

A Voltage regulator is a device which converts varying input voltage into a constant

regulated output voltage. Voltage regulator can be of two types

1)      Linear Voltage Regulator

      Also called as Resistive Voltage regulator because they dissipate the excessive

voltage resistively as heat.

2)      Switching Regulators.

      They regulate the output voltage by switching the Current ON/OFF very rapidly.

Since their output is either ON or OFF it dissipates very low power thus achieving

higher efficiency as compared to linear voltage regulators. But they are more complex

& generate high noise due to their switching action. For low level of output power

switching regulators tend to be costly but for higher output wattage they are much

cheaper than linear regulators.

The most commonly available Linear Positive Voltage Regulators are the 78XX

series where the XX indicates the output voltage. And 79XX series is for Negative

Voltage Regulators.

Figure2.19

Page 29: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

 After filtering the rectifier output the signal is given to a voltage regulator. The

maximum input voltage that can be applied at the input is 35V.Normally there is a 2-3

Volts drop across the regulator so the input voltage should be at least 2-3 Volts higher

than the output voltage. If the input voltage gets below the Vmin of the regulator due

to the ripple voltage or due to any other reason the voltage regulator will not be able

to produce the correct regulated voltage.

(i)Circuit diagram:

Fig 2.20. Circuit Diagram of power supply

(ii) IC 7805:

7805 is an integrated three-terminal positive fixed linear voltage regulator. It

supports an input voltage of 10 volts to 35 volts and output voltage of 5 volts. It has a

current rating of 1 amp although lower current models are available. Its output voltage

is fixed at 5.0V. The 7805 also has a built-in current limiter as a safety feature. 7805

is manufactured by many companies, including National Semiconductors and

Fairchild Semiconductors.

The 7805 will automatically reduce output current if it gets too hot.The last

two digits represent the voltage; for instance, the 7812 is a 12-volt regulator. The

78xx series of regulators is designed to work in complement with the 79xx series of

negative voltage regulators in systems that provide both positive and negative

regulated voltages, since the 78xx series can't regulate negative voltages in such a

system.

Page 30: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

The 7805 & 78 is one of the most common and well-known of the 78xx series

regulators, as it's small component count and medium-power regulated 5V make it

useful for powering TTL devices.

Table 2.1. Specifications of IC7805

SPECIFICATIONS IC 7805

Vout 5V

Vein - Vout Difference 5V - 20V

Operation Ambient Temp 0 - 125°C

Output Imax 1A

Page 31: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

CHAPTER-3

KEY PAD

Page 32: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

3.KEYPAD

Fig 3.1 key pad diagram

3.1INTERFACING KEYPAD CIRCUIT:

If the application is so time sensitive that the delays associated with de

bouncing and awaiting an all up cannot be tolerated then some form of interrupt must

be used so that the main program can run unhindered. A compromise may be made by

polling the keyboard as the main program loops, but all time delays are don using

timers so that the main program does not wait for a software delay.

The get key program can be modified to use a timer to generate the delays

associated with the key down de bounce time and the all up delay. The challenge

associated with this approach is to have the program remember which delay is being

timed out. Remembering which delay is in progress can be handled using a flag bit or

one timer can be used to generate the key down de bounce delay and another timer to

generate the key up delay. The two timer approach is examined in the example given

in this section.

The important feature of this approach is that the main program will

check a flag to see whether there is any Keyboard activity. If the flag is set then the

program finds the key stored in a ram location and resets the flag. The getting of the

key is transparent to the main program it is done in the interrupt program.

As you have seen interfacing switches to microcontroller  normally the port

pin is high but when a switch is pressed the controller pin gets a Low signal and we

come to know that a switch has been pressed. One end of switch is connected to the

port pin whereas the other end is connected to the Ground.

Page 33: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

In case of matrix Keypad both the ends of switches are connected to the port

Pin. Over here we have considered a 4x3 matrix keypad i.e. four rows and three

columns. So in all twelve switches have been interfaced using just seven lines. The

adjoining figure shows the diagram of a matrix keypad and how it is interfaced with

the controller.

Figure3.2

As you can see no pin is connected to ground, over here the controller pin itself

provides the ground. We pull one of the Column Pins low & check the row pins if any

of the Pin is low then we come to know which switch is pressed.

Suppose we make column 1 pin low and while checking the rows we get Row 3 is

low then we come to know switch 7 has been pressed.

3.2 ALGORITHM:

1.       Start.

2.       Make All Pins High.

3.       Make Column 1 pin low.

4.       Check if Row 1 is low, if yes then Switch 1 has been pressed.

5.       Check if Row 2 is low, if yes then Switch 4 has been pressed.

6.       Check if row 3 is low if yes then Switch 7 has been pressed.

7.       Check if row 4 is low if yes then Switch 10 has been pressed.

Page 34: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

8.       Make Column 1 Pin high & Column 2 Pin Low.

9.       Check if Row 1 is low, if yes then Switch 2 has been pressed.

10.   Check if Row 2 is low, if yes then Switch 5 has been pressed.

11.   Check if row 3 is low if yes then Switch 8 has been pressed.

12.   Check if row 4 is low if yes then Switch 11 has been pressed.

13.   Make Column 2 Pin high & Column 3 Pin Low.

14.   Check if Row 1 is low, if yes then Switch 3 has been pressed.

15.   Check if Row 2 is low, if yes then Switch 6 has been pressed.

16.   Check if row 3 is low if yes then Switch 9 has been pressed.

17.   Check if row 4 is low if yes then Switch 12 has been pressed.

18.   Make column 3 pin high

19.   Stop

Page 35: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

CHAPTER-4

ZIGBEE TECHNOLOGY

Page 36: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

4.ZIGBEE TECHNOLOGY

4.1 Zig-bee

Figure4.1

Zig-bee is a specification for a suite of high level communication protocols using

small, low-power digital radios based on the IEEE 802.15.4,2006 standard for

wireless personal area networks (WPANs),

such as wireless headphones connecting with cell phones via short-range radio.

The technology defined by the Zig-bee specification is intended to be simpler and less

expensive than other WPANs, such as Bluetooth. Zig-bee is targeted at radio-

frequency (RF) applications that require a low data rate, long battery life, and secure

networking.

Zig-bee is a low data rate, two-way standard for home automation and data

networks. The standard specification for up to 254 nodes including one master,

managed from a single remote control. Real usage examples of Zig-bee includes

home automation tasks such as turning lights on, setting the home security system, or

starting the VCR. With Zig-bee all these tasks can be done from anywhere in the

home at the touch of a button. Zig-bee also allows for dial-in access via the Internet

for automation control.

Zig-bee protocol is optimized for very long battery life measured in months to

years from inexpensive, off-the-shelf non-rechargeable batteries, and can control

lighting, air conditioning and heating, smoke and fire alarms, and other security

devices. The standard supports 2.4 GHz (worldwide), 868 MHz (Europe) and 915

MHz (Americas) unlicensed radio bands with range up to 100 meters.

Page 37: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

IEEE 802.15.4:

IEEE 802.15.4 is a standard which specifies the physical layer and medium

access control for low-rate wireless personal area networks (LR-WPAN's).This

standard was chartered to investigate a low data rate solution with multi-month to

multi-year battery life and very low complexity. It is operating in an unlicensed,

international frequency band.  Potential applications are sensors, interactive toys,

smart badges, remote controls, and home automation.

802.15.4 Is part of the 802.15 wireless personal-area network efforts at the IEEE? It is

a simple packet-based radio protocol aimed at very low-cost, battery-operated widgets

and sensors (whose batteries last years, not hours) that can intercommunicate and

send low-bandwidth data to a centralized device.

As of 2007, the current version of the standard is the 2006 revision. It is maintained

by the IEEE 802.15 working group.

It is the basis for the Zig-bee specification, which further attempts to offer a complete

networking solution by developing the upper layers which are not covered by the

standard.

802.15.4 Protocol:

Data rates of 250 kbps with 10-100 meter range.

Two addressing modes; 16-bit short and 64-bit IEEE addressing.

CSMA-CA channel access.

Power management to ensure low power consumption.

16 channels in the 2.4GHz ISM band

Low duty cycle - Provides long battery life

Low latency

Support for multiple network topologies: Static, dynamic, star and mesh

Up to 65,000 nodes on a network

Comparison with other technologies

Zig-Bee enables broad-based deployment of wireless networks with low-cost, low-

power solutions. It provides the ability to run for years on inexpensive batteries for a

host of monitoring applications: Lighting controls, AMR (Automatic Meter Reading),

Page 38: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

smoke and CO detectors, wireless telemetry, HVAC control, heating control, home

security, Environmental controls and shade controls, etc.

Article I. Zigbee Technology: Wireless Control that Simply Works

Article II. Why is Zigbee needed?

– There are a multitude of standards that address mid to high data rates for voice, PC

LANs, video, etc. However, up till now there hasn’t been a wireless network

standard that meets the unique needs of sensors and control devices. Sensors and

controls don’t need high bandwidth but they do need low latency and very low

energy consumption for long battery lives and for large device arrays.

– There are a multitude of proprietary wireless systems manufactured today to solve

a multitude of problems that also don’t require high data rates but do require low

cost and very low current drain.

– These proprietary systems were designed because there were no standards that met

their requirements. These legacy systems are creating significant interoperability

problems with each other and with newer technologies.

Article III. Zigbee/IEEE 802.15.4 - General Characteristics

Dual PHY (2.4GHz and 868/915 MHz)

• Data rates of 250 kbps (@2.4 GHz), 40 kbps (@ 915 MHz), and 20 kbps

(@868 MHz)

• Optimized for low duty-cycle applications (<0.1%)

• CSMA-CA channel access

– Yields high throughput and low latency for low duty cycle devices like sensors

and controls

• Low power (battery life multi-month to years)

• Multiple topologies: star, peer-to-peer, mesh

• Addressing space of up to:

– 18,450,000,000,000,000,000 devices (64 bit IEEE address)

– 65,535 network nodes.

• Optional guaranteed time slot for applications requiring low latency

• Fully hand-shaked protocol for transfer reliability

• Range: 50m typical (5-500m based on environment)

Page 39: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Figure4.2

4.2 ZIGBEE NETWORK TOPOLOGY:

Figure4.3

Star Topology

PAN

Coordinator

Full function device Communications flow

Peer to Peer topology Cluster Tree Topology

Full Function Device

Reduced Function Device

Communications Flow

Page 40: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Three devices in network

1. zigbee PAN coordinator (MASTER)

2. zigbee router (full function device)

3. zigbee end device(reduced function device)

4.3 ZIGBEE PROTOCOL STACK:

Figure4.4 ZigBee Stack System :

PHYSICAL LAYER:

The physical layer was designed to accommodate the need for a low cost yet

allowing for high levels of integration. The use of direct sequence allows the

analog circuitry to be very simple and

The PHY provides two services: the PHY data service and PHY management

service interfacing to the physical layer management entity (PLME). The PHY data

service enables the transmission and reception of PHY protocol data units (PPDU)

across the physical radio channel. The features of the PHY are activation and

Page 41: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

deactivation of the radio transceiver, energy detection(ED), link quality indication

(LQI), channel selection, clear channel assessment (CCA) and transmitting as well as

receiving packets across the physical medium.

The standard offers two PHY options based on the frequency band. Both are

based on direct sequence spread spectrum (DSSS). The data rate is 250kbps at

2.4GHz, 40kbps at 915MHz and 20kbps at 868MHz. The higher data rate at 2.4GHz

is attributed to a higher-order modulation scheme. Lower frequency provide longer

range due to lower propagation losses. Low rate can be translated into better

sensitivity and larger coverage area. Higher rate means higher throughput, Lower

latency or lower duty cycle.

There is a single channel between 868 and 868.6MHz, 10 channels between 902.0

and 928.0MHz, and 16 channels between 2.4 and 2.4835GHz.

MAC LAYER :

The media access control (MAC) layer was designed to allow multiple topologies

without complexity. The power management operation doesn’t require multiple

modes of operation. The MAC allows a reduced functionality device (RFD) that

needn’t have flash nor large amounts of ROM or RAM. The MAC was designed to

handle large numbers of devices without requiring them to be “parked”.

Article IV.

Article V.

Article VI. MAC Primitives:

Article VII. MAC Data Service

• MCPS-DATA – exchange data packets between MAC and PHY

• MCPS-PURGE – purge an MSDU from the transaction queue

Article VIII. MAC Management Service

• MLME-ASSOCIATE/DISASSOCIATE – network association

• MLME-SYNC / SYNC-LOSS - device synchronization

• MLME-SCAN - scan radio channels

• MLME- COMM-STATUS – communication status

• MLME-GET / -SET– retrieve/set MAC PIB parameters

• MLME-START / BEACON-NOTIFY – beacon management

Page 42: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

• MLME-POLL - beaconless synchronization

• MLME-GTS - GTS management

• MLME-RESET – request for MLME to perform reset

• MLME-ORPHAN - orphan device management

• MLME-RX-ENABLE - enabling/disabling of radio system

Figure4.5 BEACON ENABLED NETWORK

Network Layer:

Section VIII.01 The responsibilities of the Zigbee NWK layer include:

• Starting a network: The ability to successfully establish a new network.

• Joining and leaving a network: The ability to gain membership (join) or relinquish

membership (leave) a network.

• Configuring a new device: The ability to sufficiently configure the stack for

operation as required.

• Addressing: The ability of a Zigbee coordinator to assign addresses to devices

joining the network.

• Synchronization within a network: The ability for a device to achieve

synchronization with another device either through tracking beacons or by polling.

Page 43: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

• Security: applying security to outgoing frames and removing security to

terminating frames

• Routing: routing frames to their intended destinations.

Article IX. Network Routing Overview

Section IX.01 Perhaps the most straightforward way to think of the Zigbee routing

algorithm is as a hierarchical routing strategy with table-driven optimizations applied

where possible.

– NWK uses an algorithm that allows stack implementers and application developers

to balance unit cost, battery drain, and complexity in producing Zigbee solutions to

meet the specific cost-performance profile of their application.

– Started with the well-studied public-domain algorithm AODV and Motorola’s

Cluster-Tree algorithm and folding in ideas from Ember Corporation’s GRAd.

Article X. Network Summary

Article XI. The network layer builds upon the IEEE 802.15.4 MAC’s features to

allow extensibility of coverage. Additional clusters can be added; networks can be

consolidated or split up.

Application layer:

The Zigbee application layer consists of the APS sub-layer, the ZDO and the

manufacturer-defined application objects. The responsibilities of the APS sub-layer

include maintaining tables for binding, which is the ability to match two devices

together based on their services and their needs, and forwarding messages between

bound devices. Another responsibility of the APS sub-layer is discovery, which is the

ability to determine which other devices are operating in the personal operating space

of a device. The responsibilities of the ZDO include defining the role of the device

within the network (e.g., Zigbee coordinator or end device), initiating and/or

responding to binding requests and establishing a secure relationship between network

devices. The manufacturer-defined application objects implement the actual

applications according to the Zigbee-defined application descriptions

Zigbee Device Object:

• Defines the role of the device within the network (e.g., Zigbee coordinator or

end device)

Page 44: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

• Initiates and/or responds to binding requests

• Establishes a secure relationship between network devices selecting one of

ZigBee’s security methods such as public key, symmetric key, etc.

Article XII. Application Support Layer:

Section XII.01 This layer provides the following services:

• Discovery: The ability to determine which other devices are operating in the

personal operating space of a device.

• Binding: The ability to match two or more devices together based on their

services and their needs and forwarding messages between bound devices

4.4 APPLICATIONS OF ZIGBEE TECHNOLOGY:

Typical application areas include

Home Entertainment and Control — Smart lighting, advanced temperature

control, safety and security, movies and music

Home Awareness — Water sensors, power sensors, energy monitoring, smoke

and fire detectors, smart appliances and access sensors

Mobile Services — m-payment, m-monitoring and control, m-security and access

control, m-healthcare and tele-assist

Commercial Building — Energy monitoring, HVAC, lighting, access control

Industrial Plant — Process control, asset management, environmental

management, energy management, industrial device control, machine-to-machine

(M2M) communication

4.5 Zigbee vs. Bluetooth:

Zigbee looks rather like Bluetooth but is simpler, has a lower data rate and

spends most of its time snoozing. This characteristic means that a node on a Zigbee

network should be able to run for six months to two years on just two AA batteries.

The operational range of Zigbee is 10-75m compared to 10m for Bluetooth (without a

Page 45: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

power amplifier).ZigBee sits below Bluetooth in terms of data rate. The data rate of

Zigbee is 250kbps at 2.4GHz, 40kbps at 915MHz and 20kbps at 868MHz whereas

that of Bluetooth is 1Mbps.

ZigBee uses a basic master-slave configuration suited to static star networks of

many infrequently used devices that talk via small data packets. It allows up to 254

nodes.

Bluetooth’s protocol is more complex since it is geared towards handling voice,

images and file transfers in ad hoc networks. Bluetooth devices can support scatter

nets of multiple smaller non-synchronized networks (piconets). It only allows up to 8

slave nodes in a basic master-slave piconet set-up.

When ZigBee node is powered down, it can wake up and get a packet in around 15

msec whereas Bluetooth device would take around 3sec to wake up and respond.

4.6 ZIGBEE MODULE:

Comparison with other technologies

StandardZigBee®

802.15.4

Wi-Fi™

802.11b

Bluetooth™

802.15.1

Transmission Range

(meters)

1 – 100* 1 – 100 1 – 10

Battery Life (days) 100 – 1,000 0.5 – 5.0 1 - 7

Network Size (# of nodes) > 64,000 32 7

ApplicationMonitoring &

Control

Web, Email,

Video

Cable

Replacement

Stack Size (KB) 4 – 32 1,000 250

Throughput kb/s) 20 – 250 11,000 720

Page 46: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Zigbee-compliant products operate in unlicensed bands worldwide, including

2.4GHz (global), 902 to 928MHz (Americas), and 868MHz (Europe). Raw data

throughput rates of 250Kbps can be achieved at 2.4GHz (16 channels), 40Kbps at

915MHz (10 channels), and 20Kbps at 868MHz (1 channel). The transmission

distance is expected to range from 10 to 100m, depending on power output and

environmental characteristics. Like Wi-Fi, Zigbee uses direct-sequence spread

spectrum in the 2.4GHz band, with offset-quadrature phase-shift keying modulation.

Channel width is 2MHz with 5MHz channel spacing. The 868 and 900MHz bands

also use direct-sequence spread spectrum but with binary-phase-shift keying

modulation.

ZIGBEE MODULE SPECIFICATION:

Performance: XBee:

Power output:: 1mW (+0 dBm) North American & International version

Indoor/Urban range: Up to 100 ft (30 m)

Outdoor/RF line-of-sight range: Up to 300 ft (90 m)

RF data rate: 250 Kbps

Interface data rate: Up to 115.2 Kbps

Operating frequency: 2.4 GHz

Receiver sensitivity: -92 dBm

Performance: XBee-PRO:

Power output:

63 mW (+18 dBm) North American version 

10 mW (+10 dBm) International version

Indoor/Urban range: Up to 300 ft (90 m)

Outdoor/RF line-of-sight range: Up to 1 mile (1.6 km) RF LOS 

RF data rate: 250 Kbps

Interface data rate: Up to 115.2 Kbps

Operating frequency: 2.4 GHz

Receiver sensitivity: -100 dBm (all variants)

Networking:

Page 47: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Spread Spectrum type: DSSS (Direct Sequence Spread Spectrum)

Networking topology: Point-to-point, point-to-multipoint, & peer-to-peer

Error handling: Retries & acknowledgements

Filtration options: PAN ID, Channel, and 64-bit addresses

Channel capacity:

XBee: 16 Channels

XBee-PRO: 12 Channels

Addressing: 65,000 network addresses available for each channel

Power:

Supply voltage: 

XBee: 2.8 - 3.4 VDC

XBee-PRO: 2.8 - 3.4 VDC

XBee Footprint Recommendation: 3.0 - 3.4 VDC

Transmit current:

XBee: 45 mA (@ 3.3 V) boost mode 35 mA (@ 3.3 V) normal mode

XBee-PRO: 215 mA (@ 3.3 V)

Receive current:

XBee: 50 mA (@ 3.3 V)

XBee-PRO: 55 mA (@ 3.3 V)

Power-down sleep current:

XBee: <10 µA at 25° C

XBee-PRO: <10 µA at 25° C

General:

Frequency band: 2.4000 - 2.4835 GHz

Interface options: 3V CMOS UART

Physical Properties:

Size: 

XBee: 0.960 in x 1.087 in (2.438 cm x 2.761 cm)

XBee-PRO: 0.960 in x 1.297 in (2.438 cm x 3.294 cm)

Weight: 0.10 oz (3g)

Page 48: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Antenna options: U.FL, Reverse Polarity SMA (RPSMA), chip antenna or wired whip

antenna

Operating temperature: -40° C to 85° C (industrial)

4.7 LCD MODULE:

To display interactive messages we are using LCD Module. We examine an

intelligent LCD display of two lines,16 characters per line that is interfaced to the

controllers. The protocol (handshaking) for the display is as shown. Whereas D0 to

D7th bit is the Data lines, RS, RW and EN pins are the control pins and remaining

pins are +5V, -5V and GND to provide supply. Where RS is the Register Select, RW

is the Read Write and EN is the Enable pin.

The display contains two internal byte-wide registers, one for commands

(RS=0) and the second for characters to be displayed (RS=1). It also contains a user-

programmed RAM area (the character RAM) that can be programmed to generate any

desired character that can be formed using a dot matrix. To distinguish between these

two data areas, the hex command byte 80 will be used to signify that the display RAM

address 00h will be chosen.Port1 is used to furnish the command or data type, and

ports 3.2 to3.4 furnish register select and read/write levels.

The display takes varying amounts of time to accomplish the functions as listed. LCD

bit 7 is monitored for logic high (busy) to ensure the display is overwritten.

Liquid Crystal Display also called as LCD is very helpful in providing user interface

as well as for debugging purpose. The most common type of LCD controller is

HITACHI 44780 which provides a simple interface between the controller & an LCD.

These LCD's are very simple to interface with the controller as well as are cost

effective.

Page 49: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

2x16 Line Alphanumeric LCD Display

The most commonly used ALPHANUMERIC displays are 1x16 (Single Line & 16

characters), 2x16 (Double Line & 16 character per line) & 4x20 (four lines & Twenty

characters per line). 

The LCD requires 3 control lines (RS, R/W & EN) & 8 (or 4) data lines. The number on data

lines depends on the mode of operation. If operated in 8-bit mode then 8 data lines + 3

control lines i.e. total 11 lines are required. And if operated in 4-bit mode then 4 data lines +

3 control lines i.e. 7 lines are required. How do we decide which mode to use? It’s simple if

you have sufficient data lines you can go for 8 bit mode & if there is a time constrain i.e.

display should be faster then we have to use 8-bit mode because basically 4-bit mode takes

twice as more time as compared to 8-bit mode.

 Pin  Symbol Function

 1  Vss  Ground

 2  Vdd  Supply Voltage

 3  Vo  Contrast Setting

 4  RS  Register Select

 5  R/W  Read/Write Select

 6  En  Chip Enable Signal

 7-14  DB0-DB7  Data Lines

 15  A/Vee  Gnd for the backlight

 16  K  Vcc for backlight

When RS is low (0), the data is to be treated as a command. When RS is high (1), the

data being sent is considered as text data which should be displayed on the screen.

When R/W is low (0), the information on the data bus is being written to the LCD.

When RW is high (1), the program is effectively reading from the LCD. Most of the

times there is no need to read from the LCD so this line can directly be connected to

Gnd thus saving one controller line.

Page 50: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

The ENABLE pin is used to latch the data present on the data pins. A HIGH - LOW

signal is required to latch the data. The LCD interprets and executes our command at

the instant the EN line is brought low. If you never bring EN low, your instruction

will never be executed.

COMMANDS USED IN LCD:

Page 51: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

CHAPTER-5

SOFTWARE DESCRIPTION

Page 52: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

5. SOFTWARE DESCRIPTION

ABOUT SOFTWARE:

Software used:

*Keil software for c programming

5.1 ABOUT KEIL SOFTWARE:

It is possible to create the source files in a text editor such as Notepad, run the

Compiler on each C source file, specifying a list of controls, run the Assembler on

each Assembler source file, specifying another list of controls, run either the Library

Manager or Linker (again specifying a list of controls) and finally running the Object-

HEX Converter to convert the Linker output file to an Intel Hex File. Once that has

been completed the Hex File can be downloaded to the target hardware and debugged.

Alternatively KEIL can be used to create source files; automatically compile, link and

covert using options set with an easy to use user interface and finally simulate or

perform debugging on the hardware with access to C variables and memory. Unless

you have to use the tolls on the command line, the choice is clear. KEIL Greatly

simplifies the process of creating and testing an embedded application.

Projects:

The user of KEIL centers on “projects”. A project is a list of all the source files

required to build a single application, all the tool options which specify exactly how

to build the application, and – if required – how the application should be simulated.

A project contains enough information to take a set of source files and generate

exactly the binary code required for the application. Because of the high degree of

flexibility required from the tools, there are many options that can be set to configure

the tools to operate in a specific manner. It would be tedious to have to set these

options up every time the application is being built; therefore they are stored in a

project file. Loading the project file into KEIL informs KEIL which source files are

required, where they are, and how to configure the tools in the correct way. KEIL can

then execute each tool with the correct options. It is also possible to create new

projects in KEIL. Source files are added to the project and the tool options are set as

Page 53: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

required. The project can then be saved to preserve the settings. The project is

reloaded and the simulator or debugger started, all the desired windows are opened.

KEIL project files have the extension

Simulator/Debugger:

The simulator/ debugger in KEIL can perform a very detailed simulation of a

micro controller along with external signals. It is possible to view the precise

execution time of a single assembly instruction, or a single line of C code, all the way

up to the entire application, simply by entering the crystal frequency. A window can

be opened for each peripheral on the device, showing the state of the peripheral. This

enables quick trouble shooting of mis-configured peripherals. Breakpoints may be set

on either assembly instructions or lines of C code, and execution may be stepped

through one instruction or C line at a time. The contents of all the memory areas may

be viewed along with ability to find specific variables. In addition the registers may

be viewed allowing a detailed view of what the microcontroller is doing at any point

in time.

The Keil Software 8051 development tools listed below are the programs

you use to compile your C code, assemble your assembler source files, link your

program together, create HEX files, and debug your target program. µVision2 for

Windows™ Integrated Development Environment: combines Project Management,

Source Code Editing, and Program Debugging in one powerful environment.

C51 ANSI Optimizing C Cross Compiler: creates relocatable object modules from

your C source code,

A51 Macro Assembler: creates relocatable object modules from your

8051 assembler source code,

BL51 Linker/Locator: combines relocatable object modules created by the

compiler and assembler into the final absolute object module,

LIB51 Library Manager: combines object modules into a library, which may be

used by the linker,

OH51 Object-HEX Converter: creates Intel HEX files from absolute object

modules.

Page 54: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

What's New in µVision3?

µVision3 adds many new features to the Editor like Text Templates, Quick Function

Navigation, and Syntax Coloring with brace high lighting Configuration Wizard for

dialog based startup and debugger setup. µVision3 is fully compatible to µVision2

and can be used in parallel with µVision2.

What is µVision3?

µVision3 is an IDE (Integrated Development Environment) that helps you write,

compile, and debug embedded programs. It encapsulates the following components:

A project manager.

A make facility.

Tool configuration.

Editor.

A powerful debugger.

To help you get started, several example programs (located in the \C51\Examples, \

C251\Examples, \C166\Examples, and \ARM\...\Examples) are provided.

HELLO is a simple program that prints the string "Hello World" using the

Serial Interface.

MEASURE is a data acquisition system for analog and digital systems.

TRAFFIC is a traffic light controller with the RTX Tiny operating system.

SIEVE is the SIEVE Benchmark.

DHRY is the Dhrystone Benchmark.

WHETS is the Single-Precision Whetstone Benchmark.

Additional example programs not listed here are provided for each device

architecture.

Building an Application in µVision2

To build (compile, assemble, and link) an application in µVision2, you must:

1. Select Project -(forexample,166\EXAMPLES\HELLO\HELLO.UV2).

2. Select Project - Rebuild all target files or Build target.

µVision2 compiles, assembles, and links the files in your project

Page 55: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Creating Your Own Application in µVision2

To create a new project in µVision2, you must:

1. Select Project - New Project.

2. Select a directory and enter the name of the project file.

3. Select Project - Select Device and select an 8051, 251, or C16x/ST10 device

from the Device Database™.

4. Create source files to add to the project.

5. Select Project - Targets, Groups, Files. Add/Files, select Source Group1, and

add the source files to the project.

6. Select Project - Options and set the tool options. Note when you select the

target device from the Device Database™ all special options are set

automatically. You typically only need to configure the memory map of your

target hardware. Default memory model settings are optimal for most

applications.

7. Select Project - Rebuild all target files or Build target.

Debugging an Application in µVision2:

To debug an application created using µVision2, you must:

1. Select Debug - Start/Stop Debug Session.

2. Use the Step toolbar buttons to single-step through your program. You may

enter G, main in the Output Window to execute to the main C function.

3. Open the Serial Window using the Serial #1 button on the toolbar.

Debug your program using standard options like Step, Go, Break, and so on.

Starting µVision2 and Creating a Project:

µVision2 is a standard Windows application and started by clicking on the program

icon. To create a new project file select from the µVision2 menu

Project – New Project…. This opens a standard Windows dialog that asks you

for the new project file name.

We suggest that you use a separate folder for each project. You can simply use

Page 56: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

the icon Create New Folder in this dialog to get a new empty folder. Then

select this folder and enter the file name for the new project, i.e. Project1.

µVision2 creates a new project file with the name PROJECT1.UV2 which contains

a default target and file group name. You can see these names in the Project

Window – Files:

Now use from the menu Project – Select Device for Target and select a CPU

for your project. The Select Device dialog box shows the µVision2 device

database. Just select the micro controller you use. We are using for our examples the

Philips 80C51RD+ CPU. This selection sets necessary tool

options for the 80C51RD+ device and simplifies in this way the tool Configuration

Building Projects and Creating a HEX Files:

Typical, the tool settings under Options – Target are all you need to start a new

application. You may translate all source files and line the application with a

click on the Build Target toolbar icon. When you build an application with

syntax errors, µVision2 will display errors and warning messages in the Output

Window – Build page. A double click on a message line opens the source file

on the correct location in a µVision2 editor window.

Once you have successfully generated your application you can start debugging.

After you have tested your application, it is required to create an Intel HEX

file to download the software into an EPROM programmer or simulator. µVision2

creates HEX files with each build process when Create HEX files under Options for

Target – Output is enabled. You may start your PROM programming utility after the

make process when you specify the program under the option Run User Program #1.

Page 57: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

CPU Simulation:

µVision2 simulates up to 16 Mbytes of memory from which areas can be

mapped for read, write, or code execution access. The µVision2 simulator traps

and reports illegal memory accesses.

In addition to memory mapping, the simulator also provides support for the

Integrated peripherals of the various 8051 derivatives. The on-chip peripherals

of the CPU you have selected are configured from the Device.

Database selection:

you have made when you create your project target. Refer to page 58 for more

Information about selecting a device. You may select and display the on-chip

peripheral components using the Debug menu. You can also change the aspects of

each peripheral using the controls in the dialog boxes.

Start Debugging:

You start the debug mode of µVision2 with the Debug – Start/Stop Debug

Session command. Depending on the Options for Target – Debug

Configuration, µVision2 will load the application program and run the startup

code µVision2 saves the editor screen layout and restores the screen layout of the last

debug session. If the program execution stops, µVision2 opens an

editor window with the source text or shows CPU instructions in the disassembly

window. The next executable statement is marked with a yellow arrow. During

debugging, most editor features are still available.

For example, you can use the find command or correct program errors. Program

source text of your application is shown in the same windows. The µVision2 debug

mode differs from the edit mode in the following aspects:

_ The “Debug Menu and Debug Commands” described on page 28 are

Page 58: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Available. The additional debug windows are discussed in the following.

_ The project structure or tool parameters cannot be modified. All build

Commands are disabled.

Disassembly Window:

The Disassembly window shows your target program as mixed source and

assembly program or just assembly code. A trace history of previously executed

instructions may be displayed with Debug – View Trace Records. To enable the trace

history, set Debug – Enable/Disable Trace Recording.

If you select the Disassembly Window as the active window all program step

commands work on CPU instruction level rather than program source lines. You can

select a text line and set or modify code breakpoints using toolbar buttons or the

context menu commands.

You may use the dialog Debug – Inline Assembly… to modify the CPU

instructions. That allows you to correct mistakes or to make temporary changes to the

target program you are debugging.

5.2 SOFTWARE COMPONENTS:

About Keil:

1. Click on the Keil u Vision Icon on Desktop

2. The following fig will appear

Page 59: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

3. Click on the Project menu from the title bar

4. Then Click on New Project

5. Save the Project by typing suitable project name with no extension in u r

own folder sited in either C:\ or D:\

6. Then Click on Save button above.

Page 60: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

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

8. Click on the + Symbol beside of Atmel

9. Select AT89C51 as shown below

Page 61: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

10. Then Click on “OK”

11. The Following fig will appear

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.

Page 62: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

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

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”

Page 63: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

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

Source”

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

appear.

Page 64: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

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

Page 65: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

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.

Page 66: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

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

30. You are running your program successfully

Embedded C:

What is an embedded system?

An embedded system is an application that contains at least one programmable

computer and which is used by individuals who are, in the main, unaware that the

system is computer-based.

Which programming language should you use?

Having decided to use an 8051 processor as the basis of your embedded system,

the next key decision that needs to be made is the choice of programming language. In

order to identify a suitable language for embedded systems, we might begin by

making the following observations:

Computers (such as microcontroller, microprocessor or DSP chips) only

accept instructions in ‘machine code’ (‘object codes’). Machine code is, by

definition, in the language of the computer, rather than that of the

programmer. Interpretation of the code by the programmer is difficult and

error prone.

All software, whether in assembly, C, C++, Java or Ada must ultimately be

translated into machine code in order to be executed by the computer.

Embedded processors – like the 8051 – have limited processor power and very

limited memory available: the language used must be efficient.

The language chosen should be in common use.

Summary of C language Features:

It is ‘mid-level’, with ‘high-level’ features (such as support for functions and

modules), and ‘low-level’ features (such as good access to hardware via pointers).

It is very efficient.

It is popular and well understood.

Even desktop developers who have used only Java or C++ can soon

understand C syntax.

Page 67: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Good, well-proven compilers are available for every embedded processor (8-

bit to 32-bit or more).

Basic C program structure:

//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

//Basic blank C program that does nothing

// Includes

//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#include <reg51.h> // SFR declarations

Void main (void)

{

While (1);

{

Body of the loop // Infinite loop

}

} // match the braces

APPLICATIONS:

1. Used for ambulance service systems.

2. Used for 108 services.

RESULT:

By this project we can implement an automatic traffic clearing system

for ambulances and can provide medical support to the people with in time who are in

critical conditions and can save their lives.

Page 68: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)

Article XIII. BIBLIOGRAPHY:

Section XIII.01 NAME OF THE SITES

1. WWW.MITEL.DATABOOK.COM

2. WWW.ATMEL.DATABOOK.COM

3. WWW.FRANKLIN.COM

4. WWW.KEIL.COM

REFERENCES

1. 8051-MICROCONTROLLER AND EMBEDDED SYSTEM.

Mohd. Mazidi.

Page 69: @@Copy of BATCH 9 Innovative Congestion Control System for Ambulance Using Zigbee Wireless (Repaired)