Académique Documents
Professionnel Documents
Culture Documents
ABSTRACT
CHAPTER1. INTRODUCTION
1.1 Introduction
1.2 Block Diagram
1.3 Description Of The Project
2.1 AT89S52
2.1.1 A Brief History of 8051
2.1.2 Introduction to AT89S52
2.1.3 Features
2.1.4 Architectural Description
2.1.5 Pin Description
2.3 MAX232
2.4 ADC0804
2.5 GSM
2.6 GPS
2.7 MEMS
4.1 Introduction
4.1 Tools used
4.1 C51 Compiler & A51 macro assembler
4.1 Start µ vision
As we all know, due to the increase in the number of vehicles, accidents have also
become common. Today, if we go through a newspaper we can see a number of accidents. If the
accidents are unnoticed it can even result in death of the driver and also even the passengers. To
protect the people and to save their life we have to rush to the accident place immediately. Our
project provides a door step for such a good task i.e., saving people’s life. What else can be better
than saving a human’s life.
The aim of this project is whenever accident occurs, the location where accident occurred
will be sent to the parents of the driver or passengers as SMS. To send SMS we have used GSM
and to get the location, we have used GPS. When accident occurs the MEMs (micro electro
mechanical sensor) gets disturbed and sends output signal to the controller, the controller gets the
location in latitude and longitude from GPS and sends a message which contains the location
where accident took place in terms of latitude and longitude to the number stored in the program.
From these details, a person can reach to the accident spot and help the victim.
Probably the most useful thing to know about the global system for mobile
communication is that it is an international standard. If you travel in parts of world, GSM is only
type of cellular service available. Instead of analog services, GSM was developed as a digital
system using TDMA technology.
1.2 BLOCK DIAGRAM:
C
O
MEMS N POWER SUPPLY
SENSOR T
R
O
RESET
L
MAX
GPS L
MODEM CRYSTAL
232 E
R
GSM
MODEM
The main aim of the project is to design Accident detection by vehicle to vehicle
communication by GPS & GSM technologies. MEMS is an electro mechanical sensor ,when
accident occurs the MEMS gets disturbed and sends output signal to processor, the location is
identified using GPS and sends it to processor. The GSM will get the information and a message
containing latitude and longitude of the accident location. Thus the accident place is identified.
CHAPTER 2
DESCRIPTION OF HARDWARE COMPONENTS
2.1 AT89S52
The 8051 is an 8-bit processor meaning that the CPU can work only on 8 bits data at a
time. Data larger than 8 bits has to be broken into 8 bits pieces to be processed by the CPU. The
8051 has a total of four I\O ports each 8 bit wide.
There are many versions of 8051 with different speeds and amount of on-chip ROM and
they are all compatible with the original 8051. this means that if you write a program for one it
will run on any of them.
The 8051 is an original member of the 8051 family. There are two other
members in the 8051 family of microcontrollers. They are 8052 and 8031. All the three
microcontrollers will have the same internal architecture, but they differ in the following
aspects.
8051 has 4K ROM, 128 bytes of RAM, two timers and 6 interrupts.
8052 has 8K ROM, 256 bytes of RAM, three timers and 8 interrupts.
Of the three microcontrollers, 8051 is the most preferable. Microcontroller supports both
NECESSITY OF MICROCONTROLLERS:
The microprocessor system had to satisfy the data and program requirements so,
sufficient RAM and ROM are used to satisfy most applications .The peripheral control
equipment also had to be satisfied. Therefore, almost all-peripheral chips were used in the
design. Because of these additional peripherals cost will be comparatively high.
An example:
8085 chip needs:
An Address latch for separating address from multiplex address and data.32-KB RAM and
32-KB ROM to be able to satisfy most applications. As also Timer / Counter, Parallel
programmable port, Serial port, and Interrupt controller are needed for its efficient applications.
In comparison a typical Micro controller 8051 chip has all that the 8051 board has except
a reduced memory as follows.
4K bytes of ROM as compared to 32-KB, 128 Bytes of RAM as compared to 32-KB.
Bulky:
On comparing a board full of chips (Microprocessors) with one chip with all components
in it (Microcontroller).
Debugging:
5. Process the input read, as per the instructions read in program memory.
7. Write data to I/O device and output the result of processing to O/P device.
The system requirements and control specifications clearly rule out the use of 16, 32 or 64
bit micro controllers or microprocessors. Systems using these may be earlier to implement due to
large number of internal features. They are also faster and more reliable but, the above
application is satisfactorily served by 8-bit micro controller. Using an inexpensive 8-bit
Microcontroller will doom the 32-bit product failure in any competitive market place. Coming to
the question of why to use 89S52 of all the 8-bit Microcontroller available in the market the main
answer would be because it has 8kB Flash and 256 bytes of data RAM32 I/O lines, three 16-bit
timer/counters, a Eight-vector two-level interrupt architecture, a full duplex serial port, on-chip
oscillator, and clock circuitry.
In addition, the AT89S52 is designed with static logic for operation down to zero
frequency and supports two software selectable power saving modes. The Idle Mode stops the
CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue
functioning. The Power Down Mode saves the RAM contents but freezes the oscillator, disabling
all other chip functions until the next hardware reset. The Flash program memory supports both
parallel programming and in Serial In-System Programming (ISP). The 89S52 is also In-
Application Programmable (IAP), allowing the Flash program memory to be reconfigured even
while the application is running.
By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89S52 is
a powerful microcomputer which provides a highly flexible and cost effective solution to many
embedded control applications.
2.1.3 FEATURES
PIN DIAGRAM
FIG-2 PIN DIAGRAM OF 89S52 IC
Pin Description
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 1s are written to port 0 pins, the pins can be used as high- impedance inputs. Port 0 can
also be configured to be the multiplexed low- order address/data bus during accesses to external pro-
gram and data memory. In this mode, P0 has internal pullups
Port 0 also receives the code bytes during Flash program- mi ng an d ou tpu t s the c o de b y tes du
r i n g pr o g r a m verification. External pullups are required during program verification.
Port 1
Port 1 is an 8-bit bi-directional I/O port with internal pullups. The Port 1 output buffers can
sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the
internal pullups and can be used as inputs. As inputs, Port 1 pins that are externally being
pulled low will source current (IIL) because of the internal pullups. In addition, P1.0 and P1.1
can be configured to be the timer/counter 2 external count input (P1.0/T2) and the
timer/counter 2 trigger input (P1.1/T2EX), respectively, as shown in the following table.
Port 2
Port 2 is an 8-bit bi-directional I/O port with internal pullups. The Port 2 output buffers can
sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the
internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being
pulled low will source current (IIL) because of the internal pullups.Port 2 emits the high-
order address byte during fetches from external program memory and during accesses to
external data memory that use 16-bit addresses (MOVX @ DPTR). In this application, Port 2
uses strong internal pul- lups when emitting 1s. During accesses to external data memory
that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function
Register.Port 2 also receives the high-order address bits and some control signals during Flash
programming and verification.
Port 3
Port 3 is an 8-bit bi-directional I/O port with internal pullups. The Port 3 output buffers can
sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the
internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally being
pulled low will source current (IIL) because of the pullups. Port 3 also serves the functions of
various special features of the AT89C51, as shown in the following table.
Port 3 also receives some control signals for Flash pro- gramming and verification.
RST
Reset input. A high on this pin for two machine cycles while the oscillator is running resets the
device.
ALE/PROG
Address Latch Enable is an output pulse for latching the low byte of the address during
accesses to external mem- ory. This pin is also the program pulse input (PROG) during Flash
programming.
In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency
and may be used for external timing or clocking 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 dur-ing a
MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-
disable bit has no effect if the microcontroller is in external execution mode.
FIG-3 Functional block diagram of micro controller
The heart of the 8051 circuitry that generates the clock pulses by which all the
internal all internal operations are synchronized. Pins XTAL1 And XTAL2 is provided for
connecting a resonant network to form an oscillator. Typically a quartz crystal and capacitors are
employed. The crystal frequency is the basic internal clock frequency of the microcontroller. The
manufacturers make 8051 designs that run at specific minimum and maximum frequencies
typically 1 to 16 MHz.
Fig-4 Oscillator and timing circuit
MEMORIES
Types of memory:
The 8052 have three general types of memory. They are on-chip memory, external Code memory
and external Ram. On-Chip memory refers to physically existing memory on the micro controller itself.
External code memory is the code memory that resides off chip. This is often in the form of an external
EPROM. External RAM is the Ram that resides off chip. This often is in the form of standard static
RAM or flash RAM.
a) Code memory
Code memory is the memory that holds the actual 8052 programs that is to be run. This memory
is limited to 64K. Code memory may be found on-chip or off-chip. It is possible to have 8K of code
memory on-chip and 60K off chip memory simultaneously. If only off-chip memory is available then
there can be 64K of off chip ROM. This is controlled by pin provided as EA
b) Internal RAM
The 8052 have a bank of 256 bytes of internal RAM. The internal RAM is found on-chip. So it is
the fastest Ram available. And also it is most flexible in terms of reading and writing. Internal Ram is
volatile, so when 8051 is reset, this memory is cleared. 256 bytes of internal memory are subdivided. The
first 32 bytes are divided into 4 register banks. Each bank contains 8 registers. Internal RAM also
contains 256 bits, which are addressed from 20h to 2Fh. These bits are bit addressed i.e. each individual
bit of a byte can be addressed by the user. They are numbered 00h to FFh. The user may make use of
these variables with commands such as SETB and CLR.
Special function registers are the areas of memory that control specific functionality of the 8052
micro controller.
a) Accumulator (0E0h)
As its name suggests, it is used to accumulate the results of large no of instructions. It can hold 8
bit values.
b) B registers (0F0h)
The B register is very similar to accumulator. It may hold 8-bit value. The b register is only used
by MUL AB and DIV AB instructions. In MUL AB the higher byte of the product gets stored in B
register. In div AB the quotient gets stored in B with the remainder in A.
next value to be removed from the stack should be taken from. When a value is to be pushed onto the
stack, the 8052 first store the value of SP and then store the value at the resulting memory location.
When a value is to be popped from the stack, the 8052 returns the value from the memory location
indicated by SP and then decrements the value of SP.
d) Data pointer
The SFRs DPL and DPH work together work together to represent a 16-bit value called the data
pointer. The data pointer is used in operations regarding external RAM and some instructions code
memory. It is a 16-bit SFR and also an addressable SFR.
e) Program counter
The program counter is a 16 bit register, which contains the 2 byte address, which tells the 8052
where the next instruction to execute to be found in memory. When the 8052 is initialized PC starts at
0000h. And is incremented each time an instruction is executes. It is not addressable SFR.
The power control SFR is used to control the 8051’s power control modes. Certain operation
modes of the 8051 allow the 8051 to go into a type of “sleep mode” which consumes much lee power.
The timer control SFR is used to configure and modify the way in which the 8051’s two timers
operate. This SFR controls whether each of the two timers is running or stopped and contains a flag to
indicate that each timer has overflowed. Additionally, some non-timer related bits are located in TCON
SFR. These bits are used to configure the way in which the external interrupt flags are activated, which
are set when an external interrupt occurs.
h) TMOD (Timer Mode, 89h)
The timer mode SFR is used to configure the mode of operation of each of the two timers. Using
this SFR your program may configure each timer to be a 16-bit timer, or 13 bit timer, 8-bit auto reload
timer, or two separate timers. Additionally you may configure the timers to only count when an external
pin is activated or to count “events” that are indicated on an external pin.
These two SFRs taken together represent timer 0. Their exact behavior depends on how the timer
is configured in the TMOD SFR; however, these timers always count up. What is configurable is how
and when they increment in value.
These two SFRs, taken together, represent timer 1. Their exact behavior depends on how the timer
is configured in the TMOD SFR; however, these timers always count up..
This is port 0 latch. Each bit of this SFR corresponds to one of the pins on a micro controller. Any
data to be outputted to port 0 is first written on P0 register. For e.g., bit 0 of port 0 is pin P0.0, bit 7 is pin
p0.7. Writing a value of 1 to a bit of this SFR will send a high level on the corresponding I/O pin
whereas a value of 0 will bring it to low level.
This is port latch1. Each bit of this SFR corresponds to one of the pins on a micro controller. Any
data to be outputted to port 0 is first written on P0 register. For e.g., bit 0 of port 0 is pin P1.0, bit 7 is pin
P1.7. Writing a value of 1 to a bit of this SFR will send a high level on the corresponding I/O pin
whereas a value of 0 will bring it to low level
This is a port latch2. Each bit of this SFR corresponds to one of the pins on a micro controller.
Any data to be outputted to port 0 is first written on P0 register. For e.g., bit 0 of port 0 is pin P2.0, bit 7 is
pin P2.7. Writing a value of 1 to a bit of this SFR will send a high level on the corresponding I/O pin
whereas a value of 0 will bring it to low level.
This is a port latch3. Each bit of this SFR corresponds to one of the pins on a micro controller. Any
data to be outputted to port 0 is first written on P0 register. For e.g., bit 0 of port 0 is pin P3.0, bit 7 is pin
P3.7. Writing a value of 1 to a bit of this SFR will send a high level on the corresponding I/O pin whereas
a value of 0 will bring it to low level.
I/O ports:
One major feature of a microcontroller is the versatility built into the input/output (I/O)
circuits that connect the 8052 to the outside world. The main constraint that limits numerous
functions is the number of pins available in the 8051 circuit. The DIP had 40 pins and the success
of the design depends on the flexibility incorporated into use of these pins. For this reason, 24 of
the pins may each used for one of the two entirely different functions which depend, first, on
what is physically connected to it and, then, on what software programs are used to “program”
the pins.
PORT 0
Port 0 pins may serve as inputs, outputs, or, when used together, as a bi directional low-
order address and data bus for external memory. To configure a pin as input, 1 must be written
into the corresponding port 0 latch by the program. When used for interfacing with the external
memory, the lower byte of address is first sent via PORT0, latched using Address latch enable
(ALE) pulse and then the bus is turned around to become the data bus for external memory.
PORT 1
Port 1 is exclusively used for input/output operations. PORTS 1 pin have no dual
function. When a pin is to be configured as input, 1 is to be written into the corresponding Port 1
latch.
PORT 2
Port 2 maybe used as an input/output port. It may also be used to supply a high –order
address byte in conjunction with Port 0 low-order byte to address external memory. Port 2 pins
are momentarily changed by the address control signals when supplying the high byte a 16-bit
address. Port 2 latches remain stable when external memory is addressed, as they do not have to
be turned around (set to 1) for data input as in the case for Port 0.
PORT 3
Port 3 may be used to input /output port. The input and output functions can be
programmed under the control of the P3 latches or under the control of various special function
registers. Unlike Port 0 and Port 2, which can have external addressing functions and change all
eight-port b se, each pin of port 3 maybe individually programmed to be used as I/O or as one of
the alternate functions. The Port 3 alternate uses are:
All digital circuits require regulated power supply. In this article we are going to learn how to get
a regulated positive supply from the mains supply.
Figure 1 shows the basic block diagram of a fixed regulated power supply. Let us go through
each block.
2.2.1 TRANSFORMER
A transformer consists of two coils also called as “WINDINGS” namely PRIMARY &
SECONDARY.
They are linked together through inductively coupled electrical conductors also called as CORE.
A changing current in the primary causes a change in the Magnetic Field in the core & this in
turn induces an alternating voltage in the secondary coil. If load is applied to the secondary then
an alternating current will flow through the load. If we consider an ideal condition then all the
energy from the primary circuit will be transferred to the secondary circuit through the magnetic
field.
So
The secondary voltage of the transformer depends on the number of turns in the Primary as well as in the
secondary.
2.2.2 Rectifier
A rectifier is a device that converts an AC signal into DC signal. For rectification purpose we use
a diode, a diode is a device that allows current to pass only in one direction i.e. when the anode
of the diode is positive with respect to the cathode also called as forward biased condition &
blocks current in the reversed biased condition.
This is the simplest type of rectifier as you can see in the diagram a half wave rectifier consists
of only one diode. When an AC signal is applied to it during the positive half cycle the diode is
forward biased & current flows through it. But during the negative half cycle diode is reverse
biased & no current flows through it. Since only one half of the input reaches the output, it is
very inefficient to be used in power supplies.
2) Full wave rectifier.
Half wave rectifier is quite simple but it is very inefficient, for greater efficiency we would like
to use both the half cycles of the AC signal. This can be achieved by using a center tapped
transformer i.e. we would have to double the size of secondary winding & provide connection to
the center. So during the positive half cycle diode D1 conducts & D2 is in reverse biased
condition. During the negative half cycle diode D2 conducts & D1 is reverse biased. Thus we get
both the half cycles across the load.
One of the disadvantages of Full Wave Rectifier design is the necessity of using a center tapped
transformer, thus increasing the size & cost of the circuit. This can be avoided by using the Full
Wave Bridge Rectifier.
3) BridgeRectifier.
As the name suggests it converts the full wave i.e. both the positive & the negative half cycle
into DC thus it is much more efficient than Half Wave Rectifier & that too without using a center
tapped transformer thus much more cost effective than Full Wave Rectifier.
Full Bridge Wave Rectifier consists of four diodes namely D1, D2, D3 and D4. During the
positive half cycle diodes D1 & D4 conduct whereas in the negative half cycle diodes D2 & D3
conduct thus the diodes keep switching the transformer connections so we get positive half
cycles in the output.
If we use a center tapped transformer for a bridge rectifier we can get both positive & negative
half cycles which can thus be used for generating fixed positive & fixed negative voltages.
Even though half wave & full wave rectifier give DC output, none of them provides a constant
output voltage. For this we require to smoothen the waveform received from the rectifier. This
can be done by using a capacitor at the output of the rectifier this capacitor is also called as
“FILTER CAPACITOR” or “SMOOTHING CAPACITOR” or “RESERVOIR CAPACITOR”.
Even after using this capacitor a small amount of ripple will remain.
We place the Filter Capacitor at the output of the rectifier the capacitor will charge to the peak voltage during
each half cycle then will discharge its stored energy slowly through the load while the rectified voltage drops
to zero, thus trying to keep the voltage as constant as possible.
If we go on increasing the value of the filter capacitor then the Ripple will decrease. But then the costing will
increase. The value of the Filter capacitor depends on the current consumed by the circuit, the frequency of
the waveform & the accepted ripple.
Where,
Vr= accepted ripple voltage.( should not be more than 10% of the voltage)
I= current consumed by the circuit in Amperes.
F= frequency of the waveform. A half wave rectifier has only one peak in one cycle so F=25hz
Whereas a full wave rectifier has Two peaks in one cycle so F=100hz.
A Voltage regulator is a device which converts varying input voltage into a constant regulated
output voltage. Voltage regulator can be of two types
1) Linear Voltage Regulator
Also called as Resistive Voltage regulator because they dissipate the excessive voltage
resistively as heat.
2) Switching Regulators.
They regulate the output voltage by switching the Current ON/OFF very rapidly. Since their
output is either ON or OFF it dissipates very low power thus achieving higher efficiency as
compared to linear voltage regulators. But they are more complex & generate high noise due to
their switching action. For low level of output power switching regulators tend to be costly but
for higher output wattage they are much cheaper than linear regulators.
The most commonly available Linear Positive Voltage Regulators are the 78XX series where the
XX indicates the output voltage. And 79XX series is for Negative Voltage Regulators.
After filtering the rectifier output the signal is given to a voltage regulator. The maximum input
voltage that can be applied at the input is 35V.Normally there is a 2-3 Volts drop across the
regulator so the input voltage should be at least 2-3 Volts higher than the output voltage. If the
input voltage gets below the Vmin of the regulator due to the ripple voltage or due to any other
reason the voltage regulator will not be able to produce the correct regulated voltage.
Circuit diagram:
IC 7805:
7805 is an integrated three-terminal positive fixed linear voltage regulator. It supports an input
voltage of 10 volts to 35 volts and output voltage of 5 volts. It has a current rating of 1 amp
although lower current models are available. Its output voltage is fixed at 5.0V. The 7805 also
has a built-in current limiter as a safety feature. 7805 is manufactured by many companies,
including National Semiconductors and Fairchild Semiconductors.
The 7805 will automatically reduce output current if it gets too hot.The last two digits represent
the voltage; for instance, the 7812 is a 12-volt regulator. The 78xx series of regulators is
designed to work in complement with the 79xx series of negative voltage regulators in systems
that provide both positive and negative regulated voltages, since the 78xx series can't regulate
negative voltages in such a system.
The 7805 & 78 is one of the most common and well-known of the 78xx series regulators, as it's
small component count and medium-power regulated 5V make it useful for powering TTL
devices.
Table 2.1. Specifications of IC7805
SPECIFICATIONS IC 7805
Vout 5V
Vein - Vout Difference 5V - 20V
Operation Ambient Temp 0 - 125°C
Output Imax 1A
The diagram above shows the expected waveform from the UART when using the
common 8N1 format. 8N1 signifies 8 Data bits, No Parity and 1 Stop Bit. The RS-232 line, when
idle is in the Mark State (Logic 1). A transmission starts with a start bit which is (Logic 0). Then
each bit is sent down the line, one at a time. The LSB (Least Significant Bit) is sent first. A Stop
Bit (Logic 1) is then appended to the signal to make up the transmission.
The data sent using this method, is said to be framed. That is the data is framed
between a Start and Stop Bit.
RS-232 Voltage levels
MAX-232 includes a Charge Pump, which generates +10V and -10V from a single 5v supply.
2.3.3 Serial communication
When a processor communicates with the outside world, it provides data in byte sized
chunks. Computers transfer data in two ways: parallel and serial. In parallel data transfers, often
more lines are used to transfer data to a device and 8 bit data path is expensive. The serial
communication transfer uses only a single data line instead of the 8 bit data line of parallel
communication which makes the data transfer not only cheaper but also makes it possible for
two computers located in two different cities to communicate over telephone.
Serial data communication uses two methods, asynchronous and synchronous. The
synchronous method transfers data at a time while the asynchronous transfers a single byte at a
time. There are some special IC chips made by many manufacturers for data communications.
These chips are commonly referred to as UART (universal asynchronous receiver-transmitter)
and USART (universal synchronous asynchronous receiver transmitter). The AT89C51 chip has a
built in UART.
In asynchronous method, each character is placed between start and stop bits. This
is called framing. In data framing of asynchronous communications, the data, such as ASCII
characters, are packed in between a start and stop bit. We have a total of 10 bits for a character: 8
bits for the ASCII code and 1 bit each for the start and stop bits. The rate of serial data transfer
communication is stated in bps or it can be called as baud rate.
To allow the compatibility among data communication equipment made by various
manufacturers, and interfacing standard called RS232 was set by the Electronics industries
Association in 1960. Today RS232 is the most widely used I/O interfacing standard. This
standard is used in PCs and numerous types of equipment. However, since the standard was set
long before the advent of the TTL logic family, its input and output voltage levels are not TTL
compatible. In RS232, a 1 bit is represented by -3 to -25V, while a 0 bit is represented +3 to +25
V, making -3 to +3 undefined. For this reason, to connect any RS232 to a microcontroller system
we must use voltage converters such as MAX232 to connect the TTL logic levels to RS232
voltage levels and vice versa. MAX232 ICs are commonly referred to as line drivers.
The RS232 cables are generally referred to as DB-9 connector. In labeling, DB-9P
refers to the plug connector (male) and DB-9S is for the socket connector (female). The simplest
connection between a PC and microcontroller requires a minimum of three pin, TXD, RXD, and
ground. Many of the pins of the RS232 connector are used for handshaking signals. They are
bypassed since they are not supported by the UART chip.
IBM PC/ compatible computers based on x86(8086, 80286, 386, 486 and Pentium)
microprocessors normally have two COM ports. Both COM ports have RS232 type connectors.
Many PCs use one each of the DB-25 and DB-9 RS232 connectors. The COM ports are
designated as COM1 and COM2. We can connect the serial port to the COM 2 port of a PC for
serial communication experiments. We use a DB9 connector in our arrangement.
2.5 GSM MODEM
Definitions
The words, “Mobile Station” (MS) or “Mobile Equipment” (ME) are used for mobile terminals
Supporting GSM services.
A call from a GSM mobile station to the PSTN is called a “mobile originated call” (MOC) or
“Outgoing call”, and a call from a fixed network to a GSM mobile station is called a “mobile
Terminated call” (MTC) or “incoming call”.
What is GSM?
GSM (Global System for Mobile communications) is an open, digital cellular technology used
for transmitting mobile voice and data services.
What does GSM offer?
GSM supports voice calls and data transfer speeds of up to 9.6 kbit/s, together with the
transmission of SMS (Short Message Service).
GSM operates in the 900MHz and 1.8GHz bands in Europe and the 1.9GHz and 850MHz bands
in the US. The 850MHz band is also used for GSM and 3G in Australia, Canada and many South
American countries. By having harmonised spectrum across most of the globe, GSM’s
international roaming capability allows users to access the same services when travelling abroad
as at home. This gives consumers seamless and same number connectivity in more than 218
countries.
Terrestrial GSM networks now cover more than 80% of the world’s population. GSM satellite
roaming has also extended service access to areas where terrestrial coverage is not available
HISTORY
In 1980’s the analog cellular telephone systems were growing rapidly all throughout
Europe, France and Germany. Each country defined its own protocols and frequencies to work
on. For example UK used the Total Access Communication System (TACS), USA used the
AMPS technology and Germany used the C-netz technology. None of these systems were
interoperable and also they were analog in nature.
In 1982 the Conference of European Posts and Telegraphs (CEPT) formed a study group
called the GROUPE SPECIAL MOBILE (GSM) The main area this focused on was to get the
cellular system working throughout the world, and ISDN compatibility with the ability to
incorporate any future enhancements. In 1989 the GSM transferred the work to the European
Telecommunications Standards Institute (ETSI.) the ETS defined all the standards used in GSM.
The GSM architecture is nothing but a network of computers. The system has to partition
available frequency and assign only that part of the frequency spectrum to any base transreceiver
station and also has to reuse the scarce frequency as often as possible.
GSM uses TDMA and FDMA together. Graphically this can be shown below –
GSM was originally defined for the 900 Mhz range but after some time even the 1800 Mhz range
was used for cellular technology. The 1800 MHz range has its architecture and specifications
almost same to that of the 900 Mhz GSM technology but building the Mobile exchanges is easier
and the high frequency Synergy effects add to the advantages of the 1800 Mhz range.
ARCITECTURE AND BUILDIGN BLOCKS –
(TRAU)
Mobile Services Switching Center The BSC is connected to the MSC. The MSC
routes the incoming and outgoing calls and
(MSC) assigns user cannels on the A- interface.
Home Location Register (HLR) This register stores data of large no of users. It is
like a database that manages data of all the users.
Every PLMN will have atleast one HLR.
Visitor Location Resigter (VLR) This contains part of data so that the HLR is not
overloaded with inquiries. If a subscriber moves
out of VLR area the HLR requests removal of
data related to that user from the VLR.
Equipment Identity Register (EIR) The IMEI no. is allocated by the manufacturer
and is stored on the network in the EIR. A stolen
phone can be made completely useless by the
network/s if the IMEI no is known.
MS Authentication algorithm’s –
These algorithms are stored in the SIM and the operator can decide which one it
prefers using.
A3/8
The A3 generates the SRES response to the MSC’s random challenge, RAND which the MSC
has received from the HLR. The A3 algorithm gets the RAND from the MSC and the secret key
Ki from the SIM as input and generated a 32- bit output, the SRES response. The A8 has a 64 bit
Kc output.
A5/1 (Over the Air Voice Privacy Algorithm)
The A5 algorithm is the stream cipher used to encrypt over the air transmissions. The
stream cipher is initialized for every frame sent with the session key Kc and the no. of frames
being decrypted / encrypted. The same Kc key is used throughout the call but different 22-bit
frame is used.
The two main interfaces are the AIR and the ABIS interface. The figure shows the
signaling between them.
AIR INTERFACE – signaling between MS and BTS
ABIS INTERFACE – signaling between BTS and BSC
Description:
This command repeats the previous command. Only the A/ command itself cannot be repeated.
Syntax:
Command syntax: A/
Signal Quality +CSQ
Description:
This command determines the received signal strength indication (<rssi>) and the channel bit
error
Rate (<ber>) with or without a SIM card inserted.
Syntax:
Command syntax: AT+CSQ
Defined values:
0: -113 dBm or less
1: -111 dBm
30: -109 to –53 dBm
31: -51dBm or greater
99: not known or not detectable
<ber>: 0…7: as RXQUAL values in the table GSM 05.08
99: not known or not detectable
Description:
This command selects the procedure for message reception from the network.
Syntax:
Command syntax: AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>
Read message +CMGR
Description:
This command allows the application to read stored messages. The messages are read from the
memory selected by +CPMS command.
Command syntax: AT+CMGR=<index>
Defined values:
<stat> possible values (status of messages in memory):
The message reference, <mr>, which is returned to the application, is allocated by the product.
This number begins with 0 and is incremented by one for each outgoing message (successful
and failure cases); it is cyclic on one byte (0 follows 255).
Note: This number is not a storage number. Outgoing messages are not stored.
This command deletes one or several messages from preferred message storage (“BM” SMS
CB ‘RAM storage’, “SM” SMSPP storage ‘SIM storage’ or “SR” SMS Status-Report storage).
Syntax:
Command syntax: AT+CMGD=<Index> [,<DelFalg>]
Defines values
(1-20) when the preferred message storage is “BM”
Integer type values in the range of location numbers of SIM Message memory
When the preferred message storage is “SM” or “SR”.
<DelFlag>
0 Delete message at location <index>.
1 Delete All READ messages
2 Delete All READ and SENT messages
3 Delete All READ, SENT and UNSENT messages
The Global Positioning System (GPS) is a U.S. space-based radio navigation system
that provides reliable positioning, navigation, and timing services to civilian users on a
continuous worldwide basis -- freely available to all. For anyone with a GPS receiver, the system
will provide location and time. GPS provides accurate location and time information for an
unlimited number of people in all weather, day and night, anywhere in the world.
The GPS is made up of three parts:
1. Satellites orbiting the Earth
2. Control and monitoring stations on Earth
3. The GPS receivers owned by users.
GPS satellites broadcast signals from space that are picked up and identified by GPS receivers.
Each GPS receiver then provides three-dimensional location (latitude, longitude, and altitude)
plus the time.
1. SPACE SEGMENT
24+ satellites
20,200 km altitude
55 degrees inclination
12 hour orbital period
5 ground control stations
Each satellite passes over a ground monitoring station every 12 hours
APPLICATIONS OF GPS
COMMANDS IN GPS
Axis Orientation/Motion
Detection Sensor
The MMA7660FC is a ±1.5 g 3-Axis Accelerometer with Digital Output(I2C). It is a very low
power, low profile capacitive MEMS sensor featuring a low pass filter, compensation for 0g
offset and gain errors, and conversion to 6-bit digital values at a user configurable samples
per second. The device can be used for sensor data changes, product orientation, and gesture
detection through an interrupt pin (INT). The device is housed in a small 3mm x 3mm x 0.9mm
DFN package.
Features
• Digital Output (I2C)
• 3mm x 3mm x 0.9mm DFN Package
• Low Power Current Consumption: Off Mode: 0.4 μA, Standby Mode: 3 μA, Active Mode: 47
μA at 1 ODR
• Configurable Samples per Second from 1 to 120 samples a second.
• Low Voltage Operation:
– Analog Voltage: 2.4 V - 3.6 V
– Digital Voltage: 1.71 V - 3.6 V
• Auto-Wake/Sleep Feature for Low Power Consumption
• Tilt Orientation Detection for Portrait/Landscape Capability
• Gesture Detection Including Shake Detection and Tap Detection
• Robust Design, High Shocks Survivability (10,000 g)
• RoHS Compliant
• Halogen Free
• Environmentally Preferred Product
• Low Cost
Typical Applications
• Mobile Phone/ PMP/PDA: Orientation Detection (Portrait/Landscape),
Image Stability, Text Scroll, Motion Dialing, Tap to Mute
• Laptop PC: Anti-Theft
• Gaming: Motion Detection, Auto-Wake/Sleep For Low Power Consumption
• Digital Still Camera
Pin Description
Table 2. Maximum Ratings
(Maximum ratings are the limits to which the device can be exposed without causing
permanent damage.)
PRINCIPLE OF OPERATION
The Free scale Accelerometer consists of a MEMS capacitive sensing g-cell and a signal
conditioning ASIC contained in a single package. The sensing element is sealed hermetically at
the wafer level using a bulk micro machined cap wafer. The g-cell is a mechanical structure
formed from semiconductor materials (polysilicon) using masking and etching processes.
The sensor can be modeled as a movable beam that moves between two mechanically fixed
beams (Figure 4). Two gaps are formed; one being between the movable beam and the first
stationary beam and the second between the movable beam and the second stationary beam.
The ASIC uses switched capacitor techniques to measure the g-cell capacitors and extract the
acceleration data from the difference between the two capacitors. The ASIC also signal
conditions and filters (switched capacitor) the signal, providing a digital output that is
proportional to acceleration.
MODES OF OPERATION
The sensor has three power modes: Off Mode, Standby Mode, and Measurement Mode to offer
the customer different power consumption options. The sensor is only capable of running in one
of these modes at a time.
The Off Mode offers the lowest power consumption, approximately 0.4 μA and can only be
reached by powering down the analog supply. See Figure 5. In this mode, there is no analog
supply and all I2C activity is ignored.
The Standby Mode is ideal for battery operated products. When Standby Mode is active the
device outputs are turned off providing a significant reduction in operating current. When the
device is in Standby Mode the current will be reduced to approximately 3 μA. Standby Mode is
entered as soon as both analog and digital power supplies are up. In this mode, the device
can read and write to the registers with I2C, but no new measurements can be taken. The mode
of the device is controlled through the MODE (0x07) control register by accessing the mode bit
in the Mode register.
During the Active Mode, continuous measurement on all three axes is enabled. In addition, the
user can choose to enable:
Shake Detection, Tap Detection, Orientation Detection, and/or Auto-Wake/Sleep Feature and in
this mode the digital analysis for
any of these functions is done. The user can configure the samples per second to any of the
following: 120 samples/second, 64 samples/second, 32 samples/second, 16 samples/second, 8
samples/second, 4 samples/second, 2 samples/second, and 1 sample/second for the wake state. If
the user is configuring the sleep feature, the selectable ranges are: 32 samples/second, 16
samples/second, 8 samples/seconds and 1 sample/second. Depending on the samples per second
selected the power consumption will vary.
The MMA7660FC includes a range of user configurable power saving features. The device’s
samples per second can be set over a wide range from 1 to 120 samples a second; the operating
current is directly proportional to samples per second. The analog supply AVDD can be powered
down to put the MMA7660FC into Off Mode, which typically draws 0.4 μA. The Auto-Wake/
Sleep feature can toggle the sampling rate from a higher user selected samples per second to a
lower user selected samples per second, changing based on if motion is detected or not. The user
can choose to use any of the above options to configure the part and make it have the optimal
power consumption level for the desired application.
MMA7660FC can be put into Test Mode, which disables accelerometer measurements and
instead allows the user to write 6-bit values directly to the three axis data registers, thus
simulating real time accelerometer measurements. The state machine will respond to these values
according to the enabled features and functions, allowing them to be validated.
NOTE: MMA7660FC does not include an accelerometer self test function, which is typically an
electrostatic force appliedto each axis to cause it to deflect.
FEATURES
The Sensor employs both analog and digital filtering to ensure low noise and accurate
output when using the part for Shake,Tap, or Orientation Detection. During active measurement
mode, the data is filtered and stored for each of the 3 axes at the specified following
measurement intervals: 8.36 ms (120 samples/second), 15.625 ms (64 samples/second), 31.25 ms
(32 samples/second), 62.5 ms (16 samples/second), 125 ms (8 samples/second), 250 ms (4
samples/second), 500 ms(2 samples/second), or 1s (1 sample/second) indicated in AMSR [2:0].
The 6-bit measurement data is stored in the XOUT (0x00), YOUT (0x01), and ZOUT (0x02)
registers and is used to update the Shake, Alert, Tap, PoLa[2:0] (updates Up, Down, Left, and
Right position), and BaFro[1:0] (updates Back and Front position) in the TILT (0x03) register
used for orientation detection. The customer can configure the part by enabling a number of
userdesired interrupts in the INTSU (0x06) register. Once the interrupts are enabled a change in
filtered readings will cause an interrupt to occur depending on the output.
The filters that are being used by this sensor is the analog filtering, digital noise filtering of
measurements used for orientation detection and updated in the XOUT (0x00), YOUT (0x01),
and ZOUT (0x02) registers. The filtering method used is to oversample each axis by taking 32
readings, and then calculate the average for the output measurement data as a finite impulse
response filter.
MMA7660FC gives the customer the capability to do orientation detection for such applications
as Portrait/Landscape in Mobile Phone/PDA/ PMP. The tilt orientation of the device is in 3
dimensions and is identified in its last known static position. This enables a product to set its
display orientation appropriately to either portrait/landscape mode, or to turn off the display if
the product is placed upside down. The sensor provides six different positions including: Left,
Right, Up, Down, Back, and Front, shown in Table 7. In Measurement Mode the data is
processed and updates the orientation positions in the TILT (0x03) register.
At each measurement interval, it computes new values for Left, Right, Up, Down, Back, and
Front but it does not automatically update these bits in the TILT (0x03) register. These values are
updated depending on the debounce filter settings (SR Register0x08) configured by the
customer.In order to give the customer the ability to configure the debounce filter, specific to
there application, they can change the following bits in the SR (0x08) register, FILT[2:0]. Please
see below for a more detailed explanation of how the FILT[2:0] works in conjunction with
updating the TILT (0x03) register:
• If FILT[2:0] = 000, then the new values for Left, Right, Up, Down, Back, and Front are updated
in the TILT (0x03) register(PoLa [2:0] and BaFro [1:0]) after every reading without any further
analysis.
• If FILT[2:0] = 001 – 111, then the sensor requires the computed values for Left, Right, Up,
Down, Back, and Front to be the same from 1-7 consecutive readings (depending on the value in
FILT[2:0], before updating the values stored in TILT (0x03) register (PoLa [2:0] and BaFro
[1:0]). The debounce counter is reset after a mismatched reading or the TILT (0x03) register
is updated (if the orientation condition is met).
Tap Detection
The MMA7660FC also includes a Tap Detection feature that can be used for a number of
different customer applications such as button replacement. For example, a single tap can stop a
song from playing and a double tap can play a song. This function detects a fast transition that
exceeds a user-defined threshold (PDET (0x09) register) for a set duration (PD (0x0A) register).
In order to enable Tap detection in the device the user must enable the Tap Interrupt in the
INTSU (0x06) register and AMSR[2:0] = 000 in the SR (0x08) register. In this mode, TILT
(0x03) register, XOUT (0x00), YOUT (0x01), and ZOUT (0x02) registers will update at the 120
samples/second.
The user can configure Tap Detection to be detected on X and/or Y and/or Z axes. The Customer
can configure this by changing the XDA, YDA, and/or ZDA bit in the PDET (0x09) register.
Detection for enabled axes is decided on an OR basis: If the PDINT bit is set in the INTSU
(0x06) register, the device reports the first axis for which it detects a tap by the Tap bit in the
TILT (0x03) register. When the Tap bit in the TILT (0x03) register is set, tap detection ceases, but
the device will continue to process orientation detection data. Tap detection will resume when the
TILT (0x03) register is read.
NOTE: Delta G is available with any AMSR setting, when XDA = YDA = ZDA = 1 (PDET = 1).
When the sampling rate is less than 120 samples/second, the device can not detect tapping, but
can detect small tilt angles (30 degree angle change) which can not be detected by orientation
detection.
Shake Detection
The shake feature can be used as a button replacement to perform functions such as scrolling
through images or web pages on a Mobile Phone/PMP/PDA. The customer can enable the shake
interrupt on any of the 3 axes, by enabling the SHINTX SHINTX, SHINTY, and/or SHINTZ in
the INTSU (0x06) register. MMA7660FC detects shake by examining the current 6-bit
measurement for each axis in XOUT, YOUT, and ZOUT. The axes that are tested for shake
detection are the ones enabled by SHINTX, SHINTY, and/or SHINTZ. If a selected axis
measures greater that 1.3 or less than -1.3g, then a shake is detected for that axis and an interrupt
occurs. All three axes are checked independently, but a common Shake bit in the TILT register is
set when shake is detected in any one of the selected axes. Therefore when all 3 (SHINTX,
SHINTY, and/or SHINTZ) are selected the sensor will not know what axis the shake occurred.
When the TILT register is read the Shake bit is cleared during the acknowledge bit of the read
access to that register and shake detection monitoring starts again.
Auto-Wake/Sleep
The MMA7660FC has the Auto-Wake/Sleep feature that can be enabled for power saving.
In the Auto-Wake function, the device is put into a user specified low samples per second (32
samples/second, 16 samples/second, 8 samples/second, or 1 sample/second) in order to minimize
power consumption. When the Auto-Wake is enabled and activity is detected such as a change in
orientation, pulse event, Delta G acceleration or a shake event, then the device wakes up. Auto-
Wake will automatically enable Auto-Sleep when the device is in wake mode and can therefore
be configured to cause an interrupt on wake-up, by configuring the part to either wake up with a
change in orientation, shake, or if using the part at 120 samples/second tap detection.
When the device is in Auto-Wake mode, the MODE (0x07) register, bit AWE is high. When the
device has detected a change in orientation, a tap shake, or Delta G (change in acceleration), the
device will enter Auto-Sleep mode. In the Auto-Sleep function, the device is put into any of the
following user specified samples per seconds (120 samples/second, 64 samples/second,
32 samples/second, 16 samples/second, 8 samples/second, 4 samples/second, 2 samples/second,
and 1 sample/second). In the Auto-Sleep mode, if no change in the orientation, shake or tap has
occurred and the sleep counter has elapsed, the device will go into the Auto-Wake mode. When
the device is in the Auto-Sleep mode, the MODE (0x07) register, bit ASE is high. The device can
be programmed to continually cycle between Auto-Wake/Sleep.
NOTE: The device can either be powered on in Wake/Sleep state depending on ASE/AWE
settings. If the AWE bit is set, the device is powered on in, in sleep state. If the ASW bit is set,
the device is powered on in, in wake state.
SERIAL INTERFACE
Serial-Addressing
MMA7660FC operates as a slave that sends and receives data through an I²C 2-wire
interface. The interface uses a serial data line (SDA) and a serial clock line (SCL) to achieve bi-
directional communication between master(s) and slave(s). A master (typically a microcontroller)
initiates all data transfers to and from the device, and generates the SCL clock that synchronizes
the data transfer.
The device’s SDA line operates as both an input and an open-drain output. A pull-up resistor,
typically 4.7 kΩ, is required on SDA. The device’s SCL line operates only as an input. A pull-up
resistor, typically 4.7 kΩ, is required on SCL if there are multiple masters on the 2-wire interface,
or if the master in a single-master system has an open-drain SCL output.
Each transmission consists of a START condition (. 2-Wire Serial Interface Timing Details) sent
by a master, followed by MMA7660FC's 7-bit slave address plus R/W bit, a register address
byte, one or more data bytes, and finally a STOP condition.
Bit Transfer
One data bit is transferred during each clock tap. See Figure 8. The data on SDA must remain
stable while SCL is high.
The acknowledge bit is a clocked 9th bit, shown in Figure 9, which the recipient uses to
handshake a receipt of each byte of data. Thus each byte transferred effectively requires 9 bits.
The master generates the 9th clock tap, and the recipient pulls down SDA during the
acknowledge clock tap, such that the SDA line is stable low during the high period of the clock
tap. When the master is transmitting to MMA7660FC, it generates the acknowledge bit because
it is the recipient. When the device is transmitting to the master, the master generates the
acknowledge bit because the master is the recipient.
Figure 9. Acknowledge
The Slave Address
MMA7660FC has a 7-bit long slave address, shown in Figure 10. The bit following the 7-
bit slave address (bit eight) is the R/W bit, which is low for a write command and high for a read
command. The device has a factory set I²C slave address which is normally 1001100 (0x4C).
Contact the factory to request a different I²C slave address, which is available in the range
0001000 to 1110111 (0x08 to 0xEF), by metal mask option.
The device monitors the bus continuously, waiting for a START condition followed by its slave
address. When the device recognizes its slave address, it acknowledges and is then ready for
continued communication.
If multiple data bytes are transmitted before a STOP condition is detected, these bytes are
generally stored in subsequent MMA7660FC internal registers because the register address
generally auto-increments (Table 5).
CHAPTER 3
CIRCUIT DIAGRAM
CHAPTER 4
SOFTWARE DEVELOPMENT
4.1 Introduction:
In this chapter the software used and the language in which the program code is defined
is mentioned and the program code dumping tools are explained. The chapter also documents the
development of the program for the application. This program has been termed as “Source code”.
Before we look at the source code we define the two header files that we have used in the code.
4.2 Tools Used:
Figure Keil Software- internal stages
Keil development tools for the 8051 Microcontroller Architecture support every level of
software developer from the professional applications
15. Click on the file option from menu bar and select “new”
16. The next screen will be as shown in next page, and just maximize it by double clicking on its
blue boarder.
20. Now you will get another window, on which by default “C” files will appear.
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.
29. Now keep Pressing function key “F11” slowly and observe.
30. You are running your program successfully
Flash Magic:
Features:
Straightforward and intuitive user interface
Five simple steps to erasing and programming a device and setting any options
desired
Programs Intel Hex Files
Automatic verifying after programming
Fills unused flash to increase firmware security
Ability to automatically program checksums. Using the supplied checksum
calculation routine your firmware can easily verify the integrity of a Flash block,
ensuring no unauthorized or corrupted code can ever be executed
Program security bits
Check which Flash blocks are blank or in use with the ability to easily erase all
blocks in use
Read the device signature
Read any section of Flash and save as an Intel Hex File
Reprogram the Boot Vector and Status Byte with the help of confirmation features
that prevent accidentally programming incorrect values
Displays the contents of Flash in ASCII and Hexadecimal formats
Single-click access to the manual, Flash Magic home page and NXP
Microcontrollers home page
Ability to use high-speed serial communications on devices that support it. Flash
Magic calculates the highest baud rate that both the device and your PC can use
and switches to that baud rate transparently
Command Line interface allowing Flash Magic to be used in IDEs and Batch
Files
Manual in PDF format
supports half-duplex communications
Verify Hex Files previously programmed
Save and open settings
Able to reset Rx2 and 66x devices (revision G or higher)
Able to control the DTR and RTS RS232 signals when connected to RST and
/PSEN to place the device into Boot ROM and Execute modes automatically. An
example circuit diagram is included in the Manual. This is essential for ISP with
target hardware that is hard to access.
This enables us to send commands to place the device in Boot ROM mode, with
support for command line interfaces. The installation includes an example project
for the Keil and Raisonance 8051 compilers that show how to build support for
this feature into applications.
Able to play any Wave file when finished programming.
built in automated version checker - helps ensure you always have the latest
version.
Powerful, flexible Just In Time Code feature. Write your own JIT Modules to
generate last minute code for programming. Uses include:
o Serial number generation
o Copy protection and copy authorization
o Storing program date and time - manufacture date
o Storing program operator and location
o Lookup table generation
o Language tables or language selection
o Centralized record keeping
Obtaining latest firmware from the Corporate Web site or project intranet
Requirements:
Flash Magic works on any versions of Windows, except Windows 95. 10Mb of
disk space is required. As mentioned earlier, we are automating two different routines in
our project and hence we used the method of polling to continuously monitor those tasks
and act accordingly.
CHAPTER 5
ADVANTAGES:
2. Remote monitoring
DISADVANTAGES:
Applications:
1. Automobile applications
2. Tracking applications
BIBILOGRAPHY
1. WWW.MITEL.DATABOOK.COM
2. WWW.ATMEL.DATABOOK.COM
3. WWW.FRANKLIN.COM
4. WWW.KEIL.COM
en.wikipedia.org/wiki/ZigBee
WWW .ZIGBEE. ORG /
www.nxp.com/documents/user_manual/UM1 http://www.futurlec.com/GPS.shtml013
HTTP :// EN. WIKIPEDIA . ORG /WIKI /G LOBAL _P OSITIONING _S YSTEM 9. PDF
http://electronics.howstuffworks.com/gadgets/travel/gps.htm
http://en.wikipedia.org/wiki/GSM
http://burnsidetelecom.com/whitepapers/gsm.pdf
http://www.itu.int/osg/spu/ni/3G/casestudies/GSM-FINAL.pdf
REFERENCES
"Power Electronics” by M D Singh and K B Khanchandan
"Linear Integrated Circuits” by D Roy Choudary & Shail Jain
"Electrical Machines” by S K Bhattacharya
"Electrical Machines II” by B L Thereja
www.8051freeprojectsinfo.com