Robin_PHD/noninvopamp/noninvopamp.tex
2011-05-09 18:59:45 +01:00

552 lines
20 KiB
TeX

\def\layersep{2.5cm}
\ifthenelse {\boolean{paper}}
{
\abstract{
This paper analyses a non-inverting op-amp
configuration, with the opamp and gain resistors using the FMMD
methodology.
%
It has three base components, two resistors
and one op-amp.
The two resistors are used as a potential divider to program the gain
of the amplifier. We consider the two resistors as a functional group
where their function is to operate as a potential divider.
%
The base component error modes of the
resistors are used to model the potential divider from
a failure mode perspective.
%
We determine the failure symptoms of the potential divider and
consider these as failure modes of a new derived component.
We can now create a functional group representing the non-inverting amplifier,
by bringing the failure modes from the potential divider and
the op-amp into a functional group.
%
This can be analysed and a derived component to represent the non inverting
amplifier determined.
}
\section{Introduction}
}
{
This chapter analyses a non-inverting op-amp
configuration, with the opamp and gain resistors using the FMMD
methodology.
%
It has three base components, two resistors
and one op-amp.\section{Introduction}
The two resistors are used as a potential divider to program the gain
of the amplifier. We consider the two resistors as a functional group
where their function is to operate as a potential divider.
%
The base component error modes of the
resistors are used to model the potential divider from
a failure mode perspective.
%
We determine the failure symptoms of the potential divider and
consider these as failure modes of a new derived component.
We can create a functional group representing the non-inverting amplifier,
by bringing the failure modes from the potential divider and
the op-amp into a functional group.
%
This can now be analysed and a derived component to represent the non inverting
amplifier determined.
\section{Introduction: The non-inverting amplifier}
}
A standard non inverting op amp (from ``The Art of Electronics'' ~\cite{aoe}[pp.234]) is shown in figure \ref{fig:noninvamp}.
\begin{figure}[h]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/noninv.png}
% noninv.jpg: 341x186 pixel, 72dpi, 12.03x6.56 cm, bb=0 0 341 186
\caption{Standard non inverting amplifier configuration}
\label{fig:noninvamp}
\end{figure}
The function of the resistors in this circuit is to set the amplifier gain.
They operate as a potential divider and program the minus input on the op-amp
to balance them against the positive input, giving the voltage gain ($G_v$)
defined by $ G_v = 1 + \frac{R2}{R1} $ at the output.
A functional group, is an ideally small in number collection of components,
that interact to provide
a function or task within a system.
As the resistors work to provide a specific function, that of a potential divider,
we can treat them as a functional group. This functional group has two members, $R1$ and $R2$.
Using the EN298 specification for resistor failure ~\cite{en298}[App.A]
we can assign failure modes of $OPEN$ and $SHORT$ to the resistors.
Thus $R1$ has failure modes $\{R1\_OPEN, R1\_SHORT\}$ and $R2$ has failure modes $\{R2\_OPEN, R2\_SHORT\}$.
\clearpage
\section{Failure Mode Analysis of the Potential Divider}
Modelling this as a functional group, we can draw a simple closed curve
to represent each failure mode, taken from the components R1 and R2,
in the potential divider, shown in figure \ref{fig:fg1}.
\begin{figure}[h]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fg1.png}
% fg1.jpg: 430x271 pixel, 72dpi, 15.17x9.56 cm, bb=0 0 430 271
\caption{potential divider `functional group' failure modes}
\label{fig:fg1}
\end{figure}
We can now look at each of these base component failure modes,
and determine how they will affect the operation of the potential divider.
%Each failure mode scenario we look at will be given a test case number,
%which is represented on the diagram, with an asterisk marking
%which failure modes is modelling (see figure \ref{fig:fg1a}).
Each labelled asterisk in the diagram represents a failure mode scenario.
The failure mode scenarios are given test case numbers, and an example to clarify this follows
in table~\ref{pdfmea}.
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fg1a.png}
% fg1a.jpg: 430x271 pixel, 72dpi, 15.17x9.56 cm, bb=0 0 430 271
\caption{potential divider with test cases}
\label{fig:fg1a}
\end{figure}
\begin{table}[ht]
\caption{Potential Divider: 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{pdfmea}
\end{table}
We can now collect the symptoms of failure. From the four base component failure modes, we now
have two symptoms, where the potential divider will give an incorrect low voltage (which we can term $LowPD$)
or an incorrect high voltage (which we can term $HighPD$).
We can represent the collection of these symptoms by drawing connecting lines between
the test cases and naming them (see figure \ref{fig:fg1b}).
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fg1b.png}
% fg1b.jpg: 430x271 pixel, 72dpi, 15.17x9.56 cm, bb=0 0 430 271
\caption{Collection of potential divider failure mode symptoms}
\label{fig:fg1b}
\end{figure}
%\clearpage
We can now make a `derived component' to represent this potential divider.
This {\dc} will have two failure modes.
We can use the symbol $\bowtie$ to represent taking the analysed
{\fg} and creating from it, a {\dc}.
%We could represent it algebraically thus: $ \bowtie(PotDiv) =
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/dc1.png}
% dc1.jpg: 430x619 pixel, 72dpi, 15.17x21.84 cm, bb=0 0 430 619
\caption{From functional group to derived component}
\label{fig:dc1}
\end{figure}
Because the derived component is defined by its failure modes and
the functional group used to derive it, we can use it
as a building block for other {\fgs} in the same way as we used the resistors $R1$ and $R2$.
\clearpage
\section{Failure Mode Analysis of the OP-AMP}
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\%).
We can represent these failure modes on a diagram (see figure~\ref{fig:op1}).
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/op1.png}
% op1.jpg: 406x221 pixel, 72dpi, 14.32x7.80 cm, bb=0 0 406 221
\caption{Op Amp failure modes}
\label{fig:op1}
\end{figure}
%\clearpage
\section{Bringing the OP amp and the potential divider together}
We can now consider bringing the OP amp and the potential divider together to
for an amplifier. We have the failure modes of the functional group for the potential divider,
so we do not need to consider the individual resistor failure modes that define its behaviour.
We can make a new functional group to represent the amplifier, by bringing the component \textbf{opamp}
and the component potential divider into a new functional group.
This functional group has the failure modes from the op-amp component, and the failure modes
from the potential divider {\dc} to analyse represented by figure~\ref{fig:fgamp}.
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fgamp.png}
% fgamp.jpg: 430x330 pixel, 72dpi, 15.17x11.64 cm, bb=0 0 430 330
\caption{Amplifier Functional Group}
\label{fig:fgamp}
\end{figure}
We can now place test cases on this (note this analysis considers single failure modes only
where we want to model multiple failures, we can over lap contours, and place the test cases in overlapping
regions) see figure~\ref{fig:fgampa}.
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fgampa.png}
% fgampa.jpg: 430x330 pixel, 72dpi, 15.17x11.64 cm, bb=0 0 430 330 hno
\caption{Amplifier Functional Group with Test Cases}
\label{fig:fgampa}
\end{figure}
\clearpage
\begin{table}[ht]
\caption{Non Inverting Amplifier: 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}
Let us consider, for the sake of example, that the voltage follower (very low gain of 1.0)
amplification chracteristics from
TC1 and TC6 can be considered as low output from the OPAMP for the application
in hand (say milli-volt signal amplification).
For this amplifier configuration we have three failure modes, $AMPHigh, AMPLow, LowPass$.%see figure~\ref{fig:fgampb}.
We can now derive a `component' to represent this amplifier configuration (see figure ~\ref{fig:noninvampa}).
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/noninvampa.png}
% noninvampa.jpg: 436x720 pixel, 72dpi, 15.38x25.40 cm, bb=0 0 436 720
\caption{Non Inverting Amplifier Derived Component}
\label{fig:noninvampa}
\end{figure}
%failure mode contours).
\clearpage
\section{Directed Acyclic Failure Mode Graph}
We can now represent the FMMD analysis as a directed graph, see figure \ref{fig:noninvdag0}.
With the information structured in this way, we can trace the high level failure mode symptoms
back to their potential causes.
\begin{figure}
\centering
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{every pin edge}=[<-,shorten <=1pt]
\tikzstyle{fmmde}=[circle,fill=black!25,minimum size=30pt,inner sep=0pt]
\tikzstyle{component}=[fmmde, fill=green!50];
\tikzstyle{failure}=[fmmde, fill=red!50];
\tikzstyle{symptom}=[fmmde, fill=blue!50];
\tikzstyle{annot} = [text width=4em, text centered]
% Draw the input layer nodes
%\foreach \name / \y in {1,...,4}
% This is the same as writing \foreach \name / \y in {1/1,2/2,3/3,4/4}
% \node[component, pin=left:Input \#\y] (I-\name) at (0,-\y) {};
\node[component] (OPAMP) at (0,-4) {$OPAMP$};
\node[component] (R1) at (0,-9) {$R_1$};
\node[component] (R2) at (0,-13) {$R_2$};
%\node[component] (C-3) at (0,-5) {$C^0_3$};
%\node[component] (K-4) at (0,-8) {$K^0_4$};
%\node[component] (C-5) at (0,-10) {$C^0_5$};
%\node[component] (C-6) at (0,-12) {$C^0_6$};
%\node[component] (K-7) at (0,-15) {$K^0_7$};
% Draw the hidden layer nodes
%\foreach \name / \y in {1,...,5}
% \path[yshift=0.5cm]
\node[failure] (OPAMPLU) at (\layersep,-0) {latchup};
\node[failure] (OPAMPLD) at (\layersep,-2) {latchdown};
\node[failure] (OPAMPNP) at (\layersep,-4) {noop};
\node[failure] (OPAMPLS) at (\layersep,-6) {lowslew};
\node[failure] (R1SHORT) at (\layersep,-9) {$R1_{SHORT}$};
\node[failure] (R1OPEN) at (\layersep,-11) {$R1_{OPEN}$};
\node[failure] (R2SHORT) at (\layersep,-13) {$R2_{SHORT}$};
\node[failure] (R2OPEN) at (\layersep,-15) {$R2_{OPEN}$};
% Draw the output layer node
% % Connect every node in the input layer with every node in the
% % hidden layer.
% %\foreach \source in {1,...,4}
% % \foreach \dest in {1,...,5}
\path (OPAMP) edge (OPAMPLU);
\path (OPAMP) edge (OPAMPLD);
\path (OPAMP) edge (OPAMPNP);
\path (OPAMP) edge (OPAMPLS);
\path (R1) edge (R1SHORT);
\path (R1) edge (R1OPEN);
\path (R2) edge (R2SHORT);
\path (R2) edge (R2OPEN);
% Potential divider failure modes
%
\node[symptom] (PDHIGH) at (\layersep*2,-11) {$PD_{HIGH}$};
\node[symptom] (PDLOW) at (\layersep*2,-13) {$PD_{LOW}$};
\path (R1OPEN) edge (PDHIGH);
\path (R2SHORT) edge (PDHIGH);
\path (R2OPEN) edge (PDLOW);
\path (R1SHORT) edge (PDLOW);
\node[symptom] (AMPHIGH) at (\layersep*4,-6) {$AMP_{HIGH}$};
\node[symptom] (AMPLOW) at (\layersep*4,-8) {$AMP_{LOW}$};
\node[symptom] (AMPLP) at (\layersep*4,-10) {$LOWPASS$};
\path (PDLOW) edge (AMPHIGH);
\path (OPAMPLU) edge (AMPHIGH);
\path (PDHIGH) edge (AMPLOW);
\path (OPAMPNP) edge (AMPLOW);
\path (OPAMPLD) edge (AMPLOW);
\path (OPAMPLS) edge (AMPLP);
% %\node[symptom,pin={[pin edge={->}]right:Output}, right of=C-1a] (O) {};
% \node[symptom, right of=C-1a] (s1) {s1};
% \node[symptom, right of=C-2a] (s2) {s2};
%
%
%
% \path (C-2b) edge (s1);
% \path (C-1a) edge (s1);
%
% \path (C-2a) edge (s2);
% \path (C-1b) edge (s2);
%
% %\node[component, right of=s1] (DC) {$C^1_1$};
%
% %\path (s1) edge (DC);
% %\path (s2) edge (DC);
%
%
%
% % Connect every node in the hidden layer with the output layer
% %\foreach \source in {1,...,5}
% % \path (H-\source) edge (O);
%
% % Annotate the layers
% \node[annot,above of=C-1a, node distance=1cm] (hl) {Failure modes};
% \node[annot,left of=hl] {Base Components};
% \node[annot,right of=hl](s) {Symptoms};
%\node[annot,right of=s](dcl) {Derived Component};
\end{tikzpicture}
% End of code
\caption{DAG representing failure modes and symptoms of the Non Inverting Op-amp Circuit}
\label{fig:noninvdag0}
\end{figure}
\clearpage
\section{Extracting Fault Trees from the DAG}
We can derive an FTA diagram for a top level event, by tracing back through the DAG.
Where we come to a node with more than one error source, this becomes an or gate
in the FTA diagram. Tracing back from the top level event $AMP Low$ we are lead to
the $OPAMP latch down$ and $OP amp Noop$. These two events can cause the symptom $AMP Low$.
We can also trace back down to the symptom $PD High$. Thus we have three
possible cause for $AMP LOW$, and so we can draw a three input
`or' gate below $AMP Low$, to which $OPAMP latch down$, $OP amp Noop$ and $PD High$ connect to from below.
$OPAMP latch down$ and $OP amp Noop$ are base level or component events, and so we cannot
trace them down any further.
$PD High$ is a symptom, and can be traced further.
$PD High$ can ocurr by either event $R1_{open}$ or $R2_{short}$.
We can place an or gate below $PD High$ and connect the events $R1_{open}$ or $R2_{short}$
to it.
The FTA diagram directly derived from the FMMD DAG is shown in figure \ref{fig:noninvfta}.
\begin{figure}
\begin{tikzpicture}[
% Gates and symbols style
and/.style={and gate US,thick,draw,fill=blue!40,rotate=90,
anchor=east,xshift=-1mm},
or/.style={or gate US,thick,draw,fill=blue!40,rotate=90,
anchor=east,xshift=-1mm},
be/.style={circle,thick,draw,fill=white!60,anchor=north,
minimum width=0.7cm},
tr/.style={buffer gate US,thick,draw,fill=white!60,rotate=90,
anchor=east,minimum width=0.8cm},
% Label style
label distance=3mm,
every label/.style={blue},
% Event style
event/.style={rectangle,thick,draw,fill=yellow!20,text width=2cm,
text centered,font=\sffamily,anchor=north},
% Children and edges style
edge from parent/.style={very thick,draw=black!70},
edge from parent path={(\tikzparentnode.south) -- ++(0,-1.05cm)
-| (\tikzchildnode.north)},
level 1/.style={sibling distance=7cm,level distance=1.4cm,
growth parent anchor=south,nodes=event},
level 2/.style={sibling distance=7cm},
level 3/.style={sibling distance=6cm},
level 4/.style={sibling distance=3cm}
%% For compatability with PGF CVS add the absolute option:
% absolute
]
%% Draw events and edges
%\node (g1) [event] {AMP Low}
%
% child { node (g1) { triple or gate }
%
% child { node (PDHigh) { double or gate }
% child { node (g2) {G02} {
% child {node (r1o) {$R1_{open}$}}
% child {node (r2s) {$R2_{short}$}}
% }
% }
% }
% child {node (opld) {opamp latch down}}
% child {node (opnp) {opamp noop}}
%
% };
\node (g1) [event] {amp low}
child {
node (g2) {op amp output voltage low}
child {node (t1) {pd high}
child { node (g4) {potential divider voltage high}
child {node (b1) {r1 open}}
child {node (b2) {r2 short}}
}
%child { node (g5) {No flow from Component A2}
% child {node (t2) {No flow from source2}}
% child {node (b3) {Component A2 blocks flow}}
%}
}
child {node (b3) {OP amp latch dn}}
child {node (b4) {OP amp no op}}
};
%% Place gates and other symbols
%% In the CVS version of PGF labels are placed differently than in PGF 2.0
%% To render them correctly replace '-20' with 'right' and add the 'absolute'
%% option to the tikzpicture environment. The absolute option makes the
%% node labels ignore the rotation of the parent node.
\node [or] at (g1.south) [label=-20:G01] {};
\node [or] at (g2.south) [label=-20:G02] {};
\node [or] at (g4.south) [label=-20:G02] {};
% \node [and] at (g3.south) [label=-20:G03] {};
% \node [or] at (g4.south) [label=-20:G04] {};
% \node [or] at (g5.south) [label=-20:G05] {};
\node [be] at (b1.south) [label=below:B01] {};
\node [be] at (b2.south) [label=below:B02] {};
\node [be] at (b3.south) [label=below:B03] {};
\node [be] at (b4.south) [label=below:B04] {};
% \node [tr] at (t1.south) [label=below:T01] {};
% \node [tr] at (t2.south) [label=below:T02] {};
%%
\end{tikzpicture}
\label{fig:noninvfta}
\caption{Example FTA for a Gas Supply with two Shutoff Valves}
\end{figure}
\clearpage
\clearpage
show an example fault tree, showing the causes and logical (only OR's here)
\section{Extracting FMEA Analysis from the DAG}
Extract for each component failure mode the system level cause
\section{Extracting FMECA from the DAG}
Work out the alpha and beta values !!!
\section{Extracting FMEDA from the DAG}
\section{Conclusion}
We now have a derived component that represents the failure modes of a non-inverting
op-amp based amplifier. We can now use this to model higher level designs, where we have systems
that use this type of amplifier.
If failure mode/reliability statistics were required these could be derived
from the model, as each failure mode of the derived component
is traceable to one or more base component failure mode causes, for which established
statistical literature is available ~\cite{mil1991}~\cite{fmd91}.
Software used to edit these diagrams, keeps the model in a directed acyclic graph data structure
for this purpose.
%\end{document}