Posts Issued in April, 2019

posted by sakurai on April 28, 2019 #98

PMHF式において、あるいはその前提となる故障分類フローにおいて、Kパラメータが2種存在します。 具体的には$K_{\mathrm{FMC,RF}}$と$K_{\mathrm{FMC,MPF}}$の2種類です。それぞれ、1st order SMのVSG抑止率及び2nd order SMのフォールト検出率を意味します。規格では定数のように書かれているので、それぞれ $$ K_{\text{FMC,RF}},\\ K_{\text{FMC,MPF}} $$ と記述できます。

ここで1st order SMとは、主機能IFのフォールトによるSG侵害を抑止する働きを持つSMであり、2nd order SMとは、(主機能やSM等の)エレメントのフォールトがレイテントフォールトとなることを阻止する働きを持つSMです。

さらに、Kパラメータは、主機能とSMにそれぞれ存在するため、IF-SM-2nd SMモデル全体では $$ K_{\mathrm{IF,FMC,RF}},\\ K_{\mathrm{IF,FMC,MPF}},\\ K_{\mathrm{SM,FMC,MPF}} $$ の3種類が存在します。一般的にはSMのフォールトはVSGとならないため、$K_{\mathrm{SM,FMC,RF}}$は存在しません。

さて、当初、例えばこの記事でもこのKパラメータは定数であり、かつ条件付き確率であると解釈していました。例えば、 $$ K_{\mathrm{IF,FMC,RF}}:=\Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed}\},\tag{98.1}\\ K_{\mathrm{IF,FMC,MPF}}:=\Pr\{\mathrm{IF\ detected}\ |\ \mathrm{IF\ prevented}\},\\ K_{\mathrm{SM,FMC,MPF}}:=\Pr\{\mathrm{SM\ detected}\ |\ \mathrm{SM\ prevented}\}\\ $$ と定義されます。

ただし上記は若干省略して書かれており、詳細に書けば、$\Pr\{\mathrm{IF\ prevented}\ |\ \mathrm{IF\ failed} \}$は$\Pr\{\mathrm{VSG\ of\ IF\ is\ prevented}\ |\ \mathrm{IF\ is\ failed} \}$であり、$\Pr\{\mathrm{IF\ detected}\ |\ \mathrm{IF\ prevented}\}$は、$\Pr\{\mathrm{The\ fault\ of\ IF\ is\ detected}\ |\ \mathrm{VSG\ of\ IF\ is\ prevented}\}$となります。

ここで、規格に書かれていない2nd SMの修理率は100%であり、

$$K_\text{SM,FMC,rep}=\Pr\{\text{SM repaired}\ | \text{SM detected}\cap\text{SM failed}\}=1.0$$


左矢前のブログ 次のブログ右矢

Ultra96toPMODボードの改版

posted by sakurai on April 15, 2019 #97

Bocktechという会社にオーダーしていたPCBが届きました。 このメーカーだと、PCB製造に2.66日、PCB実装に1.02日、配送(DHL)に2.00日と、ネットでの支払い完了から数えて、わずか5.68日しかかかっていません。

それなのに、値段は送料込み合計54.83 USDと最安でした。その内訳は、PCB製造が1.00 USD、PCB実装に29.83 USD、配送(DHL)に24.00 USDとなっています。

後は品質がどうかということなので、部品を実装して、動作チェックしてみましたが、特に問題無く動作しました。2層なので電源ノイズは小さくない(300~400mVp-p)ですが、これは会社の問題では無いです。

総じて価格は最安、納期は最短ということで、当面この会社のサービスを利用することになりそうです。

図97.1
図97.1 PCB

試作なのでPCBは5枚オーダーしました。

図97.2
図97.2 PCB基板表面

そのうちの2枚にSMDを実装しています。最低の実装数量が2枚となっているためです。

図97.3
図97.3 PCB基板裏面

左矢前のブログ 次のブログ右矢

Ultra96toPMODのPCBの完成

posted by sakurai on April 7, 2019 #96

FusionPCBにオーダーしていたメインPCBが届きました。実装も依頼したので、基板だけよりは時間がかかります。受注から実装完成まで18.94日、DHLによる配送が0.95日でした。FusionPCBは若干高いようですが、DHLの配送料込みなので、他社と価格比較する際はトータルで見る必要があります。

コストを抑えるため、実装はSMD部品のみ依頼し、残りのスルーホール部品はマニュアルによるハンダ付けとしました。

図96.1
図96.1 完成したPCB

部品を実装したボードをUltra96ボード、PMOD-VGAボード、PMOD-I2S(サウンド)ボード、PMOD-JOY-SWボードと組み合わせて、Space Invadersが正常に動作することを確認しました。

基板図の表、裏の両面を示します。

図96.2
図96.2 ガーバーデータ表

図96.3
図96.3 ガーバーデータ裏

UltraZedボードでは電源ONでリセットがかかったのですが、プロトタイプボードを実装して電源を入れたところ、電源スイッチをONしなければならないことが分かりました。ところが、Ultra96ボードの電源スイッチがインタフェースボードで隠されて押しにくいことが分かったので、新たに電源スイッチとついでに敵の強さを設定するDIP SWを設けました。回路は他は基本的には変えていません。ソルダーレジスト色は黒にしてみました。

図96.4
図96.4 SketchUPによる3D化

図96.5
図96.5 IndigoRTによるレンダリング

左矢前のブログ 次のブログ右矢

FSMのダイレクトリターン

posted by sakurai on April 4, 2019 #95

さて、非リーフFSMコールの後、リーフコールがある場合は、単純に前記シーケンスの組み合わせとなります。図で示すと図95.1のようになります。

図95.1
図95.1 非リーフコールからリーフコール

ここで結構見られるのが、リーフを呼んで戻った後、何もせずにさらにcallerに戻るパターンです。これを実現するより効率的な方法として、ダイレクトリターン手法があります。これを図95.2に示すと、リーフをコールする前にスタックから戻り番地を取り出しreturnに入れ、リーフへジャンプします。リーフからは知らずにリターンすると、ダイレクトリターンが行われます。

図95.2
図95.2 ダイレクトリターン

特殊な場合として、上記のようにパラメータ設定だけしてリーフにジャンプするような場合は、そもそもリーフであるため、以下の図のような呼び出しとなります。

図95.3
図95.3 ダイレクトリターン

例として、残機表示サブFSMは、(リーフである)copyAreaを呼び出すので、returnを破壊するため非リーフですが、その後のシーケンスでcopyAreaを呼び出しダイレクトリターンを行います。その際には図95.3のダイレクトリターン手法は取れないため、図95.2のダイレクトリターン手法を取っています。


左矢前のブログ 次のブログ右矢