Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

データシートからパラメーター化されたデジタル ポテンショメーター

このモデルは、デジタル回路やマイクロプロセッサ制御システムからオーディオ アンプを制御するために使用するようなデジタル ポテンショメーターをモデル化する方法を示します。また、このモデルでは、Simscape™ Electrical™ ライブラリを拡張するために独自のカスタム ブロックを作成する方法も示します。

このデータシートは、10 KΩ のエンドツーエンド抵抗 R と 16 ステップの量子化を指定します。Digipot マスク サブシステム内を表示するには、ブロックを選択し、Ctrl-U を入力します。低 (L) からワイパー (W) への抵抗は R*N/16 で、高 (H) からワイパーへの抵抗は R*(16-N)/16 です。ここで、N は内部カウンターの値です。内部カウンターは、チップ選択 (CS) ピンによって有効にされ、上/下 (U/D) ピンが高になるたびにカウントされます。デジタル ポテンショメーターがチップの選択入力 CS によって最初に有効にされたときに、入力 U/D の状態によってステッピングの方向 (上/下) が設定されます。

この回路では、オペアンプのゲインは R2/R1 によって設定されます。ここで、R2 は Digipot ブロックの抵抗です。R1 は 10 K に設定されます。R2 は 10 K * 8 / 16 = 5 K から開始します。したがって、初期のゲインは 0.5 で、出力電圧振幅は、1 V のピーク入力正弦波に対して 0.5 V です。パルス発生器は 1 秒ごとにカウンター N を 1 増やし、オペアンプ ゲインは N が 16 に近づくのに伴い 1 に近づきます。

Digipot ブロックはマスク サブシステムとして実装されているため、他のモデルでの再利用に適しています。非同期カウンターを実装するために、Simulink® の Triggered Subsystem と Enabled Subsystem が使用されます。非同期演算をサポートするために、離散時間積分器のサンプル時間は -1 に設定されます。

場合によっては、デジタル ポテンショメーターは、ワイパーの電流がゼロのときにのみ抵抗を変更します。たとえば、オーディオ アプリケーションでは、これにより状態が変化したときにカチッという音が聞こえることを防ぎます。これを実装するには、別のエッジ トリガー ブロックを Pulse Counter ブロックの後に追加し、そのトリガー信号をワイパー電流の測定値によって駆動できます。もう 1 つの拡張としては、ワイパー端子 W と、2 つの可変抵抗器間にある接合部の間に、抵抗を追加して、ワイパー抵抗をモデル化するというものが考えられます。

モデル

Digipot サブシステム

Simscape ログからのシミュレーション結果

以下のプロットは、デジタル ポテンショメーターでゲインが制御されているアンプの入力電圧と出力電圧を示しています。デジタル ポテンショメーターに適用されるパルスの立ち上がりエッジ上で、ゲインが調整されます。

リアルタイム シミュレーションの結果

この例は、Intel® 3.5 GHz i7 マルチコア CPU を搭載した Speedgoat Performance リアルタイム ターゲット マシンでテストされました。このモデルは、40 マイクロ秒のステップ サイズでリアル タイム実行できます。