110
MAIN PROJECT REPORT ON DESIGN & DEVELOPMENT OF GSM & GPS BASED VEHICLE THEFT CONTROL SYSTEM By K. Venkateswar Rao(07AG1A0461) T. Sai Sampath (07AG1A0456) H. Pramod Kumar (07AG1A0417) B. Abhilash (07AG1A0404) Internal guide H.O.D U.Appalraju S.Suryanarayana 1

52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Embed Size (px)

Citation preview

Page 1: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

MAIN PROJECT REPORT

ON

DESIGN & DEVELOPMENT OF GSM & GPS BASED

VEHICLE THEFT CONTROL SYSTEM

By K. Venkateswar Rao(07AG1A0461) T. Sai Sampath (07AG1A0456) H. Pramod Kumar (07AG1A0417) B. Abhilash (07AG1A0404)

Internal guide H.O.D

U.Appalraju S.Suryanarayana

1

Page 2: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

INDEX

CONTENTS

1. Abbreviations2. Figure Locations3. Introduction to the project4. Block Diagram5. Block Diagram Description6. Schematic7. Schematic Description8. Hardware Components

• Micro controller

• About GPS Technology• About GSM Technology• LCD Display• Power Supply• Max232• Ignition switch• Dc motor• Pc

9. Circuit Description10.Software components

a. About Keilb. Embedded ‘C’

11. Source Code

12.Conclusion (or) Synopsis

13.Future Aspects14.Bibliography

Abbreviations:

2

Page 3: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

ACC - AccumulatorB - B RegisterPSW - Program Status WordSP - Stack PointerDPTR - Data pointerDPL - Low byteDPH - High byteP0 - Port 0P1 - Port 1P2 - Port 2P3 - Port 3IE - Interrupt Enable controlIP - Interrupt Priority controlTMOD - Timer/Counter Mode controlTCON - Timer/Counter controlT2CON - Timer/counter 2 controlT2MOD - Timer/counter mode2 controlTH0 - Timer/counter 0high byteTL0 - Timer/counter 0 low byteTH1 - Timer/counter 1 high byteTL1 - Timer/counter 1 low byteTH2 - Timer/counter 2 high byteTL2 - Timer/counter 2 low byteRCAP2H - T/C 2 capture register high byteRCAP2L - T/C 2 capture register low byteSCON - Serial controlSBUF - Serial data bufferPCON - Power controlGSM -Global System for Mobile CommunicationsGPS - Global positioning systemPCB - Printed circuit BoardSFR - Special function registersWAAS - Wide Area Augmentation SystemLCD - Liquid Crystal Display

Figure Locations:

Fig 1 : Block Diagram

Fig 2 : Schematic Diagram

Fig 3 : Functional block diagram of micro controller

Fig 4 : Oscillator and timing circuit

3

Page 4: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig 5 : Pin diagram of AT89C51

Fig 6.1 : Oscillator Connections

Fig 6.2 : External Clock Drive Configuration

Fig 7 : Memory organization of RAM

Fig 8 : RAM Allocation in the 8051

Fig 9 : 8051 Register Banks and their RAM Addresses

Fig 10 : DB-9 pin connector

Fig 11 : Interfacing of MAX-232 to controller

Fig 12 : GPS MODEM

Fig 13 : GPS sample module (GARMIN)

Fig 14 : GPS 3A pin assignment

Fig 15 : structure of a GSM network

Fig 16 : GSM smart modem

Fig 17 : Block diagram of modem with key connections

Fig 18 : Internal diagram of GSM modem

Fig 19 : Inserting/Removing the sim card into the modem

Fig 20 : General architecture of a GSM network

Fig 21 : Interfacing of LCD to a micro controller

Fig 22 : Functional Block Diagram of Power supply

Fig 23 : An Electrical Transformer

Fig 24 : Direction of current flow in a circuit

Fig 25 : A Three Terminal Voltage Regulator

ABSTRACT

4

Page 5: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

It deals with the design & development of a theft control system for an

automobile, which is being used to prevent / control the theft of a vehicle. the

developed system makes use of an embedded system based on gsm technology. the

designed & developed system is installed in the vehicle. an interfacing mobile is also

connected to the microcontroller, which is in turn,connected to the engine. once, the

vehicle is being stolen, the information is being used by the vehicle owner for further

processing. the information is passed onto the central processing insurance system,

where by sitting at a remote place, a particular number is dialed by them to the

interfacing mobile that is with the hardware kit which is installed in the vehicle. by

reading the signals received by the mobile, one can control the ignition of the

engine;say to lock it or to stop the engine immediately. again it will come to the

normal condition only after entering a secured password. the owner of the vehicle &

the central processing system will know this secured password. the main concept in

this design is introducing the mobile communications into the embedded system. the

designed unit is very simple & low cost. the entire designed unit is on a single chip.

when the vehicle is stolen, owner of vehicle may inform to the central processing

system, then they will stop the vehicle by just giving a ring to that secret number and

with the help of sim tracking knows the location of vehicle and informs to the local

police or stops it from further movement.

INTRODUCTION

5

Page 6: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

The position of the vehicle will be traced with the help of the GPS and GSM

technology. This project is aimed to track the vehicles giving the position of the

vehicle. The location of the vehicle is indicated using GPS (Global Positioning

System) technology. Communication link is made possible through a GPS

transceiver. GPS will give the information of parameters like longitude, latitude and

altitude and that can be sent towards viewing system where we can showthe location

of vehicle where it is passing wit paramerters . With this system we can easily

identify vehicle thefts. GSM is used for receiving and sending messages according to

the software program written to perform the task.

Global system for mobile communication (GSM) is a globally accepted

standard for digital cellular communication. GSM is the name of a standardization

group established in 1982 to create a common European mobile telephone standard

that would formulate specifications for a pan-European mobile cellular radio system

operating at 900 MHz. It is estimated that many countries outside of Europe will join

the GSM partnership.The Global Positioning System (GPS) is a satellite-based

navigation system that sends and receives radio signals. A GPS receiver acquires these

signals and provides you with information. Using GPS technology, you can determine

location, velocity, and time, 24 hours a day, in any weather conditions anywhere in the

world—for free.

BLOCK DIAGRAM:

6

Page 7: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

VEHICLE TRACKING SYSTEM

BLOCK DIAGRAM DESCRIPTION:

7

MICRO CONTROLLER

(AT89c51)

POWER SUPPLY

GPS

GSM MODEM

GPS

Ignition Switch

LCD

MAX-232

DC MOTOR DRIVERS

DC MOTOR

LATCH

Page 8: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Here we have mainly two different blocks,those are tracking and location

viewing blocks in this first we going to know about tracking systemIn this project we

will place this vehicle trcking system in vehicle. The Block diagram consists of a GPS

modem, a GSM modem, a Micro controller, an ignition switch, DC motor,a LCD

Display and power supply. These hardware components will be discussed briefly as

follows:

A GPS modem is used to get the signals and receive the signals from the

satellites. In this project, GPS modem get the signals from the satellites and those are

given to the microcontroller. The signals may be in the form of the coordinates; these

are represented in form of the latitudes, longitudes and altitudes.

A GSM modem is used to get the messages from the mobile and as well as

reading the message also. Thereafter sending the acknowledgement will be done.

Before operating this GSM modem first we have to insert the SIM card in this

modem. Then the total receiving and sending the messages will be done based on this

number. First the concerned person has to register for that number.

And second one is viewing and controlling section the vehicle like tracking

and bloking. In this system mainly we have microcontroller, powersupply, LCD,

GSM, Pc, keypad .by that particular keypad of keys only we are sending request for

track and block ing of vehicle.here we two switches one for sending request for

tracking the vehicle location and another for blocking the vehicle .A Micro controller

is a heart of this project. The total controlling action will be done through this micro

controller. Based on the signals given to the micro controller that will be totally

controlled at the output section. If we send the message like “TRACK” to the GSM

modem at viewing and controlling section it will get recieved by trcking section

which is placed in the vehicle, it will send signals to the micro controller to trcke the

vehicle and if sening message by view and control section is”BLOCK” means the

system get blocked by microcontoller of controlling operation Upon receiving the

signals, the micro controller will switched-off the ignition part of that vehicle. Then

the vehicle does not move at any inch.

An ignition switch plays the key role in the vehicle, for moving. If it is in off

condition, the vehicle does not move at an inch. In this project, for completely

stopping the vehicle we are just switched-off the ignition switch with the help of the

micro controller.

8

Page 9: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

A LCD display is used at the output section. To display the status of the GSM

and GPS. The maximum power supply required to operate the hardware circuitry is

+5V DC voltage.

SCHEMATIC DIAGRAM:

Fig2: Schematic DiagramSchematic Explanation:GPS connections:Pins connections

1 VCC (+5v)2 This pin is connected to the 3rd (TXD) of the MAX -232 IC3 This pin is connected to the 2nd (RXD) of the MAX -232 IC4 GND

9

Page 10: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

5 GND

MAX-232 connections to microcontroller:

Pins connections11 This pin is connected to P3.1 (TXD) of the Micro controller12 This pin is connected to P3.0 (RXD) of the Micro controller13 This pin is connected to 3rd pin (TXD) of DB-9 connector14 This pin is connected to 2nd pin (RXD) of DB-9 connector15 Ground16 vcc (+5v)

LCD connections to Micro controller:

Pins Connections1 VSS (ground)2 VCC (+5V)3 10k pot4 RS, this pin is connected to P2.7 of the micro controller5 R/w, this pin is connected to P2.6 of the micro controller6 EN, this pin is connected to P2.5 of the micro controller7-14 (D0-D7) these pins are connected to the port (P0) of the micro controller

Latch Connections to Micro controller:Pins Connections9, 16 P3.02, 13 P3.119 P3.61 P3.710 GND20 VCCIgnition switch P2.0

10

Page 11: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Schematic Explanation:pc connections:Pins connections

1 VCC (+5v)2 This pin is connected to the 2nd (RXD) of the MAX -232 IC3 GND

MAX-232 connections to microcontroller:

Pins connections11 This pin is connected to P3.1 (TXD) of the Micro controller

11

Page 12: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

12 This pin is connected to P3.0 (RXD) of the Micro controller13 This pin is connected to 3rd pin (TXD) of DB-9 connector15 Ground16 vcc (+5v)

LCD connections to Micro controller:

Pins Connections1 VSS (ground)2 VCC (+5V)3 10k pot4 RS, this pin is connected to P2.7 of the micro controller5 R/w, this pin is connected to P2.6 of the micro controller6 EN, this pin is connected to P2.5 of the micro controller7-14 (D0-D7) these pins are connected to the port (P0) of the micro controller

Latch Connections to Micro controller:Pins Connections9, 16 P3.02, 13 P3.119 P3.61 P3.710 GND20 VCCKeypad switches:Switch 1 for tracking request is connected to P3.4Switch 1 for blocking request is connected to P3.4

12

Page 13: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

HARDWARE COMPONENTS:

MICRO CONTROLLER 89C51

INTRODUCTION

A Micro controller consists of a powerful CPU tightly coupled with memory,

various I/O interfaces such as serial port, parallel port timer or counter, interrupt

controller, data acquisition interfaces-Analog to Digital converter, Digital to Analog

converter, integrated on to a single silicon chip.

If a system is developed with a microprocessor, the designer has to go for

external memory such as RAM, ROM, EPROM and peripherals. But controller is

provided all these facilities on a single chip. Development of a Micro controller

reduces PCB size and cost of design.

One of the major differences between a Microprocessor and a Micro controller is that

a controller often deals with bits not bytes as in the real world application.

Intel has introduced a family of Micro controllers called the MCS-51.

The Major Features:

• Compatible with MCS-51 products

• 4k Bytes of in-system Reprogrammable flash memory

• Fully static operation: 0HZ to 24MHZ

• Three level programmable clock

• 128 * 8 –bit timer/counters

• Six interrupt sources

• Programmable serial channel

• Low power idle power-down modes

AT89C51 is 8-bit micro controller, which has 4 KB on chip flash memory,

which is just sufficient for our application. The on-chip Flash ROM allows the

program memory to be reprogrammed in system or by conventional non-volatile

memory Programmer. Moreover ATMEL is the leader in flash technology in today’s

market place and hence using AT 89C51 is the optimal solution.

13

Page 14: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

AT89C51 MICROCONTROLLER ARCHITECTURE

The 89C51 architecture consists of these specific features:

• Eight –bit CPU with registers A (the accumulator) and B

• Sixteen-bit program counter (PC) and data pointer (DPTR)

• Eight- bit stack pointer (PSW)

• Eight-bit stack pointer (Sp)

• Internal ROM or EPROM (8751) of 0(8031) to 4K (89C51)

• Internal RAM of 128 bytes:

• Thirty –two input/output pins arranged as four 8-bit ports:p0-p3

• Two 16-bit timer/counters: T0 and T1

• Full duplex serial data receiver/transmitter: SBUF

• Control registers: TCON, TMOD, SCON, PCON, IP, and IE

• Two external and three internal interrupts sources.

• Oscillator and clock circuits.

Fig 3: Functional block diagram of micro controller

14

Page 15: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Types of memory:

The 89C51 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 89C51 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 4K 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 89C51 have a bank of 128 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 89C51 is reset, this memory is

cleared. 128 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 128

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

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

Flash memory is a nonvolatile memory using NOR technology, which allows

the user to electrically program and erase information. Flash memory is used in digital

cellular phones, digital cameras, LAN switches, PC Cards for notebook computers,

digital set-up boxes, embedded controllers, and other devices.

15

Page 16: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig 5: - Pin diagram of AT89C51

Pin Description:

VCC: Supply voltage.

GND: Ground.

Port 0:

Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each

pin can sink eight TTL inputs. When 1sare written to port 0 pins, the pins can be used

as high impedance inputs. Port 0 may also be configured to be the multiplexed low

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

mode P0 has internal pull-ups. Port 0 also receives the code bytes during Flash

programming, and outputs the code bytes during program verification. External pull-

ups are required during program verification.

Port 1:

Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1

output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins

16

Page 17: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

they are pulled high by the internal pull-ups 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 pull-ups. Port 1 also receives the low-order address bytes during Flash

programming and verification.

Port 2:

Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. 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 pull-ups 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 pull-ups.

Port 3:

Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. 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 pull-ups and can be used as inputs. As inputs, Port

3 pins that are externally being pulled low will source current (IIL) because of the

pull-ups.

Port 3 also serves the functions of various special features of the AT89C51 as listed

below:

Tab 6.2.1 Port pins and their alternate functions

RST:

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

running resets the device.

17

Page 18: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

ALE/PROG:

Address Latch Enable 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/6the 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 micro

controller is in external execution mode.

PSEN:

Program Store Enable is the read strobe to external program memory. When

the AT89C51 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,

for parts that require 12-volt VPP.

XTAL1:

Input to the inverting oscillator amplifier and input to the internal clock

operating circuit.

XTAL2:

Output from the inverting oscillator amplifier.

Oscillator Characteristics:

XTAL1 and XTAL2 are the input and output, respectively, of an inverting

amplifier, which can be configured for use as an on-chip oscillator, as shown in Figs

18

Page 19: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

6.1 Either a quartz crystal or ceramic resonator may be used. To drive the device from

an external clock source, XTAL2 should be left unconnected while XTAL1 is driven

as shown in Figure 6.2. There are no requirements on the duty cycle of the external

clock signal, since the input to the internal clocking circuitry is through a divide-by-

two flip-flop, but minimum and maximum voltage high and low time specifications

must be observed.

Fig 6.1 Oscillator Connections Fig 6.2 External Clock Drive Configuration

REGISTERS:

In the CPU, registers are used to store information temporarily. That

information could be a byte of data to be processed, or an address pointing to the data

to be fetched. The vast majority of 8051 registers are 8–bit registers.

D7 D6 D5 D4 D3 D2 D1 D0The most widely used registers of the 8051 are A(accumulator), B, R0, R1,

R2, R3, R4, R5, R6, R7, DPTR(data pointer), and PC(program counter). All of the

above registers are 8-bits, except DPTR and the program counter. The accumulator,

register A, is used for all arithmetic and logic instructions.

SFRs (Special Function Registers)

In the 8051, registers A, B, PSW and DPTR are part of the group of registers

commonly referred to as SFR (special function registers). The SFR can be accessed

by the names (which is much easier) or by their addresses. For example, register A

has address E0h, and register B has been ignited the address F0H, as shown in table.

The following two points should note about the SFR addresses.

19

Page 20: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

1. The Special function registers have addresses between 80H and FFH.

These addresses are above 80H, since the addresses 00 to 7FH are

addresses of RAM memory inside the 8051.

2. Not all the address space of 80H to FFH is used by the SFR. The unused

locations 80H to FFH are reserved and must not be used by the 8051

programmer.

Symbol Name AddressACC Accumulator 0E0HB B register 0F0HPSW Program status word 0D0HSP Stack pointer 81HDPTR Data pointer 2 bytesDPL Low byte 82HDPH High byte 83HP0 Port0 80HP1 Port1 90HP2 Port2 0A0HP3 Port3 0B0HIP Interrupt priority control 0B8HIE Interrupt enable control 0A8HTMOD Timer/counter mode control 89HTCON Timer/counter control 88HT2CON Timer/counter 2 control 0C8HT2MOD Timer/counter mode2 control 0C9HTH0 Timer/counter 0high byte 8CHTL0 Timer/counter 0 low byte 8AHTH1 Timer/counter 1 high byte 8DHTL1 Timer/counter 1 low byte 8BHTH2 Timer/counter 2 high byte 0CDHTL2 Timer/counter 2 low byte 0CCHRCAP2H T/C 2 capture register high byte 0CBHRCAP2L T/C 2 capture register low byte 0CAHSCON Serial control 98HSBUF Serial data buffer 99HPCON Power control 87H

Table: 8051 Special function register Address

A Register (Accumulator):

20

Page 21: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

This is a general-purpose register, which serves for storing intermediate results during

operating. A number (an operand) should be added to the accumulator prior to execute

an instruction upon it. Once an arithmetical operation is preformed by the ALU, the

result is placed into the accumulator

B Register

B register is used during multiply and divide operations which can be performed only

upon numbers stored in the A and B registers. All other instructions in the program

can use this register as a spare accumulator (A).

Registers (R0-R7)

Fig7: Memory organization of RAM

This is a common name for the total 8 general purpose registers (R0, R1, R2 ...R7).

Even they are not true SFRs, they deserve to be discussed here because of their

purpose. The bank is active when the R registers it includes are in use. Similar to the

accumulator, they are used for temporary storing variables and intermediate results.

Which of the banks will be active depends on two bits included in the PSW Register.

These registers are stored in four banks in the scope of RAM.

8051 Register Banks and Stack

RAM memory space allocation in the 8051

There are 128 bytes of RAM in the 8051. The 128 bytes of RAM inside the

8051 are assigned addresses 00 to7FH. These 128 bytes are divided into three

different groups as follows:

1. A total of 32 bytes from locations 00 to 1FH hex are set aside for register

banks and the stack.

21

Page 22: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

2. A total of 16 bytes from locations 20 to 2FH hex are set aside for bit-

addressable read/write memory.

3. A total of 80 bytes from locations 30H to 7FH are used for read and write

storage, or what is normally called Scratch pad. These 80 locations of

RAM are widely used for the purpose of storing data and parameters nu

8051 programmers.

Default register bank

Register bank 0; that is, RAM locations 0, 1,2,3,4,5,6, and 7 are accessed with

the names R0, R1, R2, R3, R4, R5, R6, and R7 when programming the 8051.

FIG 8: RAM Allocation in the 8051

PSW Register (Program Status Word)

This is one of the most important SFRs. The Program Status Word (PSW) contains

several status bits that reflect the current state of the CPU. This register contains:

Carry bit, Auxiliary Carry, two register bank select bits, Overflow flag, parity bit, and

user-definable status flag. The ALU automatically changes some of register’s bits,

which is usually used in regulation of the program performing.

P - Parity bit. If a number in accumulator is even then this bit will be automatically

set (1), otherwise it will be cleared (0). It is mainly used during data transmission and

receiving via serial communication.

22

Page 23: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

OV Overflow occurs when the result of arithmetical operation is greater than 255

(decimal), so that it cannot be stored in one register. In that case, this bit will be set

(1). If there is no overflow, this bit will be cleared (0).

RS0, RS1 - Register bank select bits. These two bits are used to select one of the

four register banks in RAM. By writing zeroes and ones to these bits, a group of

registers R0-R7 is stored in one of four banks in RAM.

RS1 RS2 Space in RAM

0 0 Bank0 00h-07h

0 1 Bank1 08h-0Fh

1 0 Bank2 10h-17h

1 1 Bank3 18h-1Fh

F0 - Flag 0. This is a general-purpose bit available to the user.

AC - Auxiliary Carry Flag is used for BCD operations only.

CY - Carry Flag is the (ninth) auxiliary bit used for all arithmetical operations and

shift instructions.

DPTR Register (Data Pointer)

These registers are not true ones because they do not physically exist. They consist of

two separate registers: DPH (Data Pointer High) and (Data Pointer Low). Their 16

bits are used for external memory addressing. They may be handled as a 16-bit

register or as two independent 8-bit registers. Besides, the DPTR Register is usually

used for storing data and intermediate results, which have nothing to do with memory

locations.

23

Page 24: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

SP Register (Stack Pointer)

The stack is a section of RAM used by the CPU to store information

temporily. This information could be data or an address. The CPU needs this storage

area since there are only a limited number of registers.

How stacks are accessed in the 8051

If the stack is a section of RAM, there must be registers inside the CPU to

point to it. The register used to access the stack is called the SP (Stack point)

Register. The stack pointer in the 8051 is only 8 bits wide; which means that it can

take values of 00 to FFH. When the 8051 is powered up, the SP register contains

value 07. This means that RAM location 08 is the first location used for the stack by

the 8051. The storing of a CPU register in the stack is called a PUSH, and pulling the

contents off the stack back into a CPU register is called a POP. In other words, a

register is pushed onto the stack to save it and popped off the stack to retrieve it. The

job of the SP is very critical when push and pop actions are performed.

Program counter:

The important register in the 8051 is the PC (Program counter). The program

counter points to the address of the next instruction to be executed. As the CPU

fetches the opcode from the program ROM, the program counter is incremented to

point to the next instruction. The program counter in the 8051 is 16bits wide. This

means that the 8051 can access program addresses 0000 to FFFFH, a total of 64k

24

Page 25: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

bytes of code. However, not all members of the 8051 have the entire 64K bytes of

on-chip ROM installed, as we will see soon.

TIMERS

On-chip timing/counting facility has proved the capabilities of the micro

controller for implementing the real time application. These includes pulse counting,

frequency measurement, pulse width measurement, baud rate generation, etc,. Having

sufficient number of timer/counters may be a need in a certain design application. The

8051 has two timers/counters. They can be used either as timers to generate a time

delay or as counters to count events happening outside the micro controller.

TIMER 0 REGISTERS

The 16-bit register of Timer 0 is accessed as low byte and high byte. the low

byte register is called TL0(Timer 0 low byte)and the high byte register is referred to

as TH0(Timer 0 high byte).These register can be accessed like any other register, such

as A,B,R0,R1,R2,etc.

TIMER 1 REGISTERS

Timer 1 is also 16-bit register is split into two bytes, referred to as TL1

(Timer 1 low byte) and TH1 (Timer 1 high byte). These registers are accessible n the

same way as the register of Timer 0.

TMOD (timer mode) REGISTER

Both timers 0 and 1 use the same register, called TMOD, to set the various

timer operation modes. TMOD is an 8-bit register in which the lower 4 bits are set

aside for Timer 0 and the upper 4 bits for Timer 1.in each case; the lower 2 bits are

used to set the timer mode and the upper 2 bits to specify the operation.

25

Page 26: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

GATE Gate control when set. The timer/counter is enabled only

while the INTx pin is high and the TRx control pin is

set. When cleared, the timer is enabled.

C/T Timer or counter selected cleared for timer operation

(Input from internal system clock).set for counter

operation (input TX input pin).

M1 M0 MODE Operating Mode

0 0 0 13-bit timer mode

8-bit timer/counter THx with TLx as

5-bit prescaler.

0 1 1 16-bit timer mode

16-bit timer/counters THx with TLx are

cascaded; there is no prescaler

1 0 2 8-bit auto reload

8-bit auto reload timer/counter;THx

Holds a value that is to be reloaded into

TLx each time it overflows.

1 1 3 Split timer mode.

C/T (clock/timer):

This bit in the TMOD register is used to decide whether the timer is used as a delay

generator or an event counter. If C/T=0, it is used as a timer for time delay generation.

The clock source for the time delay is the crystal frequency of the 8051.this section is

concerned with this choice. The timer’s use as an event counter is discussed in the

next section.

Serial Communication:

Serial data communication uses two methods, asynchronous and synchronous.

The synchronous method transfers a block of data at a time, while the asynchronous

method transfers a single byte at a time.

26

Page 27: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

In data transmission if the data can be transmitted and received, it is a duplex

transmission. This is in contrast to simplex transmissions such as with printers, in

which the computer only sends data. Duplex transmissions can be half or full duplex,

depending on whether or not the data transfer can be simultaneous. If data is

transmitted one way at a time, it is referred to as half duplex. If the data can go both

ways at the same time, it is full duplex. Of course, full duplex requires two wire

conductors for the data lines, one for transmission and one for reception, in order to

transfer and receive data simultaneously.

Asynchronous serial communication and data framing

The data coming in at the receiving end of the data line in a serial data transfer

is all 0s and 1s; it is difficult to make sense of the data unless the sender and receiver

agree on a set of rules, a protocol, on how the data is packed, how many bits

constitute a character, and when the data begins and ends.

Start and stop bits

Asynchronous serial data communication is widely used for character-oriented

transmissions, while block-oriented data transfers use the synchronous method. In the

asynchronous method, each character is placed between start and stop bits. This is

called framing. In the data framing for asynchronous communications, the data, such

as ASCII characters, are packed between a start bit and a stop bit. The start bit is

always one bit, but the stop bit can be one or two bits. The start bit is always a 0

(low) and the stop bit (s) is 1 (high).

Data transfer rate

The rate of data transfer in serial data communication is stated in bps (bits per

second). Another widely used terminology for bps is baud rate. However, the baud

and bps rates are not necessarily equal. This is due to the fact that baud rate is the

modem terminology and is defined as the number of signal changes per second. In

modems a single change of signal, sometimes transfers several bits of data. As far as

the conductor wire is concerned, the baud rate and bps are the same, and for this

reason we use the bps and baud interchangeably.

RS232 Standards

To allow compatibility among data communication equipment made by

various manufacturers, an interfacing standard called RS232 was set by the

27

Page 28: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Electronics Industries Association (EIA) in 1960. In 1963 it was modified and called

RS232A. RS232B AND RS232C were issued in 1965 and 1969, respectively. Today,

RS232 is the most widely used serial I/O interfacing standard. This standard is used

in PCs and numerous types of equipment. However, since the standard was set long

before the advert of the TTL logic family, its input and output voltage levels are not

TTL compatible. In RS232, a 1 is represented by -3 to -25V, while a 0 bit is +3 to

+25V, making -3 to +3 undefined. For this reason, to connect any RS232 to a micro

controller system we must use voltage converters such as MAX232 to convert the

TTL logic levels to the RS232 voltage levels, and vice versa. MAX232 IC chips are

commonly referred to as line drivers.

RS232 pins

RS232 cable, commonly referred to as the DB-25 connector. In labeling, DB-

25P refers to the plug connector (male) and DB-25S is for the socket connector

(female). Since not all the pins are used in PC cables, IBM introduced the DB-9

Version of the serial I/O standard, which uses 9 pins only, as shown in table.

DB-9 pin connector

1 2 3 4 5

6 7 8 9

Fig 10: DB-9 pin connector

(Out of computer and exposed end of cable)

Pin Functions:

Pin Description1 Data carrier detect (DCD)2 Received data (RXD)3 Transmitted data (TXD)4 Data terminal ready(DTR)5 Signal ground (GND)6 Data set ready (DSR)7 Request to send (RTS)

28

Page 29: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

8 Clear to send (CTS)9 Ring indicator (RI)

Note: DCD, DSR, RTS and CTS are active low pins.

The method used by RS-232 for communication allows for a simple connection of

three lines: Tx, Rx, and Ground. The three essential signals for 2-way RS-232

Communications are these:

TXD: carries data from DTE to the DCE.

RXD: carries data from DCE to the DTE

SG: signal ground

8051 connection to RS232

The RS232 standard is not TTL compatible; therefore, it requires a line driver

such as the MAX232 chip to convert RS232 voltage levels to TTL levels, and vice

versa. The interfacing of 8051 with RS232 connectors via the MAX232 chip is the

main topic.

The 8051 has two pins that are used specifically for transferring and receiving

data serially. These two pins are called TXD and RXD and a part of the port 3 group

(P3.0 and P3.1). pin 11 of the 8051 is assigned to TXD and pin 10 is designated as

RXD. These pins are TTL compatible; therefore, they require a line driver to make

them RS232 compatible. One such line driver is the MAX232 chip.

Since the RS232 is not compatible with today’s microprocessors and

microcontrollers, we need a line driver (voltage converter) to convert the RS232’s

signals to TTL voltage levels that will be acceptable to the 8051’s TXD and RXD

pins. One example of such a converter is MAX232 from Maxim Corp. The MAX232

converts from RS232 voltage levels to TTL voltage levels, and vice versa.

Embedded Controller

RXD

TXD

TXD

RXD 2

3

5

GND

MAX 232

29

Page 30: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig 11: Interfacing of MAX-232 to controller

INTERRUPTS

A single micro controller can serve several devices. There are two ways to do that:

INTERRUPTS or POLLING.

INTERRUPTS vs POLLING:

The advantage of interrupts is that the micro controller can serve many devices

(not all the same time, of course); each device can get the attention of the micro

controller based on the priority assigned to it. The polling method cannot assign

priority since it checks all devices in round-robin fashion. More importantly, in the

interrupt method the micro controller can also ignore (mask) a device request for

service. This is again not possible with the polling method. The most important reason

that the interrupt method is preferable is that the polling method wastes much of the

micro controller’s time by polling devices that do not need service. So, in order to

avoid tying down the micro controller, interrupts are used.

INTERRUPT SERVICE ROUTINE

For every interrupt, there must be an interrupt service routine (ISR), or interrupt

handler. When an interrupt is invoked, the micro controller runs the interrupts service

routine. For every interrupt, there is a fixed location in memory that holds the address

of its ISR. The group of memory location set aside to hold the addresses of ISRs is

called the interrupt vector table. Shown below:

Interrupt Vector Table for the 8051:

INTERRUPT ROM

LOCATION (HEX) PIN FLAG CLEARING

Reset 0000 9 Auto

External hardware

Interrupt 0 0003 P3.2 (12) Auto

Timers 0 interrupt (TF0) 000B Auto

External hardware 0013 P3.3 (13) Auto

Interrupt 1(INT1)

Timers 1 interrupt (TF1) 001B Auto

30

Page 31: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Serial COM (RI and TI) 0023 Programmer

Clears it

Six Interrupts in the 8051:

In reality, only five interrupts are available to the user in the 8051, but many

manufacturers’ data sheets state that there are six interrupts since they include reset

.the six interrupts in the 8051 are allocated as above.

1. Reset. When the reset pin is activated, the 8051 jumps to address location

0000.this is the power-up reset.

2. Two interrupts are set aside for the timers: one for Timer 0 and one for Timer

1.Memory location 000BH and 001BH in the interrupt vector table belong to

Timer 0 and Timer 1, respectively.

3. Two interrupts are set aside for hardware external harder interrupts. Pin

number 12(P3.2) and 13(P3.3) in port 3 is for the external hardware interrupts

INT0 and INT1, respectively. These external interrupts are also referred to as

EX1 and EX2.Memory location 0003H and 0013H in the interrupt vector table

are assigned to INT0 and INT1, respectively.

4. Serial communication has a single interrupt that belongs to both receive and

transmit. The interrupt vector table location 0023H belongs to this interrupt.

Interrupt Enable Register

D7 D6 D5 D4 D3 D2 D1 D0

EA IE.7 disables all interrupts. If EA=0, no interrupts is acknowledged.

If EA=1, each interrupt source is individually enabled disabled

By setting or clearing its enable bit.

-- IE.6 Not implemented, reserved for future use.*

ET2 IE.5 Enables or disables Timer 2 overflow or capture interrupt (8052

only).

ES IE.4 Enables or disables the serial ports interrupt.

ET1 IE.3 Enables or disables Timers 1 overflow interrupt

EX1 IE.2 Enables or disables external interrupt 1.

ET0 IE.1 Enables or disables Timer 0 overflow interrupt.

EX0 IE.0 Enables or disables external interrupt 0.

31

EA -- ET2 ES ET1 EX1 ET0 EX0

Page 32: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

GLOBAL POSITION SYSTEM

About GPS

Global Positioning System (GPS) technology is changing the way we work and

play. You can use GPS technology when you are driving, flying, fishing, sailing,

hiking, running, biking, working, or exploring. With a GPS receiver, you have an

amazing amount of information at your fingertips. Here are just a few examples of

how you can use GPS technology.

• Know precisely how far you have run and at what pace while tracking your

path so you can find your way home.

• Pinpoint the perfect fishing spot on the water and easily relocate it.

• Get the closest location of your favorite restaurant when you are out-of-town.

• Find the nearest airport or identify the type of airspace in which you are flying

What is GPS?

The Global Positioning System (GPS) is a satellite-based navigation system

that sends and receives radio signals. A GPS receiver acquires these signals and

provides you with information. Using GPS technology, you can determine location,

velocity, and time, 24 hours a day, in any weather conditions anywhere in the world—

for free.

GPS, formally known as the NAVSTAR (Navigation Satellite Timing and Ranging).

Global Positioning System originally was developed for the military. Because of its

popular navigation capabilities and because you can access GPS technology using

small, inexpensive equipment, the government made the system available for civilian

use. The USA owns GPS technology and the Department of Defense maintains it.

32

Page 33: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

GPS technology requires the following three segments.

• Space segment.

• Control segment.

• User segment

Space Segment

At least 24 GPS satellites orbit the earth twice a day in a specific pattern. They

travel at approximately 7,000 miles per hour about 12,000 miles above the earth’s

surface. These satellites are spaced so that a GPS receiver anywhere in the world can

receive signals from at least four of them.

• Each GPS satellite constantly sends coded radio signals (pseudorandom code)

to the earth. These GPS satellite signals contain the following information.

• The particular satellite that is sending the information.

• Where that satellite should be at any given time (the precise location of the

satellite is. called ephemeris data).

• Whether or not the satellite is working properly.

• The date and time that the satellite sent the signal.

The signals can pass through clouds, glass, and plastic. Most solid objects such

as buildings attenuate (decrease the power of) the signals. The signals cannot pass

through objects that contain a lot of metal or objects that contain water (such as

underwater locations). The GPS satellites are powered by solar energy. If solar energy

is unavailable, for example, when the satellite is in the earth’s shadow, satellites use

backup batteries to continue running. Each GPS satellite is built to last about 10 years.

The Department of Defense monitors and the satellites to ensure that GPS technology

continues to run smoothly for years to come.

33

Page 34: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig12: GPS MODEM

Control Segment

The control segment is responsible for constantly monitoring satellite health, signal

integrity, and orbital configuration from the ground control segment includes the

following sections:

• Master control station

• Monitor stations

• Ground antennas

Monitor Stations

At least six unmanned monitor stations are located around the world. Each

station constantly monitors and receives information from the GPS satellites and then

sends the orbital and clock information to the master control station (MCS).

Master Control Station (MCS)

The MCS) is located near Colorado Springs in Colorado. The MCS constantly

receives GPS satellite orbital and clock information from monitor stations. The

controllers in the MCS make precise corrections to the data as necessary, and send the

information (known as ephemeris data) to the GPS satellites using the ground

antennas.

Ground Antennas

Ground antennas receive the corrected orbital and clock information from the

MCS, and then send the corrected information to the appropriate satellites.

User Segment

The GPS user segment consists of your GPS receiver. Your receiver collects

and processes signals from the GPS satellites that are in view and then uses that

information to determine and display your location, speed, time, and so forth. Your

GPS receiver does not transmit any information back to the satellites.

34

Page 35: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

How Does GPS Technology Work?

The following points provide a summary of the technology at work:

• The control segment constantly monitors the GPS constellation and uploads

information to satellites to provide maximum user accuracy

• Your GPS receiver collects information from the GPS satellites that are in

view.

• Your GPS receiver accounts for errors. For more information, refer to the

Sources of Errors.

• Your GPS receiver determines your current location, velocity, and time.

• Your GPS receiver can calculate other information, such as bearing, track, trip

distance, and distance to destination, sunrise and sunset time so forth.

• Your GPS receiver displays the applicable information on the screen.

Who Uses GPS?

GPS technology has many amazing applications on land, at sea, and in the air.

You might be surprised to learn about the following examples of how people or

professions are already using GPS technology

Agriculture

In precision farming, GPS technology helps monitor the application of fertilizer

and pesticides. GPS technology also provides location information that helps farmers

plow, harvest, map fields, and mark areas of disease or weed infestation.

Aviation

Aircraft pilots use GPS technology for en route navigation and airport approaches.

Satellite navigation provides accurate aircraft location anywhere on or near the earth.

Environment

GPS technology helps survey disaster areas and maps the movement of

environmental phenomena (such as forest fires, oil spills, or hurricanes). It is even

possible to find locations that have been submerged or altered by natural disasters.

Ground Transportation

GPS technology helps with automatic vehicle location and in-vehicle

navigation systems. Many navigation systems show the vehicle’s location on an

35

Page 36: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

electronic street map, allowing drivers to keep track of where they are and to look up

other destinations. Some systems automatically create a route and give turn-by-turn

directions. GPS technology also helps monitor and plan routes for delivery vans and

emergency vehicles.

Marine

GPS technology helps with marine navigation, traffic routing, underwater

surveying, navigational hazard location, and mapping. Commercial fishing fleets use it

to navigate to optimum fishing locations and to track fish migrations.

Military

Military aircraft, ships, submarines, tanks, jeeps, and equipment use GPS

technology for many purposes including basic navigation, target designation, close air

support, weapon technology, and rendezvous.

Public Safety

Emergency and other specialty fleets use satellite navigation for location and

status information.

Rail

Precise knowledge of train location is essential to prevent collisions, maintain

smooth traffic flow, and minimize costly delays. Digital maps and onboard inertial

units allow fully-automated train control.

Recreation

Outdoor and exercise enthusiasts use GPS technology to stay apprised of

location, heading, bearing, speed, distance, and time. In addition, they can accurately

mark and record any location and return to that precise spot.

Space

GPS technology helps track and control satellites in orbit. Future booster

rockets and reusable launch vehicles will launch, orbit the earth. Return, and land, all

under automatic control. Space shuttles also use GPS navigation.

Surveying

Surveyors use GPS technology for simple tasks (such as defining property lines) or

for complex tasks (such as building infrastructures in urban centers). Locating a

precise point of reference used to be very time consuming. With GPS technology, two

people can survey dozens of control points in an hour. Surveying and mapping roads

36

Page 37: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

and rail systems can also be accomplished from mobile platforms to save time and

money.

Timing

Delivering precise time to any user is one of the most important functions of

GPS technology. This technology helps synchronize clocks events around the world.

Pager companies depend on GPS satellites to synchronize the transmission of

information throughout their systems. Investment banking firms rely on this service

every day to record international transactions simultaneously.

How Accurate Is GPS?

GPS technology depends on the accuracy of signals that travel from GPS

satellites to a GPS receiver. You can increase accuracy by ensuring that when you use

(or at least when you turn on) your GPS receiver, you are in an area with few or no

obstacles between you and the wide open sky. When you first turn on your GPS

receiver, stand in an open area for a few moments to allow the unit to get a good fix on

the satellites (especially if you are heading into an obstructed area). This gives you

better accuracy for a longer period of time (about 4-6 hours).

It takes between 65 and 85 milliseconds for a signal to travel from GPS satellite to

a GPS receiver on the surface of the earth.

FIG 13: GPS sample module (GARMIN)

The signals are so accurate that time can be figured to much less than a millionth of

a second, velocity can be figured to within a fraction of a mile per hour, and location

can be figured to within a few meters.

37

Page 38: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

WAAS/EGNOS

The Wide Area Augmentation System (WAAS) is a system of satellites and ground

stations that provides even better position accuracy than the already highly accurate

GPS. Europe’s version of this system is the European Geostationary Navigation

Overlay Service (EGNOS). The Federal Aviation Administration (FAA) developed the

WAAS program. It makes more airspace usable to pilots, provides more direct end

route paths, and provides new precision approach services to runways, resulting in

safety and capacity improvements in all weather conditions at all locations throughout

the U.S. National Airspace System (NAS).

Although it was designed for aviation users, WAAS supports a wide variety of

other uses, for example, more precise marine navigation. To take advantage of WAAS

technology, you must have a WAAS-capable GPS receiver in an area where WAAS

satellite coverage is available such as North America. No additional equipment or fees

are required to take advantage of WAAS.

Sources of Errors

Errors can affect the accuracy of the GPS signal. Take your GPS receiver to an

area with a wide and unobstructed view of the sky to reduce the possibility and impact

of some errors. Here are some of the most common GPS errors.

Ionosphere and Troposphere Delays

—the satellite signal slows down as it passes through the atmosphere. The system uses

a built-in model that calculates an average delay to partially correct this type of error.

Orbital Errors

—this terminology refers to inaccuracies of the satellite’s reported location.

Receiver Clock Errors

—the GPS receiver has a built-in clock that can have small timing errors.

Number of Satellites Visible

—obstructions can block signal reception, causing position errors or no position

reading. The more satellites that your GPS receiver can view, the better the fix is.

Satellite Geometry/Shading

—refers to the relative position of the satellites at any given time. Ideal satellite

geometry exists when the satellites are located at wide angles relative to each other.

Poor geometry results when the satellites are located in a line or in a tight grouping.

Signal Multipath

38

Page 39: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

—the GPS signal bounces off of objects, such as tall buildings or large rock surfaces,

before it reaches the GPS receiver. This increases the travel time of the signal and,

therefore, causes errors.

Buying a GPS Receiver

Deciding which GPS receiver to buy can be overwhelming. Think about how you want

to use the unit, for example, traveling or running. Keep the following considerations in

mind:

Product Level

—do you want the basics, or do you want all of the bells and whistles? You can find a

unit that fits your needs and budget.

Power Source

—will you be using the unit away from an auxiliary power source? You might need to

carry extra batteries. With some you can use a vehicle adapter or AC power source.

Portability

—do you have a preference between a portable or a built-in unit? Some units mount

directly in the dashboard of your boat or aircraft.

Mapping Capability

—do you want to know the general direction or street-level details of your chosen

path? Map data can include streets restaurants, tourist attractions, marine data,

topography, and so forth.

Mounts

—a mount for your GPS can be useful to keep your hands free while navigating your

bike, boat, car, or airplane. Many units

with a mount, and several additional mounts are available.

Ease of Use

—some receivers provide a tutorial or an easy-to-use touch screen interface. Some

even have turn-by-turn voice instructions you are navigating your route.

Antenna Configuration

—where are you going to use the unit? With some units, you use only the built-in

antenna. With other units, you attach an external antenna to give you better reception

Price

—which units fit your price range? An inexpensive entry-level unit can be a great way

to enter the GPS world.

Software

39

Page 40: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

—whether you want to save your favorite locations or plan a trip, map software can

help. You can use your PC or go directly your GPS receiver. Your preference for map

detail and your specific activities determine which software is right for you.

Complementary Navigation Aids

Remember, a GPS receiver is a complement to navigation and should not be

the only navigational tool that you use. Using a paper map, a simple compass, and

having knowledge of manual navigation is a good, safe practice.

AarLogic GPS 3APin assignment

FIG 14: GPS 3A pin assignment

40

Page 41: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

GLOBAL SYSTEM FOR MOBILE COMMUNICATIONS

41

Page 42: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Definition:

Global system for mobile communication (GSM) is a globally accepted standard for

digital cellular communication. GSM is the name of a standardization group

established in 1982 to create a common European mobile telephone standard that

would formulate specifications for a pan-European mobile cellular radio system

operating at 900 MHz. It is estimated that many countries outside of Europe will join

the GSM partnership.

Description:

GSM, the Global System for Mobile communications, is a digital cellular

communications system, which has rapidly gained acceptance and market share

worldwide, although it was initially developed in a European context. In addition to

digital transmission, GSM incorporates many advanced services and features,

including ISDN compatibility and worldwide roaming in other GSM networks. The

advanced services and architecture of GSM have made it a model for future third-

generation cellular systems, such as UMTS. This paper will give an overview of the

services offered by GSM, the system architecture, the radio transmission

Fig 15: structure of a GSM network

GSM Modems

42

Page 43: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

A GSM modem can be an external modem device, such as the Wavecom

FASTRACK Modem. Insert a GSM SIM card into this modem, and connect the

modem to an available serial port on your computer.A GSM modem can be a PC Card

installed in a notebook computer, such as the Nokia Card Phone.A GSM modem

could also be a standard GSM mobile phone with the appropriate cable and software

driver to connect to a serial port on your computer. Phones such as the Nokia 7110

with a DLR-3 cable, or various Ericsson phones, are often used for this purpose.

A dedicated GSM modem (external or PC Card) is usually preferable to a GSM

mobile phone. This is because of some compatibility issues that can exist with mobile

phones. For example, if you wish to be able to receive inbound MMS messages with

your gateway, and you are using a mobile phone as your modem, you must utilize a

mobile phone that does not support WAP push or MMS. This is because the mobile

phone automatically processes these messages, without forwarding them via the

modem interface. Similarly some mobile phones will not allow you to correctly

receive SMS text messages longer than 160 bytes (known as “concatenated SMS” or

“long SMS”). This is because these long messages are actually sent as separate SMS

messages, and the phone attempts to reassemble the message before forwarding via

the modem interface. (We’ve observed this latter problem utilizing the Ericsson

R380, while it does not appear to be a problem with many other Ericsson models.)

When you install your GSM modem, or connect your GSM mobile phone to the

computer, be sure to install the appropriate Windows modem driver from the device

manufacturer. To simplify configuration, the Now SMS/MMS Gateway will

communicate with the device via this driver. An additional benefit of utilizing this

driver is that you can use Windows diagnostics to ensure that the modem is

communicating properly with the computer.

The Now SMS/MMS gateway can simultaneously support multiple modems,

provided that your computer hardware has the available communications port

resources.

43

Page 44: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig:16 GSM smart modem

SMART MODEM (GSM/GPRS)SMART MODEM (GSM/GPRS)

INTRODUCTION:

Analogic’s GSM Smart Modem is a multi-functional, ready to use, rugged and

versatile modem that can be embedded or plugged into any application. The Smart

Modem can be customized to various applications by using the standard AT

commands. The modem is fully type-approved and can directly be integrated into

your projects with any or all the features of Voice, Data, Fax, SMS, and Internet etc.

Smart Modem kit contain the following items:

Analogic’s GSM/GPRS Smart Modem

SMPS based power supply adapter.

3 dBi antenna with cable (optional: other types)

Data cable (RS232)

User Manual

PRODUCT DESCRIPTION:

The connectors integrated to the body, guarantee the reliable output and input

connections. An extractible holder is used to insert the SIM card (Micro-SIM type).

Status LED indicates the operating mode.

44

Page 45: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig 17: Block diagram of modem with key connections

Physical Characteristics

Dimensions 100 x 78 x 32 mm (excluding connectors)Weight 125 grams Housing Aluminum Profiled

Temperature Range:

Operating temperature: from -200C to +550C

Storage temperature: from -250C to +700C

Fig 18: Internal diagram of GSM modem

Installing the modem:

45

Page 46: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

To install the modem, plug the device on to the supplied SMPS Adapter. For

Automotive applications fix the modem permanently using the mounting slots

(optional as per your requirement dimensions).

Inserting/ Removing the SIM Card:

To insert or Remove the SIM Card, it is necessary to press the SIM holder ejector

button with Sharp edged object like a pen or a needle. With this, the SIM holder

comes out a little, then pulls it out and insert or remove the SIM Card

Fig 19: Inserting/Removing the sim card into the modem

Make sure that the ejector is pushed out completely before accessing the SIM Card

holder do not remove the SIM card holder by force or tamper it (it may permanently

damage). Place the SIM Card Properly as per the direction of the installation. It is

very important that the SIM is placed in the right direction for its proper working

condition

Connecting External Antenna:

Connect GSM Smart Modem to the external antenna with cable end with SMA male.

The Frequency of the antenna may be GSM 900/1800 MHz. The antenna may be ( 0

dbi, 3 dbi or short length L-type antenna) as per the field conditions and signal

conditions.

DC Supply Connection

The Modem will automatically turn ON when connection is given to it. The

following is the Power Supply Requirement:

46

Page 47: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Connecting Modem to external devices:

RS232 can be used to connect to the external device through the D-SUB/ USB (for

USB model only) device that is provided in the modem.

Connectors:

Connector Function

SMA RF Antenna connector

15 pin or 9 pin D-SUB USB (optional) RS232 link Audio link (only for 15

D-SUB) Reset (only for 15 D-SUB)

USB communication port (optional)

2 pin Phoenix tm Power Supply Connector

SIM Connector SIM Card Connection

RJ11 (For 9 D-SUB and USB only) Audio link Simple hand set

connection (4 wire) 2 wire desktop

phone connection

Description of the interfaces:

The modem comprises several interfaces:

LED Function including operating Status

External antenna (via SMA)

47

Parameters MIN Avg Max Supply Voltage 5 V 9 V 12 VPeak Current at 5 V supply 1.8 A (during

transmission)Average Current at 5 V supply in idle

Mode

35 mA

Average Current at 5 V supply in idle

Mode and RS232 Power Saving

Activated

13 mA

Page 48: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Serial and control link

Power Supply (Via 2 pin Phoenix tm contact)

SIM card holder

LED Status Indicator:

The LED will indicate different status of the modem:

OFF Modem Switched off

ON Modem is connecting to the network

Flashing Slowly Modem is in idle mode

Flashing rapidly Modem is in transmission/communication (GSM only)

9 - PIN D-SUB Female Connector

PIN NAME Designation Type1 X None NC NC2 TX Transmit Data Input3 Rx Receive Data Output 4 DSR Data Set Ready Output 5 GND Ground Ground6 DTR Data Terminal Ready Input 7 CTS Clear to send Output 8 RTS Request to send Input 9 X None NC NC

Protecting Modem:

Do not expose to the modem to extreme conditions such as High temperatures, direct

sunlight, High Humidity, Rain, Chemicals, Water, Dust etc. For these details see the

specifications given.

Do not drop, Shake or hit the Modem. (Warranty may void)

The Modem should not be used in extreme vibrating conditions

48

Page 49: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Handle the Antenna and cable with care.

AT commands features:

Line settings:

A serial link handler is set with the following default values Autobaud, 8 bits data, 1

stop bit, no parity, flow control.

Command line

Commands always start with AT (which means attention) and finish with a <CR>

character.

Information responses and result codes

Responses start and end with <CR><LF>,.

If command syntax is incorrect, an ERROR string is returned.

If command syntax is correct but with some incorrect parameters, the +CME ERROR:

<Err> or +CMS ERROR: <SmsErr> strings are returned with different error codes.

If the command line has been performed successfully, an OK string is returned.

In some cases, such as “AT+CPIN?” or (unsolicited) incoming events, the product

does not return the OK string as a response.

Services provided by GSM

GSM was designed having interoperability with ISDN in mind, and the services

provided by GSM are a subset of the standard ISDN services. Speech is the most

basic, and most important, teleservice provided by GSM.

In addition, various data services are supported, with user bit rates up to 9600 bps.

Specially equipped GSM terminals can connect with PSTN, ISDN, Packet Switched

and Circuit Switched Public Data Networks, through several possible methods, using

synchronous or asynchronous transmission. Also supported are Group 3 facsimile

49

Page 50: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

service, videotex, and teletex. Other GSM services include a cell broadcast service,

where messages such as traffic reports, are broadcast to users in particular cells.

A service unique to GSM, the Short Message Service, allows users to send and

receive point-to-point alphanumeric messages up to a few tens of bytes. It is similar to

paging services, but much more comprehensive, allowing bi-directional messages,

store-and-forward delivery, and acknowledgement of successful delivery.

Supplementary services enhance the set of basic teleservices. In the Phase I

specifications, supplementary services include variations of call forwarding and call

barring, such as Call Forward on Busy or Barring of Outgoing International Calls.

Many more supplementary services, including multiparty calls, advice of charge, call

waiting, and calling line identification presentation will be offered in the Phase 2

specifications.

Architecture of the GSM network

A GSM network is composed of several functional entities, whose functions and

interfaces are specified. Figure 1 shows the layout of a generic GSM network. The

GSM network can be divided into three broad parts. The Mobile Station is carried by

the subscriber. The Base Station Subsystem controls the radio link with the Mobile

Station. The Network Subsystem, the main part of which is the Mobile services

Switching Center (MSC), performs the switching of calls between the mobile users,

and between mobile and fixed network users. The MSC also handles the mobility

management operations. Not shown are the Operations

A GSM network is composed of several functional entities, whose functions and

interfaces are specified. Figure 1 shows the layout of a generic GSM network. The

GSM network can be divided into three broad parts. Subscriber carries the Mobile

Station. The Base Station Subsystem controls the radio link with the Mobile Station.

The Network Subsystem, the main part of which is the Mobile services Switching

Center (MSC), performs the switching of calls between the mobile users, and between

mobile and fixed network users. The MSC also handles the mobility management

operations. Not shown is the Operations intendance Center, which oversees the proper

operation and setup of the network. The Mobile Station and the Base Station

50

Page 51: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Subsystem communicate across the Um interface, also known as the air interface or

radio link. The Base Station Subsystem communicates with the Mobile services

Switching Center across the A interface.

Fig 20: General architecture of a GSM network

Mobile Station:

The mobile station (MS) consists of the mobile equipment (the terminal) and a smart

card called the Subscriber Identity Module (SIM). The SIM provides personal

mobility, so that the user can have access to subscribed services irrespective of a

specific terminal. By inserting the SIM card into another GSM terminal, the user is

able to receive calls at that terminal, make calls from that terminal, and receive other

subscribed services.

The mobile equipment is uniquely identified by the International Mobile Equipment

Identity (IMEI). The SIM card contains the International Mobile Subscriber Identity

(IMSI) used to identify the subscriber to the system, a secret key for authentication,

and other information. The IMEI and the IMSI are independent, thereby allowing

personal mobility. The SIM card may be protected against unauthorized use by a

password or personal identity number.

Base Station Subsystem:

51

Page 52: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

The Base Station Subsystem is composed of two parts, the Base Transceiver Station

(BTS) and the Base Station Controller (BSC). These communicate across the

standardized Abis interface, allowing (as in the rest of the system) operation between

components made by different suppliers.

The Base Transceiver Station houses the radio transceivers that define a cell and

handles the radio-link protocols with the Mobile Station. In a large urban area, there

will potentially be a large number of BTSs deployed, thus the requirements for a BTS

are ruggedness, reliability, portability, and minimum cost.

The Base Station Controller manages the radio resources for one or more BTSs. It

handles radio-channel setup, frequency hopping, and handovers, as described below.

The BSC is the connection between the mobile station and the Mobile service

Switching Center (MSC).

Network Subsystem

The central component of the Network Subsystem is the Mobile services Switching

Center (MSC). It acts like a normal switching node of the PSTN or ISDN, and

additionally provides all the functionality needed to handle a mobile subscriber, such

as registration, authentication, location updating, handovers, and call routing to a

roaming subscriber. These services are provided in conjunction with several

functional entities, which together form the Network Subsystem. The MSC provides

the connection to the fixed networks (such as the PSTN or ISDN). Signalling between

functional entities in the Network Subsystem uses Signalling System Number 7

(SS7), used for trunk signalling in ISDN and widely used in current public networks.

The Home Location Register (HLR) and Visitor Location Register (VLR), together

with the MSC, provide the call-routing and roaming capabilities of GSM. The HLR

contains all the administrative information of each subscriber registered in the

corresponding GSM network, along with the current location of the mobile. The

location of the mobile is typically in the form of the signalling address of the VLR

associated with the mobile as a distributed database. station. The actual routing

procedure will be described later. There is logically one HLR per GSM network,

although it may be implemented

52

Page 53: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

The Visitor Location Register (VLR) contains selected administrative information

from the HLR, necessary for call control and provision of the subscribed services, for

each mobile currently located in the geographical area controlled by the VLR.

Although each functional entity can be implemented as an independent unit, all

manufacturers of switching equipment to date implement the VLR together with the

MSC, so that the geographical area controlled by the MSC corresponds to that

controlled by the VLR, thus simplifying the signalling required. Note that the MSC

contains no information about particular mobile stations --- this information is stored

in the location registers.

The other two registers are used for authentication and security purposes. The

Equipment Identity Register (EIR) is a database that contains a list of all valid mobile

equipment on the network, where each mobile station is identified by its International

Mobile Equipment Identity (IMEI). An IMEI is marked as invalid if it has been

reported stolen or is not type approved. The Authentication Center (AuC) is a

protected database that stores a copy of the secret key stored in each subscriber's SIM

card, which is used for authentication and encryption over the radio channel.

DM74LS244

Octal 3-STATE Buffer/Line Driver/Line Receiver

General Description

These buffers/line drivers are designed to improve both the performance and PC

board density of 3-STATE buffers/ drivers employed as memory-address drivers,

clock drivers,

and bus-oriented transmitters/receivers. Featuring 400 mV of hysteresis at each low

current PNP data line input, they provide improved noise rejection and high fanout

outputs and can be used to drive terminated lines down to 133 ohms.

Features

• 3-STATE outputs drive bus lines directly

• PNP inputs reduce DC loading on bus lines

• Hysteresis at data inputs improves noise margins

• Typical IOL (sink current) 24 mA

• Typical IOH (source current) 15 mA

53

Page 54: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

• Typical propagation delay times

• Inverting 10.5 ns

• Noninverting 12 ns

• Typical enable/disable time 18 ns

• Typical power dissipation (enabled)

• Inverting 130 mW

• Noninverting 135 mW

54

Page 55: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

55

Page 56: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Liquid crystal display Liquid crystal displays (LCDs) have materials, which combine the properties

of both liquids and crystals. Rather than having a melting point, they have a

temperature range within which the molecules are almost as mobile as they would be

in a liquid, but are grouped together in an ordered form similar to a crystal.

An LCD consists of two glass panels, with the liquid crystal material sand

witched in between them. The inner surface of the glass plates are coated with

transparent electrodes which define the character, symbols or patterns to be displayed

polymeric layers are present in between the electrodes and the liquid crystal, which

makes the liquid crystal molecules to maintain a defined orientation angle.

56

Page 57: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

One each polarisers are pasted outside the two glass panels. These polarisers

would rotate the light rays passing through them to a definite angle, in a particular

direction.

When the LCD is in the off state, light rays are rotated by the two polarisers

and the liquid crystal, such that the light rays come out of the LCD without any

orientation, and hence the LCD appears transparent.

When sufficient voltage is applied to the electrodes, the liquid crystal

molecules would be aligned in a specific direction. The light rays passing through the

LCD would be rotated by the polarisers, which would result in activating/

highlighting the desired characters.

The LCD’s are lightweight with only a few millimeters thickness. Since the

LCD’s consume less power, they are compatible with low power electronic circuits,

and can be powered for long durations.

The LCD’s don’t generate light and so light is needed to read the display. By

using backlighting, reading is possible in the dark. The LCD’s have long life and a

wide operating temperature range.

Changing the display size or the layout size is relatively simple which makes

the LCD’s more customers friendly.

The LCDs used exclusively in watches, calculators and measuring instruments

are the simple seven-segment displays, having a limited amount of numeric data. The

recent advances in technology have resulted in better legibility, more information

displaying capability and a wider temperature range. These have resulted in the LCDs

being extensively used in telecommunications and entertainment electronics. The

LCDs have even started replacing the cathode ray tubes (CRTs) used for the display

of text and graphics, and also in small TV applications.

This section describes the operation modes of LCD’s then describe how to

program and interface an LCD to 8051 using Assembly and C.

LCD operationIn recent years the LCD is finding widespread use replacing LEDs(seven-

segment LEDs or other multisegment LEDs).This is due to the following reasons:

1. The declining prices of LCDs.

57

Page 58: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

2. The ability to display numbers, characters and graphics. This is in

contract to LEDs, which are limited to numbers and a few characters.

3. Incorporation of a refreshing controller into the LCD, there by

relieving the CPU of the task of refreshing the LCD. In the contrast,

the LED must be refreshed by the CPU to keep displaying the data.

4. Ease of programming for characters and graphics.

LCD pin description The LCD discussed in this section has 14 pins. The function of each pins is

given in table.

TABLE 1:Pin description for LCD:

Pin symbol I/O Description1 Vss -- Ground2 Vcc -- +5V power supply3 VEE -- Power supply to

control contrast4 RS I RS=0 to select

command register

RS=1 to select

data register5 R/W I R/W=0 for write

R/W=1 for read6 E I/O Enable7 DB0 I/O The 8-bit data bus8 DB1 I/O The 8-bit data bus9 DB2 I/O The 8-bit data bus10 DB3 I/O The 8-bit data bus11 DB4 I/O The 8-bit data bus12 DB5 I/O The 8-bit data bus13 DB6 I/O The 8-bit data bus14 DB7 I/O The 8-bit data bus

TABLE 2: LCD Command Codes

Code

(hex)

Command to LCD Instruction

Register

1 Clear display screen2 Return home

58

Page 59: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

4 Decrement cursor6 Increment cursor5 Shift display right7 Shift display left 8 Display off, cursor offA Display off, cursor onC Display on, cursor offE Display on, cursor onF Display on, cursor blinking10 Shift cursor position to left14 Shift cursor position to right18 Shift the entire display to the left1C Shift the entire display to the right80 Force cursor to beginning of 1st lineC0 Force cursor to beginning of 2nd line38 2 lines and 5x7 matrix

Uses:

The LCDs used exclusively in watches, calculators and measuring

instruments are the simple seven-segment displays, having a limited amount of

numeric data. The recent advances in technology have resulted in better legibility,

more information displaying capability and a wider temperature range. These have

resulted in the LCDs being extensively used in telecommunications and entertainment

electronics. The LCDs have even started replacing the cathode ray tubes (CRTs) used

for the display of text and graphics, and also in small TV applications.

LCD INTERFACING

Sending commands and data to LCDs with a time delay:

59

Page 60: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig 21: Interfacing of LCD to a micro controller

To send any command from table 2 to the LCD, make pin RS=0.

for data, make RS=1.Then send a high –to-low pulse to the E pin to enable the internal latch of the LCD.

IGNITION SWITCH

The term ignition switch is often used interchangeably to refer to two very different parts: the lock cylinder into which the key is inserted, and the electronic switch that sits just behind the lock cylinder. In some cars, these two parts are combined into one unit, but in other cars they remain separate. It is advisable to check your car's shop manual before attempting to purchase an ignition switch, to ensure that you buy the correct part.

In order to start a car, the engine must be turning. Therefore, in the days before ignition switches, car engines had to be turned with a crank on the front of the car in order to start them. The starter performs this same operation by turning the engine's flywheel, a large, flat disc with teeth on the outer edge. The starter has a gear that engages these teeth when it is powered, rapidly and briefly turning the flywheel, and thus the engine.

The ignition switch generally has four positions: off, accessories, on, and start. Some cars have two off positions, off and lock; one turns off the car, and the other allows the key to be removed from the ignition. When the key is turned to the accessories

60

Page 61: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

position, certain accessories, such as the radio, are powered; however, accessories that use too much battery power, such as window motors, remain off in order to prevent the car's battery from being drained. The accessories position uses the least amount of battery power when the engine is not running, which is why drive-in movie theaters recommend that the car be left in the accessories mode during the movie.

The on position turns on all of the car's systems, including systems such as the fuel pump, because this is the position the ignition switch remains in while the car's engine is running. The start position is spring loaded so that the ignition switch will not remain there when the key is released. When the key is inserted into the ignition switch lock cylinder and turned to the start position, the starter engages; when the key is released, it returns to the on position, cutting power to the starter. This is because the engine runs at speeds that the starter cannot match, meaning that the starter gear must be retracted once the engine is running on its own.

Either the ignition switch or the lock cylinder may fail in a car, but both circumstances have very different symptoms. When the ignition switch fails, generally the electrical wiring or the plastic housing develops problems. The car may not turn on and/or start when this happens. Also, the spring-loaded start position could malfunction, in which case the starter will not engage unless the key is manually turned back to the on position.

When the lock cylinder malfunctions, however, the operation of the key itself will become problematic. If the tumblers become stripped, the lock cylinder may be able to turn with any key, or you may be able to remove the key when the car is on. If the tumblers begin to shift, the lock cylinder may not turn. Sometimes the key can be wiggled until the lock cylinder turns, but it is important to remember that this is only a temporary fix

MAX-232:The MAX232 from Maxim was the first IC which in one package contains the necessary drivers (two) and receivers (also two), to adapt the RS-232 signal voltage levels to TTL logic. It became popular, because it just needs one voltage (+5V) and generates the necessary RS-232 voltage levels (approx. -10V and +10V) internally. This greatly simplified the design of circuitry. Circuitry designers no longer need to design and build a power supply with three voltages (e.g. -12V, +5V, and +12V), but could just provide one +5V power supply, e.g. with the help of a simple 78x05 voltage converter.

The MAX232 has a successor, the MAX232A. The ICs are almost identical, however, the MAX232A is much more often used (and easier to get) than the original MAX232, and the MAX232A only needs external capacitors 1/10th the capacity of what the original MAX232 needs.

It should be noted that the MAX 232(A) is just a driver/receiver. It does not generate the necessary RS-232 sequence of marks and spaces with the right timing, it does not decode the RS-232 signal, it does not provide a serial/parallel conversion. All it does is to convert signal voltage levels. Generating serial data with the right timing and decoding serial data has to be done by additional circuitry, e.g. by a 16550 UART or

61

Page 62: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

one of these small micro controllers (e.g. Atmel AVR, Microchip PIC) getting more and more popular.

The MAX232 and MAX232A were once rather expensive ICs, but today they are cheap. It has also helped that many companies now produce clones (ie. Sipex). These clones sometimes need different external circuitry, e.g. the capacities of the external capacitors vary. It is recommended to check the data sheet of the particular manufacturer of an IC instead of relying on Maxim's original data sheet.

The original manufacturer (and now some clone manufacturers, too) offers a large series of similar ICs, with different numbers of receivers and drivers, voltages, built-in or external capacitors, etc. E.g. The MAX232 and MAX232A need external capacitors for the internal voltage pump, while the MAX233 has these capacitors built-in. The MAX233 is also between three and ten times more expensive in electronic shops than the MAX232A because of its internal capacitors. It is also more difficult to get the MAX233 than the garden variety MAX232A.

A Typical Application

The MAX 232(A) has two receivers (converts from RS-232 to TTL voltage levels) and two drivers (converts from TTL logic to RS-232 voltage levels). This means only two of the RS-232 signals can be converted in each direction. The old MC1488/1498 combo provided four drivers and receivers.

Typically a pair of a driver/receiver of the MAX232 is used for

• TX and RX

And the second one for

• CTS and RTS.

There are not enough drivers/receivers in the MAX232 to also connect the DTR, DSR, and DCD signals. Usually these signals can be omitted when e.g. communicating with a PC's serial interface. If the DTE really requires these signals either a second MAX232 is needed, or some other IC from the MAX232 family can be used (if it can be found in consumer electronic shops at all). An alternative for DTR/DSR is also given below.

Maxim's data sheet explains the MAX232 family in great detail, including the pin configuration and how to connect such an IC to external circuitry. This information can be used as-is in own design to get a working RS-232 interface. Maxim's data just misses one critical piece of information: How exactly to connect the RS-232 signals to the IC. So here is one possible example:

MAX232 to RS232 DB9 Connection as a DCE

62

Page 63: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

MAX232 Pin Nbr. MAX232 Pin Name Signal Voltage DB9 Pin

7 T2out CTS RS-232 7

8 R2in RTS RS-232 8

9 R2out RTS TTL n/a

10 T2in CTS TTL n/a

11 T1in TX TTL n/a

12 R1out RX TTL n/a

13 R1in TX RS-232 3

14 T1out RX RS-232 2

15 GND GND 0 5

In addition one can directly wire DTR (DB9 pin 4) to DSR (DB9 pin 6) without going through any circuitry. This gives automatic (brain dead) DSR acknowledgment of an incoming DTR signal.

Sometimes pin 6 of the MAX232 is hard wired to DCD (DB9 pin 1). This is not recommended. Pin 6 is the raw output of the voltage pump and inverter for the -10V voltage. Drawing currents from the pin leads to a rapid breakdown of the voltage, and as a consequence to a breakdown of the output voltage of the two RS-232 drivers. It is better to use software which doesn't care about DCD, but does hardware-handshaking via CTS/RTS only.

The circuitry is completed by connecting five capacitors to the IC as it follows. The MAX232 needs 1.0µF capacitors, the MAX232A needs 0.1µF capacitors. MAX232 clones show similar differences. It is recommended to consult the corresponding data sheet. At least 16V capacitor types should be used. If electrolytic or tantalic capacitors are used, the polarity has to be observed. The first pin as listed in the following table is always where the plus pole of the capacitor should be connected to.

MAX232(A) external Capacitors

Capacitor + Pin - Pin Remark

C1 1 3

C2 4 5

C3 2 16

C4 GND 6This looks non-intuitive, but because pin 6 ison -10V, GND gets the + connector, and not the -

C5 16 GND

The 5V power supply is connected to

63

Page 64: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

• +5V: Pin 16• GND: Pin 15

Features

Meet or Exceed TIA/EIA-232-F and ITURecommendation V.28

Operate With Single 5-V Power Supply

Operate Up to 120 kbit/s

Two Drivers and Two Receivers

± 30-V Input Levels

Low Supply Current . . . 8 mA Typical

Designed to be Interchangeable WithMaxim MAX232

ESD Protection Exceeds JESD 22 2000-V Human-Body Model (A114-A)

ApplicationsTIA/EIA-232-FBattery-Powered SystemsTerminalsModemsComputers

Description/ordering information

The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply EIA-232 voltage levels from a single 5-V supply. Each receiver converts EIA-232 inputs to 5-V TTL/CMOS levels. These receivers have a typical threshold of 1.3 V and a typical hysteresis of 0.5 V, and can accept ± 30-V inputs. Each driver converts TTL/CMOS input levels into EIA-232 levels. The driver, receiver, and voltage-generator functions are available as cells in the Texas Instruments Lin ASIC library.

64

Page 65: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

DC Motor

DC motors are configured in many types and sizes, including brush

less, servo, and gear motor types. A motor consists of a rotor and a permanent

magnetic field stator. The magnetic field is maintained using either permanent

magnets or electromagnetic windings. DC motors are most commonly used in

variable speed and torque.

Motion and controls cover a wide range of components that in some

way are used to generate and/or control motion. Areas within this category include

bearings and bushings, clutches and brakes, controls and drives, drive components,

encoders and resolves, Integrated motion control, limit switches, linear actuators,

linear and rotary motion components, linear position sensing, motors (both AC and

DC motors), orientation position sensing, pneumatics and pneumatic components,

positioning stages, slides and guides, power transmission (mechanical), seals, slip

rings, solenoids, springs.

Motors are the devices that provide the actual speed and torque in a

65

Page 66: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

drive system. This family includes AC motor types (single and multiphase motors,

universal, servo motors, induction, synchronous, and gear motor) and DC motors

(brush less, servo motor, and gear motor) as well as linear, stepper and air motors, and

motor contactors and starters.

In any electric motor, operation is based on simple electromagnetism.

A current-carrying conductor generates a magnetic field; when this is then placed in

an external magnetic field, it will experience a force proportional to the current in the

conductor, and to the strength of the external magnetic field. As you are well aware of

from playing with magnets as a kid, opposite (North and South) polarities attract,

while like polarities (North and North, South and South) repel. The internal

configuration of a DC motor is designed to harness the magnetic interaction between

a current-carrying conductor and an external magnetic field to generate rotational

motion.

Let's start by looking at a simple 2-pole DC electric motor (here red

represents a magnet or winding with a "North" polarization, while green represents a

magnet or winding with a "South" polarization).

Fig 25: Block Diagram of the DC motor

Every DC motor has six basic parts -- axle, rotor (a.k.a., armature), stator,

commutator, field magnet(s), and brushes. In most common DC motors (and all that

Beamers will see), the external magnetic field is produced by high-strength permanent

magnets1. The stator is the stationary part of the motor -- this includes the motor

casing, as well as two or more permanent magnet pole pieces. The rotor (together with

the axle and attached commutator) rotates with respect to the stator. The rotor consists

of windings (generally on a core), the windings being electrically connected to the

commutator. The above diagram shows a common motor layout -- with the rotor

inside the stator (field) magnets.

66

Page 67: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

The geometry of the brushes, commutator contacts, and rotor windings are

such that when power is applied, the polarities of the energized winding and the stator

magnet(s) are misaligned, and the rotor will rotate until it is almost aligned with the

stator's field magnets. As the rotor reaches alignment, the brushes move to the next

commutator contacts, and energize the next winding. Given our example two-pole

motor, the rotation reverses the direction of current through the rotor winding, leading

to a "flip" of the rotor's magnetic field, and driving it to continue rotating.

In real life, though, DC motors will always have more than two poles

(three is a very common number). In particular, this avoids "dead spots" in the

commutator. You can imagine how with our example two-pole motor, if the rotor is

exactly at the middle of its rotation (perfectly aligned with the field magnets), it will

get "stuck" there. Meanwhile, with a two-pole motor, there is a moment where the

commutator shorts out the power supply (i.e., both brushes touch both commutator

contacts simultaneously). This would be bad for the power supply, waste energy, and

damage motor components as well. Yet another disadvantage of such a simple motor

is that it would exhibit a high amount of torque” ripple" (the amount of torque it could

produce is cyclic with the position of the rotor).

Fig 26: Block Diagram of the DC motor having two poles only

So since most small DC motors are of a three-pole design, let's tinker with

the workings of one via an interactive animation (JavaScript required):

Fig 27: Block Diagram of the DC motor having

Three poles

67

Page 68: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

You'll notice a few things from this -- namely, one pole is fully energized at a

time (but two others are "partially" energized). As each brush transitions from one

commutator contact to the next, one coil's field will rapidly collapse, as the next coil's

field will rapidly charge up (this occurs within a few microsecond). We'll see more

about the effects of this later, but in the meantime you can see that this is a direct

result of the coil windings' series wiring:

Fig 28: Internal Block Diagram of the Three pole DC motor

There's probably no better way to see how an average dc motor is put together,

than by just opening one up. Unfortunately this is tedious work, as well as requiring

the destruction of a perfectly good motor. This is a basic 3-pole dc motor, with 2

brushes and three commutator contacts.

H-BRIDGE:

68

Page 69: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

DC motors are typically controlled by using a transistor

configuration called an "H-bridge". This consists of a minimum of four mechanical or

solid-state switches, such as two NPN and two PNP transistors. One NPN and one

PNP transistor are activated at a time. Both NPN and PNP transistors can be activated

to cause a short across the motor terminals, which can be useful for slowing down the

motor from the back EMF it creates.

69

Page 70: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Basic Theory

H-bridge. Sometimes called a "full bridge" the H-bridge is so named because it has

four switching elements at the "corners" of the H and the motor forms the cross bar.

The key fact to note is that there are, in theory, four switching elements within the

bridge. These four elements are often called, high side left, high side right, low side

right, and low side left (when traversing in clockwise order).

The switches are turned on in pairs, either high left and lower right, or lower left and

high right, but never both switches on the same "side" of the bridge. If both switches

on one side of a bridge are turned on it creates a short circuit between the battery plus

and battery minus terminals. If the bridge is sufficiently powerful it will absorb that

load and your batteries will simply drain quickly. Usually however the switches in

question melt.

To power the motor, you turn on two switches that are diagonally opposed. In the

picture to the right, imagine that the high side left and low side right switches are

turned on.

The current flows and the motor begins to turn in a "positive" direction. Turn on the

high side right and low side left switches, then Current flows the other direction

through the motor and the motor turns in the opposite direction.

Actually it is just that simple, the tricky part comes in when you decide what to use

for switches. Anything that can carry a current will work, from four SPST switches,

one DPDT switch, relays, transistors, to enhancement mode power MOSFETs.

One more topic in the basic theory section, quadrants. If each switch can be controlled

independently then you can do some interesting things with the bridge, some folks

call such a bridge a "four quadrant device" (4QD get it?). If you built it out of a single

DPDT relay, you can really only control forward or reverse. You can build a small

truth table that tells you for each of the switch's states, what the bridge will do. As

each switch has one of two states, and there are four switches, there are 16 possible

states. However, since any state that turns both switches on one side on is "bad"

70

Page 71: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

(smoke issues forth: P), there are in fact only four useful states (the four quadrants)

where the transistors are turned on.

High Side LeftHigh Side

Right

Low Side

Left

Low Side

Right

Quadrant

DescriptionOn Off Off On Forward RunningOff On On Off Backward RunningOn On Off Off BrakingOff Off On On BrakingThe last two rows describe a maneuver where you "short circuit" the motor which

causes the motors generator effect to work against itself. The turning motor generates

a voltage which tries to force the motor to turn the opposite direction. This causes the

motor to rapidly stop spinning and is called "braking" on a lot of H-bridge designs.

Of course there is also the state where all the transistors are turned off. In this case the

motor coasts freely if it was spinning and does nothing if it was doing nothing.

Implementation

1. Using Relays:

A simple implementation of an H Bridge using four SPST relays is shown.

Terminal A is High Side Left, Terminal B is High Side Right, Terminal C is

Low Side Left and Terminal D is Low Side Right. The logic followed is

according to the table above.

Warning: Never turn on A and C or B and D at the same time. This will lead

to a short circuit of the battery and will lead to failure of the relays due to the

large current.

71

Page 72: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

2. Using Transistors:

We can better control our motor by using transistors or Field Effect

Transistors (FETs). Most of what we have discussed about the relays H-Bridge

is true of these circuits. See the diagram showing how they are connected. You

should add diodes across the transistors to catch the back voltage that is

generated by the motor's coil when the power is switched on and off. This fly

back voltage can be many times higher than the supply voltage!

For information on building an H-Bridge using Transistors, have a look here.

Warning: If you don't use diodes, you could burn out your transistors. Also the

same warning as in the diode case. Don't turn on A and C or B and D at the

same time.

72

Page 73: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Transistors, being a semiconductor device, will have some resistance, which

causes them to get hot when conducting much current. This is called not being

able to sink or source very much power, i.e.: Not able to provide much current

from ground or from plus voltage.

Mosfets are much more efficient, they can provide much more current and not

get as hot. They usually have the fly back diodes built in so you don't need the

diodes anymore. This helps guard against fly back voltage frying your ICs.

To use Mosfets in an H-Bridge, you need P-Channel Mosfets on top because

they can "source" power, and N-Channel Mosfets on the bottom because then

can "sink" power.

It is important that the four quadrants of the H-Bridge circuits be turned on

and off properly. When there is a path between the positive and ground side of

the H-Bridge, other than through the motor, a condition exists called "shoot

through". This is basically a direct short of the power supply and can cause

semiconductors to become ballistic, in circuits with large currents flowing.

There are H-bridge chips available that are much easier, and safer, to use than

designing your own H-Bridge circuit.

1. Using H-Bridge Devices

The L293 has 2 H-Bridges (actually 4 Half H-Bridges), can provide about 1

amp to each and occasional peak loads to 2 amps.

The L298 has 2 h-bridges on board, can handle 1amp and peak current draws

to about 3amps. The LMD18200 has one h-bridge on board, can handle about

2 or 3 amps and can handle a peak of about 6 amps. There are several more

commercially designed H-Bridge chips as well.

Once a Half H-bridge is enabled, it truth table is as follows:

INPUT

A

OUTPU

T

YL LH H

73

Page 74: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

So you just give a High level when you want to turn the Half H-Bridge on and

Low level when you want to turn it off. When the Half H-Bridge is on, the

voltage at the output is equal to Vcc2.If you want to make a Full H-Bridge,

you connect the motor (or the load) between the outputs of two Half H-

Bridges and the inputs will be the two inputs of the Half H-Bridges.

Suppose we have connected Half H-Bridges 1 and 2 to form a Full H-Bridge.

Now the truth table is as follows:

INPUT

1A

INPUT

2A

OUTPUT

1Y

OUTPUT

2YDescription

L L L LBraking (both terminals

of motor are Gnd)

L H L H Forward Running

H L H L Backward Running

H H H HBraking (both terminals

of motor at Vcc2

2) L293D Motor Driver IC:

Since two motors are used to drive The back wheels of the robot independently, there

is a need for Two H-bridges. Instead of implementing the above H-bridge

controlCircuit twice, an alternative is to use an integrated circuit (IC), which Provides

more than one

H-bridges. One such IC is L293D, which has 2 H-Bridges in it. It can supply 600Ma

continuous and 1.2A peak Currents. It is suitable for switching applications up to 5

kHz. These Features make it ideal for our application. Another option is to use IC

L298, which can drive 2A continually and 3A peak currents. The Diagram of L293D

74

Page 75: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

is shown in Figure 2It can be observed from the figure that L293D has a similar

configuration to the circuit in

Figure 1

3) Motor Driver Connections: The motor driver requires 2 control

inputs for each motor. Since we drive 2 motors, we need 4 controls

75

Page 76: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Inputs from the microcontroller. Since it has many pins which can be configured as

outputs, there are many options for implementation.For example, in our robot the last

4 bits of Port B (RB4, RB5, RB6,RB7 - Pins 37 to 40) are used to control the rotation

direction of the motors . The enable pins of the motor driver are connected to the

PWM outputs of the microcontroller (Pins 16and 17). This is because, as was

mentioned above, by changing the width of the pulse (implying changing the enable

time of the driver) one can change the speed of the motor. The truth table for motor

driver is as shown in Table II, where H = high, L = low, and Z =high output

impedance state.

Since the motors are reverse aligned, in order to have the robot Move forward they

must be configured such that one of them turns forward and the other one turns

backward. In case of any requirement for the robot to move backward, it is sufficient

to just reverse the

TABLE II

THE TRUTH TABLE OF THE MOTOR DRIVER

input enable outputH H HL H LH L zL L z

TABLE III

DRIVER CONTROL INPUTS

Direction Input 1 Input 2 Input 3 Input 4Forward H L L HBackward L H H L

Power supply

76

Page 77: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

The power supply are designed to convert high voltage AC mains electricity to a

suitable low voltage supply for electronics circuits and other devices. A power supply

can by broken down into a series of blocks, each of which performs a particular

function. A d.c power supply which maintains the output voltage constant irrespective

of a.c mains fluctuations or load variations is known as “Regulated D.C Power

Supply”

For example a 5V regulated power supply system as shown below:

Fig 22: Functional Block Diagram of Power supply

Transformer:

A transformer is an electrical device which is used to convert electrical power from one

electrical circuit to another without change in frequency.

Transformers convert AC electricity from one voltage to another with little

loss of power. Transformers work only with AC and this is one of the reasons why

mains electricity is AC. Step-up transformers increase in output voltage, step-down

transformers decrease in output voltage. Most power supplies use a step-down

transformer to reduce the dangerously high mains voltage to a safer low voltage. The

input coil is called the primary and the output coil is called the secondary. There is no

77

Page 78: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

electrical connection between the two coils; instead they are linked by an alternating

magnetic field created in the soft-iron core of the transformer. The two lines in the

middle of the circuit symbol represent the core. Transformers waste very little power

so the power out is (almost) equal to the power in. Note that as voltage is stepped

down current is stepped up. The ratio of the number of turns on each coil, called the

turn’s ratio, determines the ratio of the voltages. A step-down transformer has a large

number of turns on its primary (input) coil which is connected to the high voltage

mains supply, and a small number of turns on its secondary (output) coil to give a low

output voltage.

Fig 23: An Electrical Transformer

Turns ratio = Vp/ VS = Np/NS

Power Out= Power In

VS X IS=VP X IP

Vp = primary (input) voltage

Np = number of turns on primary coil

Ip = primary (input) current

RECTIFIER: A circuit, which is used to convert a.c to dc, is known as RECTIFIER. The process of conversion a.c to d.c is called “rectification”

TYPES OF RECTIFIERS:• Half wave Rectifier• Full wave rectifier

1. Center tap full wave rectifier.2. Bridge type full bridge rectifier.

Comparison of rectifier circuits:

78

Page 79: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Parameter Type of Rectifier

Half wave Full wave BridgeNumber of diodes

1

2

3

PIV of diodes Vm

2Vm

Vm

D.C output voltage

Vm/

2Vm/

2Vm/

Vdc, at no-load

0.318Vm

0.636Vm 0.636Vm

Ripple factor 1.21

0.482

0.482

Ripple frequency

f

2f

2f

Rectification efficiency

0.406

0.812

0.812

Transformer Utilization Factor(TUF)

0.287 0.693 0.812

RMS voltage Vrms

Vm/2 Vm/√2 Vm/√2

Full-wave Rectifier:

From the above comparisons we came to know that full wave bridge rectifier as more

advantages than the other two rectifiers. So, in our project we are using full wave

bridge rectifier circuit.

Bridge Rectifier: A bridge rectifier makes use of four diodes in a bridge arrangement

to achieve full-wave rectification. This is a widely used configuration, both with

individual diodes wired as shown and with single component bridges where the

diode bridge is wired internally.

A bridge rectifier makes use of four diodes in a bridge arrangement as shown

in fig(a) to achieve full-wave rectification. This is a widely used configuration, both

with individual diodes wired as shown and with single component bridges where the

diode bridge is wired internally.

79

Page 80: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Fig(24.A):

Operation:

During positive half cycle of secondary, the diodes D2 and D3 are in forward biased

while D1 and D4 are in reverse biased as shown in the fig(b). The current flow

direction is shown in the fig (b) with dotted arrows.

Fig(24.B)

During negative half cycle of secondary voltage, the diodes D1 and D4 are in forward

biased while D2 and D3 are in reverse biased as shown in the fig(c). The current flow

direction is shown in the fig (c) with dotted arrows.

Fig(24.C)

80

Page 81: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Filter: A Filter is a device, which removes the a.c component of rectifier

output but allows the d.c component to reach the load.

Capacitor Filter:

We have seen that the ripple content in the rectified output of half wave rectifier is

121% or that of full-wave or bridge rectifier or bridge rectifier is 48% such high

percentages of ripples is not acceptable for most of the applications. Ripples can be

removed by one of the following methods of filtering:

(a) A capacitor, in parallel to the load, provides an easier by –pass for the ripples

voltage though it due to low impedance. At ripple frequency and leave the d.c.to

appears the load.

(b) An inductor, in series with the load, prevents the passage of the ripple current (due

to high impedance at ripple frequency) while allowing the d.c (due to low resistance

to d.c)

(c) various combinations of capacitor and inductor, such as L-section filter

section filter, multiple section filter etc. which make use of both the properties

mentioned in (a) and (b) above. Two cases of capacitor filter, one applied on half

wave rectifier and another with full wave rectifier.

Filtering is performed by a large value electrolytic capacitor connected across

the DC supply to act as a reservoir, supplying current to the output when the varying

DC voltage from the rectifier is falling. The capacitor charges quickly near the peak

of the varying DC, and then discharges as it supplies current to the output. Filtering

significantly increases the average DC voltage to almost the peak value (1.4 × RMS

value).

To calculate the value of capacitor(C),

C = ¼*√3*f*r*Rl

Where,

f = supply frequency,

r = ripple factor,

81

Page 82: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Rl = load resistance

Note: In our circuit we are using 1000microfarads.

Regulator:

Voltage regulator ICs is available with fixed (typically 5, 12 and 15V) or variable

output voltages. The maximum current they can pass also rates them. Negative

voltage regulators are available, mainly for use in dual supplies. Most regulators

include some automatic protection from excessive current ('overload protection') and

overheating ('thermal protection'). Many of the fixed voltage regulator ICs have 3

leads and look like power transistors, such as the 7805 +5V 1A regulator shown on

the right. 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.

Fig 25: A Three Terminal Voltage Regulator

78XX:

The Bay Linear LM78XX is integrated linear positive regulator with three

terminals. The LM78XX offer several fixed output voltages making them useful in

wide range of applications. When used as a zener diode/resistor combination

replacement, the LM78XX usually results in an effective output impedance

improvement of two orders of magnitude, lower quiescent current. The LM78XX is

available in the TO-252, TO-220 & TO-263packages,

Features:

82

Page 83: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

• Output Current of 1.5A

• Output Voltage Tolerance of 5%

• Internal thermal overload protection

• Internal Short-Circuit Limited

• No External Component

• Output Voltage 5.0V, 6V, 8V, 9V, 10V, 12V, 15V, 18V, 24V

• Offer in plastic TO-252, TO-220 & TO-263

• Direct Replacement for LM78XX

CIRCUIT DESCRIPTION:

In this project, the GSM and GPS are connected to the micro controller. The GSM is

used for sending, receiving and reading the messages. The GPS is used for getting the

location of the vehicle which sends the location name in the form of coordinates ie.,

latitudes, longitudes and altitudes. These GSM and GPS are both meant for serial

communication. Both the GSM and GPS are RS voltage level compatible but the

Micro controller is TTL compatible. To match the voltage levels we using the MAX-

232 line driver to convert the RS voltage level to TTL voltage levels and vice versa.

The controller is having one serial port. It is impossible to interface to two serial

communication devices and access both at a time. So that, through Latch these

devices are connected to the MAX. The latch is acts to store the information

temporarily. For accessing these devices, one is kept in sleep mode and the other

activated and vice versa.

The ignition switch is used for starting/ stopping the engine i.e., nothing but a

motor. This is operated through software, which is connected to one of the port pin.

The LCD display will acts as an output source in this project that will be helpful to

display the location name on this display. The RS, R/W. and EN pins are the control

pins which are used for controlling purpose. The RS pin is used to select either data

mode or command mode. The R/W is used to indicate that the LCD will acts as a

either read or write mode. The EN pin is used to enable the data. D0-D7 are data

pins used to get the data from the micro controller. To operate the LCD display,

which requires maximum of +5V DC power supply.The power supply is used drive

all the hardware components, which are work at the maximum voltage of +5V DC.

The 230V AC is a power supply which is used for operate our general home

83

Page 84: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

appliance. But our hardware components which requires just +5V DC voltage. A

step-down transformer is used to step down the 230V AC to the required AC voltage

and thereafter it is meant for filtering with the help of a capacitor. Thereby, the

circuit is meant for the regulation to get the constant +5V DC. This output +5V DC

power supply is getting at the load ie., may be a capacitor for rectification purpose,

ie., any AC ripples should be minimized with the help of this capacitor at the lo

SOFTWARE USED

Embedded ‘C’:

Data Types:

U people have already come across the word “Data types” in C- Language.

Here also the functionality and the meaning of the word is same except a small

change in the prefix of their labels. Now we will discuss some of the widely used data

types for embedded C- programming.

Data Types Size in Bits Data Range/Usageunsigned char 8-bit 0-255

signed char 8-bit -128 to +127

unsigned int 16-bit 0 to 65535

signed int 16-bit -32,768 to +32,767

sbit 1-bit SFR bit addressable only

bit 1-bit RAM bit addressable

onlysfr 8-bit RAM addresses 80-FFH

only

Unsigned char:

The unsigned char is an 8-bit data type that takes a value in the range of 0-

255(00-FFH). It is used in many situations, such as setting a counter value, where

there is no need for signed data we should use the unsigned char instead of the signed

char. Remember that C compilers use the signed char as the default if we do not put

the key word.

84

Page 85: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Signed char:

The signed char is an 8-bit data type that uses the most significant bit (D7 of

D7-D0) to represent the – or + values. As a result, we have only 7 bits for the

magnitude of the signed number, giving us values from -128 to +127. In situations

where + and – are needed to represent a given quantity such as temperature, the use of

the signed char data type is a must.

Unsigned int:

The unsigned int is a 16-bit data type that takes a value in the range of 0 to

65535 (0000-FFFFH).It is also used to set counter values of more than 256. We must

use the int data type unless we have to. Since registers and memory are in 8-bit

chunks, the misuse of int variables will result in a larger hex file. To overcome this we

can use the unsigned char in place of unsigned int.

Signed int:

Signed int is a 16-bit data type that uses the most significant bit (D15 of D15-

D0) to represent the – or + value. As a result we have only 15 bits for the magnitude

of the number or values from -32,768 to +32,767.

Sbit (single bit):

The sbit data type is widely used and designed specifically to access single bit

addressable registers. It allows access to the single bits of the SFR registers.

(II) I/O PROGRAMMING IN EMBEDDED “C”:

In this topic we look at C- programming of the I/O ports and also both byte

and bit I/O programming.

85

Page 86: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Byte size I/O

As we know that ports P0-P3 are byte accessible, we use the P0-P3 labels as

defined in the header file.

Bit – addressable I/O programming

The I/O ports of P0-P3 are bit- addressable, so we can access a single bit

without disturbing the rest of the port. We use the sbit data type to access a single bit

of P0-P3.the format is Px^y where x is the port and y is the bit.

Accessing SFR addresses 80-FFH

Another way to access the SFR RAM space 80-FFH is to use the sfr data type.

This is shown in the below example .Both the bit and byte addresses for the P0-P3

ports are given in the table. Notice in the given example that there is no

#include<reg51.h> statement which allows us to access any byte of the SFR RAM

space 80-FFH.

Single Bit Addresses of Ports

P0 Addr P1 Addr P2 Addr P3 Addr Ports

BitP0.0 80H P1.0 90H P2.0 A0H P3.0 B0H D0

P0.1 81H P1.1 91H P2.1 A1H P3.1 B1H D1

P0.2 82H P1.2 92H P2.2 A2H P3.2 B2H D2

P0.3 83H P1.3 93H P2.3 A3H P3.3 B3H D3

P0.4 84H P1.4 94H P2.4 A4H P3.4 B4H D4

P0.5 85H P1.5 95H P2.5 A5H P3.5 B5H D5

P0.6 86H P1.6 96H P2.6 A6H P3.6 B6H D6

P0.7 87H P1.7 97H P2.7 A7H P3.7 B7H D7

(III) DATA CONVERTION PROGRAMS IN EMBEDDED C

Many micro-controllers have a real time clock (RTC) where the time and date

are kept even when the power is off. These time and date are often in packed BCD by

86

Page 87: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

RTC. To display them they must be converted to ASCII. So, in this topic we are

showing application of logic and instructions in the conversion of BCD and ASCII.

ASCII numbers

On ASCII key boards, when the key “0” is activated, “0110000” (30h)

is provided to the system. Similarly 31h (0110001) is provided for the key “1”, and so

on as shown in the table

Packed BCD to ASCII conversion

The RTC provides the time of day (hour, minutes, seconds) and the date (year, month,

day) continuously, regardless of whether the power is ON or OFF. In the conversion

procedure the packed BCD is first converted to unpacked BCD. Then it is tagged with

0110000 (30h).

ASCII code for Digits 0-9

Key ASCII (hex) Binary BCD (unpacked)

0 30 011 0000 0000 0000

1 31 011 0001 0000 0001

2 32 011 0010 0000 0010

3 33 011 0011 0000 0011

4 34 011 0100 0000 0100

5 35 011 0101 0000 0101

6 36 011 0110 0000 0110

7 37 011 0111 0000 0111

8 38 011 1000 0000 1000

9 39 011 1001 0000 1001

ASCII to packed BCD conversion

To convert ASCII to packed BCD it is first converted to unpacked and then

combined to make packed BCD. For example 4 and 7 on the keyboard give 34h and

37h respectively the goal is to produce 47h or “0100 0111” which is packed BCD.

87

Page 88: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Key ASCII unpacked BCD packed BCD

4 34 00000100

7 37 00000111 01000111 or 47h

Checksum byte in ROM

To ensure the integrity of ROM contents, every system must perform the

checksum calculation. The process of checksum will detect any corruption of the

contents of ROM. One of the cause of the ROM corruption is current surge either

when the system is turned on or during operation. To ensure data integrity in ROM

the checksum process uses, what is a checksum byte. There is an extra byte that is

tagged to the end of the series of data.

To calculate the checksum byte of a series of bytes of data, the following steps can be

used

1) Add the bytes together and drop the carries.

2) Take the 2’s complement of the total sum. This is the checksum byte , which

becomes the last byte of the series

Binary (hex) to decimal and ASCII conversion in embedded C

In C-language we use a function call “printf” which is standard IO

library function doing the conversions of data from binary to decimal, or vice versa.

But here we are using our own functions for conversions because it occupies much of

memory.

One of the most commonly used is binary to decimal conversion. In devices

such as ADC chips the data is provided to the controller in binary. In order to display

binary data we need to convert it to decimal and then to ASCII. Since the hexadecimal

format is a convenient way of representing binary data we refer to binary data as hex.

The binary data 00-FFH converted to decimal will give us 000 to 255.

88

Page 89: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

One way to do this is to divide it by 10 and keep the remainder, for example

11111101 or FDH is 253 in decimal. The following is one version of the algorithm for

conversion of hex (binary) to decimal.

Quotient Remainder

FD/0A 19 3(low digit) LSD

19/0A 2 5(middle digit)

2(high digit) (MSD)

ABOUT SOFTWARE

Software’s used are:

*Keil software for c programming

*Express PCB for lay out design

*Express SCH for schematic design

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.

89

Page 90: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

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

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.

90

Page 91: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

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

CPU Simulation

91

Page 92: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

µ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 access.

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

92

Page 93: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

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.

Steps for executing the Keil programs:

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

93

Page 94: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

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.

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

8. Click on the + Symbol beside of Atmel

94

Page 95: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

9. Select AT89C51 as shown below

10. Then Click on “OK”

11. The Following fig will appear

95

Page 96: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp 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.

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

96

Page 97: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp 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”

97

Page 98: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

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.

98

Page 99: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp 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

99

Page 100: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp 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.

100

Page 101: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

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

30. You are running your program successfully

Source Code

101

Page 102: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

#include<reg51.h>#include<GSM_init.h>unsigned char L,Lg[12],key,x[4],Po,count,z;bit f2,f3,f4,f5;sbit IOE1=P3^7; sbit IOE2=P3^6;sbit m1=P1^0;sbit m2=P1^1;sbit m3=P1^2;sbit m4=P1^3;sbit as=P3^2;sbit cs=P1^7;sbit ent=P3^3; sbit inc=P3^4;sbit dec=P3^5;void main(void);void serial(void) interrupt 4 using 1{ if(RI)

{

a[i]=SBUF;RI=0;if(SBUF=='*'){

f2=1;EA=0;

}i++;if(SBUF=='$'){

i=0;}

}}void clear(){

for(i=0;i<42;i++){

a[i]='\0';}

}

GPS_track(){

IOE1=1;IOE2=0;ES=1;cmd(0x80);

102

Page 103: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

l1: sconf1();EA=1; delay(50);EA=0;if(a[0]=='G' && a[1]=='P' && a[2]=='G' && a[3]=='G' &&

a[4]=='A' && a[27]=='N'){

goto l2;}else{

clear(); EA=1; goto l1;}

l2: cmd(0x01); cmd(0x80);for(i=6;i<22;i++){

DT(a[i]);

}cmd(0xc0);for(i=22;i<38;i++){

DT(a[i]);}Po=0;for(i=17;i<29;i++){

Lg[Po]=a[i];Po++;}IOE1=0;IOE2=1;GSM_setup();

EA=0;serial_tx("AT+CMGS=");serial_tx1(0x22);serial_tx("+919177212213");serial_tx1(0x22);serial_tx1(0x0d);delay(10);serial_tx("Logitude:");for(i=0;i<4;i++){

serial_tx1(Lg[i]);

103

Page 104: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

}serial_tx(" Latitude:");for(i=5;i<11;i++){

serial_tx1(Lg[i]);}serial_tx1(0x1a);cmd(0x01);DTS("msg sent");for(i=0;i<42;i++){

a[i]='\0';}EA=1;cmd(0x01);cmd(0x80);DTS("welcome");

}void start(){

m1=1;m2=0;m3=1;m4=0;}void stop(){

m1=1;m2=1;m3=1;m4=1;} void main(){

IOE1=0;IOE2=1;GSM_setup();L=0;f2=0;f3=0;f4=0;f5=0;key=0;while(1){

EA=1;count=0;cmd(0x01);key=0;Po=0;goto j2;

j1: key=0;Po=0;cmd(0x80);DTS("Password :");

j2: if(ent==0){

while(ent==0);

104

Page 105: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

while(count<2 && f4==1){

cmd(0x80);DTS("Password :"); cmd(0x8a+Po);DT(key+0x30);

if(inc==0){

while(inc==0);if(key<9 && key>=0){

key++;}else{

key=0;}

}else if(dec==0){

while(dec==0);if(key<9 && key>0){

key--;}else{

key=0;}

} else if(ent==0){

while(ent==0);key=0;Po++;

}x[Po]=key+0x30;if(Po>=4){

if(x[0]=='1' && x[1]=='2' && x[2]=='3' && x[3]=='4')

{

105

Page 106: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

cmd(0x01);cmd(0xc0);DTS("correct pass u can");delay(100);cmd(0x01);delay(10);f4=0;f3=0;

count=0;}else{

cmd(0x01);cmd(0xc0);DTS("incorrect pass pls try");count++;a[4]="";key=0;delay(10);cmd(0x01);goto j1;

}

}

}}

if(count>=2){

cmd(0x01);cmd(0x80);DTS("Due to wrong pass");cmd(0xc0);DTS("Vehicle P blocked");while(1) ;

}if(cs==0 && as==1 && f3==0){

start();cmd(0x01);cmd(0x80);DTS("vehicle is going");

}else{

stop();if(as==0){

f3=1;cmd(0x01);cmd(0x80);DTS("vehicle is

crashed");EA=0;serial_tx("AT+CMGS=");serial_tx1(0x22);serial_tx("+919177212213");

106

Page 107: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

serial_tx1(0x22);serial_tx1(0x0d);delay(10);serial_tx(" ur vehicle is crashed");serial_tx1(0x1a);//clear();i=0;

delay(100);EA=1;

// f1=wait();// if(f1!=1)// {// goto intim;// }// f1=0;

clear();L=0;i=0;GPS_track();

}}while(f2==1){

i=0;cmd(0x01);cmd(0xC0);while(a[i]!='#'){

i++ ;}z=i;for(i=z+1;a[i]!='*';i++){

DT(a[i]);}delay(300);if(a[z+1]=='B' && a[z+2]=='L' && a[z+3]=='O' &&

a[z+4]=='C' && a[z+5]=='K' && a[z+6]=='*'){

cmd(0x01);cmd(0x80);DTS("vehicle is blocked");

delay(300);stop();

107

Page 108: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

f3=1;f4=1;}else if(a[z+1]=='T' && a[z+2]=='R' && a[z+3]=='A'

&& a[z+4]=='C' && a[z+5]=='K' && a[z+6]=='*'){

cmd(0x01);cmd(0x80);DTS("vehicle is Tracking");

delay(200);cmd(0x01);clear();GPS_track();f1=0;}

i=0;z=0;for(i=0;i<43;i++){a[i]='\0';}f2=0;EA=1;

}cmd(0x01);cmd(0xc0);DTS("Waiting for mess");

}

}

108

Page 109: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp GSM

Conclusion

The project “DESIGN & DEVELOPMENT OF GSM & GPS BASED VEHICLE

THEFT CONTROL SYSTEM” has been successfully designed and tested.

Integrating features of all the hardware components used have developed it. Presence

of every module has been reasoned out and placed carefully thus contributing to the

best working of the unit. Secondly, using highly advanced IC’s and with the help of

growing technology the project has been successfully implemented.

Future Aspects

In this project, we are taking the action after the vehicle is thefting. If at all, we

provide some of the authentication before operating the vehicle so that we can prevent

the vehicle thefting at the starting itself. The authentication may be either the RFID

or smart card or a finger print module. By adding the authentication to this project,

there we should provide more security to this project.

109

Page 110: 52497965 Development of Embedded System for Vehicle Tracking Using GPS Amp 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 computers

-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.atmel.comwww.microsoftsearch.comwww.geocities.com

http://tycho.usno.navy.mil/gpscurr.html

110