hand gesture project
DESCRIPTION
Hand gesture type of projectTRANSCRIPT
CHAPTER 1
INTRODUCTION
Human gestures have long been an important way of communication,
adding emphasis to voice messages or even being a complete message by itself.
Such human gestures could be used to improve human machine interface. These
may be used to control a wide variety of devices remotely. Vision-based
framework can be developed to allow the users to interact with computers through
human gestures. This study focuses in understanding such human gesture
recognition, typically hand gesture.
Gesture recognition is an important area for novel human computer
interaction (HCI) systems and a lot of research has been focused on it. These
systems differ in basic approaches depending on the area in which it is used.
Basically, the field of gestures can be separated into dynamic gestures (e.g.
writing letters or numbers) and static postures (e.g. sign language). The goal of
gesture analysis and interpretation is to push the advanced human-machine
communication in order to bring the performance of human-machine interaction
closer to human-human interaction.
There are Smart Assisted Living (SAIL) System [4], [5], which
consists of a body sensor network (BSN), a companion robot, a Smartphone (or
PC), and a remote health provider. The inertial sensors on the human subject
collect three-dimensional angular velocity and three-dimensional acceleration of
different body parts, such as the foot, hand, and chest. The data are transferred and
stored on a mobile device such as a Smartphone/PDA carried by the human
1
subject. The PDA sends the data to a PC through Wi-Fi. We currently process the
data on the PC to recognize gestures that the human subject made and send
corresponding commands to control the robot .
With the development of ubiquitous computing, current user
interaction approaches with keyboard, mouse and pen are not sufficient. Due to
the limitation of these devices the usable command set is also limited. Direct use
of hands can be used as an input device for providing natural interaction.
2
CHAPTER 2
LITERATURE SURVEY
Data Gathering for Gesture Recognition Systems Based on Single
Color-, Stereo Color- and Thermal Cameras - International Journal of Signal
Processing, Image Processing and Pattern Recognition Vol. 3, No. 1, March, 2010
In this paper, we present our results of automatic gesture recognition systems
using different types of cameras in order to compare them in reference to their
performances in segmentation. The acquired image segments provide the data for
further analysis. The images of a single camera system are mostly used as input
data in the research area of gesture recognition. In comparison to that, the analysis
results of a stereo color camera and a thermal camera system are used to
determine the advantages and disadvantages of these camera systems. On this
basis, a real-time gesture recognition system is proposed to classify alphabets (A-
Z) and numbers (0-9) with an average recognition rate of 98% using Hidden
Markov Models (HMM).
Activity Recognition from On-Body Sensors: Accuracy-Power Trade-Off by
Dynamic Sensor Selection - Wearable Computing Lab., ETH Z¨urich,
Switzerland
Activity recognition from an on-body sensor network enables context-
aware applications in wearable computing. A guaranteed classification accuracy is
desirable while optimizing power consumption to ensure the system’s wearability.
In this paper, we investigate the benefits of dynamic sensor selection in order to
use efficiently available energy while achieving a desired activity recognition
3
accuracy. For this purpose we introduce and characterize an activity recognition
method with an underlying run-time sensor selection scheme. The system relies
on a meta-classifier that fuses the information of classifiers operating on
individual sensors. Sensors are selected according to their contribution to
classification accuracy as assessed during system training. We test this system by
recognizing manipulative activities of assembly-line workers in a car production
environment. Results show that the system’s lifetime can be significantly
extended while keeping high recognition accuracies. We discuss how this
approach can be implemented in a dynamic sensor network by using the context-
recognition framework Titan that we are developing for dynamic and
heterogeneous sensor networks.
Hand Gesture Recognition: A Comparative Study - Proceedings of the
International MultiConference of Engineers and Computer Scientists 2008 Vol I
IMECS 2008, 19-21 March, 2008, Hong Kong.
This paper presents four very simple but efficient methods to implement
hand gesture recognition namely Subtraction, Gradient, Principal Components
Analysis and Rotation Invariant. We first created an Image Database consisting of
four different hand gesture images. Before populating the database for an images
of various gesture categories in Hand Gesture Recognition system, each image
was first processed i.e., the images were converted to 8-bit grayscale images and
filtering was performed to minimize any noise present in the images. The method
mentioned above were applied on the input test images captured form the sensor
device of the system to find the suitable match form the data base. The methods
used were successful to retrieve the correct matches. The results based on speed
and accuracy was analyzed.
4
Hand Gesture Recognition for Human-Computer Interaction - Journal of
Computer Science 6 (9): 1002-1007, 2010 ISSN 1549-3636 © 2010 Science
Publications.
With the development of ubiquitous computing, current user interaction
approaches with keyboard, mouse and pen are not sufficient. Due to the limitation
of these devices the useable command set is also limited. Direct use of hands can
be used as an input device for providing natural interaction. Approach: In this
study, Gaussian Mixture Model (GMM) was used to extract hand from the video
sequence. Extreme points were extracted from the segmented hand using star
skeletonization and recognition was performed by distance signature. Results: The
proposed method was tested on the dataset captured in the closed environment
with the assumption that the user should be in the Field Of View (FOV). This
study was performed for 5 different datasets in varying lighting conditions.
Conclusion: This study specifically proposed a real time vision system for hand
gesture based computer interaction to control an event like navigation of slides in
Power Point Presentation.
Online Hand Gesture Recognition Using Neural Network Based
Segmentation - The 2009 IEEE/RSJ International Conference on Intelligent
Robots and Systems October 11-15, 2009 St. Louis, USA.
In this paper, we propose an online hand gesture recognition algorithm for a
robot assisted living system. A neural network-based gesture spotting method is
combined with the hierarchical hidden Markov model (HHMM) to recognize hand
5
gestures. In the segmentation module, the neural network is used to determine
whether the HHMM-based recognition module should be applied. In the
recognition module, Bayesian filtering is applied to update the results considering
the context constraints. We implemented the algorithm using an inertial sensor
worn on a finger of the human subject. The obtained results prove the accuracy
and effectiveness of our algorithm.
A Method for Extracting Temporal Parameters Based on Hidden Markov
Models in Body Sensor Networks With Inertial Sensors - IEEE
TRANSACTIONS ON INFORMATION TECHNOLOGY IN
BIOMEDICINE, VOL. 13, NO. 6, NOVEMBER 2009 1019.
Human movement models often divide movements into parts. In walking,
the stride can be segmented into four different parts, and in golf and other sports,
the swing is divided into sections based on the primary direction of motion. These
parts are often divided based on key events, also called temporal parameters.
When analyzing a movement, it is important to correctly locate these key events,
and so automated techniques are needed. There exist many methods for dividing
specific actions using data from specific sensors, but for new sensors or sensing
positions, new techniques must be developed. We introduce a generic method for
temporal parameter extraction called the hidden Markov event model based on
hidden Markov models. Our method constrains the state structure to facilitate
precise location of key events. This method can be quickly adapted to new
movements and new sensors/ sensor placements. Furthermore, it generalizes well
to subjects not used for training. A multi objective optimization technique using
genetic algorithms is applied to decrease error and increase cross-subject
generalizability. Further, collaborative techniques are explored. We validate this
6
method on a walking dataset by using inertial sensors placed on various locations
on a human body. Our technique is designed to be computationally complex for
training, but computationally simple at runtime to allow deployment on resource-
constrained sensor nodes.
Development of a Human Airbag System for Fall Protection Using
MEMS Motion Sensing Technology
This paper describes the development of a human airbag system which is
designed to reduce the impact force from falls. A Micro Inertial Measurement
Unit (μIMU), based on MEMS accelerometers and gyro sensors is developed as
the motion sensing part of the system. A recognition algorithm is used for real-
time fall determination. With the algorithm, a microcontroller integrated with the
μIMU can discriminate falling-down motion from normal human motions and
trigger an airbag system when a fall occurs. Our airbag system is designed to have
fast response with moderate input pressure, i.e., the experimental response time is
less than 0.3 second under 0.4MPa. In addition, we present our progress on using
Support Vector Machine (SVM) training together with the μIMU to better
distinguish falling and normal motions. Experimental results show that selected
eigenvector sets generated from 200 experimental data sets can be accurately
separated into falling and other motions.
7
CHAPTER 3
PROJECT DESCRIPTION
3.1. INTRODUCTION OF THE PROJECT
This demonstrates that accelerometers can be used to effectively translate
finger and hand gestures into computer interpreted signals. To this end we
developed the Acceleration Sensing Glove (ASG) that helps deaf and dumb to
communicate with others through voice commands.
3.2. PRESENT SYSTEM
Vision-based framework can be developed to allow the users to interact with
computers through human gestures. This study focuses in understanding such
human gesture recognition, typically hand gesture. Hand gesture recognition
generally involves various stages like video acquisition, background subtraction,
feature extraction and gesture recognition. The rationale in background
subtraction is detecting the moving objects from the difference between the
current frame and a reference frame, often called the background image or
background model. Most researchers use single color cameras for data
acquisition. A big advantage of these cameras is that they are fast and simple to
control, so it is possible to realize a suitable gesture recognition system also in
real-time applications. Additionally, the color map of the image can be used for
skin color recognition in order to improve the segmentation results. However the
robustness of such a system can suffer from a complicated real background. And
8
the separation of region of interest will still be a challenging problem if only one
camera system is used.
Vision-based analysis of hand gestures is probably the most natural way of
constructing a human-computer gesture interface. Yet it is also the most difficult
one to implement in a satisfactory manner because of the limitations in machine
vision today. The vision-based analysis is performed by using one or more
cameras. The visual information about a person in some visual environment is
acquired and the necessary gesture is extracted. However, there are some difficult
problems: the segmentation of the moving hand from a sometimes complex
environment, the analysis of hand motions, the tracking of hand positions relative
to the environment, and finally the recognition of hand postures. To facilitate
these operations, some use markers, marked gloves, or restrictive setups: uniform
background, very limited gesture vocabulary, or just a simple posture analysis.
Many solutions for gesture spotting or data segmentation have been developed
over the years. There are two main methods: rule-based and HMM-based. Rule-
based methods are widely used in recognition through computer vision. Some
researchers use a special position to mark the start or end point of a gesture, while
others have rules to define the behavior before or after a gesture such as staying
still for several seconds.
3.3. PROPOSED SYSTEM
We developed the Acceleration Sensing Glove (ASG) that communicated
using a wireless link to a desktop computer. The glove uses three-axis
accelerometers on the back of the hand. Using gravity-induced acceleration
offsets, a program was developed to translate gestures to commands. The
accelerometer outputs an analog value corresponding to the acceleration in the
plane of acceleration through the corresponding channel. We developed a
9
procedure to spot and classify input gestures from continuous acceleration data
acquired by the hand held system. The recognition procedure is based on hidden
Markov models (HMM) and was fully implemented on a system on a chip. The
algorithm achieved an average recall of 79% at 93% precision in recognizing the
relevant gestures.
We present 3 axis accelerometer for measuring low speed changes in
inclination in the presence of gravity, detecting the change in the gravity vector,
and determining whether the direction is clockwise or counter clockwise. Here in
our project we develop the system that is wearable as well as inbuilt processing
capability. Our project involves a high accurate and low noise accelerometer and
on-chip analog signal processing capability enables less power and high
performance. Our method uses a wearable device, that can be used any where.
Our system is a standalone system and not affected by illumination variations.
The system here uses a MEMS accelerometer Based Gesture Recognition.
This is a Simple and economical System compared to the existing system because
here is no need for camera and computer analysis. This system is more Portable
since it simply can be placed over the hand, as Nothing external is required for
analysis .this system is Highly accurate and Faster system since the sensor used
are sophisticated and highly accurate. This system is Easy to handle and less skill
is required to operate.
3.4 PROJECT TASK
The hardware consists of a wrist controller and six accelerometers, five on
the fingertips and one on the back of the hand . Each accelerometer (1.3x1.4cm),
an Analog Devices ADXL355, contains 3axes of measurement and had a range of
10
with +/- 3g . Wires send signals from the accelerometers to the forearm controller.
An PIC microcontroller on the forearm controller (4.4x6.6cm) converts the analog
signal from the accelerometer to a 10 bit digital signal. In this work a MEMS 3-
axes accelerometer with a sampling rate of 20Hz was used to record acceleration
of the wearer’s arm.
For static gesture recognition the accelerometer data is calibrated and
filtered. The accelerometers can measure the magnitude and direction of gravity in
addition to movement induced acceleration. In order to calibrate the
accelerometers, we rotate the device’s sensitive axis with respect to gravity and
use the resultant signal as an absolute measurement. To reduce high frequency
noise from the sensors, we took a running average.
The recognition procedure using the recorded acceleration data. Firstly, an
informative feature was extracted from the recorded 3D-acceleration data. Figure
5 shows the acceleration of the z-axis and the corresponding derivative exemplary.
The dominant acceleration axis was determined as axis with the largest amplitude
variation within the last five sampling points. We used this derivative as feature to
characterize every sampling point. Subsequently, a sliding window of fixed size
(30 samples) was shifted over the feature data with a step size of 5 samples. In a
second stage, the Viterbi algorithm was applied to detect begin and end samples
of potential gestures. For this purpose, each gesture type was modeled by an
individual left-right discrete HMM. Six states were used for scroll gestures, nine
states for the “Select” gesture. A code-book of 13 symbols was used to represent
the derivative amplitude in strong/low increase/decrease for all acceleration axes
and calm, for small amplitudes. An initial analysis showed that a period without
movement preceded and followed each gesture. This period occurred naturally,
11
when the user read the next question from the screen or confirmed the completion
of the current one. Thus, the first and last states of all models were designed to
represent small acceleration variations.
3.5. FLOW DIAGRAM
Figure 3.5.1 Flow Diagram of mems hand gesture recognition
12
(PIC 16F877A)MICROCONTROLLER
MEMS-Accelerometer
(ADXL335)
LCD
VOICECHIP(APR 9600)
FILTER AMPLIFIER SPEAKER
3.6. CIRCUIT DIAGRAM
Figure 3.6.1.: Circuit Diagram of hand gesture regonition
13
CHAPTER 4
HARDWARE SYSTEM SPECIFICATION:
4.1.Accelerometer - ADXL335:
Small, Low Power, 3-Axis ±3 g i MEMS® Accelerometer ADXL335
Features:
1. 3-axis sensing
2. Small, low-profile package
3. 4 mm × 4 mm × 1.45 mm LFCSP
4. Low power
5. 180 μA at VS = 1.8 V (typical)
6. Single-supply operation
7. 1.8 V to 3.6 V
8. 10,000 g shock survival
9. Excellent temperature stability
10.BW adjustment with a single capacitor per axis
4.1.1.Application :
1. Cost sensitive, low power, motion- and tilt-sensing applications
2. Mobile devices
3. Gaming systems
4. Disk drive protection
5. Image stabilization
6. Sports and health devices
14
4.1.2.Pin Configuration And Function Descriptions
Figure 4.1.2.a: Pin Diagram
4.1.3.Pin Description:
Pin.no Mnemonics Description
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
EP
NC
ST
COM
NC
COM
COM
COM
ZOUT
NC
YOUT
NC
XOUT
NC
VS
VS
NC
Exposed Pad
No Connect.
Self-Test.
Common.
No Connect.
Common.
Common.
Common.
Z Channel Output.
No Connect.
Y Channel Output.
No Connect.
X Channel Output.
No Connect.
Supply Voltage (1.8 V to 3.6 V).
Supply Voltage (1.8 V to 3.6 V).
No Connect.
Not internally connected. Solder for
mechanical integrity.
Table 4..4.a: Pin Description
15
4.1.4.General Description
The ADXL335 is a small, thin, low power, complete 3-axis accelerometer
with signal conditioned voltage outputs, all on a single monolithic IC. The product
measures acceleration with a minimum full-scale range of ±3 g. It can measure the
static acceleration of gravity in tilt-sensing applications, as well as dynamic
acceleration resulting from motion, shock, or vibration.
The sensor is a polysilicon surface micro machined
structure built on top of a silicon wafer. Polysilicon springs suspend the structure
over the surface of the wafer and provide a resistance against acceleration forces.
Deflection of the structure is measured using a differential capacitor that consists
of independent fixed plates and plates attached to the moving mass. The fixed
plates are driven by 180° out-of-phase square waves. Acceleration deflects the
moving mass and unbalances the differential capacitor resulting in a sensor output
whose amplitude is proportional to acceleration. Phase-sensitive demodulation
techniques are then used to determine the magnitude and direction of the
acceleration.
The demodulator output is amplified and brought off-chip through a 32 kΩ
resistor. The user then sets the signal band-width of the device by adding a
capacitor. This filtering improves measurement resolution and helps prevent
aliasing.
16
4.1.5.Functional Block Diagram
Figure 4.1.5.a: Funtional Block diagram
SPECIFICATION:
Parameter Condition min typ max unit
SENSOR INPUT
Measurement Range
Nonlinearity
Package Alignment Error
Interaxis Alignment Error
Cross-Axis Sensitivity
Each axis
% of full scale ±3 3.6
±0.3
±1
±0.1
±1
g
%
Degrees
Degrees
%
ZERO g BIAS LEVEL
(RATIOMETRIC)
0 g Voltage at XOUT, YOUT
0 g Voltage at ZOUT
0 g Offset vs. Temperature
VS = 3 V
VS = 3 V
1.35
1.2
1.5
1.5
±1
1.65
1.8
V
V
mg/°C
FREQUENCY RESPONSE
17
Bandwidth XOUT, YOUT 5
Bandwidth ZOUT5
RFILT Tolerance
Sensor Resonant Frequency
No external
filter
No external
filter
1600
550
32 ±
15%
5.5
Hz
Hz
kΩ
kHz
NOISE PERFORMANCE
Noise Density XOUT, YOUT
Noise Density ZOUT
150
300
μg/√Hz
rms
μg/√Hz
rms
SELF-TEST 6
Logic Input Low
Logic Input High
ST Actuation Current
Output Change at XOUT
Output Change at YOUT
Output Change at ZOUT
Self-Test 0 to
Self-Test 1
Self-Test 0 to
Self-Test 1
Self-Test 0 to
Self-Test 1
−150
+150
+150
+0.6
+2.4
+60
−325
+325
+550
−600
+600
+1000
V
V
μA
mV
mV
mV
18
OUTPUT AMPLIFIER
Output Swing Low
Output Swing High
No load
No load
0.1
2.8
V
V
POWER SUPPLY
Operating Voltage Range
Supply Current
Turn-On Time
VS = 3 V
No external
filter
1.8 350
1
3.6 V
μA
ms
TEMPERATURE
Operating Temperature Range −40 +85 °C
Table 4.1.5.a: Specification of ADXL 335
4.1.6.Absolute Maximum Ratings
Parameter Parameter
Acceleration (Any Axis, Unpowered)
Acceleration (Any Axis, Powered)
VS
All Other Pins
Output Short-Circuit Duration
(Any Pin to Common)
Temperature Range (Powered)
Temperature Range (Storage)
10,000 g
10,000 g
−0.3 V to +3.6 V
(COM − 0.3 V) to (VS + 0.3 V)
Indefinite
−55°C to +125°C
−65°C to +150°C
Table 4.1.6.a: Absolute maximum Ratings
19
4.1.7.Theory Of Operation
The ADXL335 is a complete 3-axis acceleration measurement system. The
ADXL335 has a measurement range of ±3 g mini-mum. It contains a polysilicon
surface-micro machined sensor and signal conditioning circuitry to implement an
open-loop acceleration measurement architecture. The output signals are analog
voltages that are proportional to acceleration. The Accelerometer can measure the
static acceleration of gravity in tilt-sensing applications as well as dynamic
acceleration resulting from motion, shock, or vibration.
The sensor is a polysilicon surface-micro machined structure built on top of
a silicon wafer. Polysilicon springs suspend the structure over the surface of the
wafer and provide a resistance against acceleration forces. Deflection of the
structure is measured using a differential capacitor that consists of independent
fixed plates and plates attached to the moving mass. The fixed plates are driven by
180° out-of-phase square waves. Acceleration deflects the moving mass and
unbalances the differential capacitor resulting in a sensor output whose amplitude
is proportional to acceleration. Phase-sensitive demodulation techniques are then
used to determine the magnitude and direction of the acceleration.
The demodulator output is amplified and brought off-chip through a 32 kΩ
resistor. The user then sets the signal bandwidth of the device by adding a
capacitor. This filtering improves measurement resolution and helps prevent
aliasing.
Mechanical Sensor
The ADXL335 uses a single structure for sensing the X, Y, and Z axes. As
a result, the three axes sense directions are highly orthogonal with little cross axis
sensitivity. Mechanical mis-alignment of the sensor die to the package is the chief
20
source of cross axis sensitivity. Mechanical misalignment can, of course, be
calibrated out at the system level.
Performance :
Rather than using additional temperature compensation circuitry, innovative
design techniques ensure that high performance is built in to the ADXL335. As a
result, there is no quantization error or non -monotonic behavior, and temperature
hysteresis is very low (typically less than 3 mg over the −25°C to +70°C
temperature range).
4.1.8.Applications Information
Power Supply Decoupling
For most applications, a single 0.1 μF capacitor, CDC, placed close to the
ADXL335 supply pins adequately decouples the accelerometer from noise on the
power supply. However, in applications where noise is present at the 50 kHz
internal clock frequency (or any harmonic thereof), additional care in power
supply bypassing is required because this noise can cause errors in acceleration
measurement.
If additional decoupling is needed, a 100 Ω (or smaller) resistor or ferrite
bead can be inserted in the supply line. Additionally, a larger bulk bypass
capacitor (1 μF or greater) can be added in parallel to CDC. Ensure that the
connection from the ADXL335 ground to the power supply ground is low
impedance because noise transmitted through ground has a similar effect to noise
transmitted through VS.
Setting The Bandwidth Using Cx, Cy, And Cz
The ADXL335 has provisions for band limiting the XOUT, YOUT, and
ZOUT pins. Capacitors must be added at these pins to implement low-pass
filtering for anti-aliasing and noise reduction. The equation for the 3 dB
21
bandwidth is
F−3 dB = 1/(2π(32 kΩ) × C(X, Y, Z))
F–3 dB = 5 μF/C(X, Y, Z)
The tolerance of the internal resistor (RFILT) typically varies as much as ±15% of
its nominal value (32 kΩ), and the bandwidth varies accordingly. A minimum
capacitance of 0.0047 μF for CX, CY, and CZ is recommended in all cases.
Bandwidth Capacitor (Micro farad)
1
10
50
100
200
500
4.7
0.47
0.10
0.05
0.027
0.01
Table 4.1.8.a : Filter capacitance selection Cx,Cy,Cz
Self Test
The ST pin controls the self-test feature. When this pin is set to VS, an
electrostatic force is exerted on the accelerometer beam. The resulting movement
of the beam allows the user to test if the accelerometer is functional. The typical
change in output is −1.08 g (corresponding to −325 mV) in the X-axis, +1.08 g (or
+325 mV) on the Y-axis, and +1.83 g (or +550 mV) on the Z-axis. This ST pin
can be left open-circuit or connected to common (COM) in normal use. Never
expose the ST pin to voltages greater than VS + 0.3 V. If this cannot be
guaranteed due to the system design (for instance, if there are multiple supply
voltages), then a low VF clamping diode between ST and VS is recommended.
22
Design Trade-Offs For Selecting Filter Characteristics: The Noise/Bw Trade-
Off
The selected accelerometer bandwidth ultimately determines the
measurement resolution (smallest detectable acceleration). Filtering can be used to
lower the noise floor to improve the resolution of the accelerometer. Resolution is
dependent on the analog filter bandwidth at XOUT, YOUT, and ZOUT.
The output of the ADXL335 has a typical bandwidth of greater than 500
Hz. The user must filter the signal at this point to limit aliasing errors. The analog
bandwidth must be no more than half the analog-to-digital sampling frequency to
minimize aliasing. The analog bandwidth can be further decreased to reduce noise
and improve resolution.
The ADXL335 noise has the characteristics of white Gaussian noise, which
contributes equally at all frequencies and is described in terms of μg/√Hz (the
noise is proportional to the square root of the accelerometer bandwidth). The user
should limit bandwidth to the lowest frequency needed by the application to
maximize the resolution and dynamic range of the accelerometer.
ADXL335 is determined by rms Noise = Noise Density × ( BW × 1.6 )
It is often useful to know the peak value of the noise. Peak-to- peak noise
can only be estimated by statistical methods. Table 5 is useful for estimating the
probabilities of exceeding various peak values, given the rms value.
Peak-to-Peak Value % of Time That Noise Exceeds
23
Nominal Peak-to-Peak Value
2 × rms
4 × rms
6 × rms
8 × rms
32
4.6
0.27
0.006
Table 4.1.8.b: Estimation of Peak-to-Peak Noise
Use With Operating Voltages Other Than 3 V
The ADXL335 is tested and specified at VS = 3 V; however, it can be
powered with VS as low as 1.8 V or as high as 3.6 V. Note that some performance
parameters change as the supply voltage is varied. The DXL335 output is ratio
metric , therefore, the output sensitivity (or scale factor) varies proportionally to
the supply voltage. At VS = 3.6 V, the output sensitivity is typically 360 mV/g. At
VS = 2 V, the output sensitivity is typically 195 mV/g. The zero g bias output is
also ratio metric, thus the zero g output is nominally equal to VS/2 at all supply
voltages.
The output noise is not ratio metric but is absolute in volts; therefore, the
noise density decreases as the supply voltage increases. This is because the scale
factor (mV/g) increases while the noise voltage remains constant. At VS = 3.6 V,
the X-axis and Y-axis noise density is typically 120 μg/√Hz, whereas at VS = 2 V,
the X-axis and Y-axis noise density is typically 270 μg/√Hz.
Self-test response in g is roughly proportional to the square of the supply
voltage. However, when ratiometricity of sensitivity is factored in with supply
voltage, the self-test response in volts is roughly proportional to the cube of the
supply voltage. For example, at VS = 3.6 V, the self-test response for the
ADXL335 is approximately −560 mV for the X-axis, +560 mV for the Y-axis,
24
and +950 mV for the Z-axis.At VS = 2 V, the self-test response is approximately
−96 mV for the X-axis, +96 mV for the Y-axis, and −163 mV for the Z-axis. The
supply current decreases as the supply voltage decreases. Typical current
consumption at VS = 3.6 V is 375 μA, and typical current consumption at VS = 2
V is 200 μA.
Axes Of Acceleration Sensitivity
Figure 4.1.8.a: Axis of acceleration sensitivity, corresponding output voltage
Figure 4.1.8.b: output response verses orientation to gravity
25
4.2. Voice chip APR9600:
Single-Chip Voice Recording & Playback Device 60-Second Duration
4.2.1.Features
1. Single-chip, high-quality voice recording & playback solution
a. No external ICs required
b. Minimum external components
2. Non-volatile Flash memory technology
a. No battery backup required
3. User-Selectable messaging options
a. Random access of multiple fixed-duration messages
b. Sequential access of multiple variable-duration messages
4. User-friendly, easy-to-use operation
a. Programming & development systems not required
b. Level-activated recording & edge-activated play back switches
5. Low power consumption
a. Operating current: 25 mA typical
b. Standby current: 1 uA typical
c. Automatic power-down
6. Chip Enable pin for simple message expansion
4.2.2.General Description:
The APR9600 device offers true single-chip voice recording, non-
volatile storage, and playback capability for 40 to 60 seconds. The device supports
both random and sequential access of multiple messages. Sample rates are user-
selectable, allowing designers to customize their design for unique quality and
storage time needs. Integrated output amplifier, microphone amplifier, and AGC
circuits greatly simplify system design. the device is ideal for use in portable
voice recorders, toys, and many other consumer and industrial applications.
26
APLUS integrated achieves these high levels of storage capability by using
its proprietary analog/multilevel storage technology implemented in an advanced
Flash non-volatile memory process, where each memory cell can store 256
voltage levels. This technology enables the APR9600 device to reproduce voice
signals in their natural form. It eliminates the need for encoding and compression,
which often introduce distortion.
4.2.3.Functional Description
The APR9600 block diagram is included in order to give understanding of
the APR9600 internal architecture. At the left hand side of the diagram are the
analog inputs. A differential microphone amplifier, including integrated AGC, is
included on-chip for applications requiring its use. The amplified microphone
signal is fed into the device by connecting the Ana_Out pin to the Ana_In pin
levels through an external DC blocking capacitor. Recording can be fed directly
into the Ana_In pin through a DC blocking capacitor, however, the connection
between Ana_In and Ana_Out is still required for playback. The next block
encountered by the input signal is the internal anti-aliasing filter. The filter
automatically adjusts its response according to the sampling frequency selected so
Shannon’s Sampling Theorem is satisfied. After anti-aliasing filtering is
accomplished the signal is ready to be clocked into the memory array. This
storage is accomplished through a combination of the Sample and Hold circuit and
the Analog Write/Read circuit. These circuits are clocked by either the Internal
Oscillator or an external clock source. When playback is desired the previously
stored recording is retrieved from memory, low pass filtered, and amplified as
shown on the right hand side of the diagram. The signal can be heard by
connecting a speaker to the SP+ and SP- pins. Chip-wide management is
accomplished through the device control block shown in the upper right hand
27
corner. Message management is controlled through the message control block
represented in the lower center of the block diagram.
4.2.4.Block Diagram:
Figure 4.2.4.a: Block Diagram of the APR 9600
4.2.5.Pin out Diagram:
Figure 4.2.5.a : Pin diagram of APR 9600
28
4.2.6.Pin Descrpition
Pin Name PinNo.
Functionality in Random Access Mode
Functionality in Tape Mode
Normal Option Auto Rewind Option
/M1_Messsage 1 Message 1: This pin forces a jump to message 1 for either recording or playback.
Message: A low edge on this pin plays or records the next message.
Message: A low edge on this pinplays or records the current mes-sage.
/M2_Next 2 Message 2: This pin forces a jump to message 2 for either recording or playback.
Next Message: This active low input pin force a skip to next message for either playback or recording
This pin should be left unconnected when the device is used in this mode.
/M3 3 Message 3: This pin forces a jump to message 3 for either recording or playback.
This pin should be left unconnected when the device is used in thismode.
This pin should be left unconnectedwhen the device is used in this mode.
/M4 4 Message 4: This pin forces a jump to message 4 for either recording or playback
This pin should be left unconnected when the device is used in this mode.
This pin should be left unconnectedwhen the device is used in this mode.
/M5 5 Message 5: This pin forces a jump to message 5 for either recording or playback.
This pin should be left unconnected when the device is used in thismode.
This pin should be left unconnectedwhen the device is used in this mode.
/M6 6 Message 6: This pin forces a jump to message 6 for either recording or playback.
This pin should be left unconnectedwhen the device is used in this mode.
This pin should be left unconnectedwhen the device is used in this mode.
OscR 7 Oscillator Resistor: this input allows an external resistor to be connected to the tank circuit of the internal oscillator.Refer to table X for a list ofresistors and their resultantsampling rates.
Same as Mode 1. Same as Mode 1.
29
Pin Name PinNo.
Functionality in Random Access Mode
Functionality in Tape Mode
Normal Option Auto Rewind Option
/M7_END 8 Message 7: This pin forces a jump to message 7 for either recording or playback.
During playback a low level on this pin indicates that all recorded messages have been played. Duringrecording a low level on this pin indicates that the end of the memory array was reached.
During playback a low level on thispin indicates that all recorded mes-sages have been played. Duringrecording a low level on this pin indicates that the end of the memoryarray was reached.
/M8_Option 9 Message 8: This pin forces a jump to message 8 for either recording or playback.
Option: This pin in conjunction withMSEL1 and MSEL2 sets record andplayback operating mode. Consulttable 1 for decoding information.
MSEL1 and MSEL2 sets record and playback operating mode. Consulttable 1 for decoding information.
/Busy 10 This pin indicates that thedevice is currently busy performing internal functions and can neither record nor playback at the current time.
Same as Mode 1. Same as Mode 1.
BE 11 If this pin is pulled high Beep is enabled. If this pin is pulled low beep is disabled
Same as Mode 1. Same as Mode 1.
VSSD 12 Digital GND Connection: Connect to system ground.
Same as Mode 1. Same as Mode 1.
VSSA 13 Analog GND Connection: Connect system ground.
Same as Mode 1. Same as Mode 1.
SP+ 14 Positive Output for SpeakerConnection: Should be con-nected to the positive terminal of the output speaker. Total output power is.1 W into 16 ohms. Do not use speaker loads lower than 8 ohms or device damage may result.
Same as Mode 1. Same as Mode 1.
SP- 15 Negative Output for Speaker Connection: Should be connected to the negative terminal of the output speaker.
Same as Mode 1. Same as Mode 1.
30
Pin Name PinNo.
Functionality in Random Access Mode
Functionality in Tape Mode
Normal Option Auto Rewind Option
VCCA 16 Analog Positive Power Supply:This connection suppliespower for on-chip analog circuitry. Should be connected to the positive supply rail as outlined in the reference schematics.
Same as Mode 1. Same as Mode 1.
MicIn 17 Microphone Input: Should be connected to the microphone input as outlined in the reference schematics.
Same as Mode 1. Same as Mode 1.
MicRef18 Microphone GND Reference:
Should be connected to themicrophone input as outlined in the reference schematics.
Same as Mode 1. Same as Mode 1.
AGC 19 Automatic Gain Control AttackTime: The time constant of the RC network connected to this input determines the AGC attack time. The attack time is defined as the delay present before the AGC circuit begins to adjust gain. The values shown in the reference schematics have been optimized for voice applications.
Same as Mode 1. Same as Mode 1.
Ana_In 20 Analog In: This pin must be connected to Ana_Out through a 0.1µF Capacitor.
Same as Mode 1. Same as Mode 1.
Ana_Out 21 Analog Out: This pin must be connected to Ana_In through a 0.1µF Capacitor.
Same as Mode 1. Same as Mode 1.
/Strobe 22 Strobe: This pin indicates programming of each individual recording segment. The fallingedge represents the beginning of the sector. The rising edge indicates that the sector is half full.
Same as Mode 1. Same as Mode 1.
/CE 23 Chip Select: A low level on this pin enables the device for operation. Toggling this pin also resets several message management features.
Same as Mode 1. Same as Mode 1.
MSEL1 24 Mode Select1: This pin in con-junction with MSEL2 and/M8_Option sets record andPlayback operating mode.Consult table 1 for decoding information.
Same as Mode 1. Same as Mode 1.
31
Pin Name PinNo.
Functionality in Random Access Mode
Functionality in Tape Mode
Normal Option Auto Rewind Option
MSEL2 25 Mode Select2: This pin in conjunction with MSEL1 and /M8_Option sets record and playback operating mode. Consult table 1 for decoding information.
Same as Mode 1. Same as Mode 1.
ExtClk 26 External Clock: This clock canbe used instead of the internalclock for greater programmingcontrol and or accuracy. Whenusing the internal clock this pinshould be tied to system GND.
Same as Mode 1. Same as Mode 1.
/RE 27 Record Enable: this pin controls whether the device is in write or read mode. Logic level high is read.
Same as Mode 1. Same as Mode 1.
VCCD 28 Digital Positive Power Supply:This connection suppliespower for on-chip digital circuitry. Should be connected to the positive supply rail as outlined in the reference
Same as Mode 1. Same as Mode 1.
Table 4.2.6.a: Pin Description of APR 9600
4.2.7.Message Management
Message Management General Description
Playback and record operations are managed by on chip circuitry. There are
several available messaging modes depending upon desired operation. These
message modes determine message management style, message length, and
External parts count. Therefore, the designer must select the appropriate operating
mode before beginning the design. Operating modes do not affect voice quality;
for information on factors affecting quality refer to the Sampling Rate & Voice
Quality section. The device supports three message management modes (defined
by the MSEL1, MSEL2 and /M8_Option pins shown
in Figures 1 and 2):
• Random access mode with 2, 4, or 8 fixed-duration messages
• Tape mode, with multiple variable-duration messages, provides two options:
32
- Auto rewind
- Normal
Modes cannot be mixed. Switching of modes after the device has recorded
an initial message is not recommended. If modes are switched after an initial
recording has been made some unpredictable message fragments from the
previous mode may remain present, and be audible on playback, in the new mode.
These fragments will disappear after a record operation in the newly selected
mode. Table 1 defines the decoding necessary to choose the desired mode. An
important feature of the APR9600 message management capabilities is the ability
to audibly prompt the user to changes in the device’s status through the use of
“beeps” superimposed on the device’s output. This feature is enabled by asserting
a logic high level on the BE pin.
Table 4.1.2.7.a: Modes of APR 9600
4.2.7.1.RANDOM ACCESS MODE
Random access mode supports 2, 4, or 8 messages segments of fixed
duration. As suggested recording or playback can be made randomly in any of the
selected messages. The length of each message segment is the total recording
length available (as defined by the selected sampling rate) divided by the total
number of segments enabled . Random access mode provides easy indexing to
message segments.
33
Functional Description of Recording in Random Access Mode
On power up, the device is ready to record or play back, in any of the
enabled message segments. To record, /CE must be set low to enable the device
and /RE must be set low to enable recording. You initiate recording by applying a
low level on the message trigger pin that represents the message segment you
intend to use. The message trigger pins are labeled /M1_Message - /M8_Option
on pins 1-9 (excluding pin 7) for message segments 1-8 respectively. Assume in
the other modes. In random access mode these pins should be considered purely
message trigger pins with the same functionality as /M3, /M4, /M5, and /M6. For
a more thorough explanation of the functionality of device pins in different modes
please refer to the pin description table that appears later in this document. When
actual recording begins the device responds with a single beep (if the BE pin is
high to enable the beep tone) at the speaker outputs to indicate that it has started
recording. Recording continues as long as the message pin stays low. The rising
edge of the same message trigger pin during record stops the recording operation
(indicated with a single beep).
If the message trigger pin is held low beyond the end of the maximum
allocated duration, recording stops automatically (indicated with two beeps),
regardless of the state of the message trigger pin. The chip then enters low-power
mode until the message trigger pin returns high. After the message trigger pin
returns to high, the chip enters standby mode. Any subsequent high to low
transition on the same message trigger pin will initiate recording from the
beginning of the same message segment. The entire previous message is then
overwritten by the new message, regardless of the duration of the new message.
Transitions on any other message trigger pin or the /RE pin during the record
operation are ignored until after the device enters standby mode.
34
Functional Description of Playback in Random Access Mode
On power up, the device is ready to record or playback, in any of the
enabled message segments. To playback, /CE must be set low to enable the device
and /RE must be set high to disable recording & enable playback. You initiate
play back by applying a high to low edge on the message trigger pin that
representing the message segment you intend to playback. Playback will continue
until the end of the message is reached. If a high to low edge occurs on the same
message trigger pin during playback, playback of the current message stops
immediately.
If a different message trigger pin pulses during playback, playback of the
current message stops immediately (indicated by one beep) and playback of the
new message segment begins. A delay equal to 8,400 cycles of the sample clock
will be encountered before the device starts playing the new message. If a
message trigger pin is held low, the selected message is played back repeatedly as
long as the trigger pin stays low. A period of silence, of a duration equal to 8,400
cycles of the sampling clock, will be inserted during looping as an indicator to the
user of the transition between the end and the beginning of the message.
4.2.7.2.TAPE MODE
Tape mode manages messages sequentially much like traditional cassette
tape recorders. Within tape mode two options exist, auto rewind and normal. Auto
rewind mode configures the device to automatically rewind to the beginning of the
message immediately following recording or playback of the message. In tape
mode, using either option, messages must be recorded or played back sequentially,
much like a traditional cassette tape recorder.
Function Description Recording in Tape Mode using the Normal Option
On power up, the device is ready to record or play back, starting at the first
address in the memory array. To record, /CE must be set low to enable the device
35
and /RE must be set low to enable recording. A falling edge of the /M1_Message
pin initiates voice recording (indicated by one beep). A subsequent rising edge of
the /M1_Message pin during recording stops the recording (also indicated by one
beep). If the /M1_Message pin is held low beyond the end of the available
memory, recording will stop automatically (indicated by two beeps). The device
will then assert a logic low on the /M7_END pin for a duration equal to 1600
cycles of the sample clock, regardless of the state of the /M1_Message pin The
device returns to standby mode when the /M1_Message pin goes high again. After
recording is finished the device will automatically rewind to the beginning of the
most recently recorded message and wait for the next user input. The auto rewind
function is convenient because it allows the user to immediately playback and
review the message without the need to rewind. How ever, caution must be
practiced because a subsequent record operation will overwrite the last recorded
message unless the user remembers to pulse the /M2_Next pin in order to
increment the device past the current message.
A subsequent falling edge on the /M1_Message pin starts a new record
operation, overwriting the previously existing message. You can preserve the
previously recorded message by using the /M2_Next input to initiate recording in
the next available message segment. To perform this function, the /M2_Next pin
must be pulled low for at least 400 cycles of the sample clock.
The auto rewind mode allows the user to record over the previous message
simply by initiating a record sequence without first toggling the /M2_Next pin. To
record over any other message however requires a different Sequence. You must
pulse the /CE pin low once to rewind the device to the beginning of the voice
memory. The /M2_Next pin must then be pulsed low for the specified number of
times to move to the start of the message you wish to overwrite. Upon arriving at
36
the desired message a record sequence can be initiated to overwrite the previously
recorded material. After you overwrite the message it becomes the last available
message and all previously recorded messages following this message become
inaccessible. If during a record operation all the available memory is used the
device will stop recording automatically,(double beep) and set the /M7_END pin
low for a duration equal to 1600 cycles of the sample clock. Playback can be
initiated on this last message, but pulsing the /M2_Next pin will put the device
into an “overflow state”. Once the device enters an overflow state any subsequent
pulsing of /M1_Message or /M2_Next will only result in a double beep and
setting of the /M7_END pin low for a duration equal to 400 cycles of the sample
clock. To proceed from this state the user must rewind the device to the beginning
of the memory array. This can be accomplished by toggling the /CE pin low or
cycling power. All inputs, except the /CE pin, are ignored during recording.
Function Description of Playback in Tape Mode using the Normal Option
On power-up, the device is ready to record or play back, starting at the first
address in the memory array. Before you can begin playback, the /CE input must
be set to low to enable the device and /RE must be set to high to disable recording
and enable playback. The first high to low going pulse of the /M1_Message pin
initiates playback from the beginning of the current message; on power up the first
message is the current message. When the /M1_Message pin pulses low the
second time, playback of the current message stops immediately. When the
/M1_Message pin pulses low a third time, playback of the current message starts
again from its beginning. If you hold the /M1_Message pin low continuously the
same message will play continuously in a looping fashion. A 1,530 ms period of
silence is inserted during looping as an indicator to the user of the transition
between the beginning and end of the message.
37
Note that in auto rewind mode the device always rewinds to
the beginning of the current message. To listen to a subsequent message the
device must be fast forwarded past the current message to the next message. This
function is accomplished by toggling the /M2_Next pin from high to low.
The pulse must be low for least 400 cycles of the sampling clock. After the
device is incremented to the desired message the user can initiate playback of the
message with the play-back sequence described above. A special case exists when
the /M2_Next pin goes low during playback. Playback of the
current message will stop, the device will beep, advance to the next message and
initiate playback of the next message.(Note that if /M2_Next goes low when not
in playback mode, the device will prepare to play the next message, but will not
actually initiate playback).
If the /CE pin goes low during playback, playback of the cur-rent message
will stop, the device will beep, reset to the beginning of the first message, and
wait for a subsequent playback command.
When you reach the end of the memory array, any subsequent pulsing of
/M1_Message or /M2_Next will only result in double beep. To proceed from this
state the user must rewind the device to the beginning of the memory array. This
can be accomplished by toggling the /CE pin low or cycling power.
Functional Description of Recording in Tape Mode using Auto Rewind
Option
On power-up, the device is ready to record or play back starting at the first
address in the memory array. Before you can begin recording, the /CE input must
be set to low to enable the device and /RE must be set to low to enable recording.
On a falling edge of the /M1_Message pin the device will beep once and initiate
recording. A subsequent rising edge on the /M1_Message pin will stop recording
and insert a single beep. If the /M1_Message pin is held low beyond the end of the
38
available memory, recording tops automatically, and two beeps are inserted;
regardless of the state of the /M1_Message pin. The device returns to the standby
mode when the /M1_Message pin is returned high.
A subsequent falling edge on the /M1_Message pin starts a new record
operation in the memory array immediately following the last recorded message,
thus preserving the last recorded message.
To record over all previous messages you must pulse the /CE pin low once
to reset the device to the beginning of the first message. You can then initiate a
record sequence, as described above, to record a new message. The most recently
recorded message will become the last recorded message and all previously
recorded messages following this message will become inaccessible.
If you wish to preserve any current messages it is recommend that Auto
Rewind option be used instead of Normal option. If Normal option is necessary
the following sequence can be used. To preserve current messages you must fast
forward past the messages you want to keep before you can record a new
message. To fast forward when using the Nor mal option you must switch to play
mode and listen to messages sequentially until you arrive at the beginning of the
message you wish to overwrite. At this stage you should switch back to record
mode and overwrite the desired message. The most recently recorded message
will become the last recorded message and all previously recorded messages
following this message will become inaccessible. All inputs, except /CE are
ignored during recording.
Functional Description of Playback in Tape Mode using Auto Rewind Option
On power-up, or after a low to high transition on /RE the device is ready to
record or play back starting at the first address in the memory array. Before you
can begin playback of messages, the /CE input must be set to low to enable the
device and /RE must be set to high to enable playback. The first high to low going
39
pulse of the /M1_Message pin initiates playback from the beginning of the current
message. When the /M1_Message pin pulses from high to low a second time,
playback of the current message stops immediately. When the /M1_Message pin
pulses from high to low a third time, playback of the next message starts again
from the beginning. If you hold the /M1_Message pin low continuously, the
current message and subsequent messages play until the one of the following
conditions is met: the end of the memory array is reached, the last message is
reached, the /M1_message pin is released. If the last recorded message has already
played, any further transitions on the /M1_Message pin will initiate a double beep
for warning and the /M7_END pin will go low. To exit this state you must pulse
the /CE pin low once during standby to reset the pointer to the beginning of the
first message.
4.2.8.MICROPROCESSOR CONTROLLED MESSAGE MANAGEMENT
The APR9600 device incorporates several features designed to help
simplify microprocessor controlled message management. When controlling
messages the microprocessor essentially toggles pins as described in the message
management sections describe previously. The /Busy, /Strobe, and /M7_END
pins are included to simplify handshaking between the microprocessor and the
APR 9600 The /Busy pin when low indicates to the host processor that the device
is busy and that no commands can be currently accepted. When this pin is high
the device is ready to accept and execute commands from the host. The /Strobe
pin pulses low each time a memory segments is used. Counting pulses on this pin
enables the host processor to accurately determine how much recording time has
been used, and how much recording time remains .The /M7_END pin is used as
an indicator that the device has stopped its current record or playback operation.
During recording a low going pulse indicates that all memory has been used.
During playback a low pulse indicates that the last message has played.
40
Microprocessor control can also be used to link several APR9600 devices
together in order to increase total available recording time. In this application
both the speaker and microphone signals can be connected in parallel. The micro
processor will then control which device currently drives the speaker by enabling
or disabling each device using the irrespective /CE pins. A continuous message
can not be recorded in multiple devices however because the transition from one
device to the next will incur a delay that is notice-able upon playback. For this
reason it is recommended that message boundaries and device boundaries always
coincide.
Signal Storage
The APR9600 samples incoming voice signals and stores the instantaneous
voltage samples in non-volatile FLASH memory cells. Each memory cell can
support voltage ranges from0 to 256 levels. These 256 discrete voltage levels are
the equivalent of 8-bit (28=256) binary encoded values. During playback the
stored signals are retrieved from memory, smoothed to form a continuous signal,
and then amplified before being fed to an external speaker.
Sampling Rate & Voice Quality
According to the Shannon’s sampling theorem, the highest possible
frequency component introduced to the input of a sampling system must be equal
to or less than half the sampling frequency if aliasing errors are to be eliminated.
TheAPR9600 automatically filters its input, based on the selected sampling
frequency, to meet this requirement. Higher sampling rates increase the
bandwidth and hence the voice quality, but they also use more memory cells for
the same length of recording time. Lower sampling rates use fewer memory cells
and effectively increase the duration capabilities of the device, but they also
reduce incoming signal bandwidth. The APR9600 accommodates sampling rates
41
as high as 8 kHz and as low a 4 kHz. You can control the quality/duration trade
off by controlling the sampling frequency.
An internal oscillator provides the APR9600 sampling clock. Oscillator
frequency can be changed by changing the resistance from the OscR pin to GND.
summarizes resistance values and the corresponding sampling frequencies, as well
as the resulting input bandwidth and duration.
Ref Rosc SamplingFrequency
InputBandwidth
Duration
84 K38 K24 K
4.2 kHz6.4 kHz8.0 kHz
2.1 kHz3.2 kHz4.0 kHz
60 sec40 sec32 sec
Table 4.2.8.a :Reference Rosc Value & Sampling Frequency
Sampling Application
The following reference schematics are included as examples on how a
recording system might be designed. Each reference schematic shows the device
incorporated in one of its’ three main modes, Random Access, Tape mode -
Normal option, and Tape mode - Auto Rewind option. Note that in several of the
applications either one or all of the /Busy, /Strobe, or /M7_END pins are
connected to LEDs as indicators of device status. This is possible because all of
these pins and signals were designed to have timing compatible with both
microprocessor interface and manual LED indication. Figure 4.1.2.8.a shows the
device configured in tape mode, nor-mal operation. This mode is the minimal part
count application of the APR9600 Sampling rate is determined by the resistor
value on pin 7 (OscR). The RC network on pin 19sets the AGC “attack time”. A
bias must be applied to the electrets microphone in order to power its built in
circuitry. The ground return of this bias net-work is connected to the normally
42
open side of the record push button. This configuration gates power to
microphones that it is biased only during recording. This configuration saves
power when not recording by shutting off power to the electrets microphone. Both
pins 18 and 19, MicIn and MicRef, must be AC couple to the microphone network
in order to block the DC biasing voltage.
Figure 4.2.8.a: Tape Mode, Normal Option
Figure 4.2.8.b shows the device configured in tape mode, using the auto rewind
option. Auto rewind is convenient for systems designed to store multiple
messages. Auto rewind option does slightly increase parts count above that
required for normal option The Busy pin, /Strobe, and /M7_END are again
connected to LEDs to offer indication to the user of device status.
Figure 4.2.8.b : Tape Modes, Auto Rewind Option
43
Figure 4.2.8.c shows the device configured in random access mode. The device is
using eight message segments, the maximum available, in this mode. Note that
message trigger pins that are not used, for modes with less than eight segments,
can be left unconnected with the exception of pin /M8_Option which should be
pulled to VCC through a 100k resistor.
44
Figure 4.2.8.c : Random Access Mode
4.2.9.Electrical Characteristics
The following tables list Absolute Maximum Ratings, DC Characteristics, and
Analog Characteristics for the APR9600 device.
45
Absolute Maximum Ratings
Item Symbol Condition Min Max Unit
Power Supply voltage VCC TA = 25°C -0.3 6.5 VInput Voltage VIN2 IIN<20mA -1.0 VCC + 1.0 V
Storage Temperature TSTG - -65 150 °CTemperature Under Bias TBS - -65 125 °CLead Temperature TLD <10s -0.3 300 °C
Table 4.2.9.a: Absolute Maximum Ratings
DC CharacteristicsItem Symbol Condition Min Typ Max Unit
Power Supply voltage VCC TA = 25°C 4.5 6.0 6.5 vInput High Voltage VIH - 2.0 - - VInput Low Voltage VIL - - - 0.8 VOutput High Voltage VOH IOH=-1.6mA 2.4 - - VOutput Low Voltage VOL IOL=-4.0mA - - 0.45 VInput Leakage Current IIL VIH =VCC - - 1.0
Input Leakage Current IIL VIL=VSS -1.0 - -
Output Tristate Leakage Current
IOZ VOUT=VCC OrVOUT=Vss
-1.0 - 1.0
Operating Current Consumption
ICC Internal Clock, No Load
- 25 - mA
Standby Current Consumption
ICCS No Load - 1.0 -
Table 4.2.9.b : DC Characteristics of APR 9600
Analog Characteristics
Item Symbol Condition Min Typ Max UnitMicIn Input Voltage VMI - - - 30 mVP-PMicIn Input Resistance RMI - - 15 - kWMicIn Amp Gain (1) GMI1 AGC=2.25v - 30 - dBMicIn Amp Gain (2) GMI2 AGC=3.8V - -2 - dBAnaIn Input Voltage VANI - - - 140 mVP-PAnaIn Input Resistance RANI - - 500 - kWAnaIn Amp Gain GANI AnaIn to SP+/- - 10 - dBAGC Output Resistance RAGC - - 225 - kWSp+/- Output Power PSP RSP+/-=16W - 12.2 - mWVoltage Amplitude across SP+/-
VSP RSP+/->16W - 1.4 - VP-P
Table 4.2.9.c : Analog Characteristics of APR 9600
46
OLD APR9600 SOP RECORDING VOICE 40" ~ 60"MODE MSEL-1( PIN-24 ) MSEL-2 ( PIN-25 ) /M8 ( PIN-9 )2 FIXED MESSAGES 0 1 Pull-high 100KOhm4 FIXED MESSAGES 1 0 Pull-high 100KOhm8 FIXED MESSAGES 1 1 /M8 trigger pin1 FIXED MESSAGES 0 0 0TAPE MODE –NEXT 0 0 0TAPE MODE – AUTO 0 0 1
Ref. ROSC Sampling Frequency Input bandwidth Voice duration84 K Ohm 4.2 KHz 2.1 KHz 60 sec.38 K Ohm 6.4 KHz 3.2 KHz 40 sec.24 K Ohm 8.0 KHz 4.0 KHz 32 sec.
Table 4.2.9.d : Various modes and parameter Range of Old APR 9600
Figure 4.2.9.a: Old APR9600
47
NEW APR9600 SOP RECORDING VOICE 40" ~ 60"
MODE MSEL-1 ( PIN-3 ) MSEL-2 ( PIN-25 ) /M8 ( PIN-9 )
2 FIXED MESSAGES 0 1 Pull-high 100KOhm4 FIXED MESSAGES 1 0 Pull-high 100KOhm8 FIXED MESSAGES 1 1 /M8 trigger pin1 FIXED MESSAGES 0 0 0TAPE MODE –NEXT 0 0 0TAPE MODE – AUTO 0 0 1
Ref. ROSC Sampling Frequency Input bandwidth Voice duration84 K Ohm 4.2 KHz 2.1 KHz 60 sec.38 K Ohm 6.4 KHz 3.2 KHz 40 sec.24 K Ohm 8.0 KHz 4.0 KHz 32 sec.Table 4.2.9.e : Various modes and parameter Range of Old APR 9600
Figure 4.2.9.b: New APR 9600 Pin Diagram
48
APR9600 line-In Type Recording Circuit:
Figure 4.2.9.c: APR9600 line-In Type Recording Circuit
49
APR9600 AMP Approcation Circuit:
Figure 4.2.9. d: APR9600 AMP Approcation Circuit
50
4.3. PIC16F87XA:
4.3.1.Features:
High-Performance RISC CPU
• Only 35 single-word instructions to learn.
• All single-cycle instructions except for program branches, which are two-cycle.
• Operating speed: DC – 20 MHz clock input DC – 200 ns instruction cycle
• Up to 8K x 14 words of Flash Program Memory, Up to 368 x 8 bytes of Data
Memory (RAM), Up to 256 x 8 bytes of EEPROM Data Memory.
• Pinout compatible to other 28-pin or 40/44-pin PIC16CXXX and PIC16FXXX
microcontrollers .
Peripheral Features
• Timer0: 8-bit timer/counter with 8-bit prescaler.
• Timer1: 16-bit timer/counter with prescaler, can be incremented during Sleep via
external crystal/clock.
• Timer2: 8-bit timer/counter with 8-bit period register, prescaler and
postscaler.
• Two Capture, Compare, PWM modules
- Capture is 16-bit, max. resolution is 12.5 ns
- Compare is 16-bit, max. resolution is 200 ns
• Synchronous Serial Port (SSP) with SPI™ (Master mode) and I2C™
(Master/Slave)
Analog Features
• 10-bit, up to 8-channel Analog-to-Digital Converter (A/D)
• Brown-out Reset (BOR)
• Analog Comparator module with:
- Two analog comparators
51
- Programmable on-chip voltage reference (VREF) module
- Programmable input multiplexing from device inputs and internal voltage
reference
Comparator outputs are externally accessible
Special Microcontroller Features:
• 100,000 erase/write cycle Enhanced Flash program memory typical
• 1,000,000 erase/write cycle Data EEPROM memory typical
• Data EEPROM Retention > 40 years
• Self-reprogrammable under software control
• In-Circuit Serial Programming™ (ICSP™) via two pins
• Single-supply 5V In-Circuit Serial Programming
• Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable
operation
Special Features:
All PIC16F87XA devices have a host of features intended to maximize
system reliability, minimize cost through elimination of external components,
provide power saving operating modes and offer code protection. These are:
• Oscillator Selection
• Reset
- Power-on Reset (POR)
- Power-up Timer (PWRT)
- Oscillator Start-up Timer (OST)
- Brown-out Reset (BOR)
• Interrupts
• Watchdog Timer (WDT)
• Sleep
52
• Code Protection
PIC16F87XA devices have a Watchdog Timer, which can be shut-off only
through configuration bits. It runs off its own RC oscillator for added reliability.
There are two timers that offer necessary delays on power-up. One is the
Oscillator Start-up Timer (OST),Power-up Timer (PWRT), which provides a fixed
delay of 72 ms (nominal) on power-up only. It is designed to keep the part in
Reset while the power supply stabilizes. With these two timers on-chip, most
applications need no external Reset circuitry.
Sleep mode is designed to offer a very low current power-down mode. The user
can wake-up from Sleep through external Reset, Watchdog Timer wake-up or
through an interrupt. Several oscillator options are also made available to allow
the part to fit the application. The RC oscillator option saves system cost while the
LP crystal option saves power. A set of configuration bits is used to select various
options.
4.3.2.Pindiagram:
Figure 4.3.2.a.: Pin Diagram of PIC 16F877A
53
4.3.3.Architectural Overview:
Figure:4.3.3.a Block Diagram of PIC 16F877A
4.4. 16*2 LCD Display:
An LCD is low cost display. It is easy to interface with microcontroller
based of embedded controller.
54
4.4.1. Features
16 character *2lines
5*7 Dots with cursor
Built in controller
+5v power supply
1/16 duty circle
\
Figure 4.4.1.a: LCD Diagram
4.4.2.General Description:
A liquid crystal display (LCD) is a thin, flat electronic visual display that
uses the light modulating properties of liquid crystals (LCs). LCs do not emit
light directly.
Each pixel of an LCD typically consists of a layer of molecules aligned
between two transparent electrodes, and two polarizing filters, the axes of
transmission of which are (in most of the cases) perpendicular to each other. With
no actual liquid crystal between the polarizing filters, light passing through the
first filter would be blocked by the second (crossed) polarizer. In most of the cases
the liquid crystal has double refraction
The surface of the electrodes that are in contact with the liquid crystal
material are treated so as to align the liquid crystal molecules in a particular
direction. This treatment typically consists of a thin polymer layer that is
55
unidirectionally rubbed using, for example, a cloth. The direction of the liquid
crystal alignment is then defined by the direction of rubbing. Electrodes are made
of a transparent conductor called Indium Tin Oxide (ITO).
Before applying an electric field, the orientation of the liquid crystal molecules is
determined by the alignment at the surfaces of electrodes. In a twisted nematic
device (still the most common liquid crystal device), the surface alignment
directions at the two electrodes are perpendicular to each other, and so the
molecules arrange themselves in a helical structure, or twist. This reduces the
rotation of the polarization of the incident light, and the device appears grey. If the
applied voltage is large enough, the liquid crystal molecules in the center of the
layer are almost completely untwisted and the polarization of the incident light is
not rotated as it passes through the liquid crystal layer. This light will then be
mainly polarized perpendicular to the second filter, and thus be blocked and
the pixel will appear black. By controlling the voltage applied across the liquid
crystal layer in each pixel, light can be allowed to pass through in varying
amounts thus constituting different levels of gray. This electric field also controls
(reduces) the double refraction properties of the liquid crystal
The optical effect of a twisted semantic device in the voltage-on state is far
less dependent on variations in the device thickness than that in the voltage-off
state. Because of this, these devices are usually operated between crossed
polarizes such that they appear bright with no voltage (the eye is much more
sensitive to variations in the dark state than the bright state). These devices can
also be operated between parallel polarizes, in which case the bright and dark
states are reversed. The voltage-off dark state in this configuration appears
blotchy, however, because of small variations of thickness across the device.
56
Both the liquid crystal material and the alignment layer material contain ionic
compounds. If an electric field of one particular polarity is applied for a long
period of time, this ionic material is attracted to the surfaces and degrades the
device performance.
This is avoided either by applying an alternating current or by reversing the
polarity of the electric field as the device is addressed (the response of the liquid
crystal layer is identical, regardless of the polarity of the applied field).
When a large number of pixels are needed in a display, it is not technically
possible to drive each directly since then each pixel would require independent
electrodes. Instead, the display is multiplexed. In a multiplexed display, electrodes
on one side of the display are grouped and wired together (typically in columns),
and each group gets its own voltage source. On the other side, the electrodes are
also grouped (typically in rows), with each group getting a voltage sink. The
groups are designed so each pixel has a unique, unshared combination of source
and sink. The electronics or the software driving the electronics then turns on
sinks in sequence, and drives sources for the pixels of each sink.
57
CHAPTER 5
SOFTWARE SPECIFICATION:
5.1. CCS Compiler:
The CCS C Compiler for PIC10, PIC12, PIC14, PIC16, and PIC18
microcontrollers has 307 Built-in Functions to access PIC® MCU hardware is easy
and produces efficient and highly optimized code. Functions such as timers, A/D,
EEPROM, SSP, PSP, USB, I2C and more:
Built-in libraries that work with all chips for RS-232 serial I/O, I2C, discrete
I/O and precision delays.
Serial I/O functions allow standard functions such as GETC() and
PRINTF() to be used for RS-232 like I/O.
Formatted print allows easy formatting and display in HEX or decimal.
Multiple I2C and RS232 ports may be easily defined.
#use rs232() offers options to specify a maximum wait time for getc.
Hardware transceiver used when possible, but for all other occasions the
compiler generates a software serial transceiver.
Microcontroller clock speed may be specified in a PRAGMA to permit
built-in functions to delay for a given number of microseconds or
milliseconds.
Functions such as INPUT() and OUTPUT_HIGH() properly maintain the
tri-state registers.
5.2.Software
Data should be
• Calibrated: Orienting the glove in particular position
58
• Normalized: gravity
• Low pass filtered: Signal are averaged to reduce white noise
Coordinate transformation (x,y)->(Racc, θ )
5.3.Static Data Analysis
•In static situation only force acting is gravity G
•Orientation of accelerometer relative to gravity is θ
•The angle the acceleration plane is offset from horizontal plane is φ
•Accelerometer at the back of the hand acts as Tilt motion detector
•Accelerometer at thumb, index finger and middle finger operates as mouse
click
Figure 5.3.a Acceleration Plane Relative To Gravity Vector . Acceleration Normal To
Acceleration Plane Cannot Be Detected By Acceleration
59
CHAPTER 6
SYSTEM IMPLEMENTATION PROCESS
The hardware consists of a wrist controller and six accelerometers, five on
the fingertips and one on the back of the hand. The power of 1.8v to 3v is
given to the AdXL335. The ADXL335 has a measurement range of ±3 g
minimum. It contains a polysilicon surface-micro machined sensor and
signal conditioning circuitry to implement anopen-loop acceleration
measurement architecture. The output signals are analog voltages that are
proportional to acceleration.
A single 0.1 μF capacitor, Cdc, placed close to the ADXL335 supply pins
adequately decouples the accelerometer from noise on the power supply.
If additional decoupling is needed, a 100 Ω (or smaller) resistor or ferrite
bead can be inserted in the supply line. Additionally, a larger bulk bypass
capacitor (1 μF or greater) can be added in parallel to CDC.
A minimum capacitance of 0.0047 μF for CX, CY, and CZ is
recommended in all cases.
Filtering can be used to lower the noise floor to improve the resolution of
the accelerometer. Resolution is dependent on the analog filter bandwidth at
XOUT, YOUT, and ZOUT.
The output of the ADXL335 has a typical bandwidth of greater than 500
Hz. The user must filter the signal at this point to limit aliasing errors.
The demodulator output is amplified and brought off-chip through a
32 kΩ resistor. The user then sets the signal bandwidth of the device by
adding a capacitor. This filtering improves measurement resolution and
60
helps prevent aliasing.
The user selects the bandwidth of the accelerometer using the CX, CY, and
CZ capacitors at the XOUT, YOUT, and ZOUT pins. Bandwidths can be
selected to suit the application, with a range of 0.5 Hz to 1600 Hz for the X
and Y axes, and a range of 0.5 Hz to 550 Hz for the Z axis.
The Accelerometer sense the acceleration with respect to 3-axis . The
output from the ADXL 335 is Analog data which is amplified and
demodulated. Then its output is Amplified across 32kohm
resistance..Thus we obtain analog output by selecting the bandwidth
across the 3 axis by means of Capacitance (CX, CY, and CZ) which act
as low pass filtering.
Thus the Analog data from ADXL 335 is fed to the PIC 16F877A
Controller. The PIC consist of ADC which convert the Analog to Digital
Data and it is Compared with the Look up table which is stored in the
Flash memory. All the programming with in PIC controller has done
using Embedded C Programming.
Thus the Output corresponding to the Hand gesture is Display on the
LCD.
In the APR 9600 voice Recording is previously done using sample and
hold circuit and Analog write and read Circuit which is externally or
internally clock and the incoming message is stored in 26K Flash
memory.
Similarly the Digital output from PIC controller is fed to the APR 9600
Voice chip as Message Signal. According to the Message signal the
message stored in the Flash memory is Playback by low pass filtering
and then it is Amplified and then and playback via Speaker.
61
CHAPTER 7
ADVANTAGES AND APPLICATION
7.1.ADVANTAGES
MEMS Based Gesture Recognition.
Simple and economical System.
Portable.
Highly accurate and Faster system.
Easy to handle and Less skill is required to Operate.
7.2. APPILICATION
Gesture recognition system are used in
1. Inertial Sensing.
2. Defined gestures , such as taps, double taps or shakes.
3. More usable where physical buttons and switches would be difficult.
4. Button Free design which reduce overall cost and improve durability.
5. Mobile devices
6. Gaming systems
62
7.3.PROTOTYPE
Fig. 7.3.a. Acceleration Sensing Glove Hardware . Accelerometers are attached to the fingertips and back of the hand. A wrist controller sends the accelerometer data wirelessly to a computer.
63
CHAPTER 8
8.1 CONCLUSION
For the gesture learning stage, multiple samples were taken
for each gesture. On average about 28samples for each
gesture were taken to ensure a high chance of matching. Further
samples were taken on gestures if recognition was unreliable. In the
recognition stage, the text editor recognized the gesture . Thus in this
project the hand gesture are recognized and the corresponding
message is outlet to speaker. Thus this project provides human to
machine interaction directly without any physical contact. Thus it is
useful in various communication systems.
Thus the demonstration of accelerometers has been and it can be used to
effectively translate finger and hand gestures into computer interpreted signals. To this
end we developed the Acceleration Sensing Glove (ASG) that helps deaf and dumb to
communicate with others through voice commands.
64
REFERENCE
[1] http://robotics.eecs.berkeley.edu/ ~pister/SmartDust, September 1999.
[2] “Hand Job”, Wired Magazine, pp 57 January 2000.
[3] George Johnson, “Only connect from swarms of Smart Dust to secure
collaborative zones, the omninet comes to you”, Wired Magazine, pp150 - 164,
January 2000.
[4] Peter Weiss, “Smart Outfit”, Science News, pp 330-332, Vol. 156, November
20, 1999.
[5] Analog Devices, Norwood, MA, http://www.analog.com, September 1999.
[6] Bruce Thomas, Susan Tyerman, Karen Grimmer, “Evaluation of Three Input
Mechanisms for Wearable Computers,” IEEE 1997 pp 2-9.
[7] Flavia Caroppo, Massimo Chieruzzi, “Bit di futuro a portata di mano”,
Newton, pp 113-118. April 2000.
[8] Fukumoto, M and Tonomura, Y “Body Coupled FingeRing: Wireless
Wearable Keyboard”, CHI97 Conference Proceedings, pp147-154, Atlanta, March
1997.
[9] J. Perng, B. Fisher, S. Hollar, K.S.J. Pister, “Acceleration Sensing Glove,”
ISWC International Symposium on Wearable Computers, San Francisco, October
18-19th, 1999.
65