私の問題
「confirmer」というブロックをモデル化したい。仕様は、出力がエッジ (立ち上がり/立ち下がり) に基づく入力の遅延バージョンであることです。明確にするために、タイミング図を以下に示します。
___________________________
| |
Input _______| |____________________________
(Tdelay) _____________________
| |
Output ______________| |____________________________
と
____________________________
| |
Input _______________| |____________________________
(Tdelay)
______________________________________
| |
Output _______________| |_____________________
上に描いてみたように、立ち上がりエッジは、出力が Tdelay の後の変更入力に単純に従うことを意味します。しかし、1 から 0 に戻ると、遅延はありません。これは、立ち上がりエッジでトリガーされる確認ブロックの図です。
立ち下がりエッジでトリガーされた確認者の場合は、その逆です。立ち下がりエッジがある場合、出力は Tdelay 秒後に入力の変化に従います。つまり、最後の入力を Tdelay の間保持します。
私のターゲットプラットフォーム
SIMULINK と MATLAB。
私の最初の解決策
Triggered Subsystem ブロックを使用して特定のアクションをトリガーする方法があることを知っています。しかし、SIMULINK で遅延/単位遅延ブロックを使用して、トリガーで遅延を実装するのに苦労しています。リセット可能な遅延と呼ばれる別のブロックを使用することができましたが、立ち上がりエッジのリセットの場合は正しく機能しません。エッジに基づいて単純にリセットされます。
誰もこの種の問題を以前に試したことがありますか?
@PhilGoddardの回答以降の更新
問題のタイミング図を再現できたので、これでうまくいくはずです。
私がそれをどのように設計したか:
1) 反復シーケンスの階段を入力として使用しました。
2) リセットが立ち上がりエッジまたは立ち下がりエッジで有効になるように単位遅延ブロックを構成します。これにより、次のいずれかが許可されます。」
i) 入力 (立ち下がりエッジ) = 出力 (立ち下がりエッジ) [立ち上がりエッジは Tdelay だけ遅れる ii) 入力 (立ち上がりエッジ) = 出力 (立ち上がりエッジ) [立ち下がりエッジは Tdelay だけ遅れる]
ビー玉を失っていない限り、この解決策は大丈夫だと思いますか?