be project final report on ivrs
TRANSCRIPT
- i -
MICROCONTROLLER BASED
INTERACTIVE VOICE RESPONSE
SYSTEM
PROJECT REPORT SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENTS
FOR THE DEGREE OF
BACHELOR OF ENGINEERING (EXTC)
OF
THE UNIVERSITY OF MUMBAI
BY
SWAPNIL MADALI
HARSH MEHTA
PRANOY BALAKRISHNAN
ABHISHEK NADKARNI
ELECTRONICS AND TELECOMMUNICATION DEPARTMENT
ATHARVA COLLEGE OF ENGINEERING
MALAD MARVE ROAD, MALAD (W), MUMBAI - 400059
2007-2008
- ii -
PROJECT REPORT
ON
MICROCONTROLLER BASED INTERACTIVE VOICE RESPONSE SYSTEM
SUBMITTED BY:
SWAPNIL MADALI
HARSH MEHTA
PRANOY BALAKRISHNAN
ABHISHEK NADKARNI
UNDER THE GUIDANCE OF
PROF. ARCHANA GAWAD
(INTERNAL GUIDE)
ELECTRONICS AND TELECOMMUNICATION DEPARTMENT
ATHARVA COLLEGE OF ENGINEERING
MALAD MARVE ROAD, MALAD (W), MUMBAI - 400059
2007-2008
- iii -
CERTIFICATE
ATHARVA COLLEGE OF ENGINEERING
Malad Marve Road, Malad (W), Mumbai - 400059
This is to certify that the following students of
Electronics and Telecommunication Department
SWAPNIL MADALI
HARSH MEHTA
PRANOY BALAKRISHNAN
ABHISHEK NADKARNI
have submitted the project report titled MICROCONTROLLER BASED
INTERACTIVE VOICE RESPONSE SYSTEM in the partial fulfillment of the
requirements for the Degree of Bachelor of Engineering (EXTC) satisfactorily.
Prof. Archana Gawad Dr. A.M. Salsingikar Prof. A. Deshpande
( Internal Guide ) ( Head Of Department of EXTC ) ( Principal )
- iv -
Acknowledgement
The purpose of this project has been to make the maximum use of the dexterity
we possess and polish our ideas before we enter into this gruesome world of
industrial development. In our attempt we have been endlessly supported by our
internal guide. We would like to thank our internal guide Prof. Archana Gawad
who encouraged us to go ahead with this project and have provided us with
valuable help when needed and who has also been instrumental in providing us
the ideas to go about the project and has been constantly monitoring our progress.
We would like to express our gratitude to the Head of our Department Dr. A.M.
Salsingikar for his timely support and the Principal of Atharva College Of
Engineering Prof. A. Deshpande for her encouragement. We intend to put in our
best efforts with the view of achieving optimum result
APRIL 15, 2008 Swapnil Madali
Harsh Mehta
Pranoy Balakrishnan
Abhishek Nadkarni
- v -
Abstract
The Interactive Voice Response (IVR) System serves as a bridge between people
and computer databases by connecting the telephone network with the database.
The telephone user can access the information from anywhere at anytime simply
by dialing a specified number and following an on-line instruction when a
connection has been established.
The IVR system uses pre-recorded or computer generated voice responses to
provide information in response to an input from a telephone caller. The input
may be given by means of touch-tone or Dual Tone Multi-Frequency (DTMF)
signal, which is generated when a caller presses a key of his/her telephone set,
and the sequence of messages to be played is determined dynamically according
to an internal menu structure (maintained within the IVR application program)
and the user input.
The IVRS system which will be designed will provide an ideal platform for the
operation of start-ups and existing small concerns. It will be a highly economical
and efficient way to replace the Dialogic card which is very costly and requires a
high maintenance and regular up gradation.
The IVRS system which will be designed will consist of simple components like
microcontroller and some basic application chips interfaced to a PC which will
have a small software running in the backend while the other jobs are performed
on the front end.
- vi -
Content
Project Report Certificate. . . . . . . . . . . . . . . . . . . . . . . ii
Acknowledgement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
List of Figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Aim of the Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Project Phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Organization of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Hardware Aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 Basic Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Description of Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Primary Circuit Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Secondary Circuit Diagram . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Description of Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
- vii -
3 System Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Flow Graph ( System End ). . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Algorithm ( System End ). . . . . . . . . . . . . . . .. . . . . . . . . 22
3.3 Flow Graph ( User End ) . . . . . . . . . . . . . . . .. . . . . . . . . 23
3.4 The System Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 IC Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 Microcontroller - 89S52 . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 DTMF Decoder – 8870 . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Voice Chip APR 9600. . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4 Other ICs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5 Printed Circuit Board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.1 PCB Layout of Primary Circuit . . . . . . . . . . . . . . . . . . . . . . 42
5.2 PCB Films of Primary Circuit. . . . . . . . . . . . . . . . . . . . . . . 43
5.3 PCB Layout of Secondary Circuit. . . . . . . . . . . . . . . . . . . . . 46
5.4 PCB Films of Secondary Circuit . . . . . . . . . . . . . . . . . . . . . . 47
6 Software Aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
- viii -
6.1 Basic Block Diagram of Software . . . . . . . . . . . . . . . . . . . . 49
6.2 Description of Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.3 Software Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7 Trouble Shooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8 List & Cost of Components. . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.1 List of Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.2 Cost of Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.3 Cost of System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9 Future Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.1 Asynchronous Mode of Transmission . . . . . . . . . . . . . . . . . . 66
9.2 Data Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.3 RS 232 C Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
9.4 Visual Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
- ix -
Approach to the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Conclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
- x -
List of Figures
1.1 The System Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Phases of the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1 Basic Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Primary Circuit Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Secondary Circuit Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1 Flow Chart ( System End ). . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Flow Chart ( User End ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1 Pin Diagram of 89S52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Internal Block Diagram of 89S52. . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Pin Diagram of 8870 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Internal Block Diagram of 8870 . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 Pin Diagram of APR 9600 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6 Internal Block Diagram of APR 9600. . . . . . . . . . . . . . . . . . . . . 36
5.1 PCB Layout of Primary Circuit. . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 PCB Films of Primary Circuit. . . . . . . . . . . . . . . . . . . . . . . . . 43
- xi -
5.3 PCB Films of Primary Circuit . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4 PCB Films of Primary Circuit. . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.5 PCB Layout of Secondary Circuit. . . . . . . . . . . . . . . . . . . . . . . . 46
5.6 PCB Films of Secondary Circuit. . . . . . . . . . . . . . . . . . . . . . . . 47
6.1 Basic Block Diagram of Software. . . . . . . . . . . . . . . . . . . . . . . . 49
9.1 Types of Connectors. . . . . . . . . . . . . . . . . . . . . . . . . . . 69
- 1 -
Chapter 1
Introduction
- 2 -
1.1 Overview
The beginning is always an uncertain phase for the students when it comes to the
selection of their final year project. The project forms the very important part of the
curriculum as it gives the students very comprehensive hand s of experience on real time
tasks. The trickiest part of the job is the selection of the topic of the project. Since the
branch of Electronics and Telecommunication Engineering offers a wide range of
projects it is rather difficult to choose the best one for you. We, as the group of four
students thought of something, which would allow us to implement the theories we had
learned in class. We decided to work on the system, which would have microcontroller
along with a PC as a fundamental control block of the design. Having established the
field of work it was now left to decide on the exact project to work on. After numerous
discussions with the college professors and the field experts in the organization we had
approached we decided to work on a project, which would take relevance of the branch of
engineering we enrolled in. Thus we decided to work on the IVRS system, the title of the
project being INTERACTIVE VOICE RESPONSE SYSTEM.
Since we were inclined to put into use the knowledge gained in classroom we agreed on
using a microcontroller to serve the desired purpose. The project is to establish the
continuity of the database stored in a local computer (in wave format) with the telephone
line by the development of the MICROCONTROLLER BASED INTERACTIVE
VOICE RESPONSE SYSTEM without any human interface.
- 3 -
Fig.1.1 The system layout
In today’s world everything needs to be done from the comfort of one’s home or office.
For this application is prepared in such a way that they can be easily accessed through
computers. In the same way our project’s aim is to provide the entire information to the
user at the tip of his fingers.
Due to this project the traditional manual way of handling the customers queries will be
handled in a more technological and automated way. This type of system performs
operations similar to that of a human telephone operator. The USP of the project is its
relevance to the field of telephony and its cost that will be bearable even by a small
concern due to its simpler and easily available components
- 4 -
1.2 Motivation
Initially we thought of realizing the project with the help of normal voice modem but
due to that the project would have been an entire software oriented project.
We always wished to work on a project that would have some commercial value and
one could put it in some possible use.
We were keen on including both software and hardware aspects in our project and so
we planned accordingly.
We wished to do something that would save precious time and increase the efficiency
of the project without much of arduous work.
The system planned by us was a PC based one, so that, the system could be controlled
by a single user without any hassles.
We wanted the project to be based on theories related to our branch of engineering
and planned accordingly.
- 5 -
1.3 Aim of the Project
“Need is the mother of all inventions”
As this proverb goes everything which is discovered has some history regarding its need
at some point of time. The Interactive Voice Response system has traditionally been used
as a very efficient and logical alternative to a human enquiry.
The most common IVRS system uses a Dialogic card. The dialogic card is the heart of all
the existing Interactive Voice Response system and rightly so is the most costly
component within the system. Going by the current market price (based on extensive
research), an average dialogic card cost around $4000 which is grossly equal to
Rs.1,60,000 (which is quite exorbitant!).
Whenever an organization or a company wishes to employ an Interactive Voice Response
system it has to be ready with a high price to fulfill its need. This is where the main
application of our project comes into picture. Our project aims to reduce the cost of the
Interactive Voice Response system in a very logical manner by replacing the dialogic
card with a microcontroller (considerably cheap).
But as with all good things we have to compromise with something. Here, the
compromise is with respect to the number of calls that can be handled at any given time
i.e. the load handling capacity is considerably reduced. To be specific our project aims to
help the startup and small concerns who don’t invite heavy callers at any given time.
India being a developing country is seeing the emergence of entrepreneur who has the
required talent but not the capital. Our project is targeted to help these budding
entrepreneurs in their nascent stage and thus help them to blossom and expand their
horizon.
- 6 -
1.4 Project Phase
Fig. 1.2
1.4.1 Hardware aspect :
This aspect includes the designing of the telephone receiver circuit and selection of the
Microcontroller along with the minimum circuit required for its operation.
1.4.2 Software aspect :
This includes development of assembly language program for Atmel AT89S52
microcontroller to control the Interactive Voice Response System.
Hardware
Designing
Software
Aspect
Assembly Level
Programming
C programming
for interfacing
with PC
- 7 -
1.4.2.1 Basic features to be simulated :
The following features will be incorporated into the system as a high priority task.
VCC: Virtual Calling Card
FPH: Free Phone Service
TVT: Tele Voting
ACC: Account Calling Card
1.4.2.2 Advanced features of the system :
The following features will be developed after the basic features are simulated
Registering the complain
Registration for new connection
Status of complain
Status of new connection
Automatic connection to the local linesman
Connect to the operator
The Troubleshooting aspect will be followed at every step during the course of the
project.
- 8 -
1.5 Organization of the Report
This report is a compilation of the Project work undertaken during the Seventh Semester
of the Engineering degree course in Electronics and telecommunications and the data
collected during the period in order to achieve the final objective of a successful project.
Chapter 1 introduces the topic of the project. This chapter traces the evolution of the IVR
systems and describes the motivation and also gives the phases of the project. It also
broaches our proposed work.
Chapter 2 discusses the basic block diagram of our IVRS and gives a block by block
description of each part of the diagram also specifying the components involved. It also
enlightens the circuit diagram and the entire technical working of the project.
Chapter 3 gives the system flow graph as to what will be the flow of the design system
and its algorithm at the user end and similarly the flow diagram and algorithm at system
end.
Chapter 4 introduces the various important IC which includes the microcontroller 89s52,
DTMF decoder 8870, voice chip APR9600 as well as other ICs like 4047,6N139,7400,
LM7805 & LM7812 which form the external circuit.
Chapter 5 glosses over the printed circuit board giving the pictorial view as well as the
path connecting the components in the positive and negative films.
Chapter 6 introduces the software aspect of the project. It begins with the basic block
diagram which tells us the basic flow of the software. It proceeds with the description of
the software which gives us the meted logy and the nuances involved in the software
triggering the hardware.
- 9 -
Chapter 7 is involved with the information about the various trouble shootings which
were encountered during the testing phase of our project.
Chapter 8 gives the list of the components which were involved in realizing the circuit. It
also broaches the estimated cost of the components. Thus valuating the entire project.
Chapter 9 includes the conclusion drawn on the basis of the work done through out the
year and is a blue print of the entire project highlighting the various stages of the projects.
Chapter 10 includes the future scope of the project with respect to the integration of the
primary PCB to the computer via serial communication.
Reference Section lists the plethora of books referred and websites visited in an effort to
compile this report in addition to the various decisions taken about the various critical
features of the project.
Appendix includes the various data sheets as given by the companies.
- 10 -
Chapter 2
Hardware Aspect
- 11 -
2.1 Basic Block Diagram
Fig 2.1
Isolation
Transformer
RS232
Cables
Computer
MAX232
Chip
Micro
Controller
89C52
Telephone
Line
Voice
chip
Ring
Detector
DTMF
Decoder
8870
Relay
Control
Relay
control for
Audio
Relay
Activation
Circuit
- 12 -
2.2 Description of Blocks
2.2.1 TELEPHONE TO MICROCONTROLLER
The basic blocks of this part of the system consist of:
1. Ring Detector
2. Relay Activation Circuit
3. A DTMF Decoder
4. A Relay Control For DTMF Decoder
5. Microcontroller
2.1.1 Ring Detector:
The ring detector first detects the incoming signal. A bridge rectifier is connected to the
telephone line. This turns the ringing signal (an alternating voltage) into a pulsating
direct voltage that is smoothened by the condenser and limited with the aid of zener
diodes. The direct voltage across the zener diode is applied to the opto-coupler that
forms as the electrical isolation between the two stages.
2.1.2 DTMF decoder:
The DTMF decoder 8870 performs the function of decoding the digits dialed by the user
in their corresponding binary states and thus making them available for processing in the
microcontroller.
- 13 -
2.1.3 Relay circuits:
We are using two relays that will be performing various tasks as follows:
Relay to control DTMF decoder:
This relay is used to activate and deactivate the 8870 DTMF decoder at various strategic
points. It activates the DTMF decoder just before the user is about to dial the digit. It
deactivates the 8870 DTMF decoder immediately after the user has dialed the digit.
Relay to control feedback audio:
This relay is used to connect and disconnect the audio feedback line (explained later)
with the main telephone line after the response from the user is been received.
Relay activation circuit:
This forms the heart of the relay circuits as it controls the functioning of relay according
to the inputs it receives from the microcontroller.
2.2.2 Microcontroller to telephone (via Voice chip)
The basic blocks of this part are
1. Microcontroller
2. Voice chip
- 14 -
Microcontroller: this is brain of this part. In this part triggers the appropriate channels i.e
the message in the voice chip based on the instant the receiver is lifted and based on the
response of the user.
Voice chip: this forms the heart of this module (definitely of the circuit as well). The
voice chip along with its external circuitry has the provision to work in the two message,
four message or the eight message mode. This circuitry has a microphone which enables
the storing of any message by directly introducing the speech signal. The proper method
of storing the signal can be obtained from the data sheet of the voice chip included later.
The audio output can be directly taken from the bridge and is given to the telephone wire
itself. Since the obtained audio signal is a very low amplitude signal, it does not interfere
with the normal working of the telephone line.
2.2.3 MICROCONTROLLER TO TELEPHONE (VIA COMPUTER)
The basic blocks of this part of the system consist of:
1. Signal Converter
2. Computer
3. Isolation Transformer
4. Microcontroller
2.2.1 Signal converter:
The function of this block is to convert the output of the microcontroller into the
signal that is compatible enough to be input of the computer. This is done by using
max 232 chip and RS 232 cables. The signal at the output of the microcontroller is of
the range of 0v to 5v. It is converted into a signal in the range of –12v to +12v to be
input to the PC.
- 15 -
2.2.2 Computer:
The computer performs the function of sending the proper wave file according to the
input it receives from the microcontroller. There are various respective wave files
stored in its memory which are according to the output depending on the user request.
2.2.3 Isolation transformer:
This is the very important block as it isolates the computer with the high voltage
telephone line (having a potential difference of –60v). The isolation transformer used
is 1:1 600 ohms. The primary is connected to the output of the computer and the
secondary is connected to the feedback telephone line and controlled by relay circuits
(mentioned earlier).
2.2.4 Microcontroller:
This forms the heart of our entire INTERACTIVE VOICE RESPONSE SYSYTEM.
It is a common block to both the parts. It accepts a suitable signal from ring detector
circuit and triggers the relay activation circuit.
It also accepts the output of 8870 DTMF decoder and processes it and gives the
suitable signal to the computer. It controls the working of various functional blocks
and co-ordinates the operation.
- 16 -
2.3 Primary Circuit Diagram
Fig 2.2
- 17 -
2.4 Secondary Circuit Diagram
Fig 2.3
- 18 -
2.5 Description of Circuit
The initial part of the circuit is the ring detector circuit. The job of the ring detector
circuit is to detect the ringing signal and inform the microcontroller about it. At the same
time the ring detected is being informed to the mono stable multivibrator whose job is to
detect the error pulsing or error signaling. As soon as the ring is detected by the ring
detector circuit the output pin of the ring detector goes high and low in accordance with
the incoming ringing signal indicating that the subscriber is trying to access the system.
The ring is detected at the output of the ring detector at pin no5. This output pin of the
ring detector is connected to the pin number 26 of the microcontroller. The job of this pin
is to indicate the microcontroller about the ringing signal. This pin number 26 also goes
high and low in accordance with the incoming ringing signal. This is the stage from
which our assembly language program burnt into our microcontroller starts executing.
The first job of our program is to count the total number of high and low signals at pin
number 26 of the microcontroller. We have programmed our chip to count up to five high
and low signals received from the ring detector circuit so that no false triggering occurs.
A 10 secs delay is called in the program to detect false triggering. If the subscriber trying
to access the system disconnects the call during this 10 secs delay the program is
automatically terminated and the program once again waits for the incoming ringing
signal. If the ringing signal exist after the end of 10 secs delay. Then the incoming signal
is acknowledged by the microcontroller and thus the microcontroller makes pin no 5
active high. This makes relay1 to be connected and the microcontroller ensures that the
line is connected or rather the line is picked up.
Initially when the handset is not picked up the voltage level across the ring and the tip
line of the telephone is 53V. When the ring comes there is a fluctuation in the voltage.
When the handset is picked up the voltage becomes 25V. This is the step in our system
in which the caller gets connected to the system.The beauty of the circuit is that it creates
a telephone like condition inspite of the absence of one and the entire procedure in
automatic.
- 19 -
Once the caller is connected the next step is to immediately reply the caller with an
welcoming message. This is done by the microcontroller by making pin no 15 active
high. This will connect our second relay which is the audio relay in our circuit. Once this
relay is connected the welcoming message is to be played to the caller immediately. To
initialize this, pin no P2.0 in made active low.
Here comes the functioning of our voice chip pcb which is connected to our primary pcb
via port2 of the microcontroller.
- 20 -
Chapter 3
System Flow Graphs
- 21 -
3.1 Flow Chart ( System End )
Ring Signal
detected?
Start
Ring
Continue?
Wait for 10 seconds
Deactivate DTMF
decoder by relay ckt.
Wait for user response
Establish a
dedicated line
Activate Relay to ans.
Pass the audio via the
isolation transformer.
Call terminate
Continue? Yes
No
No
No
Yes
Yes
Stop
- 22 -
3.2 Algorithm ( System End )
Step 1 : Dial the number for the Interactive Voice Response System.
Step 2 : Check for the received signal.
Step 3 : If Busy Tone then go to step 4 else go to step 5.
Step 4 : Terminate the call check for redial. If yes go to step 4 if no go to step 10.
Step 5 : Wait for call to be answered.
Step 6 : On being answered dial for the language in which to be answered.
Step 7 : Choose the service for the required information.
Step 8 : Check if you want to continue. If yes go to step 7, if no go to step 9.
Step 9 : Terminate the call.
Step 10 : Stop the system.
- 23 -
3.3 Flow Chart ( User End )
YES
YES NO
Start
Dial the Number.
Check the
signal
Dial for
Language.
Wait to be
answered.
Ringing
Signal
Call
Terminate
Busy Tone
Stop
Redial?
Choose for
the service.
Continue?
Call
Terminate
Stop
NO
Fig 3.2
- 24 -
3.4 Algorithm ( User End )
Step 1 : Check if the ringing signal is present in the telephone line.
Step 2 : If ringing signal is present then wait for 10 seconds, & go to step 3 or else go to
step 1.
Step 3 : If ring continues then activate the relay or else go to step 1.
Step 4 : Establish a dedicated line connection.
Step 5 : Wait for the response of the caller.
Step 6 : Deactivate the DTMF decoder by relay control circuit to save the decoder from
getting false input.
Step 7 : Pass the audio signal via the isolation transformer.
Step 8 : Check if the signal is continued. If yes go to step 3 else go to step 7.
Step 9 : Terminate the call.
Step 10 : Stop the system.
- 25 -
Chapter 4
IC Description
- 26 -
4.1 Microcontroller - 89S52
4.1.1 Pin Diagram of 89S52
Fig. 4.1
- 27 -
4.1.2 Internal Block Diagram of 89S52
Fig. 4.2
- 28 -
4.1.3 Usage in our Circuit
The 89s52 is a microcontroller which has in system programming (ISP) which we
found very useful during the testing stage of our circuit.
Since in ISP the memory of the microcontroller is not formatted once the program
is tested, hence we need not re-program the chip again and again.
The primary job of the microcontroller is to trigger the voice channel based on the
appropriate input received.
The input to the microcontroller is at P1.0, P1.1, P1.2, P1.3 which comes from pin
no. 11,12,13,14 of 8870 respectively.
On receiving the input the microcontroller processes it and triggers the voice
channel of the secondary PCB giving an active low signal at pin no P.20, P2.1,
p2.2 ,P.2.3 according to the input.
Another additional function of the microcontroller is to start a delay of 10s which
will be taking care of the instant of false triggering due to error in the line.
- 29 -
4.1.4 Features & Application
• Compatible with MCS®-51 Products
• 8K Bytes of In-System Programmable (ISP) Flash Memory
– Endurance: 1000 Write/Erase Cycles
• 4.0V to 5.5V Operating Range
• Fully Static Operation: 0 Hz to 33 MHz
• Three-level Program Memory Lock
• 256 x 8-bit Internal RAM
• 32 Programmable I/O Lines
• Three 16-bit Timer/Counters
• Eight Interrupt Sources
• Full Duplex UART Serial Channel
• Low-power Idle and Power-down Modes
• Interrupt Recovery from Power-down Mode
• Watchdog Timer
- 30 -
• Dual Data Pointer
• Power-off Flag
• Fast Programming Time
• Flexible ISP Programming (Byte and Page Mode)
• Green (Pb/Halide-free) Packaging Option
- 31 -
4.2 DTMF Decoder - 8870
4.2.1 Pin Diagram of 8870
Fig. 4.3
- 32 -
4.2.2 Internal Block Diagram of 8870
Fig. 4.4
- 33 -
4.2.3 Usage in our circuit:
The DTMF decoder is basically used to understand what the user wishes to receive. The
input to the DTMF decoder is a tone which has a specialized frequency which intern
depends upon the number punched in by the user on the telephone keypad. Thus at the
input of the DTMF decoder is a tone with a particular voltage level. The basic job of the
DETMF decoder is to convert the input it has received into binary format. In our circuit
the tone is decoded into the binary format and made available to the microcontroller on
pin number 11,12,13,14 with 11 being the LSB and 14 being the MSB. The table below
shows the decoding of the tones and their equivalent binary formats
- 34 -
4.2.4 Features & Application
Adjustable Acquisition and Release Times
Central Office Quality and Performance
Low Power Consumption
Power-down and Inhibit Modes (-02 only)
Inexpensive 3.58 MHz Time Base
Single 5 Volt Power Supply
Dial Tone Suppression
Telephone switch equipment
Remote data entry
Paging systems
Personal computers
Credit card systems
- 35 -
4.3 APR 9600
4.3.1 Pin Diagram of APR 9600
Fig. 4.5
- 36 -
4.3.2 Internal Block Diagram of APR 9600
Fig. 4.6
- 37 -
4.3.3 Usage in our Circuit
The APR9600 is basically used to store and play a speech message. It requires an active
low triggering. TheAPR9600 can be configured to work in 2, 4 or 8 messaging system
based on the table given below.
We have configured our system to work for 4 equal messages. The triggering is received
from P2.0,P2.1,P2.2,P2.3 of the microcontroller.
The sampling rate is inversely proportional to the duration of message in the chip. If more
is the sampling rate less will be the time but the quality will be better. Hence we can
configure the system according to our need with the help of the table given below.
- 38 -
4.3.4 Features & Application
Single-chip, high-quality voice recording & playback
Solution
- No external ICs required
- Minimum external components
Non-volatile Flash memory technology
- No battery backup required
User-Selectable messaging options
- Random access of multiple fixed-duration messages
- Sequential access of multiple variable-duration
Messages
User-friendly, easy-to-use operation
- Programming & development systems not required
- Level-activated recording & edge-activated play
back switches
Low power consumption
- Operating current: 25 mA typical
- Standby current: 1 A typical
- Automatic power-down
Chip Enable pin for simple message expansion
- 39 -
4.4 Other ICs
IC 4047
IC 4047 is used in controlling the error triggering in the circuit. It is a monostable
multivibrator which starts a monotime as the ring comes in the circuit. This
monotime starts a delay of 10s during which the circuit is idle in the sense that no
action is performed by the program accept the delay routine. After the 10s delay
the ringing signal is again checked for its presence based on the result the
program is terminated or the call is answered.
IC 6N139
This IC forms the heart of our ring detection circuit which is basically an
optocoupler which has a tip and the ring lines as its input and a voltage level of
0V or 5V as its output which depends upon the absence or presence of ring
respectively.
IC 7805
Used to generate 5V for driving the other ICs such as 89S52. the input to the IC is
from a transformer having an output rating of 0-12V.
- 40 -
IC 7812
Application similar to that of IC 7805 with the output as 12V used to drive the
two DPDT relays. The input is coming from a transformer having an output rating
of 0-18V.
- 41 -
Chapter 5
Printed Circuit Board
- 42 -
5.1 PCB Layout of Primary Circuit
Fig. 5.1
- 43 -
5.2 PCB Films of Primary Circuit
Fig. 5.2
- 44 -
Fig 5.3
- 45 -
Fig 5.4
- 46 -
5.3 PCB Layout for Secondary Circuit
Fig. 5.5
- 47 -
5.4 PCB Film for Secondary Circuit
Fig. 5.6
- 48 -
Chapter 6
Software Aspect
- 49 -
6.1 Basic Block Diagram of S/W
Fig. 6.1
Start
Initialization
Wait for user response
Call delay of 10 sec
Message played accordingly
Relay 2 & 1 disconnected
Stop
Yes
No
No
Yes
P2.5 high ?
P2.5 high ?
Count the no. of high & low pulses
Relay 1 & 2 is connected and
welcoming message is played
- 50 -
6.2 Description of S/W Block
The first step in our program is the initialization of RAM loations, vector
addresses and interrupts initialization.
The second step in our program is the start of the main program in which
initially P2.5 is monitored by the microcontroller.
Once the P2.5 goes high the program counts the total number of active high
and active low signal at this pin.
Next in the program a delay of 10s is started.
At the end of the 10s delay if P2.5 is still high relay1 and relay2 are connected
and the welcoming message is played.
Otherwise the program is terminated and the program once again monitors
P2.5 until it goes high.
After first message is played the system waits for user response to play the
remaining messages accordingly.
At the end of program relay1 and relay2 are disconnected and the program
stops.
- 51 -
6.3 Software Code
org 0000h
Begin: ajmp start
org 0003h
ajmp Terminate
reti
org 000bh
reti
org 0013h
reti
org 001bh
reti
org 0023h
reti
start: mov a,#00h ;Disable interrupt
mov ie,a
clr a ;Clear the contents of Internal RAM
mov r0,#7fh
clrit: mov @r0,a
djnz r0,clrit
- 52 -
mov sp,#30h ;Initialize Stack Pointer
mov psw,#00h ;Select Bank Zero
clr P1.4
clr P3.5
call delay1
mov P2,#0ffh
mov r7,#05h
Here: jb P2.5,Space ;Ring detection
sjmp Here
Space: jnb P2.5,Space2
sjmp space
Space2: djnz r7,Here
call delay10
Timer1: mov a,#81h
mov ie,a ;Enable interrupt
CALL delay
setb P1.4 ;Relay1 connected
setb P3.5 ;Relay2 connected
clr P2.0 ;Welcome message
clr P3.6
call delay1
setb P2.0
CALL delay10 ; Delay of 10 sec
- 53 -
clr P3.5
setb P3.6
Repeat: setb P1.0
setb P1.1
setb P1.2
setb P1.3
CAll delay5
mov a,P1
ANL a,#0fh ;mask except P1.0 to P1.3
cjne a,#00h,Next1
clr P1.4
clr P2.5
ajmp Begin ;Call terminate
Next1: cjne a,#01h,Next2
setb P3.5
clr P2.1 ;Message1 play
clr P3.7
call delay1
setb P2.1
CALL delay10
setb P3.7
clr P3.5
- 54 -
clr P1.0
sjmp Repeat
Next2: cjne a,#02h,Next3
setb P3.5
clr P2.2 ;Message2 play
clr P3.3
call delay1
setb P2.2
CALL delay10
setb P3.3
clr P3.5
clr P1.1
sjmp Repeat
Next3: setb P3.5
clr P2.3 ;Error message play
call delay1
setb P2.3
CALL delay10
clr P3.5
clr P1.0
clr P1.1
clr P1.2
clr P1.3
sjmp Repeat
- 55 -
Terminate: setb P2.5
ajmp Begin
Terminate1: clr P1.4
setb P2.5
ajmp Begin
delay10: mov r0,#07h
loop4: mov r1,#50h
loop3: mov r2,#80h
loop2: mov r3,#40h
loop1: djnz r3,loop1
djnz r2,loop2
djnz r1,loop3
djnz r0,loop4
ret
delay5: mov r0,#05h
loop41: mov r1,#50h
loop31: mov r2,#80h
loop21: mov r3,#40h
loop11: djnz r3,loop11
djnz r2,loop21
djnz r1,loop31
- 56 -
djnz r0,loop41
ret
delay1: mov r0,#02h
loop411: mov r1,#50h
loop311: mov r2,#80h
loop211: mov r3,#40h
loop111: djnz r3,loop111
djnz r2,loop211
djnz r1,loop311
djnz r0,loop411
ret
- 57 -
Chapter 7
Trouble Shooting
- 58 -
Once the PCB was ready and the component mounting was done we started testing
smaller test programs in order to reach the final program. We faced the following
problems and found the solutions after logically pondering over it.
1. While using 89C51 the program was erased from the RAM after every single test.
Hence we switched over to 89S52 which has ISP
capabilities
2. The grounding of various nodes in the PCB was not proper. We took the help of
multimeter to identify those nodes and ground them accordingly.
3. The ring detector circuit was not working properly. After extensive research on
the internet we found the ring detector circuit that employed 6N139 as the
optocoupler.
4. Audio not reaching the telephone handset. The problem lied in the mismatching
of the resistance of primary and secondary that was supposed to be 600ohms.
5. Relay not getting 12V. This was the mistake of the PCB manufacturer who did
not provide a connection. Hence we had to use a jumper.
6. Audio not properly audible. The solution lied in the proper tunning of the
potentiometer which dealt with the sampling rate and the volume control.
7. Automatic triggering of the voice chip. The ground pin of the port2 was
connected hence it received active low trigger ring throughout the duration for
which the system was on.
8. The DTMF was not working properly i.e no input at the DTMF decoder. We used
10nf polyester capacitors instead of 470uf ceramic capacitors.
- 59 -
9. While testing the PCB we faced many problems which had the solution in proper
and tight connections with the PCB.
- 60 -
Chapter 8
List & Cost of Components Used
- 61 -
8.1 Components used in a circuit :
ICs:
1. 89S52 ( 1 )
2. 8870 ( 1 )
3. APR9600 ( 1 )
4. 4047 ( 1 )
5. 6N139 ( 1 )
6. LM7805 ( 1 )
7. LM7812 ( 1 )
8. 7400 ( 1 )
9. MAX 232 ( 1 )
Crystal Oscillators:
1. 12 MHz ( 1 )
2. 3.474545 MHz ( 1 )
Transistors:
1. BC 547 ( 3 )
2. BC 516 ( 1 )
3. 2N2095 ( 1 )
Diodes:
1. IN4007 ( 5 )
- 62 -
2. IN4148 ( 3 )
3. Zenner diodes ( 3 )
4. LEDs ( 7 )
Resistors:
1. 390 Ω ( 1 )
2. 470 Ω ( 1 )
3. 560 Ω ( 3 )
4. 820 Ω ( 1 )
5. 1 k Ω ( 1 )
6. 1.2 k Ω ( 3 )
7. 2.7 k Ω ( 2 )
8. 4.7 k Ω ( 2 )
9. 8.2 k Ω ( 2 )
10. 10 k Ω ( 5 )
11. 22 k Ω ( 2 )
12. 39 k Ω ( 1 )
13. 56 k Ω ( 7 )
14. 100 k Ω ( 1 )
15. 270 k Ω ( 1 )
16. 1 M Ω ( 1 )
17. 4.7 M Ω ( 1 )
Capacitor:
1. 47 pf ( 2 )
2. 10 nf ( 5 )
3. 100 nf ( 13 )
4. 4.7 µf ( 2 )
5. 10 µf ( 3 )
- 63 -
6. 22 µf ( 2 )
7. 30 µf ( 2 )
8. 1 µf ( 3 )
9. 2.2 µf ( 1 )
Transformer:
1. 9-0-9V ( 1 )
2. 15-0-15V ( 1 )
Other components:
1. Switches ( 9 )
2. Relays (12 V/ ) ( 2 )
3. Power connectors ( 2 )
4. RJ 11 ( 2 )
8.2 Cost of components:
ICs : Rs. 324
crystal oscillators: Rs. 108
Transistors: Rs. 81
Diodes: Rs. 45
Resistors: Rs. 37
Capacitors: Rs. 44
Transformer: Rs. 63
Other: Rs. 441
- 64 -
8.3 Cost of the circuit:
Cost of the components : Rs. 1143
Cost of the PCB : Rs. 1440
Labour cost :
*TOTAL COST : Rs. 2583
*All the costs are approximate
- 65 -
Chapter 9
Future Development
- 66 -
The primary PCB of our circuit has a very important application which can enhance its
real time operation. That is presence of the serial port for a serial communication with the
computer through COM ports. In this application the value of the number punched in by
the user is serially transmitted via MAX232 chip to the computer where it is processed
and a suitable wave file is triggered by a software program preferably written using
VISUAL BASICV6.0. the wave file which is played can be stored in the hard disk of the
computer and can be accessed by the program using the concept of uniform resource
locator (URL). Since the memory of the computer is huge a large number of speech
messages can be stored and played by a media player. The output from the computer can
be directly connected to the telephone line via audio transformer which is also called as
an isolation transformer.
The various nuances of serial communication is mentioned below:
9.1 Asynchronous mode of data transmission
In asynchronous transmissions, the link does not include a clock line because each end of
the link provides its own clock. Each transmitted byte includes a start bit to synchronize
the clocks followed by the eight bits of data (LSB first) and one or more stop bits to
signal the end of the transmitted word. The RS232 ports on PCs use asynchronous
formats to communicate with modems and other devices.
9.2 Data formats
Data bits in serial transmission may be in binary, hex or text format.
- 67 -
9.2.1 Binary data
With binary data, the receiver interprets a received byte as a binary number with a value
from 0 – 255. The bits are conventionally numbered 0 through 7 with each bit
representing the bit's value (0/1) multiplied by the power of two.
9.2.2 Text data
It is used in links which need to send messages or files containing text. A link may also
send binary data encoded as text. To send text the program uses a code that assigns a
numeric value to each text character. There are several coding conventions, ASCII being
the most common, which consists of 128 codes requiring only 7 data bit, and the 8th bit
may be a parity bit. The ASCII text format is used by Visual Basic's MSComm control.
9.2.3 ASCII HEX
We can use text to transfer binary data, by expressing the data in ASCII HEX format.
Each byte is represented by a pair of ASCII codes that represent the byte's two
hexadecimal characters. This format can represent any value using only the ASCII codes.
Instead of sending one byte to represent a value from 0 – 255 the sending device sends
two, one for each character in the HEX number that represents the byte. The receiving
computer treats it like ordinary text. After a computer receives the values it can process
or use the data any way it wants, including converting it back to binary data
- 68 -
9.3 RS 232 C Standard
RS-232 is a “complete” standard. This means that the standard sets out to ensure
compatibility between the host and peripheral systems by specifying
1) Common voltage and signal levels,
2) Common pin wiring configurations, and
3) A minimal amount of control information between the host and peripheral systems.
Unlike many standards which simply specify the electrical characteristics of a given
interface, RS-232 specifies electrical, functional, and mechanical characteristics in order
to meet the above three criteria.
9.3.1 Electrical Characteristics
The electrical characteristics section of the RS–232 standard includes specifications on
voltage levels, rate of change of signal levels, and line impedance.
9.3.2 Functional Characteristics
RS–232 has defined the function of the different signals that are used in the interface.
These signals are divided into four different categories: common, data, control, and
timing.
9.3.3 Mechanical Interface Characteristics
The third area covered by RS–232 concerns the mechanical interface. In particular, RS–
232 specifies a 25–pin connector. This is the minimum connector size that can
accommodate all of the signals defined in the functional portion of the standard.
- 69 -
Fig 9.1 Types of Connectors
- 70 -
9.4 VISUAL BASICS :
VB is preferred as the programming language because of its following features:
Based on basic language
Programming objects and events:
The visual forms and objects like list boxes and radio buttons that one uses on the
form, help to interact with the application in order to find out the flow of the
program. The forms and object perform specified action when an event occurs.
This is known as Event Driven Programming.
A quick and easy way to develop applications :
The tool provided by VB helps to reduce development time. It is faster to create
application using the tools available.
A quick editing, testing and debugging.
Full array of mathematical string handling and graphic functions.
Sequential and random access files support.
Powerful database access tools.
Internet features.
ActiveX support.
Package and deployment wizard makes distributing the application samples.
- 71 -
Approach to the Project
The whole procedure to approach to the project can be discussed using the following
points :
The project involved extensive interaction with the main telephone line, hence the
exact electrical properties viz. the ringing voltage, feedback voltage, current
specifications etc was studied in detail.
The study of ring detecting circuit was undertaken to harness the voltage acquired to
partially drive the various components of the system.
The study of DTMF decoder was carried out to interpret the response of the user.
After due researches 8870 DTMF decoder was found to be the perfect chip.
The system to be designed is the microcontroller based system, hence the choice and
scrutiny of the right kind of microcontroller was done and the result of the study was
89c51 microcontroller.
The study of various inputs to the computer and their characteristics was done so as to
make the output of the microcontroller compatible to that of the computer.
The study of various ways to output the signal from the computer was done and
passing the signal through max 232 chip by RS 232 cables was the obvious answer.
The basic study if transformer was done so as to find the proper configuration of the
transformer to isolate the computer with the main telephone line.
- 72 -
The implementation of the relay circuits using relay activation circuit to establish an
interface between various components and telephone line was done.
A separate Voice Circuit is developed which can be used as an speech storing circuit
which can be triggered by the appropriate port line of the microcontroller depending
on the response and the situation of the user.
The computer language VB (6.0 version) can be selected to satisfy the software
aspect of the project since it gives it a visual idea of the entire operation.
Investigation into any further aspect and points relating to the project is being carried
out.
- 73 -
Conclusions
This project provides a very efficient & excellent way of satisfying the need of an
Interactive Voice Response System for a small concern.
The main advantage of this project is its simplicity which is well explained in the
modular format.
The project being handled in a modular format gives a clear understanding of the
various areas of technology involved in a compact & crisp manner.
The errors, if any can be easily detected & only the defective component of the
unit needs to be replaced.
The project is especially important to start–ups since the cost involved is less as
compared to other systems available in the market.
The software will also be lucid and could be altered according to the needs of the
customers.
The project has wide application in schools & colleges as the results of
examinations can be stored and the candidates can access it via their telephone
rather than come all the way to their institution.
- 74 -
References
WEBSITES REFERRED :
www.atmel.com
www.intel.com
www.maxim-ic.com
www.mtnl.com
www.nihatech.com
www.colinfahey.com
www.electronicsinfoline.com
www.electronics-circuits.com
www.nch.com
www.itpapers.com
www.cspan.com
www.futuresoftsol.com
www.clare.com
- 75 -
BOOKS REFERRED :
1. Kenneth J Ayala, “ The 8051 Microcontroller – Architecture , Programming and
Applications ”,Second Edition, Penram International Publishing (India) Pvt. Ltd
1996.
2. J.E.Flood, “ Telecom Switching, Traffic And Networks ”, Pearson Education
Asia, First Reprint 2001.
3. Thiagarajan Vishwanathan, “ Telecom Switching Systems And Networks ”,
Prentice Hall of India Pvt Ltd. Eastern Economy Edition, Fourth Printing, 1996.
4. Jan Axelson “ Serial Port Complete- Programming and circuits for RS-232and
RS-485 links and Networks ”, Penram Intenational
Publishing (India), 1998.
- 76 -
Appendix
Datasheets:
89S52
APR 9600
8870
- 77 -
89S52
- 78 -
- 79 -
- 80 -
- 81 -
- 82 -
- 83 -
- 84 -
- 85 -
- 86 -
- 87 -
APR 9600
- 88 -
- 89 -
- 90 -
- 91 -
- 92 -
- 93 -
- 94 -
8870
- 95 -
- 96 -
- 97 -
- 98 -
- 99 -
- 100 -