Anda di halaman 1dari 55

CHAPTER 1

INTRODUCTION

1.1 EMBEDDED SYSTEM


A general definition of embedded system is computing system with tightly
coupled software and hardware integration that are designed to perform a
dedicated function.An embedded system is one that has computer-hardware with
software embedded in it as one of its most important component. It is a dedicated
computer-based system for an application(s) or product. It may be either an
independent system or a part of a larger system. As its software usually embeds in
ROM (Read Only Memory) it does not need secondary memories as in a
computer. An embedded system has three main components:
i. It has hardware.
ii. It has main application software.
The application software may performconcurrently the series of tasks or multiple
tasks.
iii. It has a real time operating system (RTOS) that supervises the application
software and provides a mechanism to let the processor run a process as per
scheduling and do the context-switch between the various processes (tasks). RTOS
defines the way the system works. It organizes access to a resource in sequence of
the series of tasks of the system. iv. It schedules their working and execution by
following a plan to control the latencies and to meet the deadlines. It sets the rules
during the execution of the application software. A small-scale embedded system
may not need an RTOS.
An embedded system has software designed to keep in view three constraints:
i. Available system memory,
ii. Available processor speed
iii. The need to limit power dissipation.

1
When running the system continuously in cycles of wait for events, run, stop and
wake-up. Embedded devices can be found in a wide array of products including
aircraft and military systems, biomedical systems, cars, communications,
computer I/O devices, electronic instrumentation, home electronics, industrial
equipment, office machines, personal devices, robots, and smart toys.
Embedded devices can be found everywhere. Embedded systems designers often
face challenging design goals. Embedded systems must be reliable. Many
embedded devices cant crash, and may not be able to reboot. Software cant be
updated in many embedded devices. Many devices have critical performance &
power design constraints. Real-time constraints occur in many applications and
many devices have limited memory and processing power. Some devices may
need to run on battery power for long periods of time. In addition, consumer
devices typically have a fast time to market on new products and are very cost
competitive.
Most new devices have complex software that needs support for multitasking,
synchronization of tasks, support for a wide range of I/O devices, scheduling and
buffering of I.O operations, memory management, support for graphics displays,
file systems, networking, security, and power management.
An operating system can provide all of these features to aid application
developers. Application programmers are more productive since they can work at
a higher level of abstraction by using these features provided by the operating
system.
A recently released cell phone design contained over five million lines of code.
Few, if any projects, will have the time and funding needed to develop all
of this code entirely on their own. In cases such as this, it makes economic sense
to use an existing operating system. The development time and costs saved more
than pays for the licensing.
An embedded system is a computer system with a dedicated function within a
larger mechanical or electrical system, often with real-time computing constraints
2
.It is embedded as part of a complete device often including hardware and
mechanical parts. By contrast, a general-purpose computer, such as a personal
computer (PC), is designed to be flexible and to meet a wide range of end-user
needs. Embedded systems control many devices in common use today

1.1.1Variety of Embedded Systems

Embedded systems are commonly found in consumer, cooking, industrial,


automotive, medical, commercial and military applications.
Telecommunications systems employ numerous embedded systems from
telephone switches for the network to cell phones at the end-user. Computer
networking uses dedicated routers and network bridges to route data. Consumer
electronics include personal digital assistants(PDAs),mp3players,mobile phones,
video game consoles,digital cameras,DVD players,GPS receivers, and
printers.Household appliances, such as microwave ovens,washing machines and
dishwashers,include embedded systems to provide flexibility, efficiency and
features.

Transportation systems from flight to automobiles increasingly use embedded


systems. Medical equipment uses embedded systems for vital signs monitoring,
electronic stethoscopes for amplifying sounds, and various
medicalimaging(PET,SPECT,CT,MRI) for non-invasive internal inspections.

Embedded Wi-Fi modules provide a simple means of wirelessly enabling any


device which communicates via a serial port.

1.1.2 History

One of the very first recognizably modern embedded systems was the Apollo
Guidance Computer, developed by Charles Stark Draper at the MIT
Instrumentation Laboratory. At the project's inception, the Apollo guidance

3
computerwasconsideredtheriskiestitemintheApolloprojectasitemployed the then
newly developed monolithic integrated circuits to reduce the size and weight. At
the project's inception, the Apollo guidance computer was considered.

1.1.3 User Interface

Embedded systems range from no user interface at all, in systems dedicated only
to one task, to complex graphical user interfaces that resemble modern computer
desktop operating systems. Simple embedded devices use buttons, LEDs, graphic
or character LCDs (for example popularHD44780LCD)with a simple menu
system.

More sophisticated devices which use a graphical screen with touch sensing or
screen-edge buttons provide flexibility while minimizing space used: the meaning
of the buttons can change with the screen, and selection involves the natural
behavior of pointing at what's desired. Hand held systems often have a screen
with a "joystick button" for appointing device.

1.1.4 Processors in embedded systems

Embedded processors can be broken into two broad categories. Ordinary


microprocessors (P) use separate integrated circuits for memory and
peripherals. Microcontrollers (C) have on-chip peripherals, thus reducing power
consumption, size and cost.

4
1.2 MICROCONTROLLER

A microcontroller is a small computer (SoC) on a single integrated


circuit containing a processor core, memory, and programmable input/ output
peripherals. Program memory in the form of Ferroelectric RAM, NOR
flash or OTP ROM is also often included on chip, as well as a typically small
amount of RAM. Microcontrollers are designed for embedded applications, in
contrast to the microprocessors used in personal computers or other general
purpose applications consisting of various discrete chips.

A microcontroller can be considered a self-contained system with a


processor, memory and peripherals and can be used as an embedded system. The
majority of microcontrollers in use today are embedded in other machinery, such as
automobiles, telephones, appliances, and peripherals for computer systems.

While some embedded systems are very sophisticated, many have minimal
requirements for memory and program length, with no operating system, and low
software complexity. Typical input and output devices
includeswitches, relays, solenoids,LEDs, small or custom liquid-crystal displays,
radio frequency devices, and sensors for data such as temperature, humidity, light
level etc. Embedded systems usually have no keyboard, screen, disks, printers, or
other recognizable I/O devices of apersonal computer , and may lack human
interaction devices of any kind.

Microcontrollers are used in automatically controlled products and devices, such as


automobile engine control systems, implantable medical devices, remote controls,
office machines, appliances, power tools, toys and other embedded systems. By
reducing the size and cost compared to a design that uses a separate
microprocessor, memory, and input/output devices, microcontrollers make it
economical to digitally control even more devices and processes. Mixed
signal microcontrollers are common, integrating analog components needed to
control non-digital electronic systems.
5
Microcontroller unit is constructed with ATMEL 89C51 Microcontrollerchip. The
ATMEL AT89C51 is a low power, higher performanceCMOS8-bit microcomputer
with 4K bytes of flash programmable and erasable read only memory (PEROM).
Its high density non-volatile memory compatiblewith standard MCS-51 instruction
set makes it a powerful controller thatprovides highly flexible and cost effective
solution to control applications. Micro-controller works according to the program
written in it.
The program is written in such a way, so that this controller energizes
or de-energizes the relays according to the information received by thepushbuttons
and the sensing probe. The 8051 series of microcontrollers arehighly integrated
single Chip microcomputers with an 8-bit CPU, memory,interrupt controller,
timers, Serial I/O and digital I/O on a single piece ofsilicon.
The 8051 is an 8-bit Machine. Its memory is organized in bytes and
practically all its instruction deal with byte quantities. It uses an Accumulator as
the primary register for instruction results. Other operands can be accessedfees for
the operating system. using one of the four different addressing modes available:
register implicit,direct, indirect or immediate. Operands reside in one of the five
memory spacesof the 8051.

1.2.1 Types of microcontrollers

As of 2008 there are numerous microcontroller architectures and vendors


including:

8051(many variations and vendors of original Intel-product)

ARM (many vendors) and ARM Cortex-M,specifically targeted towards


microcontroller applications

AtmelAVR (8-bit), AVR32 (32-bit), and AT91SAM (32-bit)


6
Cypress Semiconductor'sM8C Core used in their PSoC (Programmable

System-on-Chip)

eZ8 8-bitbasedfamilyofmicrocontrollers

eZ808/16/24-bitfamilyof microcontrollers and microprocessors

free scale Cold Fire (32-bit) andS08 (8-bit)

free scale 68HC11 (8-bit)

Infineon:8-bit XC800,16-bit XE166, 32-bit XMC4000 (ARM based

CortexM4F),32-bitTriCoreand,32-bitAurix TricoreBitmicrocontrollers[10]

MIPS

1.3 ATMEL AVR

The AVR is a modified Harvard architecture8- bitRISC single chip


microcontroller which was developed by Atmel in 1996.The AVR was one of the
first microcontroller families to use on-chip flash memory for program storage, as
opposed to one-time programmable ROM,EPROM,or EEPROMused by other
microcontrollers at the time.

7
1.3.1 Device Overview

The AVR is a modified Harvard architecture machine where program and data are
stored in separate physical memory systems that appear in different Address
spaces, but having the ability to read data items from program memory
usingspecialinstruction

The key characteristic, however, is being dedicated to handle a particular task.


Since the embedded system is dedicated to specific tasks, design engineers can
optimize it to reduce the size and cost of the product and increase the reliability
and performance. Some embedded systems are mass-produced, benefiting from
economies of scale.

Physically, embedded systems range from portable devices such as digitalwatches


andMP3 players,to large stationary installations like traffic lights, factory
controllers,and largely complex systems like hybrid vehicles,MRI etc

1.4 Motivation and Objectives

In order to address the above issues, a method for the detection,

isolation and ac-commodation of a faulty sensor should satisfy the

following desirable characteristics: able to distinguish where a failure

occurred in the sensor or in the monitored system,able to validate the

measurements of a sensor without the use of redundant sen-sors and

the requirement of a detailed physical model of the monitored

system,able to detect, isolate, and accommodate a faulty sensor

promptly for the pur-pose of diagnosis and control in a real-time

environment, applicable to a wide range of sensors, and capable of

8
detecting and isolating a faulty sensor even in the case when multiple

sensors fail at the same time.

A conventional engineering method for sensor validation is to check

and recalibrate the sensor periodically by following a set of

predetermined procedures [Pike and Pennycook, 1992]. Although it is

e ective in dealing with abrupt sensor failures, this method is not able

to accomplish continuous assessment of sensor performance and may

be insu cient to achieve desirable performance, especially in the case

of complex and safety critical dynamic systems. Moreover, with the

increasing number of interconnected subsystems and associated

sensors, it has become less and less feasible and cost e ective to

check all sensors periodically. On the other hand, the hardware

redundancy approach that has been widely used in many safety-

critical systems measures one critical system variable using two or

more sensors. The faulty sensor can be detected by checking the

consistency among the redundant sensor measurements and then

isolated using majority voting schemes [Broen, 1974], with

9
three or more sensors usually being necessary to identify the faulty

sensor. It has been shown that these methods are relatively easy to

implement and can grant a high certainty in the detection and

isolation of faulty sensors. However, the use of redundant sensors may

not always be feasible due to the cost and space constraints.

Moreover, it is highly possible that the redundant sensors could also

fail and show similar symptoms because they are operated in the

same working environment and thus tend to have similar life

expectations [Patton et al., 1989].

To avoid the use of redundant sensors, the analytical redundancy

approach em-ploys mathematical models to capture the dynamics of

the monitored system as well as the sensors themselves. Based on a

nominal model established for the fault-free conditions, residuals can

then be generated as the di erence between the actual sensor

readings and the values estimated from the nominal model. The

generated residuals can be employed to detect and isolate a faulty

sensor by incorporating an appropriate residual evaluation scheme in

the well-developed literature on model-based fault detection and

isolation methodologies. Nevertheless, such methods need an

accurate analytical model of the monitored system as well as the

sensor, and thus require a priori deep understanding of their

underlying physics.

10
As illustrated in Figure 1.1, this proposed methodology aims to identify

and isolate incipient sensor failures in a dynamic system,

quantitatively assess these failures, and compensate for their e ects

on the measurements. Inspired by the fact that the measurements of

a sensor depict the dynamic characteristics of the monitored system

as well as those of the sensor itself, a methodology has been

developed in this thesis to detect and isolate incipient sensor failures

by decoupling their dynamics directly based on the measurements.

This enables the monitoring of a sensor separately from its associated

monitored system without the use of redundant sensors. To reducethe

amount of a priori knowledge required, system identi cation

techniques have been employed in the proposed method to identify

the analytical relations among the measured variables in the dynamic

system.

Sensor
Subsystem 1 Set 1
Sensor
Interconnected

Subsystem 2 Set 2
Subsystems

Figure 1.4: Objectives of


this research on the
detection, isolation, and
accommodation of a
degraded sensor

Sensor
Subsystem N Set N
Monitored Sensor
System Network

11
Detect and identify incipiensensor f

12
1.5 Thesis Outline.

In Chapter II, the state-of-the-art techniques for fault detection and isolation and

their applications in the eld of instrumentation and measurement systems are

reviewed. In contrast to the hardware redundancy approaches, analytical

redundancy approaches incorporate a priori system knowledge and extract key

information from the measurement system for the detection and isolation of a

faulty sensor instead of deploying multiple sensors for the same measured

variable. Due to their bene ts in system cost and complexity, analytical

redundancy approaches have attracted a lot of attention in both academic research

and industry applications. In this chapter, the various analytical redundancy

approaches are reviewed in the categories of model-based methods, knowledge-

based expert systems, and data-driven methods. The research and application

challenges in the reviewed topic are also identi ed, and associated future research

topics are proposed.

In Chapter III, a method is proposed to detect, isolate, and accommodate an

incipient sensor failure in a single-input-single-output system under the

assumption that the dynamics of the monitored system as well as the associated

sensor is lin-ear. In the proposed method, a subspace system identi cation

algorithm is used to track the changes of the time constants and gains of the sensor

and the monitored system, simultaneously. Without the use of redundant sensors,
this method utilizes the fact that the sensor readings depict dynamic characteristics

of the sensors as well as the monitored system. To evaluate its performance, this

method has been implemented to detect incipient failures in a throttle position

sensor using simulations of an automotive electronic throttle system.

The performance of machines and equipment degrades as a result of aging and

wear, which decreases performance reliability and increases the potential for fail-

ures [Djurdjanovic et al., 2002]. To ensure proper functionality of complex

systems, advanced technologies for performance diagnosis and control are

incorporated into engineering designs, especially in the case of sophisticated,

expensive and safety critical systems, such as manufacturing equipment [Rao,

1996], computer networks [Dasgupta and Gonzalez, 2002; Harmer et al., 2002],

automotive [Crossman et al., 2003; Murphey et al., 2003] and aircraft engines

[Kobayashi and Simon, 2005], etc.

1.7 GOALS OF OUR PROJECT


The objective of this project is to find the fault detection of the sensor arrays and
response to the user.

CHAPTER 2
LITERATURE SURVEY
2.1 Sensor fault detection for the roll dynamic model of a generic delta-
wing aircraft

Abstract:

This paper proposes a fault detection algorithm for the roll dynamic model
of a generic delta-wing aircraft. It is assumed that the system model has some
noise/uncertainties and the measured roll angle and roll rate used by the control
law are faulty/under attack. The proposed fault detection algorithm employs a fault
detection estimator and adaptive thresholds to detect the occurrence of a fault in
the sensor measurements. Simulation results are presented to show the
performance of the proposed algorithm.

2.2 Current/voltage sensor fault detection and isolation in wind energy


conversion systems based on power balance

Abstract:

This paper proposes a novel current/voltage sensor fault detection and


isolation (FDI) method for wind energy conversion systems (WECSs) based on the
power balance principle. The proposed method uses the sensor-measured signals to
calculate the imbalanced power in the power converters of a WECS, which is then
used as the indicator for sensor fault detection. The fault isolation process is started
when a fault is detected and is achieved by generating and comparing the residuals
between the estimated and measured signals, where the residuals are generated by
a trigonometric function-based estimation algorithm. The proposed method does
not require additional hardware or the information of generator parameters, is
capable of detecting and isolating both machine-side and grid-side current/voltage
sensor faults, and is not influenced by other types of faults in WECSs or power
grids. The effectiveness of the proposed method is confirmed by simulation results
in MATLAB/Simulink and experimental results for a 2.4-kW permanent-magnet
synchronous generator-based WECS.

2.3 A sensor fault detection and isolation strategy by using a Dendritic Cell
Algorithm
Abstract:

In this paper, an online sensor fault detection and isolation (FDI) scheme is
proposed based on an emerging Artificial Immune System (AIS) algorithm, namely
Dendritic Cell Algorithm (DCA). Our proposed methodology is utilized in a
distributed manner in order to perform sensor FDI in complex systems. The
proposed methodology is then applied to a wind turbine benchmark model in order
to demonstrate its capabilities.

2.4 Stator current sensor fault detection and isolation for vector controlled
induction motor drive
Abstract:

The paper deals with the fault tolerant Direct Field Oriented Control (DFOC) of an
induction motor drive. Influence of the stator current sensor faults to the properties
of the DFOC drive system is presented. To the current sensor fault detection the
simple algorithmic/logical mechanism, based on the measured currents is used.
After the fault detection, drive topology is changed. For the calculation of the
stator current components (in the stationary reference frame) other algebraic
relations based on the signals from the active sensors are used. Drive is tested in
simulation and in the laboratory set-up with 1.1kW machine under faulted and
post-fault conditions, in wide speed reference changes. All tests were performed on
the ds1202 card.
2.5 Use of Extended Kalman Filter in position sensor fault detection for
stepper motors

Abstract:

Stepper motors are often used as actuators in harsh environments such as nuclear
power plants or particle accelerators due to their high reliability and relatively
precise open loop positioning. Their significant disadvantage, however, is their
jerky motion profile, caused by the stepping action and introducing vibrations to
the actuated system. These vibrations can reduce the lifetime of the mechanics
when compared to the smooth motion profile that can be achieved using closed-
loop position control. In order to have the reliability of open-loop control, but the
smoother motion of closed-loop control, real-time position sensor fault detection
can allow sensors to be used in normal operation and, if a fault is detected, switch
to open-loop. In this paper, sensor fault detection for stepper motors using the
Extended Kalman Filter is studied. A novel method to detect a sensor fault is
proposed and compared to a standard one.\

2.6 An Architecture based on Magnetic Sensors for Fault Detection in


agricultural Implements

Abstract:
This paper describes the use of magnetic sensors in fault monitoring of a
conventional planter that does not have embedded technology. An alternative
solution for small and medium farmers in the fault detection that are common and
that generate negative impacts on production. The control algorithm allows the
parameterization and configuration of embedded system for different types of
equipment. A case study was conducted in rural property, with the installation of
the control system in a planter. Results show that the fault detection was
satisfactory with the sound alerts generated at all failure scenarios.
2.7 Fundamentals of wireless communications

Abstract:
Radio Frequency (RF) communications are an important smart grid enabler for
functions such as volt/VAR control, recloser control, feeder restorations and
isolation, fault detections and sensor alerting in other industrial markets such as
cement, mining, and transportation. This paper will give a basic tutorial on the
types of radio frequency communications and the benefits and liabilities of each.
Specific topics to be explored will be licensed versus unlicensed frequencies,
distance between remote devices and base stations, and communication
architectures. Radio technology is often referred in numerical ranges or
frequencies. The decision on which frequency to employ in a network depends on a
few key variables. Prior to deciding which frequency for a network, the application
for the radio use will assist with dictation of which frequency range to utilize.
Applications such as recloser control and volt/Var control may require a radio
device that can provide a high bandwidth/fast speed solution. Other SCADA
applications such as sensor monitoring may only require small bandwidth and for
data delivery to be at a much slower speed. Besides SCADA applications, wireless
communications is now required in other industries such as cement and mining.
Another variable when deciding on a radio network is the distance from the main
hosts to end remote devices such as RTUs or PLCs in the SCADA environment
and sensors and devices for monitoring kiln states in the cement industry. Lower
end frequencies (100MHz-900MHz) provide further coverage and greater distance
from base stations/Access Points to remote end devices, whereas higher
frequencies (2.4GHz-5.8GHz) provide shorter distance coverage, but higher
bandwidth and relay data back to SCADA hosts much faster.
2.8 Development of a new modeling circuit for the Remote Terminal Unit
(RTU) with GSM communication

Abstract:
This paper introduces the design and development of Intelligent Remote Terminal
Unit (RTU) which is to be applied as an automation technique for operating and
controlling the low voltage (LV) downstream of 415/240V to enhance reliability of
power for the consumers. The design proposed based on Global System for Mobile
(GSM) communication and this paper also presents an efficient design for
distribution automation system and its implementation in remote/automatic
monitoring and controlling of the relays (circuit breaker) by means of GSM Short
Message Service (SMS) services, automatic decision making and continuous
monitoring of distribution system components in real time [1]. The systems has
been equipped with microcontroller as a main component which act as an RTU
programmed using Microcontroller PRO compiler software. The RTU provides
monitoring fault operation, controlling functions and data collection for analysis.
RTU will initiate the transaction with the digital and output modules. The master of
this system is RTU and the slaves are digital and output modules. RTU plays an
important role in detecting fault and assigned to serve message immediately in the
control room. This system involves the detection of fault connected to the
microcontroller (PIC18F77A) and GSM modem. When the fault occurs, the sensor
will send the signals to the PIC16F77A. The PIC is programmed to process the
data and send the signals to the GSM modem.

2.9 Adaptive Trust Management Protocol based on intrusion detection for


Wireless Sensor Networks

Abstract:
Wireless Sensor Networks run critical applications and need to be protected against
malicious attacks and faults. In this paper we propose Adaptive Trust Management
Protocol, a protocol that adjusts trust and reputation based on node behavior. The
protocol includes three phases: the Learning phase, in which experience is
computed based on these alerts received from TinyAFD, the Exchanging phase, in
which experience associations are exchanged between neighbor nodes, and the
Updating phase, in which trust and reputation are updated based on experience.
ATMP has been implemented on top of TinyOS and has been tested using TOSSIM
in several attack scenarios to evaluate the evolution of experience, trust and
reputation.

2.10 Automatic real-time fault detection for industrial assets using meta
sensors

Abstract:
Large-scale industrial plants require physical sensors to continuously measure
quantities such as temperatures or pressures. A large number of sensors is required
to accurately describe the operating state of the plant, which unfortunately makes it
very difficult for them to be effectively monitored by human operators. In this
work we present a method to construct so-called meta sensors, virtual sensors that
compress the information from several sensors in an optimal manner.

CHAPTER-3
PROPOSED SYSTEM

3.1 Methodologies for Sensor Fault Detection, Isolation, and Accommodation of


Sensor Failures
In this chapter, the state-of-the-art techniques for fault detection and isolation and
their applications in the eld of instrument fault detection, isolation and accom-
modation are reviewed. The importance of sensor validation was rst recognized in
the safety-critical processes such as nuclear power plants. However, driven by the
stricter regulations on safety and environment, topics in the domain of instrument
fault detection, isolation and accommodation have received extensive attention in
various engineering applications. It has become even more crucial as more sensors
are integrated into a system for advanced functionalities.

A conventional engineering method for sensor validation is to check and recali-


brate a sensor periodically according to a set of predetermined procedures [Pike
and Pennycook, 1992]. Although this method has been widely implemented in
industry for detecting abrupt sensor failures, it is not able to accomplish
continuous assess-ment of a sensor, and thus is not e ective in detecting its
incipient failure. Moreover, due to their ever-increasing number, it has become
cost-ine ective and even infea-sible to check all sensors periodically. Therefore,
signi cant e orts have been made for the development of more systematic methods,
which can be generally categorized
into hardware and analytical redundancy approaches [Ibarguengoytia et al., 2001].
The general idea of the hardware redundancy approaches is to measure one critical
variable using two or more sensors, and then detect as well as isolate the faulty
sensor by consistency checking and majority voting.

These approaches have been widely used in safety-critical systems for their
simplicity and robustness. Among the various analytical redundancy approaches,
a model-based method re- quires an accurate mathematical model of the target
dynamic system that can be described using parity relations, Luenberger observers
and Kalman lters, and pa-rameter estimators.

A knowledge-based expert system incorporates the expert do-main


knowledge that is generally captured with a set of rules according to some
knowledge representation formalism. Instead of requiring a deep understanding of
the physical system, a process history based method demands the availability of a
su cient amount of data that are representative of the system performance. Due to
demands for improved system control and diagnosis, an increased number of
sensors have been employed in a complex system such as the automotive engine.

As a result, abundant data can be collected for the purpose of system control
and diagnosis. This has not only encouraged the development of various data-
driven methods including the multivariate statistical methods, Bayesian belief
networks, and artificial neural networks, but also enabled their wide industrial
applications.
As illustrated in Figure 2.4, a knowledge-based expert system is generally com-
posed of a user interface, a knowledge base, an inference engine and an
interpretation element. The knowledge base stores the historical data as well as the
accumulated rules, facts and expert experiences, based on which the useful
analytical or heuristic information is derived via the inference engine. Through the
user interface, an expert can not only provide the domain knowledge as inputs but
also supervise the fault identification and isolation process.
3.2 OVERALL BLOCK DIAGRAM

3.3 WORKING

Despite these existing research e orts, the detection, isolation, and compensation
of the instrument faults in a dynamic system remain a challenging problem. In the
application of the automotive engine, for instance, the demands for higher fuel
efficiency and reduced emissions has driven the development of advanced
powertrain technologies such as the turbocharger and the dual-cam variable valve-
train. The introduction of additional components into the conventional engine
enables the exploitation of advanced combustion strategies, which also raises the
need for additional sensing elements such as the ethanol sensor in ex-fuel vehicles
for the development of dedicated controls. In the meantime, the use of additional
sensors also introduces system complexity, and thus raises challenges in diagnosis.

Due to the cost constraints in most applications, the use of a hardware redundancy
approach is limited. Moreover, despite accumulated system knowledge, the
additional components and sensing elements introduce uncertainties into the
system. Thus, significant e orts are required to augment the existing model-based
diagnostic system or knowledge-based expert system.

With advances in measurement and simulation technologies, the data-driven


approach has demonstrated promising potentials in various domains including
modeling, optimization, controls, and diagnosis. However, due to the lack of a
thorough understanding of the target system, such an approach could encounter
challenges in the identification and compensation of faults. Furthermore, the
requirements of real-time system monitoring, such as the On-Board Diagnosis
(OBD) requirements in automotive applications, raises additional challenges due
to the constraints of online memory and computation capabilities. Therefore,
approaches that could integrate the existing principle knowledge into the data-
driven approaches are necessary to deal with the detection, isolation, and
compensation of instrument faults in a dynamic system with increasing
complexity.

The goal of the proposed research is to explore methods that can accomplish
quantitative assessment of sensor performance in a sensor network and
compensation of the effects of its degradation on system control and diagnosis.
Without the use of duplicate sensing hardware, the method aims to utilize the
embedded analytical redundancies for the detection and isolation of faulty sensors,
even in the presence of failures in the monitored system. With a quantitative
assessment of the performance of each sensor within the network, the
measurements of a faulty sensor can be re-constructed and its effects on the
controller as well as other measured variables can be compensated, thus
improving the reliability of the target system.

In order to accomplish an independent and quantitative assessment of the


performance within a sensor network and its monitored system, research is needed
to overcome the following challenges:

Identify the underlying analytical redundancies in the target system using sensor
measurements and control signals observed during regular operations rather than
using special inputs Isolate the intertwined dynamics of the sensor(s) and the
monitored system, Eliminate the influences of a fault in one sensor on other
sensors Isolate of the effects of a fault in the sensor network and one in the
monitored system on the collected measurements.

CHAPTER 4
OVERVIEW OF PROJECT

4.1 DESIGN ANDIMPLEMENTATION

Fig:4.1 Circuit Diagram

The problem of sensor performance assessment considered in this chapter is based


on the system structure shown in Figure 3.1, where sensor readings contain the
dynamics of the monitored system and the sensor itself, as well as the in uence of
process disturbances, wp(t), and measurement noise, wn(t). Sensor performance
will be assessed using the observed control signal uc(t) and measured output signal
ym(t) without the use of redundant sensors. The method for detection, isolation,
and compensation of sensor degradation is developed based on the following
assumptions.

(i) There is no nonlinearity involved in the compound system that is


composed of a monitored system and a sensor monitoring the system
output.

(ii) The dynamics of the sensor is much faster than that of the monitored
system. This assumption is not very restrictive because the dynamics of
the sensor should be at least 5-10 times faster than that of the
monitored system so that the dynamics of the monitored system can be
captured.

(iii) The process disturbances wp(t) and measurement noise wn(t) are wide-
sense stationary processes.

It should also be noted that the process disturbances w p(t) and the measurement
noise wn(t) are assumed to enter the target system at different locations. The
process disturbances wp(t) enters the system between the monitored plant and the
sensor, while the measurement noise wn(t) enters after the sensor. This assumption
is critical for the isolation of the gain factors in the monitored plant and sensor,
which is described in more details in the remainder of this section.

Process Measurement
Disturbances wp(t) Noise wn(t)

+ + Sensor + +

Monitored

Control System Measured

Signal
uc(t) Signal ym(t)

Figure 4.3: Structure of the compound system

Since the compound system in Figure 3.1 is linear and causal, the measured signals
ym can be described in terms of the available input signals u c and the unknown
process disturbances wp and measurement noise wn in the following relation.

4.3. REAL TIME DEMO

We implement our project in real time demo using the basic hardware
components. The basic components includes microcontroller embedded with some
modules

4.4. BLOCK DIAGRAM OVERVIEW


4.4.1.1 AVRMICROCONTROLLER

The AVR is a modified Harvard architecture 8-bit RISC single chip


microcontroller which was developed by Atmel in 1996.The AVR was one of the
first microcontroller families to use on-chip flash memory for program
storage ,as opposed to one-time programmable ROM, EPROM, or EEPROM
used by other microcontrollers at the time.

Device overview

The AVR is a modified Harvard architecture machine where program and data
restored in separate physical memory systems that appear in different address
spaces, but having the ability to read data items from program memory using
special instructions.

4.4.1. 2 PIRs Work

PIR sensors are more complicated than many of the other sensors explained in
these tutorials (like photocells, FSRs and tilt switches) because there are multiple
variables that affect the sensors input and output. To begin explaining how a basic
sensor works, we'll use this rather nice diagram

The PIR sensor itself has two slots in it, each slot is made of a special material that
is sensitive to IR. The lens used here is not really doing much and so we see that
the two slots can 'see' out past some distance (basically the sensitivity of the
sensor). When the sensor is idle, both slots detect the same amount of IR, the
ambient amount radiated from the room or walls or outdoors. When a warm body
like a human or animal passes by, it first intercepts one half of the PIR sensor,
which causes a positive differential change between the two halves. When the
warm body leaves the sensing area, the reverse happens, whereby the sensor
generates a negative differential change. These change pulses are what is detected.

4.4.1. 3 Gas Sensor


In current technology scenario, monitoring of gases produced is very important.
From home appliances such as air conditioners to electric chimneys and safety
systems at industries monitoring of gases is very crucial. Gas sensors are very
important part of such systems. Small like a nose, gas sensors spontaneously react
to the gas present, thus keeping the system updated about any alterations that occur
in the concentration of molecules at gaseous state.
Gas sensors are available in wide specifications depending on the sensitivity
levels, type of gas to be sensed, physical dimensions and numerous other factors.
This Insight covers a methane gas sensor that can sense gases such as ammonia
which might get produced from methane. When a gas interacts with this sensor, it
is first ionized into its constituents and is then adsorbed by the sensing element.
This adsorption creates a potential difference on the element which is conveyed to
the processor unit through output pins in form of current. What is this sensing
element? Is it kept in some chamber or is kept exposed? How does it get current
and how it is taken out? Lets find out in this Insight!!!

4.4.1. 4 LIQUID CRYSTAL DISPLAY

LCD (Liquid Crystal Display) screen is an electronic display module and find a
wide range of applications. A 16x2 LCD display is very basic module and is very
commonly used in various devices and circuits. These modules are preferred
over seven segments and other multi segment LEDs. The reasons being: LCDs are
economical; easily programmable; have no limitation of displaying special &
even custom characters (unlike in seven segments), animations and so on.

A 16x2 LCD means it can display 16 characters per line and there are 2 such lines.
In this LCD each character is displayed in 5x7 pixel matrix. This LCD has two
registers, namely, Command and Data.

The command register stores the command instructions given to the LCD. A
command is an instruction given to LCD to do a predefined task like initializing it,
clearing its screen, setting the cursor position, controlling display etc. The data
register stores the data to be displayed on the LCD. The data is the ASCII value of
the character to be displayed on the LCD. Click to learn more about internal
structure of a LCD.

4.4.1. 5 GSM MODULE

GSM/GPRS module is used to establish communication between a computer and


a GSM-GPRS system. Global System for Mobile communication (GSM) is an
architecture used for mobile communication in most of the countries. Global
Packet Radio Service (GPRS) is an extension of GSM that enables higher data
transmission rate. GSM/GPRS module consists of a GSM/GPRS modem
assembled together with power supply circuit and communication
interfaces (like RS-232, USB, etc) for computer. The MODEM is the soul of such
modules.

GSM/GPRS MODEM

GSM/GPRS MODEM is a class of wireless MODEM devices that are designed for
communication of a computer with the GSM and GPRS network. It requires a SIM
(Subscriber Identity Module) card just like mobile phones to activate
communication with the network. Also they have IMEI (International Mobile
Equipment Identity) number similar to mobile phones for their identification. A
GSM/GPRS MODEM can perform the following operations:

1. Receive, send or delete SMS messages in a SIM.

2. Read, add, search phonebook entries of the SIM.


3. Make, Receive, or reject a voice call.

The MODEM needs AT commands, for interacting with processor or controller,


which are communicated through serial communication. These commands are sent
by the controller/processor. The MODEM sends back a result after it receives a
command. Different AT commands supported by the MODEM can be sent by the
processor/controller/computer to interact with the GSM and GPRS cellular
network.

4.5 ATMEGA16 MICROCONTROLLER

ATmega16 is an 8-bit high performance microcontroller of Atmels


Mega AVR family with low power consumption. Atmega16 is based on enhanced
RISC (Reduced Instruction Set Computing, Know more about RISC and CISC
Architecture) architecture with 131 powerful instructions. Most of the instructions
execute in one machine cycle. Atmega16 can work on a maximum frequency of
16MHz.

ATmega16 has 16 KB programmable flash memory, static RAM of 1 KB and


EEPROM of 512 Bytes. The endurance cycle of flash memory and EEPROM is
10,000 and 100,000 respectively.ATmega16 is a 40 pin microcontroller. There are
32 I/O (input/output) lines which are divided into four 8-bit ports designated as
PORTA, PORTB, PORTC and PORTD.ATmega16 has various in-built peripherals
like USART, ADC, Analog Comparator, SPI, JTAG etc. Each I/O pin has an
alternative task related to in-built peripherals. The following table shows the pin
description of ATmega16.
Pin Diagram:

Pin Description:

Pin
Pin name Description Alternate Function
No.

(XCK/T0) I/O PORTB, Pin T0: Timer0 External Counter Input.


1
PB0 0 XCK : USART External Clock I/O
I/O PORTB, Pin
2 (T1) PB1 T1:Timer1 External Counter Input
1
AIN0: Analog Comparator Positive
(INT2/AIN0 I/O PORTB, Pin I/P
3
) PB2 2
INT2: External Interrupt 2 Input
4 (OC0/AIN1) I/O PORTB, Pin AIN1: Analog Comparator Negative
I/P
PB3 3 OC0 : Timer0 Output Compare
Match Output
I/O PORTB, Pin
5 (SS) PB4
4
I/O PORTB, Pin
6 (MOSI) PB5
5 In System Programmer (ISP)
I/O PORTB, Pin Serial Peripheral Interface (SPI)
7 (MISO) PB6
6
I/O PORTB, Pin
8 (SCK) PB7
7
Reset Pin, Active
9 RESET
Low Reset
10 Vcc Vcc = +5V
11 GND GROUND
12 XTAL2 Output to Inverting Oscillator Amplifier
13 XTAL1 Input to Inverting Oscillator Amplifier
I/O PORTD, Pin
14 (RXD) PD0
0 USART Serial Communication
I/O PORTD, Pin Interface
15 (TXD) PD1
1
I/O PORTD, Pin
16 (INT0) PD2 External Interrupt INT0
2
I/O PORTD, Pin
17 (INT1) PD3 External Interrupt INT1
3
18 (OC1B) PD4 I/O PORTD, Pin PWM Channel Outputs
4
(OC1A) I/O PORTD, Pin
19
PD5 5
I/O PORTD, Pin
20 (ICP) PD6 Timer/Counter1 Input Capture Pin
6
I/O PORTD, Pin Timer/Counter2 Output Compare
21 PD7 (OC2)
7 Match Output
I/O PORTC, Pin
22 PC0 (SCL)
0
TWI Interface
I/O PORTC, Pin
23 PC1 (SDA)
1
I/O PORTC, Pin
24 PC2 (TCK)
2
I/O PORTC, Pin
25 PC3 (TMS)
3
JTAG Interface
I/O PORTC, Pin
26 PC4 (TDO)
4
I/O PORTC, Pin
27 PC5 (TDI)
5
PC6 I/O PORTC, Pin
28 Timer Oscillator Pin 1
(TOSC1) 6
PC7 I/O PORTC, Pin
29 Timer Oscillator Pin 2
(TOSC2) 7
30 AVcc Voltage Supply = Vcc for ADC

31 GND GROUND

32 AREF Analog Reference Pin for ADC


I/O PORTA, Pin
33 PA7 (ADC7) ADC Channel 7
7
I/O PORTA, Pin
34 PA6 (ADC6) ADC Channel 6
6
I/O PORTA, Pin
35 PA5 (ADC5) ADC Channel 5
5
I/O PORTA, Pin
36 PA4 (ADC4) ADC Channel 4
4
I/O PORTA, Pin
37 PA3 (ADC3) ADC Channel 3
3
I/O PORTA, Pin
38 PA2 (ADC2) ADC Channel 2
2
I/O PORTA, Pin
39 PA1 (ADC1) ADC Channel 1
1
I/O PORTA, Pin
40 PA0 (ADC0) ADC Channel 0
0

ARITHMETIC AND LOGIC UNIT:

The high-performance Atmel AVR ALU operates in direct connection with all the
32 general purpose working registers. Within a single clock cycle, arithmetic
operations between general purpose registers or between a register and an
immediate are executed. The ALU operations are divided into three main
categories arithmetic, logical, and bit-functions. Some implementations of the
architecture also provide a powerful multiplier supporting both signed/unsigned

Multiplication and fractional format.

STATUS REGISTER:
The Status Register contains information about the result of the most recently
executed arithmetic instruction. This information can be used for altering program
flow in order to perform conditional operations. Note that the Status Register is
updated after all ALU operations. This will in many cases remove the need for
using the dedicated compare instructions, resulting in faster and more compact
code.

The Status Register is not automatically stored when entering an interrupt routine
and restored when returning from an interrupt. This must be handled by software.

The status register is defined as:

Bit 7 I: Global Interrupt Enable

The Global Interrupt Enable bit must be set for the interrupts to be enabled. The
individual interrupt enable control is then performed in separate control registers.
If the Global Interrupt Enable Register is cleared, none of the interrupts are
enabled independent of the individual interrupt enable settings. The I-bit is cleared
by hardware after an interrupt has occurred, and is set by

the RETI instruction to enable subsequent interrupts. The I-bit can also be set and
cleared by the application with the SEI and CLI instructions.

Bit 6 T: Bit Copy Storage

The Bit Copy instructions BLD (Bit Load) and BST (Bit Store) use the T-bit as
source or destination for the operated bit. A bit from a register in the Register File
can be copied into T by the BST instruction, and a bit in T can be copied into a bit
in a register in the Register File by the BLD instruction.

Bit 5 H: Half Carry Flag


The Half Carry Flag H indicates a Half Carry in some arithmetic operations. Half
Carry is useful in BCD arithmetic. for detailed information.

Bit 4 S: Sign Bit, S = NV

The S-bit is always an exclusive or between the Negative Flag N and the Twos
Complement Overflow Flag V.

Bit 3 V: Twos Complement Overflow Flag

The Twos Complement Overflow Flag V supports twos complement arithmetics.

Bit 2 N: Negative Flag

The Negative Flag N indicates a negative result in an arithmetic or logic operation.

Bit 1 Z: Zero Flag

The Zero Flag Z indicates a zero result in an arithmetic or logic operation.

for detailed information.

Bit 0 C: Carry Flag

The Carry Flag C indicates a Carry in an arithmetic or logic operation.

GENERAL PURPOSE REGISTER FILE:

The Register File is optimized for the AVR Enhanced RISC instruction set. In order
to achieve the required performance and flexibility, the following input/output
schemes are supported by the Register File:

One 8-bit output operand and one 8-bit result input

Two 8-bit output operands and one 8-bit result input


Two 8-bit output operands and one 16-bit result input

One 16-bit output operand and one 16-bit result input

STACK POINTER:

The Stack is mainly used for storing temporary data, for storing local variables and
for storing return addresses after interrupts and subroutine calls. The Stack Pointer
Register always points to the top of the Stack. Note that the Stack is implemented
as growing from higher memory locations to lower memory locations. This implies
that a Stack PUSH command decreases the Stack Pointer.

The Stack Pointer points to the data SRAM Stack area where the Subroutine and
Interrupt Stacks are located. This Stack space in the data SRAM must be defined
by the program before any subroutine calls are executed or interrupts are enabled.
The Stack Pointer must be set to point above 0x60. The Stack Pointer is
decremented by one when data is pushed onto the Stack with the PUSH
instruction, and it is decremented by two when the return address is pushed onto
the Stack with subroutine call or interrupt. The Stack Pointer is incremented by one
when data is popped from the Stack with the POP instruction, and it is
incremented by two when address is popped from the Stack with return from
subroutine RET or return from interrupt RETI.

The AVR Stack Pointer is implemented as two 8-bit registers in the I/O space. The
number of bits actually used is implementation dependent. Note that the data space
in some implementations of the AVR architecture is so small that only SPL is
needed. In this case, the SPH Register will not be present.

INSTRUCTION EXECUTION TIMING:


This section describes the general access timing concepts for instruction execution.
The Atmel AVR CPU is driven by the CPU clock CPU, directly generated from the
selected clock source for the chip. No internal clock division is used.

4.5.4 AVR ATmega8 MEMORIES:

This section describes the different memories in the Atmel AVR ATmega8. The
AVR architecture has two main memory spaces, the Data memory and the Program
Memory space. In addition, the ATmega8 features an EEPROM Memory for data
storage. All three memory spaces are linear and regular.

In-System Reprogrammable Flash Program Memory:

The ATmega8 contains 8Kbytes On-chip In-System Reprogrammable Flash


memory for program storage. Since all AVR instructions are 16-bits or 32-bits
wide, the Flash is organized as 4K 16 bits. For software security, the Flash
Program memory space is divided into two sections, Boot Program section and
Application Program section. The Flash memory has an endurance of at least
10,000 write/erase cycles. The ATmega8 Program Counter (PC) is 12 bits wide,
thus addressing the 4K Program memory locations. The operation of Boot Program
section and associated Boot Lock Bits for software protection.

SRAM Data Memory:

The lower 1120 Data memory locations address the Register File, the I/O Memory,
and the internal data SRAM. The first 96 locations address the Register File and
I/O Memory, and the next 1024 locations address the internal data SRAM. The five
different addressing modes for the Data memory cover: Direct, Indirect with
Displacement, Indirect, Indirect with Pre-decrement, and Indirect with Post-
increment. In the Register File, registers R26 to R31 feature the indirect addressing
pointer registers. The direct addressing reaches the entire data space. The Indirect
with Displacement mode reaches 63 address locations from the base address given
by the Y-register or Z-register.

When using register indirect addressing modes with automatic pre-decrement and
post-increment, the address registers X, Y and Z are decremented or incremented.
The 32 general purpose working registers, 64 I/O Registers, and the 1024 bytes of
internal data SRAM in the ATmega8 are all accessible through all these addressing
modes.

EEPROM Data Memory:

The ATmega8 contains 512bytes of data EEPROM memory. It is organized as a


separate data space, in which single bytes can be read and written. The EEPROM
has an endurance of at least 100,000 write/erase cycles. The access between the
EEPROM and the CPU is described below, specifying the EEPROM Address
Registers, the EEPROM Data Register, and the EEPROM Control Register.

EEPROM Read/Write Access:

The EEPROM Access Registers are accessible in the I/O space. A self-timing
function, however, lets the user software detect when the next byte can be written.
If the user code contains instructions that write the EEPROM, some precautions
must be taken. In heavily filtered power supplies, VCC is likely to rise or fall
slowly on Power-up/down. This causes the device for some period of time to run at
a voltage lower than specified as minimum for the clock frequency used. In order
to prevent unintentional EEPROM writes, a specific write procedure must be
followed. When the EEPROM is read, the CPU is halted for four clock cycles
before the next instruction is executed. When the EEPROM is written, the CPU is
halted for two clock cycles before the next Instruction is executed.
CHAPTER 5

OVERVIEW OF SOFTWARE

5.1 SOFTWARE TOOLS

5.1.1 AVR Studio4

AVR Studio4 is a development tool for the AT90S Series of AVR


microcontrollers. This manual describes that how to install and use AVR Studio.
AVR studio enables the user to fully control execution of programs on the AT90S
in-circuit Emulator or on the built-in AVR instruction set simulator. AVR studio
supports source level execution of assembly programs assembled with the Atmel
Corporations AVR assembler and C programs compiled with the IAR systems
ICCA90 C Compiler for the AVR microcontrollers. AVR studio runs under
Microsoft Windows95 and Microsoft Windows NT. AVR studio enables execution
of AVR programs on an AVR in-circuit Emulator or the built-in AVR instruction set
simulator. In order to execute a program using AVR studio, it must first be
compiled with IAR systems C Compiler or assembled with Atmels AVR
Assembler to generate an object file which can be read by AVR studio.

In addition to the source window, AVR studio defines a number of other


windows which can be used for inspecting the different resources on the
microcontroller. The key window in AVR studio is the source window. When an
object file is opened, the source window is automatically created. The source
window displays the code currently being executed on the execution target( i.e. the
Emulator or the Simulator), and the text marker is always placed on the next
statement to be executed. The status bar indicates whether the execution target is
the AVR In-Circuit Emulator or the built-in instruction set simulator. By default, it
is assumed that execution is done on the source level, so if source information
exists, the program will start up in source level model. In addition to source level
execution of both C and Assembly programs, AVR studio can also view and
execute programs on a disassembly level. The user can toggle between source and
disassembly mode when execution of program is stopped. All necessary execution
commands are available in AVR studio, both on source level and disassembly level.

The user can execute the program, single step through the code either by
tracing into or stepping over functions, step out of functions, place the cursor on a
statement and execute until that statement is reached, stop the execution, and reset
the execution target. In addition, the user can have an unlimited number of code
breakpoints, and every breakpoint can be defined as enabled or disabled. The
breakpoints are remembered between sessions. The source window gives
information about the control flow of the program. In addition, AVR studio offers a
number of other windows which enables the user to have full control of the status
of every element in the execution target. The available windows are:

1. Watch window: Displays the values of defined symbols. In the watch


window, the user can watch the values of for instance variables in a C
program.
2. Register window: Displays the contents of the register file. The registers can
be modified when the execution is stopped.
3. Memory windows: Displays the content of the program memory, data
memory, I/O memory or EEPROM memory. The memories can be viewed as
hexadecimal values or as ASCII characters. The memory contents can be
modified when the execution is stopped.
4. Peripheral windows: Displays the contents of the status registers associated
with the different peripheral devices:
EEPROM Registers
I/O ports
Timers
5. Message window: Displays messages from AVR studio to the user
6. Processor window: Displays vital information about the execution target,
including program Counter, Stack pointer, status register and cycle counter.
These parameters can be modified when the execution is stopped. The first
time an object file is being executed, the user needs to setup the windows
which are convenient for observing the execution of the program, there by
tailoring the information on the screen to the specific project. The next that
object file is loaded, the setup is automatically reconstructed. If an AVR In-
Circuit Emulator is available in the system, it is automatically selected as the
execution target. The Emulator must be connected through a serial port. If an
Emulator is present in the system but cannot be identified, close the file reset
the Emulator and try once more. For information regarding the AVR In-
Circuit Emulator, see the AVR AT90ICE1200 User Guide or the AVR
AT90ICEPRO User Guideif the user wants to use the simulator, even if an
Emulator is present in the system, disconnect or switch off the Emulator
before opening of file.
5.1.2 Proteus

Proteus is a powerful management tool, which can help your company to monitor
and analyze the usage of your telephones hence allowing you to have more control
of your telecommunications services.

Proteus can be used to:


Apportion costs within your organization.
Identify anomalies and use or abuse of your facilities.
Monitor the quality of service provided by your customers when they
call you.
Identify whether you have a sufficient amount of lines to handle the
traffic your organization generates.
Proteus records information about the connection and disconnection of each call,
which takes place on the telephone system and stores this information in a file. The
information can then be used to generate different reports for example, costing,
operator, traffic etc.

5.2 SOFTWARE LANGUAGE

5.2.1 Embedded C

Embedded C is a set of language extensions for the C programming language by


the C standards committee to address commonality issues that exist between C
extensions for different embedded systems. Historically, Embedded C
programming requires nonstandard extensions to the C language in order to support
exotic features such as fixed-point arithmetic, multiple distinct memory banks, and
basic I/O operations.

The C standard committee extended the C language to address these issues by


providing a common standard for all implementations to adhere to. It includes a
number of features not available in normal C, such as, fixed-point arithmetic named
address spaces, and basic I/O hardware addressing.

Embedded C use most of the syntax and semantics of standard C, e.g., main()
function, variable definition, data type declaration, conditional statements( if,
switch, case), loops (while, for), functions, arrays and strings, structures and union,
bit operations, macros, unions, etc. Embedded C is used for microcontroller based
applications applicable in Embedded Systems. Embedded C has to use with the
limited resources (RAM, ROM, I/Os) on an embedded processor unlike that of
desktop systems like PC where we need not bother about memory. Embedded C
requires compilers to create files to be downloaded to the microcontrollers where it
needs to run. Embedded C uses most of the syntax and functions of standard C, eg,
main(), variable definition, data type declaration, conditional statements( if, switch,
case), loops (while, for), functions, arrays and strings, bit operations etc..

5.2.2ADVANTAGES:

It is small and reasonably simpler to learn, understand, program and


debug.
Compared to assembly language, C code written is more realible and
scalable, more portable between different platform.
C compilers are available for almost all embedded devices in use today,
and there is a large pool of experienced C programmers.
Unlike assembly, C has advantage of processor-independence and is not
specific to any particular microprocessor/ microcontroller or any system.
This makes it convenient for a user to develop programs that can run on
most of the systems.
As C combines functionality of assembly language and features of high
level languages, C is treated as a middle-level computer language or
high-level assembly language.
It is fairly efficient.
It supports access to I/O and provides ease of management of large
embedded projects.

CHAPTER 6

CONCLUSION

Contribution of the Thesis


This thesis has presented the research attempts in developing practical approaches
for system and sensor fault diagnosis with applications to the automotive system.
The work looked into the problem of sensor degradation detection and isolation in
a single-input-single-output system as presented in Chapter III, and extended such
e orts to a multiple-input-multiple-output system as presented in Chapter V. In
order to deal with a complex system such as the diesel engine air path system, an
approach is developed in Chapter IV to identify the most related input variables
for the target system performance variable. In particular, the research focused on:

System Dynamics Identification and Analysis The method presented in Chapter III
is able to identify the dynamics in a single-input-single-output dynamic sys-tem.
Based on the assumption that the dynamics of the sensor is much faster than that
of the monitored system, the proposed approach identifies the dynamics and the
associated gain factors of the sensor and the monitored system. As a result, the
method can detect and quantify sensor performance degradation in the compound
system without the use of redundant sensing equipment. It is able to distinguish
sensor and plant degradation in an environment where either the plant, or the
sensor monitoring that plant could undergo degradation in their dynamic
properties. In addition, the method accomplishes identification of sensor and plant
dynamics using inputs observed during normal system operations, rather than
using special inputs. Consequently, such a method is capable of assessing the
sensor health condition as the system operates. Furthermore, this method is able to
improve the accuracy of collected information despite the presence of sensor
degradation by directly compensating for the adverse effects of the degradation in
its measurements.
System Input Selection for Nonlinear System Identification In order to deal with
the increasing complexity in a multiple-input-multiple-output dynamic system, a
method is proposed in Chapter IV to identify the most correlated input variables
and the associated dynamic dependence with the output variable in a nonlinear
sys-tem. Without requiring a thorough understanding of the target system, the
proposed method establishes a general approach that can be applied to various
nonlinear system identification algorithms.

The growing self-organizing network provides an appropriate partition of the


target operation regime, thus enabling the approximate of the nonlinear behaviors
with a set of linear models. As the number of system inputs including measured
variables and control signals increases, the complexity of the in-put variable and
model structure selection problem in a nonlinear system increases dramatically.
The introduction of the genetic algorithm provides ancient way to search for the
best solution as defined by the minimum description length principle. The
proposed approach has shown its effectiveness with commonly cited numerical
examples and diesel engine air path dynamics modeling.

REFERENCES

[1] B. Lok, S. Naik, M. C. Whitton, and F. P. B.Jr., Effects of handling real


objects and self-avatar fidelity on cognitive task performance and sense of
presence in virtual environments.presence,vol. 12,no. 6,pp. 615628, 2003.
[2] M. Moehring and B. Froehlich, Natural interaction metaphors for functional
validations of virtual car models, Visualization andComputer Graphics, IEEE
Transactions on, vol.17,no. 9,pp. 1195-1208, Sept 2011.

[3] A. Pusch, O. Martin, and S.Coquillart, Effects of hand feedback fidelity on


near space pointing performance and user acceptance, in VR Innovation (ISVRI),
2011 IEEE International Symposium on,March 2011,pp.97-102.

[4] H. Salzmann and B. Froehlich, The two-user seating buck: Enabling face-to-
face discussions of novel car interface concepts, in Virtual Reality Conference,
2008. VR 08. IEEE, March 2008, pp. 7582.

[5] A. Zweighaft, G. Slotness, A. Henderson, L. Osborne, S. Lightbody, L. Perhala,


P. Brown, N. Haynes, S. Kern, P. Usgaonkar, M. Meese, S. Pierce, and G. Gerling,
A physical workstation, body tracking interface, and immersive virtual
environment for rehabilitating phantom limb pain, in Systems and Information
Design Symposium (SIEDS), 2012 IEEE, April 2012, pp.

[6] J. S. Pierce, A. S. Forsberg, M. J. Conway, S. Hong,R. C. Zeleznik, and M. R.


Mine, Image plane interactiontechniques in 3d immersive environments,
inProceedings of the 1997 Symposium on Interactive 3DGraphics, ser. I3D 97.
New York, NY, USA: ACM,1997, pp. 39ff.

[7] D. A. G. Jauregui, F. Argelaguet, and A. Lecuyer, Designand evaluation of 3d


cursors and motion parallaxfor the exploration of desktop virtual environments,
inIEEE Symposium on 3D User Interfaces 2012, 3DUI2012, Costa Mesa, CA,
USA, March 4-5, 2012, 2012,pp. 6976.

[8] V. Buchmann, T. Nilsen, and M. Billinghurst, Interactionwith partially


transparent hands and objects, inProceedings of the Sixth Australasian Conference
onUser Interface - Volume 40, ser. AUIC 05. Darlinghurst,Australia, Australia:
Australian ComputerSociety, Inc., 2005, pp. 1720.

[9] T. Aslandere, D. Dreyer, F. Pantkratz, and R. Schubotz,A generic virtual reality


flight simulator, inVirtuelle und Erweiterte Realitt, 11. Workshop derGI-
Fachgruppe VR/AR. Aachen, Germany: ShakerVerlag, September 2014, pp. 113.

[10] H. Salzmann and B. Froehlich, The two-user seatingbuck: Enabling face-to-


face discussions of novel carinterface concepts, in Virtual Reality Conference,
2008.VR 08. IEEE, March 2008, pp. 7582.

Anda mungkin juga menyukai