From 11cdb4f50d66e71358959d941946005f2ab740f1 Mon Sep 17 00:00:00 2001 From: Robin Clark Date: Fri, 20 Jan 2012 21:12:25 +0000 Subject: [PATCH] worked on poss 1 table FMMD, just the second smaller fg one to do now. --- .../opamp_circuits_C_GARRETT/opamps.tex | 98 ++++++++++++++++-- .../poss1finalbubba.dia | Bin 2267 -> 2299 bytes .../poss2finalbubba.dia | Bin 3546 -> 3572 bytes 3 files changed, 90 insertions(+), 8 deletions(-) diff --git a/old_thesis/opamp_circuits_C_GARRETT/opamps.tex b/old_thesis/opamp_circuits_C_GARRETT/opamps.tex index d663c87..a93bf05 100644 --- a/old_thesis/opamp_circuits_C_GARRETT/opamps.tex +++ b/old_thesis/opamp_circuits_C_GARRETT/opamps.tex @@ -255,7 +255,7 @@ the observability of the causes of failure are reduced. \begin{figure}[h] \centering - \includegraphics[width=200pt]{/home/robin/projects/thesis/opamp_circuits_C_GARRETT/circuit1001.png} + \includegraphics[width=200pt]{./circuit1001.png} % circuit1001.png: 420x300 pixel, 72dpi, 14.82x10.58 cm, bb=0 0 420 300 \caption{Circuit 1} \label{fig:circuit1} @@ -707,20 +707,20 @@ We represent the desired FMMD hierarchy in figure~\ref{fig:circuit2h}. 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 + TC4: $LP1$ LP1nosignal & no signal propagated & & 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 + TC8: $SKLP_1$ nosignal & no signal propagated & & 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 + TC12: $SKLP_2$ nosignal & no signal propagated & & NO\_SIGNAL \\ \hline \hline \hline @@ -747,7 +747,7 @@ could be easily detected; the failure symptom $FilterIncorrect$ may be less obs \begin{figure}[h] \centering - \includegraphics[width=200pt]{/home/robin/projects/thesis/opamp_circuits_C_GARRETT/circuit3003.png} + \includegraphics[width=200pt]{./circuit3003.png} % circuit3003.png: 503x326 pixel, 72dpi, 17.74x11.50 cm, bb=0 0 503 326 \caption{Circuit 3} \label{fig:circuit3} @@ -847,12 +847,75 @@ The capactior and 180 degree inverting amplifier, form a {\fg} providing an amplified 225 degree phase shift, which we can call $PHS225AMP$. % We could also merge the $NIBUFF$ and $PHS45$ -{\dcs} into a {\fg} and the resulant derived component from this we could call a $BUFF45$, +{\dcs} into a {\fg} and the resultant derived component from this we could call a $BUFF45$, and then with those three, form a $PHS135BUFFERED$ functional group---with the remaining $PHS45$ and the $INVAMP$ (re-used from section~\ref{sec:invamp})in a second group $PHS225AMP$--- and then merge $PHS135BUFFERED$ and $PHS225AMP$ in a final stage (see figure~\ref{fig:poss2finalbubba}) +\subsection{FMMD Analysis using one large functional group} + +\begin{table}[h+] +\caption{Bubba Oscillator: Failure Mode Effects Analysis: One Large Functional Group} % title of Table +\label{tbl:bubbalargefg} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Bubba} & & \textbf{Symptom} \\ + & & \textbf{Oscillator} & & \\ + \hline + + + FS1: $PHS45_1$ $90\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS1: $PHS45_1$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS1: $PHS45_1$ $0\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + FS1: $NIBUFF_1$ $L_{up}$ & & output high No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_1$ $L_{dn}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_1$ $N_{oop}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_1$ $L_{slew}$ & & signal lost & & $NO_{osc}$ \\ \hline + + FS1: $PHS45_2$ $90\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS1: $PHS45_2$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS1: $PHS45_2$ $0\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + + FS1: $NIBUFF_2$ $L_{up}$ & & output high No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_2$ $L_{dn}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_2$ $N_{oop}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_2$ $L_{slew}$ & & signal lost & & $NO_{osc}$ \\ \hline + + FS1: $PHS45_3$ $90\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS1: $PHS45_3$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS1: $PHS45_3$ $0\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + FS1: $NIBUFF_3$ $L_{up}$ & & output high No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_3$ $L_{dn}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_3$ $N_{oop}$ & & output low No Oscillation & & $NO_{osc}$ \\ + FS1: $NIBUFF_3$ $L_{slew}$ & & signal lost & & $NO_{osc}$ \\ \hline + + FS1: $PHS45_4$ $90\_phaseshift$ & & osc frequency high & & $HI_{fosc}$ \\ + FS1: $PHS45_4$ $no\_signal$ & & signal lost & & $NO_{osc}$ \\ + FS1: $PHS45_4$ $0\_phaseshift$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + + FS1: $INVAMP$ $OUTOFRANGE$ & & signal lost & & $NO_{osc}$ \\ + FS1: $INVAMP$ $ZEROOUTPUT$ & & signal lost & & $NO_{osc}$ \\ + FS1: $INVAMP$ $NOGAIN$ & & signal lost & & $NO_{osc}$ \\ + FS1: $INVAMP$ $LOWPASS$ & & signal lost & & $NO_{osc}$ \\ \hline + + + % FS1: $CAP_{10nF}$ $OPEN$ & & osc frequency low & & $LO_{fosc}$ \\ \hline + % FS1: $CAP_{10nF}$ $SHORT$ & & osc frequency low & & $LO_{fosc}$ \\ \hline +\hline + +\end{tabular} +\end{table} + + +Collecting symptoms from table~\ref{tbl:bubbalargefg} we can show that for single failure modes, applying $fm$ to the bubba oscillator +returns three failure modes, + +$$ fm(BubbaOscillator) = \{ NO_{osc}, HI_{fosc}, LO_{fosc} \} . $$ + \begin{figure}[h] \centering @@ -864,17 +927,36 @@ and then merge $PHS135BUFFERED$ and $PHS225AMP$ in a final stage (see figure~\r +\subsection{FMMD Analysis using smaller functional groups} +\begin{table}[h+] +\caption{Bubba Oscillator: Failure Mode Effects Analysis: Smaller Functional Groups, one more stage of hierarchy} % title of Table +\label{tbl:bubbalargefg} + +\begin{tabular}{|| l | l | c | c | l ||} \hline + \textbf{Failure Scenario} & & \textbf{Bubba} & & \textbf{Symptom} \\ + & & \textbf{Oscillator} & & \\ + \hline + +\hline + +\end{tabular} +\end{table} \begin{figure}[h] \centering \includegraphics[width=300pt,keepaspectratio=true]{./poss2finalbubba.png} % largeosc.png: 916x390 pixel, 72dpi, 32.31x13.76 cm, bb=0 0 916 390 - \caption{Bubba Oscillator: One more FMMD hierarchy stage.} + \caption{Bubba Oscillator: Smaller Functional Groups, One more FMMD hierarchy stage.} \label{fig:poss1finalbubba} \end{figure} -NOW need to do both sets of working out. +\subsection{Comparing both approaches} + +Large FG and less hierarchy, and more hierarchy and smaller fgs. + +More re-use-able fgs with smaller groups. Less chance of making a mistake (lower CC) + \clearpage diff --git a/old_thesis/opamp_circuits_C_GARRETT/poss1finalbubba.dia b/old_thesis/opamp_circuits_C_GARRETT/poss1finalbubba.dia index f9d888a0602905977f93a5eaf12e24f8c802c20b..6576d542d21af68caf2ec9cbba8ec6620667431e 100644 GIT binary patch literal 2299 zcmVZiwFP!000021MOW~Z{xNSe$THkyss(EJH@(5(JioOfnFBa_PiRhtvEWB zB|}z{^-F*IAt~AMMT#BK^hP=KB3VeG_-Uw_Z)V7${KJo5=SlA|%9nAL-t-ZG{a%z# zvT2;oZu)=!_368y|Ksh|57RjOUj5ASaNbi_q)UBt)4wl@#rK23)6)}3R?D!+a*)Ii zU>Obm4U;4ss78bS?NzV0-N7_0LVd0}8x}<#j~|MtmxlA`raulR|IG62A)WTiR#m%6 zmSlPFF-&gyAMVVjKd8DH?DX?O--~b-jq@n{r@3pWK2o;ndJ*OO-Od-;GFDBB)#9K@ zLqGcWR-3BTQZ-6vw;z6@AIe**PCWNjccYCU#XQVsae9cO#wIBT0)qf!tOkS0Kte$U zT93)=;l`JROD+qSUluN2juu&7i*-io9wV0=_Mc-A z6@kRloBp40cd+)wQ=KUuJQ%G-woxepIJ+hkP_{n?hYZq$Fdpv%wZf+U=#OfBgFK?@yl^Qq>pYyQX9zON%-QSulS@g&@imtKDd2R2z_mkGnQsB9N^n6denId3oq_bWcvl)X{TO_mcF$dZipz zk-zJVgP2voO~ygYGTF27UCAa0jz=WL*$PBtX@qjo?mW z;b$Nuh7v`_lL96kn@qq;oYG`W!Y-WGx7&;N z=8T2_#G0I}H=1pu`J5%I-{Lf?vmEQnEsTLQbc}&;x|*(lsF32C1IPl5hgc~9Ma1|4 z*m8nkp+;t8glQvUZA&v1##OA|?v4`moZRYSluk!so@Y?NXrtzGv9 z;s_O;j4;X4R4JOWisiw8um94!SGH7T6Gc{rXuan@-}Hk6rKq_WtuH2x7q3Iuy<2Kw z@3SneGk5!{GZpLUC{F_7)Yuga##q5%42c+G3WyNFHG)7AN}O7It%SAhm|+DK_a5T} z6Bol5TTy^3)FaKv8kD_NhWWPMuF2C`*Nt%?84XCeIM{ae;Uw+nAPA^5sT4$z43!E& z#0@g#vZZIytTIykdDH+J<*c;fJr0<`IU;RZp+jEquAI>vG)&_4L)c9o$QR$r(zh zEUSi2o_^6VW;d;_s6gC+65NGtPJe#++4GX~-Tt+j=xOPqv}CmuM!r$RM(wL>M4&6Y znA0r_YZP4%&4wy$qX-hE?v!9iaWtlo|N2^Qk^1tR_fkfPi$S4%v8v3zPSWDU3Akh8U;xP|M}_n&)$za z|6Z0lUG#4JExYlirElwUUPeIm?lvT;(`jJk@i66PL76}_)W8CkYtfui$1C4WV%BbT z3lPVC;oC2Kx0(u7p>+pKXsoMwsQ_ge3&xPSr4bVFl14CRLmB``VHvMW*L8ReLe`Q9 z6`SfAUxw#Nbl?No%JNUTMmq={^sqh^FQoRu}p#F`Jes1B2Hu~v>Z#unD9w*@{%5SgA V1NAe@!};yi{{TiVyFzA(008|cbf^FT literal 2267 zcmV<12qgC(iwFP!000021MOW~Z`(E$e$THE+}DieRTQfx!#beYfL#i7+p8hlila@I z3|UEtda z@$la$O{1Y~G#p%Cc;03Q)2NKpclEbXSr*Cou8h4bn#WgzaWwg7R^)ftbWpXb+fDK` zFTDFGy&Al`(VxMv?q;~v&og~5qFFpH;^?3DuA%%0(WUD}TO~Nvny#Aix;Q$zUQ7kW-FU zbMkVy@p<9W^THM9g-e#BMP8Iel$86B<2+B}D63G*;x6uvvz$b!G_mJ~WiX1Hq%89T z=YJEW%VP#meZBU!mwN83NT$y_?pBMIULKNZc{}=QX}YT3A1(EMpDdGc8aJJNl9eax z{_!;3?_M3v-cLU_w1%p;*6=V5VivQPhlkl+GL4r9%xt?&OHa3Tv*Dpx-)(p7#8hAH z1ZxeEMvrk(cmMGzOndbOt{KORCS`KJI@*|%eEfGjDeJ+0DWhx}6;tm!?_>UT@RWnd z3?!Le4St8)leIfM*_q_Qz1dpiYm*|tXP1Nm%68{qpF!FX#^YUpLJlFyW@)?z(HLO> zB$y9^j$m;b&qtHI$o4aY6AnqEXfD|w)`~|c;9~0&7+~GT$?Udl2g86cxbZ=>8`wB6 zrg1UacHRc}MUnc`4P$wmKa3i()5D>+nI?u$KGE4pkg1a(2sqX@MTAX1kvKlDa3~8A z1B`2b;lirJoM3p)XL{>1f5czQ4W~i1(_mAlVE{^-Vj$o)U1o)XgOCH_W9=^xcf~B# zWE@DPcG|RERINR?+U>~H-+uo1=ci9CQuUequ1zfDS=j`qzV~jTd6GWLvx>6iz+0A& zDiM+VSpD>;IK7X{WD;%WOD{izJ)dmwO9%qE{h?-{+eUb_A$EbPWv*yxYwt&>lsg{Le9cT#5j;+$qkh;V4HD#4TG_a;}jsIkAw`f zub-Db|MZ12M@zP8so54CFTG}7YStIjn3jBHe#p8GmpGi&I3Y$-C#wV7di(^VbMoSi zNpfcDGMK1*4%ye_3JBLgQk3IBX=QWGw#1|MgSE)njbK(wnztvZeQ@SM-Q zHI#{IF_za2g298RE)fz3~et!~SC)3Z93Afmz%Y=KV(vfjN91#H3i#FW1nhQSx zAs$i$kf@FX;!dVJa(dnz9Xs_;rz7LSL&Q{J1-e8CSl!>CGDWIjluC!yZk;OjvAUUV zJh)@jhD6zRVq{fqur0L#xl4UX7_ELxT7SGsVRufcgTK%6 ztjXQYtIlMur?NZ&h*f8oFc@PAgE1sL#1s(DgG&T~Ae313_Qnx5wqu$VWZrv-6Lek- zpKV0}u2By(BP&q$S{dfsM!U91XIwYt1HouOs?EW!yAMZMzYl_d3N57|f+UnC1d*?i zsV_Q47R4$f$)5)upmm&$J|L)1wdRAcqg%?bGg<7OPtzU$E{?vnI0{X|D7G9%+la)t z#0#nW^AWGh8*Hjg0$AW*%Kr($nW7QO2-Y-$pl_K*+D6$JAqitE7Qv219E-dx8}B2F z7*}Hz00blcoA4*`vkoIf}k!@MiHq6HR&JYs9RL?UaRhKVHLtGWfvWIg zR&QBYp{ROj7Rt1ZB1ojUQ`QF#oW@0RA5SlI|CzLT$B4EWvC%9YA@(s(V<#v8)V83~ zcB>p!!$?snNooTX_kyJyDcL8bCPQ?r)W3T@v2j&0lPSA?a|yP(>84;53KA@29B}nm z8J}9cY0Z3O?y)j&?wu^g#kY*sFT?O{uC=UDAea6k^@UhH=)MmT{O8~P`r+5lE{7H`B-nM8|dl9YLI pfneqyn`vF+G+Lz7INwy`RLA-??bjDu?{UAr_z!Uht7hwk006ZkXN~{> diff --git a/old_thesis/opamp_circuits_C_GARRETT/poss2finalbubba.dia b/old_thesis/opamp_circuits_C_GARRETT/poss2finalbubba.dia index 8ac0b7953c04c2c84c3c1566b25281f90f53b6a2..79126ceb19c8682225ae53a0c02d3ca16dd8ce06 100644 GIT binary patch literal 3572 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 literal 3546 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 Ue@65C;_boz0otgqkHX;q0BD5BP5=M^