メニュー English Ukrainian ロシア語 ホーム

愛好家や専門家向けの無料テクニカル ライブラリ 無料のテクニカルライブラリ


無線電子工学および電気工学の百科事典
無料のライブラリ / 無線電子および電気機器のスキーム

AVR 上のデュアル トーン多重周波数 (DTMF) ジェネレーター。 無線エレクトロニクスと電気工学の百科事典

無料のテクニカルライブラリ

無線電子工学と電気工学の百科事典 / テレフォニー

記事へのコメント 記事へのコメント

他者性

  • パルス幅変調 (PWM) を使用した正弦波信号の生成
  • さまざまな正弦波信号を XNUMX つの DTMF 信号に結合
  • アセンブリと C ソース コード
  • STK500で動作するように設計されています
  • プログラムコードサイズ 260バイト / 定数テーブルサイズ 128バイト
  • テーブル変換方式の使用

導入

このドキュメントでは、パルス幅変調 (PWM) ブロックと SRAM を含む AVR マイクロコントローラを使用して DTMF (デュアル トーン マルチ周波数) 信号を生成する方法について説明します。 これらの信号は電話で広く使用されており、電話機のダイヤル ボタンを押すと再生されます。 DTMF 信号を正しく生成するには、低周波数 (fb) と高周波数 (fa) の 1 つの周波数を重ね合わせる必要があります。 表 XNUMX は、異なるキーが押されたときに、異なる周波数がどのように混合されて DTMF トーンを生成するかを示しています。

AVRのデュアルトーン多重周波数(DTMF)ジェネレーター。 DTMF信号発生器の概略図
図1.DTMF信号発生器の図

表1.トーンシェーピングマトリックス

FB/FA 1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D

表 1 の行は低周波数の値を表し、列は高周波数の値を示します。 たとえば、このマトリックスは、ボタン「5」を押すと周波数 fb = 770 Hz と fa = 1336 Hz が混合されることを示しています。 異なる周波数の XNUMX つの正弦波信号を加算した結果、DTMF 信号が形成されます。

(1)

ここで、振幅の比 K=Ab/Aa ソース信号は条件を満たす必要があります

(2)

動作原理

パルス幅変調の使用に関する一般的な情報に加え、パルス幅変調を使用して正弦波信号を生成する方法を以下に示します。 次の段落では、基本 PWM 周波数を使用してさまざまな周波数を取得する方法について説明します。 理論的基礎を検討した後、DTMF 信号発生器自体について説明します。 正弦波信号の生成

高 VH 電圧レベルと低 VL 電圧レベルの持続時間の比率に応じて、PWM 出力の平均値が変化します。 両方のレベルの持続時間の比率が一定に保たれる場合、結果として一定の電圧レベル VAV が生成されます。 図 2 は、パルス幅変調信号を示しています。

AVR のデュアル トーン多重周波数 (DTMF) ジェネレーター。 DC電圧レベル生成
図 2. DC 電圧レベルの生成

電圧レベルは次の式で決まります。

(3)

パルス幅変調によって生成される電圧の平均値が PWM サイクルごとに変化する場合、正弦波信号を生成できます。 高レベルと低レベルの比率は、対応する時間の正弦波信号の電圧レベルに従って設定する必要があります。 図 3 は、このプロセスを示しています。 PWM の初期データはその周期ごとに計算され、変換テーブル (TP) に記録されます。

図 3 は、基本正弦波の周波数とサンプル数の関係も示しています。 サンプル数 (Nc) が多いほど、結果として得られる信号のモデリング精度が高くなります。

(4)

どこ f は正弦波信号の周波数 (1/T)
f1-PWM周波数(fCK/ 510)
T はメインの正弦波信号の周期です。
fCK - タイマーのクロック周波数;
NC - サンプル数 (図 12 では = 3)

PWM 周波数は PWM 分解能によって異なります。 8 ビット分解能では、タイマーの終了値 (カウントの先頭) は 0xFF (255) です。 なぜならタイマーはカウントアップとカウントダウンを行うため、この値を XNUMX 倍にする必要があります。 したがって、PWM 周波数はタイマークロック f を分周することで計算できます。CK したがって、タイマー クロック周波数が 510 MHz の場合、結果の PWM 周波数は 8 kHz になります。

AVRのデュアルトーン多重周波数(DTMF)ジェネレーター
図 3. PWM を使用した正弦波信号の生成

正弦波信号の周波数の変更

正弦波サンプルがルックアップ テーブルから順番にではなく、一度に 4 つずつ読み取られると仮定します。 この場合、同じサンプルレートで XNUMX 倍の周波数の信号が生成されます (図 XNUMX を参照)。

AVRのデュアルトーン多重周波数(DTMF)ジェネレーター
図 4. 結果の周波数を 2 倍にする (XSW = XNUMX)

類推して、値を 3 つおきではなく、4 つごと、5 つごと、1 つごとに読み取る場合 (それぞれ、ステップ幅は 0、XNUMX、XNUMX ...) となります。 [XNUMX/T Hz .. XNUMX Hz] の範囲で Nc 周波数を生成することが可能です。 高周波の場合、結果の波形は正弦波ではないことに注意してください。 換算表によるステップ幅をXと表記します。SWどこ

(5)

次の PWM 周期(タイマがオーバーフローしたとき)の TP の現在位置の計算は、式 (6) を使用して実行されます。 X 位置の新しい値LUT 位置 X' での前の状態に依存しますLUT ステップ幅 X を追加するとSW

(6)

どこ XLUT - 変換テーブルの前の位置。
X'LUT - ルックアップ テーブル内の現在の位置。

異なる周波数を追加して DTMF 信号を取得する

DTMF信号は式(1)、(2)により生成できます。 算術演算を簡単にするために、算術演算を論理シフトに置き換えるために、係数 K の値は 0.75 に等しく設定されます。 式(6)を考慮すると、PWM制御の電流値は次の式で計算できます。

(7)

X を考慮すると、ルタ=X'ルタ + Xスワ,XLUTb=X'LUTb + XSWb、最後に書きます

(8)

DTMF ジェネレーターの実装

この付録では、8 ビット PWM 出力 (OC1A) と、それぞれ 128 ビット (n) で指定される 7 個の正弦関数サンプル (Nc) のテーブルを使用した DTMF トーン ジェネレーターの構築について説明します。 次の式は、この依存関係を示し、ルックアップ テーブルの要素を計算する方法も示しています。

(9)

7 ビットを使用する利点は、高周波信号値と低周波信号値の合計のサイズが 8 バイトであることです。 DTMF トーンの完全なセットをサポートするには、表 1 から DTMF 周波数ごとに XNUMX つの値を計算し、変換テーブルに入力する必要があります。

より高い精度を達成するために、次の解決策が作成されました。式 5 で計算される値は 5 バイトのみ必要です。 丸め誤差を減らすために 8 バイトすべてを使用するには、この値を 8 倍します。変換テーブルへのポインタも同じ方法で書き込まれます。 ただし、この場合、値の 8 倍を格納するには 3 バイトが必要です。 これは、これらのバイトを正弦波値へのポインタとして使用する前に、1 つの右シフトと Nc ベースのモジュロ演算 (Nc-XNUMX による論理乗算) を実行する必要があることを意味します。

(10)

どこ XLUTa、b - 変換テーブル内の要素の現在位置 (実際の形式)。
XLUTa、bExt - 変換テーブル内の要素の前の位置 (拡張形式)。
ROUND-丸め関数。

AVR のデュアル トーン多重周波数 (DTMF) ジェネレーター。 STK500への接続モジュール図
図 5. STK500 に接続するためのモジュールのスキーム

PWM 信号は OC1A (PD5) ピンで生成されます。 追加の出力フィルターは、正弦波波形をより良く一致させるのに役立ちます。 PWM 周波数が低下するにつれて、良好な結果を得るには、より急峻な周波数応答を持つフィルターを使用する必要がある場合があります。

キーボードの接続を図 1 に示します。キーボードの操作は、押されたキーを判断できるように構成する必要があります。 これは、次のアルゴリズムを使用して実行できます。

  1. 押されたキーの文字列を判別する
    • ポートBの下位テトラッドを出力に設定し、ログを設定します。 「0」
    • プルアップ抵抗を接続してポート B の高四進数を入力に設定します
    • ボタンが押された行は、ログの最高四分子の桁として定義されます。 「0」
  2. キーが押された列の決定
    • ポートBのシニアテトラッドを出力に設定し、ログを設定します。 「0」
    • プルアップ抵抗を接続してポート B の下側 XNUMX 進数を入力に設定します
    • ボタンが押された列は、対数の最小四分子の桁として定義されます。 「0」

注: STK200 には、PORTB コネクタ ピンとマイクロコントローラー ピン BP5、PB6、および PB7 の間に抵抗が直列に接続されています (STK200 の回路図を参照)。 キーボードが PORTB コネクタに接続されている場合、これにより問題が発生します。

図6は、押されたキーを判定するためのサブルーチンの動作を示す。 押されたキーに応じて、間隔の長さが決まります。 割り込みルーチンは、この値を使用して 6 つの DTM トーン正弦波の PWM 設定を計算します。 割り込み処理手順を図 7 および図 8 に示します。

このルーチンは、次の PWM 周期のタイマー出力と比較する値を計算します。 割り込みルーチンは、まずルックアップ テーブル内の次のサンプル値の位置を計算し、そこに格納されている値を読み取ります。

ルックアップ テーブル内のサンプルの位置はパルス持続時間によって決まり、実際のパルス持続時間は生成された周波数によって決まります。

タイマー比較レジスタに書き込まれる最終値は、両方の DTMF 周波数のサンプル値を考慮した式 (7) を使用して決定されます。

AVR のデュアル トーン多重周波数 (DTMF) ジェネレーター。 メインプログラムのフローチャート
図 6. メイン プログラムのブロック図

AVR のデュアル トーン多重周波数 (DTMF) ジェネレーター。 タイマーオーバーフロー割り込み処理フローチャート
図 7. タイマオーバーフロー割り込み処理フローチャート

AVR のデュアル トーン多重周波数 (DTMF) ジェネレーター。 「GetSample」サンプル読み込み手順のフローチャート
図8.「GetSample」サンプル読み込み手順のフローチャート

出版物: cxem.net

他の記事も見る セクション テレフォニー.

読み書き 有用な この記事へのコメント.

<<戻る

科学技術の最新ニュース、新しい電子機器:

光信号を制御および操作する新しい方法 05.05.2024

現代の科学技術は急速に発展しており、日々新しい手法や技術が登場し、さまざまな分野で新たな可能性を切り開いています。そのような革新の 1 つは、ドイツの科学者による光信号を制御する新しい方法の開発であり、これはフォトニクス分野での大きな進歩につながる可能性があります。最近の研究により、ドイツの科学者は石英ガラス導波管内に調整可能な波長板を作成することができました。液晶層の使用に基づくこの方法により、導波路を通過する光の偏光を効果的に変化させることができる。この技術的進歩により、大量のデータを処理できるコンパクトで効率的なフォトニックデバイスの開発に新たな展望が開かれます。新しい方法によって提供される偏光の電気光学制御は、新しいクラスの集積フォトニックデバイスの基礎を提供する可能性があります。これにより、次のような大きな機会が開かれます ... >>

プレミアムセネカキーボード 05.05.2024

キーボードは、私たちの毎日のコンピューター作業に不可欠な部分です。ただし、ユーザーが直面する主な問題の 1 つは、特にプレミアム モデルの場合、騒音です。しかし、Norbauer & Co の新しい Seneca キーボードでは、状況が変わるかもしれません。 Seneca は単なるキーボードではなく、完璧なデバイスを作成するための 5 年間の開発作業の成果です。このキーボードは、音響特性から機械的特性に至るまで、あらゆる側面が慎重に考慮され、バランスがとられています。 Seneca の重要な機能の 1 つは、多くのキーボードに共通するノイズの問題を解決するサイレント スタビライザーです。さらに、キーボードはさまざまなキー幅をサポートしているため、あらゆるユーザーにとって便利です。 Seneca はまだ購入できませんが、夏の終わりにリリースされる予定です。 Norbauer & Co の Seneca は、キーボード設計の新しい標準を表します。彼女 ... >>

世界一高い天文台がオープン 04.05.2024

宇宙とその謎の探索は、世界中の天文学者の注目を集める課題です。都会の光害から遠く離れた高山の新鮮な空気の中で、星や惑星はその秘密をより鮮明に明らかにします。世界最高峰の天文台、東京大学アタカマ天文台の開設により、天文学の歴史に新たなページが開かれています。アタカマ天文台は海抜 5640 メートルに位置し、天文学者に宇宙研究の新たな機会をもたらします。この場所は地上望遠鏡の最高地点となり、研究者に宇宙の赤外線を研究するためのユニークなツールを提供します。高地にあるため空はより澄み、大気からの干渉も少なくなりますが、高山に天文台を建設することは多大な困難と課題を伴います。しかし、困難にもかかわらず、新しい天文台は天文学者に研究のための広い展望をもたらします。 ... >>

アーカイブからのランダムなニュース

スマートフォン向けDRAMメモリ搭載XNUMX層イメージセンサー 13.02.2017

ソニーは、業界初のDRAM内蔵XNUMX層CMOSイメージセンサーの開発を発表した。 センサーはスマートフォンのカメラ用に設計されています。

センサーの設計は、信号処理回路を備えた水晶の上に感光素子を備えたセンサー結晶が配置されている、裏面照射型の XNUMX 層センサーに似ています。 違いは、XNUMX 番目の層である DRAM メモリ チップです。

DRAM メモリの存在により、センサーの速度が大幅に向上します。 その結果、動きの速い被写体をフォーカルプレーンの歪みを最小限に抑えて捉えることができるほか、フルHD解像度(1000×1920ピクセル)で最大1080fps(従来センサーの約19,3倍)の動画撮影が可能になります。 新しい読み出し回路は、わずか 1/120 秒で XNUMXMP の画像をキャプチャする速度を提供します。

その他の興味深いニュース:

▪ 新しいコンピューターのメモリは古いものより 10 倍高速です

▪ バラの谷にある黄金の宝物

▪ ウミガメケミカルカクテル

▪ 初めてのヒト胚の編集

▪ 電気自動車の大きな利点

科学技術、新しいエレクトロニクスのニュースフィード

 

無料の技術ライブラリの興味深い資料:

▪ サイトのセクション大人と子供向けのなぞなぞ。 記事の選択

▪ 記事 航空輸送における行動の特徴。 安全な生活の基本

▪ 記事 ヘビはどこから毒を得るのですか? 詳細な回答

▪ 記事 インストラクター - 消毒者。 仕事内容

▪ 記事 砂糖を反転します。 簡単なレシピとヒント

▪ 記事 電気ケトルの改良。 無線エレクトロニクスと電気工学の百科事典

この記事にコメントを残してください:

Имя:


Eメール(オプション):


コメント:





このページのすべての言語

ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー

www.diagram.com.ua

www.diagram.com.ua
2000-2024