1390 lines
55 KiB
TeX
1390 lines
55 KiB
TeX
\documentclass[a4paper,10pt]{article}
|
|
\usepackage[utf8x]{inputenc}
|
|
\usepackage{graphicx}
|
|
\usepackage{fancyhdr}
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{shapes,snakes}
|
|
\usetikzlibrary{shapes.gates.logic.US,trees,positioning,arrows}
|
|
\usepackage{subfigure}
|
|
\usepackage{amsfonts,amsmath,amsthm}
|
|
\usepackage{algorithm}
|
|
\usepackage{algorithmic}
|
|
\usepackage{lastpage}
|
|
|
|
\newcommand{\fg}{\em functional~group}
|
|
\newcommand{\fgs}{\em functional~groups}
|
|
\newcommand{\dc}{\em derived~component}
|
|
\newcommand{\dcs}{\em derived~components}
|
|
\newcommand{\bc}{\em base~component}
|
|
\newcommand{\bcs}{\em base~components}
|
|
\newcommand{\irl}{in~real~life}
|
|
\newcommand{\abslevel}{\ensuremath{\psi}}
|
|
\newcommand{\FG}{\ensuremath{G}}
|
|
|
|
%\usepackage{glossary}
|
|
%opening
|
|
\title{Example OPAMP circuits}
|
|
\author{Robin}
|
|
|
|
\begin{document}
|
|
\begin{abstract}
|
|
Circuits from email conversation.
|
|
|
|
Not a document to be proof read.
|
|
|
|
Proof of analysis concept.
|
|
|
|
Function $fm$ applied to a component returns its failure modes.
|
|
\end{abstract}
|
|
\maketitle
|
|
\tableofcontents
|
|
\listoffigures
|
|
|
|
|
|
\section{Non-Inverting OPAMP}
|
|
Consider a non inverting op-amp designed to amplify
|
|
a small positive voltage (typical use would be a thermocouple amplifier
|
|
taking a range from 0 to 25mV and amplifiying it to the useful range of an ADC, approx 0 to 4 volts).
|
|
|
|
|
|
\begin{figure}[h+]
|
|
\centering
|
|
\includegraphics[width=100pt]{./mvampcircuit.png}
|
|
% mvampcircuit.png: 243x143 pixel, 72dpi, 8.57x5.04 cm, bb=0 0 243 143
|
|
\label{fig:mvampcircuit}
|
|
\caption{positive mV amplifier circuit}
|
|
\end{figure}
|
|
|
|
We can begin by looking for functional groups.
|
|
The resistors $ R1, R2 $ perform a fairly common function in electronics, that of the potential divider.
|
|
So we can examine $\{ R1, R2 \}$ as a {\fg}.
|
|
|
|
|
|
\subsection{The Resistor in terms of failure modes}
|
|
|
|
We can now determine how the resistors can fail.
|
|
According to GAS standard EN298 the failure modes to consider for resistors are OPEN and SHORT.
|
|
|
|
|
|
We can express the failure modes of a component using the function $fm$, thus for the resistor, $ fm(R) = \{ OPEN, SHORT \}$.
|
|
|
|
|
|
We have two resistors in this circuit and therefore four component failure modes to consider for the potential divider.
|
|
We can now examine what effect each of these failures will have on the {\fg} (see table~\ref{tbl:pd}).
|
|
|
|
|
|
\subsection{Analysing a potential divider in terms of failure modes}
|
|
|
|
|
|
\label{potdivfmmd}
|
|
|
|
|
|
|
|
\begin{figure}[h+]
|
|
\centering
|
|
\includegraphics[width=100pt,keepaspectratio=true]{./pd.png}
|
|
% pd.png: 361x241 pixel, 72dpi, 12.74x8.50 cm, bb=0 0 361 241
|
|
\label{fig:pdcircuit}
|
|
\caption{Potential Divider Circuit}
|
|
\end{figure}
|
|
|
|
|
|
\begin{table}[h+]
|
|
\caption{Potential Divider: Sinlge failure analysis}
|
|
\begin{tabular}{|| l | l | c | c | l ||} \hline
|
|
\textbf{Failure Scenario} & & \textbf{Pot Div Effect} & & \textbf{Symptom} \\
|
|
\hline
|
|
FS1: R1 SHORT & & $LOW$ & & $PDLow$ \\ \hline
|
|
FS2: R1 OPEN & & $HIGH$ & & $PDHigh$ \\ \hline
|
|
FS3: R2 SHORT & & $HIGH$ & & $PDHigh$ \\ \hline
|
|
FS4: R2 OPEN & & $LOW$ & & $PDLow$ \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{tbl:pd}
|
|
\end{table}
|
|
|
|
We can now create a {\dc} for the potential divider, $PD$.
|
|
|
|
$$ fm(PD) = \{ PDLow, PDHigh \}$$
|
|
|
|
Let use now consider the op-amp. According to
|
|
FMD-91~\cite{fmd91}[3-116] an op amp may have the following failure modes:
|
|
latchup(12.5\%), latchdown(6\%), nooperation(31.3\%), lowslewrate(50\%).
|
|
|
|
|
|
\subsection{Analysing the non-inverting amplifier in terms of failure modes}
|
|
|
|
$$ fm(OPAMP) = \{L\_{up}, L\_{dn}, Noop, L\_slew \} $$
|
|
|
|
|
|
We can now form a {\fg} with $PD$ and $OPAMP$.
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=300pt]{./non_inv_amp_fmea.png}
|
|
% non_inv_amp_fmea.png: 964x492 pixel, 96dpi, 25.50x13.02 cm, bb=0 0 723 369
|
|
\label{fig:invampanalysis}
|
|
\end{figure}
|
|
|
|
|
|
We can collect symptoms from the analysis and cretae a derived component
|
|
to represent the non-inverting amplifier $NI\_AMP$.
|
|
We now have can express the failure mode behaviour of this type of amplifier thus:
|
|
|
|
$$ fm(NI\_AMP) = \{ {lowpass}, {high}, {low} \}.$$
|
|
|
|
|
|
|
|
|
|
\section{Inverting OPAMP}
|
|
|
|
\label{sec:invamp}
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt]{./invamp.png}
|
|
% invamp.png: 378x207 pixel, 72dpi, 13.34x7.30 cm, bb=0 0 378 207
|
|
\caption{Inverting Amplifier Configuration}
|
|
\label{fig:invamp}
|
|
\end{figure}
|
|
|
|
This configuration is interesting from methodology perspective.
|
|
There are two ways in which we can tackle this.
|
|
One is to do this in two stages, by considing the gain resistors to be a potential divider
|
|
and then combining it with the OPAMP failure mode model.
|
|
The other way is to place all three components in a {\fg}.
|
|
Both approaches are followed in the next two sub-sections.
|
|
|
|
\subsection{Inverting OPAMP using a Potential Divider {\dc}}
|
|
|
|
Re-using the $PD$ - potential divider works only if the input voltage is negative.
|
|
We want if possible to have detectable errors, HIGH and LOW are better than OUTOFRANGE.
|
|
If we can refine the operational states of the fungional group, we can obtain clearer
|
|
symptoms.
|
|
If we consider the input will only be positive, we can invert the potential divider (see table~\ref{tbl:pdneg}).
|
|
|
|
\begin{table}[h+]
|
|
\caption{Inverted Potential divider: Single failure analysis}
|
|
\begin{tabular}{|| l | l | c | c | l ||} \hline
|
|
\textbf{Failure Scenario} & & \textbf{Inverted Pot Div Effect} & & \textbf{Symptom} \\
|
|
\hline
|
|
FS1: R1 SHORT & & $HIGH$ & & $PDHigh$ \\ \hline
|
|
FS2: R1 OPEN & & $LOW$ & & $PDLow$ \\ \hline
|
|
FS3: R2 SHORT & & $LOW$ & & $PDLow$ \\ \hline
|
|
FS4: R2 OPEN & & $HIGH$ & & $PDHigh$ \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{tbl:pdneg}
|
|
\end{table}
|
|
|
|
We can form a {\dc} from this, and call it an inverted potential divider $INVPD$.
|
|
|
|
We can now form a {\fg} from the OPAMP and the $INVPD$
|
|
|
|
This gives the same results as the analysis from figure~\ref{fig:invampanalysis}.
|
|
The differences are the root causes or component failure modes that
|
|
lead to the symptoms (i.e. the symptoms are the same but causation tree will be different).
|
|
|
|
$$ fm(NI\_AMP) = \{ {lowpass}, {high}, {low} \}.$$
|
|
|
|
|
|
\subsection{Inverting OPAMP using three components}
|
|
|
|
We can use this for a more general case, because we can examine the
|
|
effects on the circuit for each operational case (i.e. input +ve
|
|
or input -ve), see table~\ref{tbl:invamp}. Because symptom collection is defined as surjective (from component failure modes
|
|
to symptoms) we cannot have a component failure mode that maps to two different symptoms (within a functional group).
|
|
Note that here we have a more general symptom $ OUT OF RANGE $ which could mean either
|
|
$HIGH$ or $LOW$ output.
|
|
|
|
|
|
|
|
\begin{table}[h+]
|
|
\caption{Inverting Amplifier: Single failure analysis}
|
|
\begin{tabular}{|| l | l | c | c | l ||} \hline
|
|
\textbf{Failure Scenario} & & \textbf{Inverted Amp Effect} & & \textbf{Symptom} \\ \hline
|
|
\hline
|
|
FS1: R1 SHORT +ve in & & NEGATIVE out of range & & $ OUT OF RANGE $ \\
|
|
FS1: R1 SHORT -ve in & & POSITIVE out of range & & $ OUT OF RANGE $ \\ \hline
|
|
|
|
FS2: R1 OPEN +ve in & & zero output & & $ ZERO OUTPUT $ \\
|
|
FS2: R1 OPEN -ve in & & zero output & & $ ZERO OUTPUT $ \\ \hline
|
|
|
|
FS3: R2 SHORT +ve in & & $INVAMP_{nogain} $ & & $ NO GAIN $ \\
|
|
FS3: R2 SHORT -ve in & & $INVAMP_{nogain} $ & & $ NO GAIN $ \\ \hline
|
|
|
|
FS4: R2 OPEN +ve in & & NEGATIVE out of range $ $ & & $ OUT OF RANGE$ \\
|
|
FS4: R2 OPEN -ve in & & POSITIVE out of range $ $ & & $OUT OF RANGE $ \\ \hline
|
|
|
|
FS5: AMP L\_DN & & $ INVAMP_{low} $ & & $ OUT OF RANGE $ \\ \hline
|
|
|
|
FS2: AMP L\_UP & & $INVAMP_{high} $ & & $ OUT OF RANGE $ \\ \hline
|
|
|
|
FS3: AMP NOOP & & $INVAMP_{nogain} $ & & $ NO GAIN $ \\ \hline
|
|
|
|
FS4: AMP LowSlew & & $ slow output \frac{\delta V}{\delta t} $ & & $ LOW PASS $ \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{tbl:invamp}
|
|
\end{table}
|
|
|
|
|
|
$$ fm(INVAMP) = \{ OUT OF RANGE, ZERO OUTPUT, NO GAIN, LOW PASS \} $$
|
|
|
|
|
|
%Much more general. OUT OF RANGE symptom maps to many component failure modes.
|
|
%Observability problem... system. In fact can we get a metric of how observable
|
|
%a system is using the ratio of component failure modes X op states to a symptom ????
|
|
%Could further refine this if MTTF stats available for each component failure.
|
|
|
|
|
|
\subsection{Comparison between the two approaches}
|
|
|
|
If the input voltage can be negative the potential divider
|
|
becomes reversed in polarity.
|
|
This means that detecting which failure mode has occurred from knowing the symptom, has become a more difficult task; or in other words
|
|
the observability of the causes of failure are reduced.
|
|
|
|
\clearpage
|
|
\section{Op-Amp circuit 1}
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt]{/home/robin/projects/thesis/opamp_circuits_C_GARRETT/circuit1001.png}
|
|
% circuit1001.png: 420x300 pixel, 72dpi, 14.82x10.58 cm, bb=0 0 420 300
|
|
\caption{Circuit 1}
|
|
\label{fig:circuit1}
|
|
\end{figure}
|
|
|
|
|
|
The amplifier in figure~\ref{fig:circuit1} amplifies the difference between
|
|
the input voltages $+V1$ and $+V2$.
|
|
It would be desirable to represent this circuit as a derived component called say $DiffAMP$.
|
|
We begin by identifying functional groups from the components in the circuit.
|
|
|
|
|
|
\subsection{Functional Group: Potential Divider}
|
|
For the gain setting resistors R1,R2 -- we can re-use the potential divider from section~\ref{potdivfmmd}.
|
|
|
|
%R1 and R2 perform as a potential divider.
|
|
%Resistors can fail OPEN and SHORT (according to GAS burner standard EN298 Appendix A).
|
|
%$$ fm(R) = \{ OPEN, SHORT \}$$
|
|
|
|
|
|
|
|
% \begin{table}[ht]
|
|
% \caption{Potential Divider $PD$: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
% \centering % used for centering table
|
|
% \begin{tabular}{||l|c|c|l|l||}
|
|
% \hline \hline
|
|
% \textbf{Test} & \textbf{Pot.Div} & \textbf{ } & \textbf{General} \\
|
|
% \textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symtom Description} \\
|
|
% % R & wire & res + & res - & description
|
|
% \hline
|
|
% \hline
|
|
% TC1: $R_1$ SHORT & LOW & & LowPD \\
|
|
% TC2: $R_1$ OPEN & HIGH & & HighPD \\ \hline
|
|
% TC3: $R_2$ SHORT & HIGH & & HighPD \\
|
|
% TC4: $R_2$ OPEN & LOW & & LowPD \\ \hline
|
|
% \hline
|
|
% \end{tabular}
|
|
% \label{tbl:pdfmea}
|
|
% \end{table}
|
|
%
|
|
% By collecting the symptoms in table~\ref{tbl:pdfmea} we can create a derived
|
|
% component $PD$ to represent the failure mode behaviour
|
|
% of a potential divider.
|
|
|
|
Thus for single failure modes, a potential divider can fail
|
|
with $fm(PD) = \{PDHigh,PDLow\}$.
|
|
|
|
|
|
The potential divider is used to program the gain of IC1.
|
|
IC1 and PD provide the function of buffering
|
|
/amplifying the signal $+V1$.
|
|
We can now examine IC1 and PD as a functional group.
|
|
|
|
\pagebreak[3]
|
|
\subsection{Functional Group: Amplifier}
|
|
|
|
Let use now consider the op-amp. According to
|
|
FMD-91~\cite{fmd91}[3-116] an op amp may have the following failure modes:
|
|
latchup(12.5\%), latchdown(6\%), nooperation(31.3\%), lowslewrate(50\%).
|
|
|
|
|
|
$$ fm(OPAMP) = \{L\_{up}, L\_{dn}, Noop, L\_slew \} $$
|
|
|
|
|
|
By bringing the $PD$ derived component and the $OPAMP$ into
|
|
a functional group we can analyse its failure mode behaviour.
|
|
|
|
|
|
\begin{table}[ht]
|
|
\caption{Non Inverting Amplifier $NI\_AMP$: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\centering % used for centering table
|
|
\begin{tabular}{||l|c|c|l|l||}
|
|
\hline \hline
|
|
\textbf{Test} & \textbf{Amplifier} & \textbf{ } & \textbf{General} \\
|
|
\textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symtom Description} \\
|
|
% R & wire & res + & res - & description
|
|
\hline
|
|
\hline
|
|
TC1: $OPAMP$ LatchUP & Output High & & AMPHigh \\
|
|
TC2: $OPAMP$ LatchDown & Output Low : Low gain& & AMPLow \\ \hline
|
|
TC3: $OPAMP$ No Operation & Output Low & & AMPLow \\
|
|
TC4: $OPAMP$ Low Slew & Low pass filtering & & LowPass \\ \hline
|
|
TC5: $PD$ LowPD & Output High & & AMPHigh \\ \hline
|
|
TC6: $PD$ HighPD & Output Low : Low Gain& & AMPLow \\ \hline
|
|
%TC7: $R_2$ OPEN & LOW & & LowPD \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{ampfmea}
|
|
\end{table}
|
|
|
|
|
|
Collecting the symptoms we can see that this amplifier fails
|
|
in 3 ways $\{ AMPHigh, AMPLow, LowPass \}$.
|
|
We can now create a derived component, $NI\_AMP$, to represent it.
|
|
|
|
|
|
$$ fm(NI\_AMP) = \{ AMPHigh, AMPLow, LowPass \} $$
|
|
|
|
|
|
|
|
|
|
\subsection{The second Stage of the amplifier}
|
|
|
|
The second stage of this amplifier, following the signal path, is the amplifier
|
|
consisting of $R3,R4,IC2$.
|
|
|
|
This is in exactly the same configuration as the first amplifier, but it is being fed by the first amplifier.
|
|
The first amplifier was grounded and received as input `+V1' (presumably
|
|
a positive voltage).
|
|
This means the junction of R1 R3 is always +ve.
|
|
This means the input voltage `+V2' could be lower than this.
|
|
This means R3 R4 is not a potential divider with R4 being on the positive side.
|
|
It could be on either polarity (i.e. the other way around R4 could be the negative side).
|
|
Here it is more intuitive to model the resistors not as a potential divider, but individually.
|
|
%This means we are either going to
|
|
%get a high or low reading if R3 or R4 fail.
|
|
|
|
\begin{table}[ht]
|
|
\caption{Second Amplifier $SEC\_AMP$: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\centering % used for centering table
|
|
\begin{tabular}{||l|c|c|l|l||}
|
|
\hline \hline
|
|
\textbf{Test} & \textbf{Amplifier} & \textbf{ } & \textbf{General} \\
|
|
\textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symtom Description} \\
|
|
% R & wire & res + & res - & description
|
|
\hline
|
|
\hline
|
|
TC1: $OPAMP$ LatchUP & Output High & & AMPHigh \\
|
|
TC2: $OPAMP$ LatchDown & Output Low : Low gain & & AMPLow \\ \hline
|
|
TC3: $OPAMP$ No Operation & Output Low & & AMPLow \\
|
|
TC4: $OPAMP$ Low Slew & Low pass filtering & & LowPass \\ \hline
|
|
TC5: $R3\_open$ & +V2 follower & & AMPIncorrectOutput\\ \hline
|
|
TC6: $R3\_short$ & Undefined & & AMPIncorrectOutput \\
|
|
& (impedance of IC1 vs +V2) & & \\ \hline
|
|
TC5: $R4\_open$ & High or Low output & & AMPIncorrectOutput \\
|
|
& +V2$>$+V1 $\mapsto$ High & & \\
|
|
& +V1$>$+V2 $\mapsto$ Low & & \\ \hline
|
|
TC6: $R4\_short$ & +V2 follower & & AMPIncorrectOutput \\ \hline
|
|
%TC7: $R_2$ OPEN & LOW & & LowPD \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{ampfmea}
|
|
\end{table}
|
|
|
|
Collecting the symptoms we can see that this amplifier fails
|
|
in 4 ways $\{ AMPHigh, AMPLow, LowPass, AMPIncorrectOutput\}$.
|
|
We can now create a derived component, $SEC\_AMP$, to represent it.
|
|
|
|
|
|
$$ fm(SEC\_AMP) = \{ AMPHigh, AMPLow, LowPass, AMPIncorrectOutput \} $$
|
|
|
|
|
|
|
|
%Its failure modes are therefore the same. We can therefore re-use
|
|
%the derived component for $NI\_AMP$
|
|
|
|
\pagebreak[4]
|
|
\subsection{Modelling the circuit}
|
|
|
|
For the final stage of this we can create a functional group consisting of
|
|
two derived components of the type $NI\_AMP$ and $SEC\_AMP$.
|
|
|
|
|
|
|
|
\begin{table}[ht]
|
|
\caption{Difference Amplifier $DiffAMP$ : Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\centering % used for centering table
|
|
\begin{tabular}{||l|c|c|l|l||}
|
|
\hline \hline
|
|
\textbf{Test} & \textbf{Dual Amplifier} & \textbf{ } & \textbf{General} \\
|
|
\textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\
|
|
% R & wire & res + & res - & description
|
|
\hline
|
|
\hline
|
|
TC1: $NI\_AMP$ AMPHigh & opamp 2 driven high & & DiffAMPLow \\
|
|
TC2: $NI\_AMP$ AMPLow & opamp 2 fdriven low & & DiffAMPHigh \\
|
|
TC3: $NI\_AMP$ LowPass & opamp 2 driven with lag & & DiffAMP\_LP \\ \hline
|
|
TC4: $SEC\_AMP$ AMPHigh & Diff amplifier high & & DiffAMPHigh\\
|
|
TC5: $SEC\_AMP$ AMPLow & Diff amplifier low & & DiffAMPLow \\
|
|
TC6: $SEC\_AMP$ LowPass & Diff amplifier lag/lowpass & & DiffAMP\_LP \\ \hline
|
|
TC7: $SEC\_AMP$ IncorrectOutput & Output voltage & & DiffAMPIncorrect \\
|
|
TC7: $SEC\_AMP$ & $ \neg (V2 - V1) $ & & \\ \hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{ampfmea}
|
|
\end{table}
|
|
|
|
|
|
|
|
Collecting the symptoms, we can determine the failure modes for this circuit, $\{DiffAMPLow, DiffAMPHigh, DiffAMP\_LP, DiffAMPIncorrect \}$.
|
|
|
|
|
|
We now create a derived component to represent the circuit in figure~\ref{fig:circuit1}.
|
|
|
|
$$ fm (DiffAMP) = \{DiffAMPLow, DiffAMPHigh, DiffAMP\_LP DiffAMPIncorrect\} $$
|
|
|
|
|
|
Its interesting here to note that we can draw a directed graph (figure~\ref{fig:circuit1_dag})
|
|
of the failure modes and derived components.
|
|
Using this we can trace any top level fault back to
|
|
a component failure mode that could have caused it.
|
|
In fact we can re-construct an FTA diagram from the information in this graph.
|
|
We merely have to choose a top level event and work down using $XOR$ gates.
|
|
|
|
This circuit performs poorly from a safety point of view.
|
|
Its failure modes could be indistinguishable from valid readings (especially
|
|
wihen it becomes a V2 follower).
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=400pt]{./circuit1_dag.png}
|
|
% circuit1_dag.png: 797x1145 pixel, 72dpi, 28.12x40.39 cm, bb=0 0 797 1145
|
|
\caption{Directed Acyclic Graph of Circuit1 failure modes}
|
|
\label{fig:circuit1_dag}
|
|
\end{figure}
|
|
|
|
|
|
|
|
|
|
\clearpage
|
|
\section{Op-Amp circuit 2}
|
|
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt]{./circuit2002.png}
|
|
% circuit2002.png: 575x331 pixel, 72dpi, 20.28x11.68 cm, bb=0 0 575 331
|
|
\caption{circuit 2}
|
|
\label{fig:circuit2}
|
|
\end{figure}
|
|
|
|
|
|
|
|
|
|
The circuit in figure~\ref{fig:circuit2} shows a five pole low pass filter.
|
|
Starting at the input, we have a first order low pass filter buffered by an op-amp,
|
|
the output of this is passed to a Sallen~Key~\cite{aoe}[p.267] second order lowpass filter.
|
|
The output of this is passed into another Sallen~Key filter -- which although it may have different values
|
|
for its resistors/capacitors and thus have a different frequency response -- is idential from a failure mode perspective.
|
|
Thus we can analyse the first Sallen~Key low pass filter and re-use the results.
|
|
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=400pt,keepaspectratio=true]{./blockdiagramcircuit2.png}
|
|
% blockdiagramcircuit2.png: 689x83 pixel, 72dpi, 24.31x2.93 cm, bb=0 0 689 83
|
|
\caption{Signal Flow though the five pole low pass filter}
|
|
\label{fig:blockdiagramcircuit2}
|
|
\end{figure}
|
|
|
|
|
|
\paragraph{First Order Low Pass Filter.}
|
|
\label{sec:lp}
|
|
We begin with the first order low pass filter formed by $R10$ and $C10$.
|
|
%
|
|
This configuration (or {\fg}) is very commonly
|
|
used in electronics to remove unwanted high frequencies/interference
|
|
form a signal; Here it is being used as a first stage of
|
|
a more sophisticated low pass filter.
|
|
%
|
|
R10 and C10 act as a potential divider, with the crucial difference between a purely resistive potential divider being
|
|
that the impedance of the capacitor is lower for higher frequencies.
|
|
Thus higher frquencies are attenuated at the point that we
|
|
read its output signal.
|
|
However, from a failure mode perspective we can analyse it in a very similar way
|
|
to a potential divider (see section~\ref{potdivfmmd}).
|
|
Capacitors generally fail OPEN but some types fail OPEN and SHORT.
|
|
We will consider the latter type for this analysis.
|
|
We analyse the first order low pass filter in table~\ref{tbl:firstorderlp}.\\
|
|
|
|
|
|
\begin{table}[h+]
|
|
\caption{FirstOrderLP: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\label{tbl:firstorderlp}
|
|
|
|
\begin{tabular}{|| l | l | c | c | l ||} \hline
|
|
\textbf{Failure Scenario} & & \textbf{First Order} & & \textbf{Symptom} \\
|
|
& & \textbf{Low Pass Filter} & & \\
|
|
\hline
|
|
FS1: R10 SHORT & & $No Filtering$ & & $LPnofilter$ \\ \hline
|
|
FS2: R10 OPEN & & $No Signal$ & & $LPnosignal$ \\ \hline
|
|
FS3: C10 SHORT & & $No Signal$ & & $LPnosignal$ \\ \hline
|
|
FS4: C10 OPEN & & $No Filtering$ & & $LPnofilter$ \\ \hline
|
|
|
|
\hline
|
|
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
|
|
We can collect the symptoms $\{ LPnofilter,LPnosignal \}$ and create a derived component
|
|
called $FirstOrderLP$. Applying the $fm$ function yields $$ fm(FirstOrderLP) = \{ LPnofilter,LPnosignal \}.$$
|
|
|
|
\paragraph{Addition of Buffer Amplifier: First stage.}
|
|
|
|
The opamp IC1 is being used simply as a buffer. By placing it between the next stages
|
|
on the signal path we remove the possibility of unwanted signal feedback.
|
|
The buffer is one of the simplest op-amp configurations.
|
|
It has no other components, and so we can now form a {\fg}
|
|
from the $FirstOrderLP$ and the OPAMP component.
|
|
|
|
\begin{table}[ht]
|
|
\caption{First Stage LP1: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\label{tbl:firststage}
|
|
\centering % used for centering table
|
|
\begin{tabular}{||l|c|c|l|l||}
|
|
\hline \hline
|
|
\textbf{Test} & \textbf{Circuit} & \textbf{ } & \textbf{General} \\
|
|
\textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\
|
|
% R & wire & res + & res - & description
|
|
\hline
|
|
\hline
|
|
TC1: $OPAMP$ LatchUP & Output High & & LP1High \\
|
|
TC2: $OPAMP$ LatchDown & Output Low & & LP1Low \\
|
|
TC3: $OPAMP$ No Operation & Output Low & & LP1Low \\
|
|
TC4: $OPAMP$ Low Slew & Unwanted Low pass filtering & & LP1filterincorrect \\ \hline
|
|
TC5: $LPnofilter $ & No low pass filtering & & LP1filterincorrect \\
|
|
TC6: $LPnosignal $ & No input signal & & LP1nosignal \\ \hline
|
|
\hline
|
|
|
|
\hline
|
|
\end{tabular}
|
|
|
|
\end{table}
|
|
|
|
From the table~\ref{tbl:firststage} we can see three symptoms of failure of
|
|
the first stage of this circuit (i.e. R10,C10,IC1).
|
|
We can create a derived component for it, lets call it $LP1$.
|
|
|
|
$$ fm(LP1) = \{ LP1High, LP1Low, LP1filterincorrect, LP1nosignal \} $$
|
|
|
|
|
|
In terms terms of the circuit we have modelled the functional groups $FirstOrderLP$, and
|
|
$LP1$. We can represent these on the circuit diagram by drawing contours around the components
|
|
on the schematic as in figure~\ref{fig:circuit2002_LP1}.
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt,keepaspectratio=true]{./circuit2002_LP1.png}
|
|
% circuit2002_LP1.png: 575x331 pixel, 72dpi, 20.28x11.68 cm, bb=0 0 575 331
|
|
\caption{Circuit showing functional groups modelled so far.}
|
|
\label{fig:circuit2002_LP1}
|
|
\end{figure}
|
|
|
|
|
|
\paragraph{Second order Sallen Key Low Pass Filter.}
|
|
The next two filters in the signal path are R1,R2,C2,C1,IC2 and R3,R4,C4,C3,IC3.
|
|
From a failure mode perspective these are identical.
|
|
We can analyse the first one and then re-use these results for the second.
|
|
|
|
\begin{table}[ht]
|
|
\caption{Sallen Key Low Pass Filter SKLP: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\centering % used for centering table
|
|
\begin{tabular}{||l|c|c|l|l||}
|
|
\hline \hline
|
|
\textbf{Test} & \textbf{Circuit} & \textbf{ } & \textbf{General} \\
|
|
\textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\
|
|
% R & wire & res + & res - & description
|
|
\hline
|
|
\hline
|
|
TC1: $OPAMP$ LatchUP & Output High & & SKLPHigh \\
|
|
TC2: $OPAMP$ LatchDown & Output Low & & SKLPLow \\
|
|
TC3: $OPAMP$ No Operation & Output Low & & SKLPLow \\
|
|
TC4: $OPAMP$ Low Slew & Unwanted Low pass filtering & & SKLPfilterIncorrect \\ \hline
|
|
TC5: R1 OPEN & No input signal & & SKLPfilterIncorrect \\
|
|
TC6: R1 SHORT & incorrect low pass filtering & & SKLPfilterIncorrect \\ \hline
|
|
|
|
TC7: R2 OPEN & No input signal & & SKLPnosignal \\
|
|
TC8: R2 SHORT & incorrect low pass filtering & & SKLPfilterIncorrect \\ \hline
|
|
|
|
TC9: C1 OPEN & reduced/incorrect low pass filtering & & SKLPfilterIncorrect\\
|
|
TC10: C1 SHORT & reduced/incorrect low pass filtering & & SKLPfilterIncorrect \\ \hline
|
|
|
|
TC11: C2 OPEN & reduced/incorrect low pass filtering & & SKLPfilterIncorrect \\
|
|
TC12: C2 SHORT & No input signal, low signal & & SKLPnosignal \\ \hline
|
|
\hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{tbl:sallenkeylp}
|
|
\end{table}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We now can create a derived component to represent the Sallen Key low pass filter, which we can call $SKLP$.
|
|
|
|
|
|
$$ fm ( SKLP ) = \{ SKLPHigh, SKLPLow, SKLPIncorrect, SKLPnosignal \} $$
|
|
|
|
|
|
\paragraph{A failure mode model of Op-Amp Circuit 2.}
|
|
|
|
We now have {\dcs} representing the three stages of this filter
|
|
and this follows the signal flow in the filter circuit (see figure~\ref{fig:blockdiagramcircuit2}).
|
|
|
|
|
|
|
|
|
|
As the signal has to pass though each block/stage
|
|
in order to be `five~pole' filtered, we need to bring these three blocks together into a {\fg}
|
|
in order to get a failure mode model for the whole circuit.
|
|
We can index the Sallen Key stages, and these are marked on the ciruit schematic in figure~\ref{fig:circuit2002_FIVEPOLE}.
|
|
|
|
\begin{figure}[h]+
|
|
\centering
|
|
\includegraphics[width=200pt]{./circuit2002_FIVEPOLE.png}
|
|
% circuit2002_FIVEPOLE.png: 575x331 pixel, 72dpi, 20.28x11.68 cm, bb=0 0 575 331
|
|
\caption{Functional Groups in Five Pole Low Pass Filter on schematic}
|
|
\label{fig:circuit2002_FIVEPOLE}
|
|
\end{figure}
|
|
|
|
\pagebreak[4]
|
|
|
|
So our final {\fg} will consist of the derived components $\{ LP1, SKLP_1, SKLP_2 \}$.
|
|
We represent the desired FMMD hierarchy in figure~\ref{fig:circuit2h}.
|
|
|
|
|
|
\begin{figure}[h]+
|
|
\centering
|
|
\includegraphics[width=300pt]{./circuit2h.png}
|
|
% circuit2h.png: 676x603 pixel, 72dpi, 23.85x21.27 cm, bb=0 0 676 603
|
|
\caption{FMMD Hierarchy for five pole Low Pass Filter}
|
|
\label{fig:circuit2h}
|
|
\end{figure}
|
|
|
|
%\pagebreak[4]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%$$ fm ( SKLP ) = \{ SKLPHigh, SKLPLow, SKLPIncorrect, SKLPnosignal \} $$
|
|
%$$ fm(LP1) = \{ LP1High, LP1Low, LP1ExtraLowPass, LP1NoLowPass \} $$
|
|
|
|
\begin{table}[ht]+
|
|
\caption{Five Pole Low Pass Filter: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\centering % used for centering table
|
|
\begin{tabular}{||l|c|l|l|l||}
|
|
\hline \hline
|
|
\textbf{Test} & \textbf{Circuit} & \textbf{ } & \textbf{General} \\
|
|
\textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Symptom Description} \\
|
|
% R & wire & res + & res - & description
|
|
\hline
|
|
\hline
|
|
TC1: $LP1$ LP1High & signal HIGH & & HIGH \\
|
|
TC2: $LP1$ SKLPLow & signal LOW & & LOW \\
|
|
TC3: $LP1$ LP1filterIncorrect & filtering incorrect & & FilterIncorrect \\
|
|
TC4: $LP1$ LP1nosignal & no signal propogated & & NO\_SIGNAL \\ \hline
|
|
|
|
|
|
|
|
TC5: $SKLP_1$ High & signal HIGH & & HIGH \\
|
|
TC6: $SKLP_1$ Low & signal LOW & & LOW \\
|
|
TC7: $SKLP_1$ filterIncorrect & filtering incorrect & & FilterIncorrect \\
|
|
TC8: $SKLP_1$ nosignal & no signal propogated & & NO\_SIGNAL \\ \hline
|
|
|
|
|
|
TC9: $SKLP_2$ High & signal HIGH & & HIGH \\
|
|
TC10: $SKLP_2$ Low & signal LOW & & LOW \\
|
|
TC11: $SKLP_2$ filterIncorrect & filtering incorrect & & FilterIncorrect \\
|
|
TC12: $SKLP_2$ nosignal & no signal propogated & & NO\_SIGNAL \\ \hline
|
|
|
|
\hline
|
|
\hline
|
|
\end{tabular}
|
|
\label{tbl:fivepole}
|
|
\end{table}
|
|
|
|
|
|
|
|
|
|
|
|
We now can create a {\dc} to represent the circuit in figure~\ref{fig:circuit2}, we can call it
|
|
$FivePoleLP$ and applying the $fm$ function to it (see table~\ref{tbl:fivepole}) yields $fm(FivePoleLP) = \{ HIGH, LOW, FilterIncorrect, NO\_SIGNAL \}$.
|
|
|
|
|
|
\pagebreak[4]
|
|
|
|
The failure modes for the low pass filters are very similar, and the propogation of the signal
|
|
is simple (as it is never inverted). The circuit under analysis is -- as shown in the block diagram (see figure~\ref{fig:blockdiagramcircuit2}) --
|
|
three opamp driven non-inverting low pass filter elements; It is not suprising therefore that they have very similar failure modes.
|
|
From a safety point of view, the failure modes $LOW$, $HIGH$ and $NO\_SIGNAL$
|
|
could be easily detected; the failure symptom $FilterIncorrect$ may be less observable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\clearpage
|
|
\section{Op-Amp circuit 3}
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt]{/home/robin/projects/thesis/opamp_circuits_C_GARRETT/circuit3003.png}
|
|
% circuit3003.png: 503x326 pixel, 72dpi, 17.74x11.50 cm, bb=0 0 503 326
|
|
\caption{Circuit 3}
|
|
\label{fig:circuit3}
|
|
\end{figure}
|
|
|
|
%\clearpage
|
|
%\section{Standard Non-inverting OP AMP}
|
|
|
|
This circuit is described in the Analog Applications Journal~\cite{bubba}.
|
|
The circuit uses four 45 degree phase shifts, and an inverting amplifier to provide
|
|
gain and the final 180 degrees of phase shift (making a total of 360 degrees of phase shift).
|
|
|
|
We identifiy three functional groups, the inverting amplifer (analysed in section~\ref{fig:invamp}),
|
|
a 45 degree phase shifter (a {$10k\Omega$} resistor and a $10nF$ capacitor) and a noninverting buffer
|
|
amplifier. We can name these $INVAMP$, $PHS45$ and $NIBUFF$ respectively.
|
|
We can use these {\fgs} to describe the circuit in block diagram form, as in figure ~\ref{fig:bubbablock}.
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=300pt,keepaspectratio=true]{./bubba_oscillator_block_diagram.png}
|
|
% bubba_oscillator_block_diagram.png: 720x295 pixel, 72dpi, 25.40x10.41 cm, bb=0 0 720 295
|
|
\caption{Circuit 3: Functional Group Block Diagram.}
|
|
\label{fig:bubbablock}
|
|
\end{figure}
|
|
|
|
We can now analyse each of these {\fgs} and create failure mode models for them, and from these
|
|
determine {\dcs}.
|
|
|
|
\subsection{Inverting Amplifier: INVAMP}
|
|
This has been analysed in section~\ref{sec:invamp}.
|
|
The inverting amplifier, as a {\dc}, has the following failure modes:
|
|
|
|
$$ fm(INVAMP) = \{ OUT OF RANGE, ZERO OUTPUT, NO GAIN, LOW PASS \} $$
|
|
|
|
|
|
|
|
\subsection{Phase shifter: PHS45}
|
|
|
|
This consists of a resistor and a capacitor. We already have failure mode models for these components -- $ fm(R) = \{OPEN, SHORT\}$, $fm(C) = \{OPEN, SHORT\}$ --
|
|
we now need to see how these failure modes would affect the phase shifter. Note that the circuit here
|
|
is idential to the low pass filter in structure (see \ref{sec:lp}), but its intended use is different.
|
|
We have to analyse this circuit from the perspective of it being a {\em phase~shifter} not a {\em low~pass~filter}.
|
|
|
|
|
|
\begin{table}[h+]
|
|
\caption{PhaseShift: Failure Mode Effects Analysis: Single Faults} % title of Table
|
|
\label{tbl:firstorderlp}
|
|
|
|
\begin{tabular}{|| l | l | c | c | l ||} \hline
|
|
\textbf{Failure Scenario} & & \textbf{First Order} & & \textbf{Symptom} \\
|
|
& & \textbf{Low Pass Filter} & & \\
|
|
\hline
|
|
FS1: R SHORT & & 90 degree's of phase shift & & $90\_phaseshift$ \\ \hline
|
|
FS2: R OPEN & & No Signal & & $nosignal$ \\ \hline
|
|
FS3: C SHORT & & Grounded,No Signal & & $nosignal$ \\ \hline
|
|
FS4: C OPEN & & 0 degree's of phase shift & & $0\_phaseshift$ \\ \hline
|
|
|
|
\hline
|
|
|
|
\end{tabular}
|
|
\end{table}
|
|
% PHS45
|
|
|
|
|
|
$$ fm (PHS45) = \{ 90\_phaseshift, nosignal, 0\_phaseshift \} $$
|
|
|
|
\subsection{Non Inverting Buffer: NIBUFF.}
|
|
|
|
The non-inverting buffer functional group, is comrised of one component, an op-amp.
|
|
We use the failure modes for an op-amp to represent this group.
|
|
% GARK
|
|
$$ fm(NIBUFF) = fm(OPAMP) = \{L\_{up}, L\_{dn}, Noop, L\_slew \} $$
|
|
|
|
%\subsection{Forming a functional group from the PHS45 and NIBUFF.}
|
|
|
|
% describe what we are doing, a buffered 45 degree phase shift element
|
|
|
|
\subsection{Bringing the functional Groups Together: The `Bubba' Oscillator.}
|
|
|
|
We could at this point bring all the {\dcs} together into one large functional group (see figure~\ref{fig:poss1finalbubba})
|
|
or we could try to merge smaller stages. We could merge the $NIBUFF$ and $PHS45$
|
|
{\dcs}, and then with those three, form a $PHS135BUFFERED$ functional group -- with the remaining $PHS45$ and the $INVAMP$ in a second group $PHS225AMP$,
|
|
and then merge $PHS135BUFFERED$ and $PHS225AMP$ in a final stage (see figure~\ref{fig:poss2finalbubba})
|
|
|
|
\clearpage
|
|
\section{Basic Concepts Of FMMD}
|
|
|
|
|
|
|
|
\paragraph {Definitions}
|
|
|
|
\begin{itemize}
|
|
\item {\bc} - a component with a known set of unitary state failure modes. Base here mean a starting or `bought~in' component.
|
|
\item {\fg} - a collection of components chosen to perform a particular task
|
|
\item {\em symptom} - a failure mode of a functional group caused by one or more of its component failure modes.
|
|
\item {\dc} - a new component derived from an analysed {\fg}
|
|
\end{itemize}
|
|
|
|
\paragraph{ Creating a fault hierarchy.}
|
|
The main concept of FMMD is to build a hierarchy of failure behaviour from the {\bc}
|
|
level up to the top, or system level, with analysis stages between each
|
|
transition to a higher level in the hierarchy.
|
|
|
|
|
|
|
|
The first stage is to choose
|
|
{\bcs} that interact and naturally form {\fgs}. The initial {\fgs} are collections of base components.
|
|
%These parts all have associated fault modes. A module is a set fault~modes.
|
|
From the point of view of fault analysis, we are not interested in the components themselves, but in the ways in which they can fail.
|
|
|
|
A {\fg} is a collection of components that perform some simple task or function.
|
|
%
|
|
In order to determine how a {\fg} can fail,
|
|
we need to consider all failure modes of its components.
|
|
%
|
|
By analysing the fault behaviour of a `{\fg}' with respect to all its components failure modes,
|
|
we can determine its symptoms of failure.
|
|
%In fact we can call these
|
|
%the symptoms of failure for the {\fg}.
|
|
|
|
With these symptoms (a set of derived faults from the perspective of the {\fg})
|
|
we can now state that the {\fg} (as an entity in its own right) can fail in a number of well defined ways.
|
|
%
|
|
In other words we have taken a {\fg}, and analysed how
|
|
\textbf{it} can fail according to the failure modes of its components, and then
|
|
determined the {\fg} failure modes.
|
|
|
|
\paragraph{Creating a derived component.}
|
|
We create a new `{\dc}' which has
|
|
the failure symptoms of the {\fg} from which it was derived, as its set of failure modes.
|
|
This new {\dc} is at a higher `failure~mode~abstraction~level' than {\bcs}.
|
|
%
|
|
\paragraph{An example of a {\dc}.}
|
|
To give an example of this, we could look at the components that
|
|
form, say an amplifier. We look at how all the components within it
|
|
could fail and how that would affect the amplifier.
|
|
%
|
|
The ways in which the amplifier can be affected are its symptoms.
|
|
%
|
|
When we have determined the symptoms, we can
|
|
create a {\dc} (called say AMP1) which has a {\em known set of failure modes} (i.e. its symptoms).
|
|
We can now treat $AMP1$ as a pre-analysed, higher level component.
|
|
The amplifier is an abstract concept, in terms of the components.
|
|
The components brought together in a specific way make it an amplifier !
|
|
|
|
|
|
%What this means is the `fault~symptoms' of the module have been derived.
|
|
%
|
|
%When we have determined the fault~modes at the module level these can become a set of derived faults.
|
|
%By taking sets of derived faults (module level faults) we can combine these to form modules
|
|
%at a higher level of fault abstraction. An entire hierarchy of fault modes can now be built in this way,
|
|
%to represent the fault behaviour of the entire system. This can be seen as using the modules we have analysed
|
|
%as parts, parts which may now be combined to create new functional groups,
|
|
%but as parts at a higher level of fault abstraction.
|
|
\paragraph{Building the Hierarchy.}
|
|
Applying the same process with {\dcs} we can bring {\dcs}
|
|
together to form functional groups and create new {\dcs}
|
|
at even higher abstraction levels. Eventually we will have a hierarchy
|
|
that converges to one top level {\dc}. At this stage we have a complete failure
|
|
mode model of the system under investigation.
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\includegraphics[width=200pt,keepaspectratio=true]{./tree_abstraction_levels.png}
|
|
% tree_abstraction_levels.png: 495x292 pixel, 72dpi, 17.46x10.30 cm, bb=0 0 495 292
|
|
\caption{FMMD Hierarchy showing ascending abstraction levels}
|
|
\label{fig:treeabslev}
|
|
\end{figure}
|
|
|
|
Figure~\ref{fig:treeabslev} shows an FMMD hierarchy, where the process of creating a {\dc} from a {\fg}
|
|
is shown as a `$\bowtie$' symbol.
|
|
|
|
|
|
\subsection{An algebraic notation for identifying FMMD enitities}
|
|
Consider all `components' to exist as
|
|
members of a set $\mathcal{C}$.
|
|
%
|
|
Each component $c$ has an associated set of failure modes.
|
|
We can define a function $fm$ that returns a
|
|
set of failure modes $F$, for the component $c$.
|
|
|
|
Let the set of all possible components be $\mathcal{C}$
|
|
and let the set of all possible failure modes be $\mathcal{F}$.
|
|
|
|
We now define the function $fm$
|
|
as
|
|
\begin{equation}
|
|
\label{eqn:fm}
|
|
fm : \mathcal{C} \rightarrow \mathcal{P}\mathcal{F}.
|
|
\end{equation}
|
|
This is defined by, where $c$ is a component and $F$ is a set of failure modes,
|
|
$ fm ( c ) = F. $
|
|
|
|
We can use the variable name $FG$ to represent a {\fg}. A {\fg} is a collection
|
|
of components.
|
|
%We thus define $FG$ as a set of chosen components defining
|
|
%a {\fg}; all functional groups
|
|
We can state that
|
|
{\FG} is a member of the power set of all components, $ \FG \in \mathcal{P} \mathcal{C}. $
|
|
|
|
We can overload the $fm$ function for a functional group {\FG}
|
|
where it will return all the failure modes of the components in {\FG}
|
|
|
|
|
|
given by
|
|
|
|
$$ fm ({\FG}) = F. $$
|
|
|
|
Generally, where $\mathcal{{\FG}}$ is the set of all functional groups,
|
|
|
|
\begin{equation}
|
|
fm : \mathcal{{\FG}} \rightarrow \mathcal{P}\mathcal{F}.
|
|
\end{equation}
|
|
|
|
|
|
%$$ \mathcal{fm}(C) \rightarrow S $$
|
|
%$$ {fm}(C) \rightarrow S $$
|
|
\paragraph{Abstraction Levels of {\fgs} and {\dcs}}
|
|
|
|
|
|
\label{sec:indexsub}
|
|
We can indicate the abstraction level of a component by using a superscript.
|
|
Thus for the component $c$, where it is a `base component' we can assign it
|
|
the abstraction level zero, $c^0$. Should we wish to index the components
|
|
(for example as in a product parts-list) we can use a sub-script.
|
|
Our base component (if first in the parts-list) could now be uniquely identified as
|
|
$c^0_1$.
|
|
|
|
We can further define the abstraction level of a {\fg}.
|
|
We can say that it is the maximum abstraction level of any of its
|
|
components. Thus a functional group containing only base components
|
|
would have an abstraction level zero and could be represented with a superscript of zero thus
|
|
`${\FG}^0$'. % The functional group set may also be indexed.
|
|
|
|
We can apply symptom abstraction to a {\fg} to find
|
|
its symptoms.
|
|
%We are interested in the failure modes
|
|
%of all the components in the {\fg}. An analysis process
|
|
We define the symptom abstraction process with the symbol `$\bowtie$'.% is applied to the {\fg}.
|
|
%
|
|
The $\bowtie$ function takes a {\fg}
|
|
as an argument and returns a newly created {\dc}.
|
|
%
|
|
%The $\bowtie$ analysis, a symptom extraction process, is described in chapter \ref{chap:sympex}.
|
|
The symptom abstraction process must always raise the abstraction level
|
|
for the newly created {\dc}.
|
|
Using $\abslevel$ to symbolise the fault abstraction level, we can now state:
|
|
|
|
$$ \bowtie({\FG}^{\abslevel}) \rightarrow c^{{\abslevel}+N} | N \ge 1. $$
|
|
|
|
\paragraph{Functional Groups may be indexed}
|
|
We will typically have more than one {\fg} on each level of FMMD hierarchy ( expect the top level where there will only be one)
|
|
we could index the {\fgs} with a sub-script, and can then uniquely identify them using their level and their index.
|
|
For example ${\FG}^{3}_{2}$ would be the second {\fg} at the third level of abstraction in an FMMD hierarchy.
|
|
|
|
\paragraph{The symptom abstraction process in outline.}
|
|
The $\bowtie$ function processes each component in the {\fg} and
|
|
extracts all the component failure modes.
|
|
With all the failure modes, an analyst can
|
|
determine how each failure mode will affect the {\fg}, and then collect common symptoms.
|
|
A new {\dc} is created
|
|
where its failure modes, are the symptoms from {\fg}.
|
|
Note that the component must have a higher abstraction level than the {\fg}
|
|
it was derived from.
|
|
|
|
|
|
\paragraph{Surjective constraint applied to symptom collection.}
|
|
We can stipulate that symptom collection process is surjective.
|
|
% i.e. $ \forall f in F $
|
|
By stipulating surjection for symptom collection, we ensure
|
|
that each component failure mode maps to at least one symptom.
|
|
We also ensure that all symptoms have at least one component failure
|
|
mode (i.e. one or more failure modes that caused it).
|
|
%
|
|
|
|
\subsection{FMMD Hierarchy}
|
|
|
|
By applying stages of analysis to higher and higher abstraction
|
|
levels, we can converge to a complete failure mode model of the system under analysis.
|
|
Because the symptom abstraction process is defined as surjective (from component failure modes to symptoms)
|
|
the number of symptoms is guaranteed to be less than or equal to
|
|
the number of component failure modes.
|
|
|
|
In practise however, the number of symptoms greatly reduces as we traverse
|
|
up the hierarchy.
|
|
This is a natural process. When we have complicated systems
|
|
they always have a small number of system failure modes in comparison to
|
|
the number of failure modes in its sub-systems/components..
|
|
|
|
|
|
\section{Examples of Derived Component like concepts in safety literature}
|
|
|
|
Idea stage on this section
|
|
\begin{itemize}
|
|
\item Look at OPAMP circuits, pick one (say $\mu$741)
|
|
\item examine number of components and failure modes
|
|
\item outline a proposed FMMD analysis
|
|
\item Show FMD-91 OPAMP failure modes -- compare with FMMD
|
|
\end{itemize}
|
|
|
|
\clearpage
|
|
Two areas that cannot be automated. Choosing {\fgs} and the analysis/symptom collection process itself.
|
|
|
|
\section{Side Effects: A Problem for FMMD analysis}
|
|
A problem with modularising according to functionality is that we can have component failures that would
|
|
intuitively be associated with one {\fg} that may cause unintended side effects in other
|
|
{\fgs}.
|
|
For instance were we to have a component that on failing $SHORT$ could bring down
|
|
a voltage supply rail, this could have drastic consequences for other
|
|
functional groups in the system we are examining.
|
|
\pagebreak[3]
|
|
\subsection{Example de-coupling capacitors in logic circuits}
|
|
|
|
A good example of this, are de-coupling capacitors, often used
|
|
over the power supply pins of all chips in a digital logic circuit.
|
|
Were any of these capacitors to fail $SHORT$ they could bring down
|
|
the supply voltage to the other logic chips.
|
|
|
|
|
|
To a power-supply, shorted capacitors on the supply rails
|
|
are a potential source of the symptom, $SUPPLY\_SHORT$.
|
|
In a logic chip/digital circuit {\fg} open capacitors are a potential
|
|
source of symptoms caused by the failure mode $INTERFERENCE$.
|
|
So we have a `symptom' of the power-supply, and a `failure~mode' of
|
|
the logic chip to consider.
|
|
|
|
A possible solution to this is to include the de-coupling capacitors
|
|
in the power-supply {\fg}.
|
|
% decision, could they be included in both places ????
|
|
% I think so
|
|
|
|
|
|
Because the capacitor has two potential failure modes (EN298)
|
|
this raises another issue for FMMD. A de-coupling capacitor going $OPEN$ might not be considered relevant to
|
|
a power-supply module (but there might be additional noise on its output rails).
|
|
But in {\fg} terms the power supply, now has a new symptom that of $INTERFERENCE$.
|
|
|
|
Some logic chips are more susceptible to $INTERFERENCE$ than others.
|
|
A logic chip with de-coupling capacitor failing, may operate correctly
|
|
but interfere with other chips in the circuit.
|
|
|
|
There is no reason why the de-coupling capacitors could not be included {\em in the {\fg} they would intuitively be associated with as well}.
|
|
This allows for the general principle of a component failure affecting more than one {\fg} in a circuit.
|
|
This allows functional groups to share components where necessary.
|
|
This does not break the modularity of the FMMD technique, because, as {\irl}
|
|
one component failure may affect more than one sub-system.
|
|
It does uncover a weakness in the FMMD methodology though.
|
|
It could be very easy to miss the side effect and include
|
|
the component causing the side effect into the wrong {\fg}, or only one germane {\fg}.
|
|
\pagebreak[3]
|
|
\subsection{{\fgs} Sharing components and Hierarchy}
|
|
|
|
With electronics we need to follow the signal path to make sense of failure modes
|
|
effects on other parts of the circuit further down that path.
|
|
%{\fgs} will naturally have to be in the position of starter
|
|
A power-supply is naturally first in a signal path (or failure reasoning path).
|
|
That is to say, if the power-supply is faulty, its failure modes are likely to affect
|
|
the {\fgs} that have to use it.
|
|
|
|
This means that most electronic components should be placed higher in an FMMD
|
|
hierarchy than the power-supply.
|
|
A shorted de-coupling capactitor caused a `symptom' of the power-supply,
|
|
and an open de-coupling capactitor should be considered a `failure~mode' relevant to the logic chip.
|
|
% to consider.
|
|
|
|
If components can be shared between functional groups, this means that components
|
|
must be shareable between {\fgs} at different levels in the FMMD hierarchy.
|
|
This hierarchy and an optionally shared de-coupling capacitor (with line highlighted in red and dashed) are shown
|
|
in figure~\ref{fig:shared_component}.
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=250pt,keepaspectratio=true]{./shared_component.png}
|
|
% shared_component.png: 729x670 pixel, 72dpi, 25.72x23.64 cm, bb=0 0 729 670
|
|
\caption{Optionally shared Component}
|
|
\label{fig:shared_component}
|
|
\end{figure}
|
|
|
|
\subsection{Hierarchy and structure}
|
|
By having this structure, the logic circuit element, can accept failure modes from the
|
|
power-supply (for instance these might, for the sake of example include: $NO\_POWER$, $LOW\_VOLTAGE$, $HIGH\_VOLTAGE$, $NOISE\_HF$, $NOISE\_LF$.
|
|
Our logic circuit may be able to cope with $LOW\_VOLTAGE$ and $NOISE\_LF$, but react with a serious symptom to $NOISE\_HF$ say.
|
|
But in order to process these failure modes it must be at a higher stage in the FMMD hierarchy.
|
|
|
|
\pagebreak[4]
|
|
\section{Defining the concept of `comparison~complexity' in FMEA}
|
|
|
|
%
|
|
% DOMAIN == INPUTS
|
|
% RANGE == OUTPUTS
|
|
%
|
|
|
|
When performing FMEA we have a system under investigation, which will
|
|
comprise of a collection of components which have associated failure modes.
|
|
The object of FMEA is to determine cause and effect:
|
|
from the failure modes (the causes) to the effects (or symptoms of failure).
|
|
%
|
|
To perform FMEA rigorously
|
|
we could stipulate that every failure mode must be checked for effects
|
|
against all the components in the system.
|
|
We could term this `rigorous~FMEA'~(RFMEA).
|
|
The number of checks we have to make to achieve this gives an indication of the complexity of the task.
|
|
%
|
|
We could term this comkparison~complexity, as it is the number of
|
|
paths between failure modes and components, necessary to achieve RFMEA, for a given system/functional~group.
|
|
|
|
|
|
% (except its self of course, that component is already considered to be in a failed state!).
|
|
%
|
|
Obviously, for a small number of components and failure modes we have a smaller number
|
|
of checks to make than for a complicated larger system.
|
|
%
|
|
We can consider the system as a large {\fg} of components.
|
|
We represent the number of components in the {\fg} $G$, by
|
|
$ | G | .$
|
|
An indexing and sub-scripting notation to identify particular {\fgs}
|
|
within an FMMD hierarchy is given in section~\ref{sec:indexsub}.
|
|
|
|
The function $fm$ has a component as its domain and the components failure modes as its range (see equation~\ref{eqn:fm}).
|
|
We can represent the number of failure modes in a component $c$, to be $ | fm(c) | .$
|
|
|
|
If we index all the components in the system under investigation $ c_1, c_2 \ldots c_{|\FG|} $ we can express
|
|
the number of checks required to rigorously examine every
|
|
failure mode against all the other components in the system.
|
|
We can define this as a function, Comparison Complexity, $CC$, with its domain as the system
|
|
or {\fg}, $\FG$, and
|
|
its range as the number of checks to perform to satisfy a rigorous FMEA inspection.
|
|
|
|
Where $\mathcal{\FG}$ represents the set of all {\fgs}, and $ \mathbb{N} $ any natural integer, $CC$ is defined by,
|
|
\begin{equation}
|
|
%$$
|
|
CC:\mathcal{\FG} \rightarrow \mathbb{N},
|
|
%$$
|
|
\end{equation}
|
|
|
|
and, where n is the number of components in the system/{\fg}, $|fm(c_i)|$ is the number of failure modes
|
|
in component ${c_i}$, is given by
|
|
|
|
\begin{equation}
|
|
\label{eqn:CC}
|
|
%$$
|
|
%%% when it was called reasoning distance -- 19NOV2011 -- RD(fg) = \sum_{n=1}^{|fg|} |fm(c_n)|.(|fg|-1)
|
|
CC(\FG) = (n-1) \sum_{1 \le i \le n} fm(c_i).
|
|
%$$
|
|
\end{equation}
|
|
|
|
This can be simplified if we can determine the total number of failure modes in the system $K$, (i.e. $ K = \sum_{n=1}^{|G|} {|fm(c_n)|}$);
|
|
equation~\ref{eqn:CC} becomes $$ CC(\FG) = K.(|\FG|-1).$$
|
|
%Equation~\ref{eqn:rd} can also be expressed as
|
|
%
|
|
% \begin{equation}
|
|
% \label{eqn:rd2}
|
|
% %$$
|
|
% CC(G) = {|G|}.{|fm(c_n)|}.{(|fg|-1)} .
|
|
% %$$
|
|
% \end{equation}
|
|
\subsection{A general formula for counting Comparison Complexity in an FMMD hierarchy}
|
|
|
|
An FMMD Hierarchy will have reducing numbers of functional groups as we progress up the hierarchy.
|
|
In order to calculate its comparison~complexity we need to apply equation~\ref{eqn:CC} to
|
|
all {\fgs} on each level.
|
|
|
|
We define a helper function $g$ with a domain of the level $i$ in an FMMD hierarchy $H$, and a co-domain of a set of {\fgs} (specifically all the {\fgs} on the given level),
|
|
defined by
|
|
|
|
\begin{equation}
|
|
%$$
|
|
g(H, i) \rightarrow \forall {\FG}^{\xi} \;where\; ({\xi} = {i}) \wedge ({\FG}^{\xi} \in H) .
|
|
%$$
|
|
\end{equation}
|
|
|
|
Where $L$ represents the number of levels in the FMMD hierarchy,
|
|
$|g(\xi)|$ represents the number of functional groups on the level
|
|
and $H$ represents an FMMD hierarchy,
|
|
we overload the comparison complexity thus:
|
|
%$$
|
|
\begin{equation}
|
|
\label{eqn:gf}
|
|
CC(H) = \sum_{\xi=0}^{L} \sum_{j=1}^{|g(H,\xi)|} CC({\FG}_{j}^{\xi}).
|
|
%$$
|
|
\end{equation}
|
|
|
|
|
|
\pagebreak[4]
|
|
\subsection{Complexity Comparison Examples}
|
|
|
|
The potential divider discussed in section~\ref{potdivfmmd} has four failure modes and two components and therefore has $CC$ of 4.
|
|
$$CC(potdiv) = \sum_{n=1}^{2} |2|.(|1|) = 4 $$
|
|
|
|
Even considering a $fictitious$ system with just 81 components (with these components
|
|
having 3 failure modes each) we would have an $CC$ of
|
|
|
|
$$CC(fictitious) = \sum_{n=1}^{81} |3|.(|80|) = 19440 .$$
|
|
|
|
Ensuring all component failure modes are checked against all other components in a system
|
|
-- applying FMEA rigorously -- could be termed
|
|
Rigorous FMEA (RFMEA).
|
|
The computational order for RFMEA would be polynomial ($O(N^2.K)$) (where $K$ is the variable number of failure modes).
|
|
|
|
This order may be acceptable in a computational environment: However, the choosing of {\fgs} and the analysis
|
|
process are human activities. It can be seen that it is practically impossible to achieve
|
|
RFMEA for anything but trival systems.
|
|
%
|
|
% Next statement needs alot of justification
|
|
%
|
|
It is the authors belief that FMMD reduces the comparison complexity enough to make
|
|
rigorous checking feasible.
|
|
|
|
|
|
\pagebreak[4]
|
|
%\subsection{Using the concept of Complexity Comparison to compare RFMEA with FMMD}
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=400pt,keepaspectratio=true]{./three_tree.png}
|
|
% three_tree.png: 851x385 pixel, 72dpi, 30.02x13.58 cm, bb=0 0 851 385
|
|
\caption{FMMD Hierarchy with number of components in {\fg} fixed to 3 $(|G| = 3)$ } % \wedge (|fm(c)| = 3)$}
|
|
\label{fig:three_tree}
|
|
\end{figure}
|
|
|
|
|
|
|
|
\subsection{Comparing FMMD and RFMEA comparison complexity}
|
|
|
|
Because components have variable numbers of failure modes,
|
|
and {\fgs} have variable numbers of components it is difficult to
|
|
use the general formula for comparing the number of checks to make for
|
|
RFMEA and FMMMD.
|
|
If we were to create an example by fixing the number of components in a {\fg}
|
|
and the number of failure modes per component, we can derive formulae
|
|
to represent the number of checks to make.
|
|
|
|
Consider $k$ to be the number of components in a {\fg} (i.e. $k=|{\FG}|$),
|
|
$f$ is the number of failure modes per component (i.e. $f=|fm(c)|$), and
|
|
$L$ to be the number of levels in the hierarchy of an FMMD analysis.
|
|
We can represent the number of failure scenarios to check in a (fixed parameter for $|{\FG}|$ and $|fm(c_i)|$) FMMD hierarchy
|
|
with equation~\ref{eqn:anscen}.
|
|
|
|
\begin{equation}
|
|
\label{eqn:anscen}
|
|
\sum_{n=0}^{L} {k}^{n}.k.f.(k-1)
|
|
\end{equation}
|
|
|
|
The thinking behind equation~\ref{eqn:anscen}, is that for each level of analysis -- counting down from the top --
|
|
there are ${k}^{n}$ {\fgs} within each level; we need to apply RFMEA to each {\fg} on the level.
|
|
The number of checks to make for RFMEA is number of components $k$ multiplied by the number of failure modes $f$
|
|
checked against the remaining components in the {\fg} $(k-1)$.
|
|
|
|
If, for the sake of example we fix the number of components in a {\fg} to three and
|
|
the number of failure modes per component to three, an FMMD hierarchy
|
|
would look like figure~\ref{fig:three_tree}.
|
|
|
|
\subsection{Worked Example}
|
|
|
|
Using the diagram in figure~\ref{fig:three_tree}, we have three levels of analysis.
|
|
Starting at the top, we have a {\fg} with three derived components, each of which has
|
|
three failure modes.
|
|
Thus the number of checks to make in the top level is $3^0.3.2.3=18$.
|
|
On the level below that, we have three {\fgs} each with a
|
|
an identical number of checks, $3^1.3.2.3=56$.%{\fg}
|
|
On the level below that we have nine {\fgs}, $3^2.3.2.3=168$.
|
|
Adding these together gives $242$ checks to make to perform FMMD (i.e. RFMEA \textbf{within the}
|
|
{\fgs}).
|
|
|
|
If we were to take the system represented in figure~\ref{fig:three_tree}, and
|
|
apply RFMEA on it as a whole system, we can use equation~\ref{eqn:CC},
|
|
$CC(G) = \sum_{n=1}^{|G|} |fm(c_n)|.(|G|-1)$, where $|G|$ is 27, $fm(c_n)$ is 3
|
|
and $(|G|-1)$ is 26.
|
|
This gives:
|
|
$CC(G) = \sum_{n=1}^{27} |3|.(|27|-1) = 2106$.
|
|
|
|
In order to get general equations with which to compare RFMEA with FMMD
|
|
we can re-write equation~\ref{eqn:CC} in terms of the number of levels
|
|
in an FMMD hierarchy.
|
|
%
|
|
The number of components in the system, is number of components
|
|
in a {\fg} raised to the power of the level plus one.
|
|
Thus we re-write equation~\ref{eqn:CC} as:
|
|
|
|
|
|
\begin{equation}
|
|
\label{eqn:fmea_state_exp21}
|
|
\sum_{n=1}^{k^{L+1}}.(k^{L+1}-1).f \; , % \\
|
|
%(N^2 - N).f
|
|
\end{equation}
|
|
|
|
or
|
|
|
|
\begin{equation}
|
|
\label{eqn:fmea_state_exp22}
|
|
k^{L+1}.(k^{L+1}-1).f \;. % \\
|
|
%(N^2 - N).f
|
|
\end{equation}
|
|
|
|
We can now use equation~\ref{eqn:anscen} and \ref{eqn:fmea_state_exp22} to compare (for fixed sizes of $|G|$ and $|fm(c)|$)
|
|
the two approaches, for the work required to perform rigorous checking.
|
|
|
|
|
|
For instance, having four levels
|
|
of FMMD analysis, with these fixed numbers,
|
|
%(in addition to the top zeroth level)
|
|
will require 81 base level components.
|
|
|
|
$$
|
|
%\begin{equation}
|
|
\label{eqn:fmea_state_exp22}
|
|
3^4.(3^4-1).3 = 81.(81-1).3 = 19440 % \\
|
|
%(N^2 - N).f
|
|
%\end{equation}
|
|
$$
|
|
|
|
$$
|
|
%\begin{equation}
|
|
% \label{eqn:anscen}
|
|
\sum_{n=0}^{3} {3}^{n}.3.3.(2) = 720
|
|
%\end{equation}
|
|
$$
|
|
|
|
% \subsection{Exponential squared to Exponential}
|
|
%
|
|
% can I say that ?
|
|
\bibliographystyle{plain}
|
|
\bibliography{../vmgbibliography,../mybib}
|
|
|
|
|
|
\end{document}
|