シンプルなデジタル任意波形発生器





アマチュア無線の練習では、無線機器のコンポーネントをチェックおよびテストするために、所定の形状と周波数の信号発生器を手元に用意する必要がある場合があります。 マイクロコントローラの可用性が高まると、信号をプログラムで生成するデジタル信号発生器を組み立てることができます。













デジタル信号発生器「Nyx」(ニクタ)。 仕様:

サンプリング周波数は131072 Hzです。

生成される周波数範囲は1〜65536 Hzで、チューニングステップは1 Hzです。

理論的には0.000030518 Hzの解像度を得ることができる32ビットバッテリー。

8ビット出力、-15V〜+ 15Vの電圧スイング。

ジェネレーターはatmel ATMEGA16マイクロコントローラーに基づいており、R-2RネットワークはDACとして使用され、その出力はオペアンプを通過し、生成された信号の振幅とグランドに対するオフセットを制御できるようになりました。



ソフトウェアは、アセンブリ言語を使用してCで作成されました。 ジェネレーターは、直接デジタル合成の原理で動作します。 元のページの最後にあるリンクを使用して、デジタル信号合成の問題に関する理論的な資料を詳しく読むことができます。 プログラムは次のように構成されています。 RAM MKには、256個の要素の配列が割り当てられ、生成された信号の値を1周期で格納します。 値の配列は、出力で受信する必要のある信号に応じて、合成の開始前に入力されます。 このメカニズムにより、式によって生成された信号を記述でき、他の設計で行われていたように、手動でテーブルに入力することはできません。 ジェネレーターを毎秒131072回開始した後、割り込みが開始され、アキュムレーター値が増加し、最初の8ビットが変数値から切り取られ、対応する配列要素が呼び出されます。 プロセス全体では、マイクロコントローラの113クロックサイクルかかります。



アナログとは異なり、周波数は数値キーパッドを使用して設定され、「+」および「-」ボタンを使用しないため、ジェネレーターの使用速度が向上します。 必ずデバイス制御インターフェースを検討してください。 周波数を32698 Hzに設定するには、ジェスチャを何回行う必要がありますか? エンコーダーを使用することをお勧めします。

出力に正弦波信号のみが必要な場合は、サンプリング周波数の高調波でノイズをカットするローパスフィルターをインストールすることをお勧めします。 しかし、出力の信号発生器に矩形信号がある場合、これは受け入れられません。フィルタはエッジをフラッディングします。



画像

画像



コテルニコフ(ナイキスト)の定理によれば、周波数fで再構成するには、周波数2fのサンプル(サンプリング)を実行する必要があるという事実にもかかわらず、復元された信号には形状歪みがあります。 したがって、制限された再構成周波数は65536 Hzですが、実際には上限は約20 000 Hzです。 高周波では、波形は正弦波にまったく似ていないため、回路を設定するときにこの機能を考慮してください。



キーボードは、動的にポーリングされる不完全な4 * 4マトリックスです。 LCDスクリーンWH1602。 IECで購入した産業機器ハウジング。 窓はドレメルでカットされています。



ファームウェアソースコード



何をするのがいいだろう:

1)ソフトウェアまたはハードウェアPWMを実装します。これにより、ジェネレーターを使用して負荷に供給される電力を制御できます。

2)MK(メガヘルツのオーダーの周波数)のタイマーによってハードウェアで生成された長方形の高周波信号を個別に出力する

元の記事 (いつものように、おそらく落ちるでしょう)



All Articles