AVRのデュアルトーン多重周波数(DTMF)ジェネレーター。 DTMF信号の生成と認識

ゴロフナ / 主な機能

Vinahidは、たとえば電話の分野でデータ伝送に使用される2トーン周波数信号(DTMF)のデジタル方式によって生成の分野にもたらされます。 達成できる技術的結果は、特大の回路要素の数の変化、経済効率の向上です。 Генератор DTMF сигналів, що реалізує Спосіб генерації DTMF сигналів, містить два накопичувальні суматори, два фіксуючих регістра, два запам'ятовуючі пристрої, підсумковий суматор, цифроаналоговий перетворювач, перетворювач кодів DTMF сигналів у послідовності цілих чисел, дільник задає частоти генератора DTMF сигналів кодів DTMF сигналів係数のコードは正しいです。 2秒 および3z.p. f-li、2il。

Vinahidは、デジタル方式でDTMF(2トーン周波数)信号を生成する方法であると考えられており、たとえば、トーン周波数ダイヤリングを使用する電話の分野でのデータ送信に適しています。 1989年4月4日付けの米国特許第5034977号、公開。 91年7月23日、M.cl。 5 H 04M1/00。 Відомий спосіб генерації DTMF сигналів включає вибір першого і другого кодів кутів дискретизації, відповідних першої та другої частоти складових DTMF сигналу, накопичувальне підсумовування окремо першого і другого кодів кутів дискретизації з відповідно періодично фіксуються, з періодом, частоті дискретизації, першим і другим результатами накопичувального сумування,ウェアハウスDTMF信号のディスクリート値のアドレス指定可能なテーブルに格納されている、ウェアハウスDTMF信号の最初の値と他のディスクリート値の削除。 DTMF信号の3番目の離散値を削除するためのウェアハウスDTMF信号の離散値。 攻撃でDTMF信号を生成する別の方法:信号のDTMFコードの追加の最初の変換後の信号では、最初のコードが選択されます。これにより、周波数の信号にサンプリングカットが割り当てられ、上位のグループが選択されます。 frequencies - the stops, and after the other code of the other code, the DT is selected що визначає кут дискретизації сигналу з частотою, що відповідає групі нижніх частот - рядків , періодично, з періодом, що відповідає тактовій частоті дискретизації, перший код кута дискретизації підсумовується у відповідному накопичувальному суматорі і фіксується у відповідному регістрі, на виході якого знаходиться результат, значення якого відповідає адресі осередку таблиці, що зберігається у відповідному постійному запам'ятовуючому пристрої дискретні значення синусів, що визначають верхню частоту DTMF сигналу таким же чином, періодично, з періодом、щовідповідаєтактовійчастотідискретизації、другийкодкутадискретизаціїпідс вачі м суматорі і фіксується у відповідному регістрі, на виході якого знаходиться результат, значення якого відповідає адресі комірки таблиці, що зберігається у відповідному постійному запам'ятовуючому пристрої і в якій знаходяться відповідні дискретні значення синусів, що визначають нижню частоту DTMF сигналу, дискретні значення синусів DTMF信号に上限周波数を割り当てるは、サブバッグ加算器で合計され、DTMF信号に離散値を割り当て、デジタルからアナログへの変換を介して出力に供給され、ステップを形成します-周波数正弦波DTMF信号。DTMF信号の入力コードに似ています。 この方法は効果が低く、技術的および経済的指標と技術的指標が低いことが原因です。 ホームメソッドでは、周波数生成の精度はコードのビット数によって決定されます。これにより、サンプリングカットが可能になります。これは、累積加算器の大きなビット数の自明性を意味し、単純なハードウェアメソッドを使用したメソッドの実装を簡素化します。 。 同時に、与えられた方法での離散化カットのコードは、パターンK =(F / F t)32 ...、(1.1)によって決定されます。deKは、離散化カットに一致するコードです。 F-生成された周波数。 Ft-サンプリング周波数。 ご覧のとおり、生成された周波数の精度は、生成されたサンプリングレートの仮定に一意に依存しています。 生成された周波数の必要な精度を達成するには、それ自体が1.5%以下であるため、明らかに、komiの後に少なくとも2桁の有効桁数が必要です。これは、少なくとも8の低周波数の容量を持つデータのファイリングを考慮に入れています。ビット、および9ビット未満の高周波数で、累積合計が通常12ビット未満の場合、別棟の構成部品の数を増やすために、このメソッドの使用が実装されます。 Vіdomіpristroїforrealіzаtsіїvіdomogoway、およびそれ自体sumatori、registry、postіyniprіstroї、覚えておくべき学校は、4ビットと8ビットの容量で出入りすることができます。 したがって、容量を増やすには、同等に機能する別棟の実装に追加の技術的および経済的コストが必要です。 この方法の助けを借りて、コミの後に放電数を変更すると、許容範囲を超える周波数変更につながります。 Широкопоширені мікроконторолери, що застосовуються в телефонії та телеметричних вимірюваннях, використовують 8-бітові дані та 8-бітовий арифметико-логічний пристрій, що вимагає при реалізації відомого способу додаткових обчислювальних операцій, пов'язаних з підсумовуванням даних, з розрядністю більше 8 біт, та аналізом転送信号。これにより、コマンドの数が増加し、明らかにマイクロコントローラーのクロック周波数が増加します。また、マイクロコントローラーのメモリも増加します。これにより、DTMF信号生成方式を使用するアタッチメントのコストが増加します。 デンマークのvisnovokは、Atmel、Microchip tnc、およびіn社のマイクロコントローラーに基づいたトーンダイヤリングのホームメソッドでのzastosuvannyaの分析中に誘導されました。 、したがって、マイクロコントローラーの豊富な在庫を含む別の方法と交換することができます。これは、マイクロコントローラーに提示される技術的特性の進歩に現れ、その豊富な機能を低下させます。 シグナル、04.04.89日付の特許番号5034977の提出物、公開。 91年7月23日、M.cl。 5 H 04M1/00。 DTMF信号発生器の出力には、第1の固定レジスタの入力を備えた第1のアキュムレータ、第1のストレージデバイスの入力を備えた第1の固定レジスタの出口、および第1のストレージ加算器の入力の1つが含まれます。 、バッグ加算器の入力からの最初のストレージデバイスの出口、別の固定レジスタの入力による別の累積トータライザの出力、別のストレージアドオンの入力によるデータの別の固定レジスタの出力、および別の累積加算器の入力の1つ、サブバッグ加算器の別の入力を使用した別のストレージアドオンデータの出力、デジタル-アナログコンバータの入力を使用したサブバッグ加算器の出力、 DTMF信号発生器の他の入力の出力。 Відомий генератор містить також перший перетворювач кодів DTMF сигналів у відповідні коди кутів дискретизації, відповід вихід першого перетворювача кодів DTMF сигналів з'єднаний з іншим входом першого накопичувального суматора, вихід другого перетворювача кодів DTMF сигналів з'єднаний з іншим входом другого накопичувального суматора, входи першого DTMF信号の別の変換コードをDTMF信号発生器の入力に、そしてそれ自体とDTMF信号発生器のクロックサンプリング周波数の入力との間の最初の接続のクロック入力。 VіdomyDTMF信号発生器は、低い技術的結果、異なる接続された回路要素の世界的な数の音、および機能要素の世界的な範囲を保証します。 Крім того, реалізація відомого технічного рішення ефективно можлива у вигляді окремої інтегральної мікросхеми, проте це вимагає організації спеціалізованого виробництва, але з огляду на те, що генератори DTMF сигналів є частиною багатофункціональних пристроїв (телефонні апарати з розширеними можливостями, пристрої передачі телеметричної інформації по телефонних лініяхスキニー)。 ユニバーサルマイクロコントローラに基づいて現在実装されているなど)、8つのDTMF信号マイクロ回路の製造は経済的に非効率的です。 способу з високими техніко-економічними показниками, обумовленими зменшенням розрядності однотипних операцій, високими технологічними показниками, при реалізації способу, як у схемотехнічному виконанні простими апаратними засобами, так і у складі багатофункціонального мікроконтролера, пов'язана з повторюваністю, при реалізації однаково функціональних елементів. 余分な回路要素の数は、明らかに経済的に効率的であり、広く利用可能な方法で主張されている技術的解決策を実装する可能性と関連しています。 сигналу, накопичувальне підсумовування окремо першого і другого кодів кутів дискретизації з відповідно періодично фіксуються, з періодом, що відповідає тактовій частоті дискретизації, першим і другим результатами на копітельного підсумовування, отримання першого і другого дискретних значень складових DTMF сигналу, сигналу для отримання третього дискретного значення, що відповідає значенню DTMF сигналу, новим є те, що отримання першого і другого дискретних значень складових DTMF сигналу, що зберігаються в адресно розташованих осередках відповідних таблиць дискретних значень складових DTMF сигналу, проводиться шляхом зчитування з відповідних таблиць результатам накопичувального підсумовування відповідно до першої та другої послідовностей qіlih数、平均化znachennyakahvіdpіdaєコードkutіvdiscretizії、vіdpіdnіh保存可能なDTMF信号。 さらに、累積合計の結果を形成する数列の平均値は、数の算術平均である可能性があります。 また、第1の記憶加算器、第1の固定レジスタ、第1の記憶加算器、他の記憶加算器、他の固定レジスタ、他の記憶加算器、第1のバッグ加算器を含む第2のDTMF信号発生器に関しても異なる。最初のデジタル-アナログ変換器、最初の固定レジスタの最初のストレージ加算器累積加算器、最初のストレージアドオンの入力、およびの入力の1つを使用したデータの最初の固定レジスタの出力最初の累積加算器、別の固定レジスタの入力によるデータの最初のメモリアドオン累積加算器の出力、別のアキュムレータの入力によるデータの別の固定レジスタの出力、および別の累積加算器の入力の1つ、デジタルからアナログへのコンバーターの入力を備えたサブバッグ加算器の別の入力を備えたデータの別のメモリー接続の出力。 єєєє’venor DTMF Signal、ノベルティ、zgіtnoyeのせい、єそれら、ShoジェネレーターDTMF信号信号からpost-izіlikhのtransphyryuvach dtmf信号、DTMFのdtmf周波数、規制コード。最初の累積加算器の他の入力を使用した入力の整数のシーケンスでの信号のDTMFコードの変換、別の入力の他の入力を使用した入力の整数のシーケンスでの信号のDTMFコードの変換の他の出力accumulator generator in the DTMF adder frequency послідовності цілих чисел, а також з тактовим входом першого фіксуючого регістру і такт вихід перетворювача кодів DTMF сигналів в код коефіцієнта поділу з'єднаний з входом установки коефіцієнта розподілу коду в код з'єднаний із входом перетворювача кодів DTMF сигналів DTMF信号ジェネレーター。 KRIM TO、警戒中のvicos vicuniumの数のポスト-izіlikh番号でのPerepretyuvachKodіvdtmf信号が揺れた、私は追加します、pam'yatov、saglovy dtmf、pam'yatye。 Pam'yati、数は、数のPershimに負傷しており、ilnshiy Komirki Pam'yatiでは、数は-areasにあり、videsは累積アキュムレータであり、メモリデバイスは、メモリの個別の構築領域とメモリの小さな部屋の可能性に基づいています。 新しい必要な技術的結果が焼き上げられています。 継承間の因果関係は方法の兆候であり、技術的な結果によって到達されます。これについては次で説明します。 提案された技術的解決策の本質を明らかにするために、次のステップは簡単です。y(P)= sin(n)(1.2)、de y(P)-正弦関数の離散値。 = wT = 27F / Fr(1.3)-サンプリングレート。ラジアンで測定されます。 n-サンプルのシリアル番号-ディスクリート。 別棟; kd-以下の規制係数。 Todi=2FКD/FOSC。 (1.4)原則として、正弦関数は周期2で周期的です。ラジアンから単一の単位に離散化カットを変換するために、離散化カットのコードは、周期全体をm個の部分に分割することによって分割されます。ここで、mは倍数です。 この順序で、周期の1つの最小離散部分= 2/mを取ります。 (1.5)サンプリングカットコード-サンプリングカットの値は、周期の一部まで有効であり、それ自体、K = / = 2F / F t:2P / m = Fm / F tです。(1.6)たとえば、 1477 Hz i 697 Hz(DTMFコード信号「3」に準拠)の周波数を生成する場合、m = 64、クロック周波数F t = 32768 HzK 697 = 1.36; K l477 = 2.88。36有効136必要8ビット( 1281 + 640 + 320 + 160 + 81 + 40 + 20 + 10)、および最大1477 = 2.88有効な288には9ビット(2561 + 1280 + 640 + 321 + 160 + 80 + 40 + 20 + 10)が必要です。同時に、累積加算の場合、ダブルファイリングには12ビットが必要です。これは、特定のソリューションの不足についての上記の説明を示しています。 たとえば、整数1と2のシーケンスの平均値としての数値1.36、およびそれ自体1.36 \ u003d(1x + 2y)/(x + y)、de xとy、dexとy-明らかにピリオド(x + y)で定期的に繰り返される1と2の数。 離散化コードの値は、Cの全体とショット、tobtoから合計されます。 たとえば、1.36 =1+0.36です。 明らかに、そのような置換の精度は、離散化カットコードの値の大きい方の整数部分を超えて移動するポイント(1.7)= K / C(1.7)まで明らかになります。 たとえば、生成された周波数が697 Hz、m = 64、クロック周波数がF t = 32768 Hzの場合、数値1と2の最大697 = 1.36の値の変化はおそらく36と32%です。 。、次に、数値5と6の最大697 \ u003d 5.45の値を置き換えるエラーは9と10%を変更します。5.45=(5x + 6y)/(x + y)、de(x + y)= 16.16。 累積合計の16回の操作のうち、加算5の合計の9回と加算6の7回の合計で、実際には最大697 = 5.4375であり、m = 256、F t = 32768 Hzの場合のビラーゼ(1.6)の値を表します。 rozrahunkovよりも生成された周波数F=696 Hzの値で、誤差は0.1%でした。 Таким чином, накопичувальне підсумовування послідовності цілих чисел, усереднене значення яких відповідає відповідним кутам дискретизації, дозволяє досягти високих техніко-економічних показників за рахунок зменшення розрядності операцій накопичувального підсумовування, обумовлених можливістю складовими вищенаведених виразів, і відповідно зменшення розрядності пристроїв, що реалізують пропонований спосіб, щоメソッドの実装中にハードウェアとエネルギーの入力に変化をもたらし、機能が豊富な別棟でビコリスタンニを使用して提案されたメソッドの高度な技術的指標を確保し、賢明に削減し、技術的に進歩させます。 継承間の因果関係は技術的解決策の兆候であり、技術的結果によって到達されます。これについては次で説明します。 Високий технічний результат генератора DTMF сигналів забезпечується введенням нових елементів перетворювача кодів DTMF сигналів в послідовності цілих чисел , перетворювача кодів DTMF сигналів код коефіцієнта дільника, які забезпечують реалізацію способу схемотехнічними елементами з однаковою розрядністю, що не перевищує 8-біт, при цьому відсутня надмірність елементів, необхідних для вирішення декількох завдань, наприклад, і для фіксування результату накопичувального підсумовування, і для адресації відповідного запам'ятовуючого пристрою використовується однакова кількість розрядів, що реалізуються не більше ніж 8-розрядним регістром, який може бути виконаний загальнодоступними засобами у вигляді однієї мікросхеми або,マイクロプロセッサのビジョンでは、1つはメモリの真ん中にあります。 さらに、累積加算器の実装は、4ビットのアドオンで動作するグローバルにアクセス可能な加算器のマイクロ回路を考慮して、同じランクの同じ別棟に実装できます。 離散化のための異なるコーディングコードは、ソリューションに設定された目標、є4ビット数の観点から、異なるランク、または最適なものにすることができます。 さらに、マイクロコントローラーの倉庫で提案された技術ソリューションを実装することで、高い技術的成果も保証されます。マイクロコントローラーのコマンドシステムには、4ビットの数値(ニップバイト)で動作するコマンドが自動的に含まれます。 Таким чином, заявляється технічне рішення генератора DTMF сигналів дозволяє забезпечити високий технічний результат, пов'язаний зі зменшенням кількості схемних елементів, а також забезпечує універсальність при реалізації генератора DTMF сигналів як загальнодоступними апаратними засобами, так і у складі багатофункціональних мікроконтролерів, що визначає високу економічну ефективність技術的な解決策。 DTMF сигналів включає перетворювач 1 кодів DTMF сигналів в послідовності цілих чисел, дільник 2 задає частоти генератора DTMF сигналів з регульованим коефіцієнтом поділу, перетворювач 3 кодів DTMF сигналів в код коефіцієнт поділу, перший накопичувальний суматор 4, перший фіксуючий регістр 5, перше запам'ятовуючий пристрій別のメモリデバイス7、別の固定レジスタ8、別のアキュムレータ加算器、バッグ加算器10、デジタル-アナログ変換器11。DTMF信号発生器の動作は、DTMF信号生成方法の実施に基づいて示されている。 арительно на підставі виразів (1.4, 1.6) і технічних даних, зокрема задає частоти пристрою, де буде реалізований пропонований спосіб, розраховуються послідовності цілих чисел, що визначають відповідні коди кутів дискретизації, і коди коефіцієнтів поділу для дільника 2 задає частоти генератора DTMF сигналів з регульованим коефіцієнтом поділу, які записуються у відповідні осередки областей пам'яті перетворювача 1 кодів DTMF сигналів у послідовності цілих чисел і перетворювача 3 кодів DTMF сигналів у коди коефіцієнтів поділу, також попередньо розраховують дискретні значення відповідних функцій синуса, кількість яких визначається числом дискретів т, і записуютьメモリデバイス6および7は、DTMF信号を生成するときに、ジェネレータの入力である1および3リピーターの入力で、DTMF信号の1時間後に、生成されるDTMF信号のコードを設定します。コード、初期係数は、dіlnik2のリピーター3podіluの出力で設定され、同時にdіlnik2セットの出口で設定されます サンプルのTaktova頻度は定期的であり、周期的、p。Vidpovіdovіdi頻度サンプル、リバーバシア1の永続的なささやき、名前の数の腐りやすいSumer、および他の9つのдвійковічисла、щовходять послідовність цілих чисел, відповідних складовим DTMF сигналу, результати накопичувального підсумовування подаються з виходів накопичувальних суматорів на входи відповідних фіксують 8 виходів фіксуючих регістрів 5 і 8 результати накопичувального підсумовування, з періодом, що відповідає тактовій частоті дискретизації, надходять on the other inputs to the inputs ofストレージ加算器4と9、およびストレージ加算器6​​と7への入力への入力の入力に、入力ストレージDTMF信号の副鼻腔の離散値のアドレスaを設定し、入力DTMFのディスクリートストレージ値のメモリストレージデバイス6および7の サブバッグ加算器10の入力に行く信号。その出力で、離散双方向DTMF信号が確立され、これは、DTMF正弦波信号のデジタル-アナログ段の入力に行くことである。これは、DTMF信号の入力コードに有効です。 DTMF信号の整数シーケンスへのコンバーター1コード(図1)は、図2に示すビューで変更でき、コードをDTMF信号から整数シーケンスに変換します。これには、キーイング12の添付、プログラミング記憶デバイスが含まれます。 1 DTMF generator 3. сигналів ілюструється далі на конкретному прикладі реалізації заявляється способу в телефонному тонально-частотному номеронабирателе.Попередньо на підставі виразів (1.4, 1.6) і технічних даних розраховуються послідовності цілих чисел, що визначають відповідні коди кутів дискретизації, і коди коефіцієнтів поділу для дільника2даєчастотисигналу以下の係数による規制。 この方法の実装には同じタイプの拡張が含まれますが、特定のアプリケーションでの作業を説明するために、トーンパルスダイヤラで「7」キーを押してDTMF信号を生成する方法の実装が実行されます。 。 設定されている発電機の周波数として、電話技術で最も広く使用されている水晶周波数が設定されており、FOSC自体=3579545Hzです。 「7」キーを押すと、1209 Hzの上限(収納)周波数と852 Hzの下限(行)周波数からDTMF信号が送信されます。 DTMF信号は2つの周波数を同時に送信するため、rozpodіlの係数はより高い-より高い周波数に対して許可され、サンプリングカットの2番目のコードは最大(1,6)に近いまで実行可能です。最大値-16、これは4以下で実装する必要があります。 このように、F OSC = 3579545 Hzで、副鼻腔の離散値の数m = 128、2周波数タイマーの細分割係数の値が設定されます。これにより、DTMF信号発生器が調整可能な細分割係数Kに設定されます。 、低周波数の場合K 852/1209 =7.312。離散化のコーディングコードの助けを借りて、同じ方法で整数のシーケンスに置き換えられます10/11і7/ 8.10.375 =(10x + 11y )/(x + y)、実際にはK 1209/852 \ u003d 10.3757.312 \ u003d(7x + 8y)/(x + y)、実際にはK 952/1209 \ u003d 7.313、(x + y )\ u003d 16.このようにして、10.375は10x10回と11x6回の定期的に繰り返される数字のシーケンスに置き換えられ、7.312は7x11回と8x5回に置き換えられます。
このようにして、DTMF信号コードに対応する16個のテーブルが開かれ、0、1、2 ... 9、*、#、A、B、C、Dがプログラムされたアドオンのメモリに書き込まれます。 13(コードを整数のシーケンスでDTMFシンボルに変換します)。たとえば、ジェネレータの入力で「7」を1時間押すと、DTMF信号がDTMFのダブルコードに設定されます。信号「7」(0111)は、DTMF信号podіlukdの3コードをdilnik 2に変換し、調整された係数podіlでジェネレーターの周波数を設定します。dilnik2の出力では、サンプリングのクロック周波数がF t=Fに設定されます。 OSC /KD。 信号のDTMFコードは、プログラムされたメモリ13の最上位のアドレス入力(整数のシーケンスでのDTMF信号コードの変換)とそこに1時間存在するDTMF信号にも配置する必要があります。 Керований пристрій 12, виконаний, наприклад, у вигляді лічильника (перетворювач кодів DTMF сигналів у послідовності цілих чисел), під впливом тактових сигналів з частотою циклічно змінює своє значення на паралельних виходах послідовно від 0000 до 1111, змінюючи відповідно значення адресних входів молодших розрядів програмованого запам '私が13を追加したもの(整数のシーケンスでのDTMF信号コードの変換)、プログラムされた記憶の出力で13を追加、クロックサンプリング周波数は8桁(バイト)の数値であり、これを使用してテーブル化することができます最上位1バイト(最上位)数字の厄介な形、ヤキのポンド、マシュマロ、算術のコア、クタサンプルのコア、VidpovіdVerkhniy(Stovptzi)周波数、および仲間Chotiri Rozrai、フォームサンプリングレートコード、下位(行)頻度、chotyri桁 ANI、Vidpovlyを表1に追加し、プロ配線の副官として、13(re -​​rhiza codmer dtmf signal in the post-provable numbers)を添付して、vedisの4のvidpovyストレージサマーに手頃な価格で入力します。 m(この場合はm = 128)までの周波数の周波数の、追加の固定レジスタ5と8および7の動作と固定双方向正弦波ウェアハウスDTMF信号の双方向離散値は、サブバッグ加算器10の双方向入力。 DTMF信号発生器は、グローバルな技術仕様、説明に基づいて実装できます。次に例を示します。 Dovіdnik/赤用。 B.M. ファイズラエバ、B.V。 タラブレナ。 --M .: Radio i zvyazok、1986年。DTMF信号の3つのコードを変換する場合、たとえば、永久メモリデバイス155PE 3(p。343)のマイクロ回路を見ると、係数のコードが壊れている可能性があります。ページに記載されています。 108累積加算器の実装については、p。 114. DTMF信号発生器の方法が要求されています。これも、MicrochipInc.の技術仕様に基づいて実装されています。 (pic16f628タイプの8ビットシングルチップマイクロコントローラ)、「Kadran」社(ウクライナ、Zaporizhzhya)によって製造されたパルストーン電話ダイヤラ「Kadran--NKT-01」の倉庫。 コマンドシステムとマイクロコントローラノードの内部接続は、ProkopenkoB.Yaによって記述されています。 シングルチップマイクロコントローラ。 Dodeka、2000、ISBN8-87835-056-4. DTMF信号のパラメータの説明は、たとえば、次の場所に記載されています。集積回路:電話用のマイクロ回路。 Vip.1。 -M:Dodeka、1994、256ページ。 – ISBN-5-87835-003-3。、p。 12、13。

フォーミュラビナホドゥ

1. Спосіб генерації двотональних частотних (DTMF) сигналів, що включає вибір першого і другого кодів кутів дискретизації, відповідних першої та другої частотам складових DTMF сигналу, накопичувальне підсумовування окремо першого та другого кодів кутів дискретизації з відповідно періодично фіксуються періодом, відповідним тактовим і другим результатами накопичувального підсумовування, отримання першого та другого дискретних значень складових DTMF сигналу, що зберігаються в адресно розташованих осередках відповідних таблиць дискретних значень складових DTMF сигналу, шляхом зчитування з відповідних таблиць за адресами, відповідними результатами накопичувального підсумовування дисків значень складових DTMF сигналу для отримання третього дискретного значення, DTMF信号の値は何ですか、倉庫の最初の離散値と他の離散値の違いは何ですか?DTMF信号、倉庫テーブルの離散値の中央のアドレス可能な分布で取得されるもの それらのDTMF信号、.2。 累積和の結果を形成する数列の平均値が数の算術平均であるという事実に基づく項目1の方法3。 考慮される請求項1に記載の方法は、累積加算の最初の結果および他の結果を周期的に固定することは、異なるDTMF信号に対して異なる、クロック周波数およびサンプリングに一致する周期で実行されることである。 DTMF信号発生器。これには、第1のストレージ加算器、第1の固定レジスタ、第1のストレージ加算器、第1のストレージ加算器、第1のストレージアドオンの入力を備えた第1のストレージ加算器、および最初のストレージ加算器、アタッチメントがバッグ加算器の入力の1つに接続されている最初のメモリ加算器、別の固定レジスタの入力によるデータの別の累積加算器の出力、入力によるデータの別の固定レジスタの出力別のアタッチメントの、および別の累積加算器の入力の1つ、zamem'yatovoyuho pristroy z'ednanyと、サブバッグ加算器のもう1つの入力、サブバッグ加算器の出力とデジタル入力の-アナログコンバータ。 ля, вихід якого є виходом генератора DТМF сигналів, який відрізняється тим, що генератор DTMF сигналів додатково містить перетворювач кодів DTMF сигналів у послідовності цілих чисел, дільник задає частоти генератора DTMF сигналів з регульованим коефіцієнтом поділу, перетворювач кодів DTMF сигналів код коефіцієнта поділу, причому перший вихід перетворювача кодів DTMF сигналів у послідовності цілих чисел з'єднаний з іншим входом першого накопичувального суматора, другий вихід перетворювача кодів DTMF сигналів у послідовності цілих чисел з'єднаний з іншим входом другого накопичувального суматора, вихід дільника задає частоти генератора DTMF сигналів з регульованим коефіцієнтом поділу一連の整数でのDTMF信号コードの変換、および最初の固定レジスタのクロック入力と別のロッキングレジスタのクロック入力 DTMF信号トーラス、DTMF信号コードを整数のシーケンスの入力(DTMF信号発生器の入力)を使用して細分割係数のコードに変換する入力。 【請求項5】前記メモリがDTMF信号の数、領域から形成されるセラミックプログラムメモリデバイスからの整数のビープ音のシーケンスでDTMF信号のコードを変更するように設計される、請求項4に記載のDTMF信号発生器。同じDovzhinіの投稿によって強化された記憶の数-Pam'yatіの数のthestastens、Vikonaniなので、Odniy Pami'yati Snobyのものでは、数は初めてであり、他の避難所では、累積加算器を格納している数値の数、およびメモリ領域とメモリルームの選択を個別に制御できるため、メモリデバイスのプログラミングが可能です。

ロシア連邦の電話網における現代のデジタル交換の世界では、ダイヤルで信号を送信する豊富な周波数方式が徐々に拡大しており、これは英語の略語DTMF(Dual-Tone Multiple-Frequency)で示されています。 ダイヤルでの信号伝送システムの別の名前は、別の英語の用語であるTouch-None(トーンダイヤル)に置き換えられています。 この方法は1960年に開発されましたが、実際には、デジタル(電子)自動電話交換機の世界で80年代に拡大し始めました。

皮膚の制御に信号を送信するこの方法では、勧告Q.23 ITU-T「キーパッド付き電話の技術的特徴」に従って、番号の桁の高周波数信号が2つのトーンから加算されます。ダイヤル」。

DTMF周波数が一致していません。 Tseは、周波数を1つのディルニック全体で制御できないことを意味します。 たとえば、1200Hzと1600Hzの周波数は400Hzの周波数の高調波(3x400=1200と4x400=1600)であり、697Hzと770Hzの周波数は不調和です。

皮膚信号には2つの周波数が含まれています。1つは低い周波数グループから選択され、もう1つは高い周波数グループから選択されます。

送信される情報と周波数の間の周波数は、実験室ユニットのフロントパネルの表に示されています。

600オームのバイアスに切り替わるデュアル周波数信号の伝送レベルは、次のようになります。低周波数グループの場合-マイナス6dBmO±2dB、高周波数グループの場合-マイナス3dBmO±2dB。 信号全体の周波数の上位グループの周波数レベルは、下位グループの周波数レベルを2±1dB上回っています。 最上位のすべての周波数ウェアハウスの合計レベルは、下位グループの周波数レベルよりも20dB低くなります。

たとえば、信号の通常の受信が原因であると考えてください。2つの周波数の信号の存在。一方は下のグループから選択され、もう一方は上のグループから選択されます。 周波数は、1.8%を超える公称値の影響を受けません。 2つの周波数の皮膚レベルは、マイナス7とマイナス30dBmOの境界にあります。 等しい2つの周波数の差は3dBを超えません。 周波数信号の三価性は40ミリ秒未満です。

インストールを通知する前に、次の手順に従ってください。

スイッチS6を下の位置に切り替えます。

S13を上の位置に切り替えます。

上下の周波数グループのオシレーターを「Vimk。」の位置に設定します。

アナログキー(AK)のジャンパーは「Uv_mk」の位置に取り付けられています。

発電機と抵抗器R3の出力電圧を調整するためのノブを矢印の反対方向に止まるまで回します。

dtmf信号の形成

1.1インストールを有効にします。

1.2オシロスコープをコントロールポイントKT3に接続します。

1.3周波数の上位グループのジェネレーターをオンにし、ジャンパーのキーの1つを押すと、それがグループの周波数からのものであるかどうかが選択されます。

1.4発電機の出力電圧を調整するためのノブを回して、信号の振幅をKT3(0.5ボルト)に設定します。

1.5オシロスコープの入力を制御点KT4に切り替えます。 KT4を0.5Vの電圧に設定して、低周波数グループのジェネレーターに対して手順1.3、1.4を繰り返します。

ノート: 上記の操作の結果、加算器の入力は、振幅が等しい高周波数グループと低周波数グループの信号を受信しました。 出力電圧を調整するためのtsikhrivnіvノブを取り付けた後、発電機を固定します。

1.6オシロスコープの入力をコントロールポイントKT7に切り替えます。 DTMF信号の出力電圧を調整するための抵抗器(R3)のノブを回して、KT7の電圧を0.5ボルトに設定します。

ノート: 上記の操作の結果、途切れることのない2トーン信号が受信機の入力に送信され、受信したシンボルのインジケーターにシンボルが表示されます。これは、上下の周波数のジェネレーター周波数の組み合わせを示します。グループ、明らかにテーブルまで。 受信および認識された信号の表示-受信機の出力STDでの信号の存在(ライトダイオードの照明)。

      周波数の上位グループと下位グループのスイッチング周波数は、受け入れられるシンボルのこれらの周波数の組み合わせのタイプに応じて変更されます。

Vіdminnіの機能:

  • 異なるパルス幅変調(PWM)による正弦波信号の生成
  • さまざまな正弦波信号を1つのDTMF信号に統合
  • movアセンブラとCの外部コード
  • STK500で寝台作業用に拡張
  • プログラムコードサイズ260バイト/定数テーブルサイズ128バイト
  • 表形式の変換方法とのマッチング

エントリ

このドキュメントでは、パルス幅変調(PWM)ブロックとスタティックRAMを置き換えることができる任意のAVRマイクロコントローラーからDTMF信号(デュアルトーンリッチ周波数信号)を生成するための手法について説明します。 これらの信号はテレフォニーで広く使用されていることが知られており、電話のダイヤルボタンを押すと悪臭が聞こえます。 DTMF信号を正しく生成するには、低周波数(fb)と高周波数(fa)の2つの周波数をオーバーレイする必要があります。 表1は、さまざまなキーを押したときに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 =770Hzとfa=1336Hzがシフトすることを示しています。 異なる周波数の2つの正弦波信号を組み合わせた結果、DTMF信号が確立されます

振幅の変化 K = Ab / Aa週末の合図

原則dії

vikoristannyaパルス幅変調についてのKrimzagalnyhvіdomostiは、パルス幅変調によって正弦波信号を生成する方法をさらに示します。 不快な段落では、PWMの基本周波数をさまざまな周波数から取得する方法について説明します。 理論的基礎のレビューに続いて、DTMF信号発生器の説明が与えられます。 正弦波信号の生成

高VHおよび低VLストレスレベルの観点から休耕すると、出力SHIMでの平均値が変化します。 その結果、VAV電圧の一定のバランスが生成されます。 Tiny 2は、パルス幅変調からの信号を示しています。


図2-等しい定電圧の生成

電圧の値は、virazによって決定されます。

(3)

正弦波信号を生成することができます。パルス幅変調によって生成される電圧の平均値によって、PWMのスキン周期が変化します。 高レベルと低レベルの間のSpivvіdnoshenniaは、vіdpovіdnіstからvіdpovіdny時間のvіdnа正弦波信号電圧まで設定できます。 プロセス全体がリトル3に示されています。 WIMの有効期限は、皮膚の期間について計算され、変換テーブル(TP)に記録されます。

図3は、主正弦波信号の周波数と振動数の重なりも示しています。 振動の数(Nc)が大きいほど、結果の信号のモデリングの精度が高くなります。

(4)

PWM周波数 8ビット拡張では、タイマーの終了値(チャートの上部)は0xFF(255)です。 なぜなら タイマーは直線と逆直線でカウントダウンし、指定された値が抑制される場合があります。 したがって、PWM周波数は、タイマーf CKのクロック周波数の下で510倍の目盛りで計算できます。したがって、タイマーのクロック周波数が8 MHzの場合、結果のPWM周波数は15.6kHzになります。


図3-PWM勝利による正弦波信号の生成

正弦波信号の周波数を変更する

正弦波振動は、変換テーブルから順番にではなく、1つを介して読み取られることが許容されます。 この場合、同じ周波数の読み取り振動で、サブ周波数の信号が生成されます(div。図4)。


図4-サブ周波数の結果(XSW = 2)

類推すると、スキンの意味が異なるという意味ではなく、3番目、4番目、5番目のスキン(たとえば、カットの幅は3、4、5 ...)などです。 範囲内のNc周波数を生成できます。 高周波数の場合、結果の波形は正弦波ではないことに注意してください。 変換の表による作物の幅は重要です X SW、de

(5)

PWMの次の期間(タイマーが並べ替えられたとき)のTPの現在の位置の計算は、追加の変数(6)としてカウントされます。 位置の新しい値 X LUT私の前に横になります X "LUT作物の幅を追加して X SW

(6)

DTMF信号除去のための周波数の折りたたみ

DTMF信号は、追加のウイルス(1)および(2)に対して生成できます。 簡単にするために、係数の算術値は0.75に等しくなるため、算術関数は論理的な失敗に置き換えられます。 ビラーゼの改善(6)により、PWM制御のより正確な値をビラーゼに対して計算できます:

しかし、何の改善のために X LUTa=X "LUTa + X SWa ,X LUTb=X "LUTb + X SWb、残りを書きます

DTMFジェネレーターの実装

このアドオンは、8ビットWIM(OC1A)の可変出力を備えたDTMFトーンジェネレーターと、スキンが7ビット(n)を示す正弦関数(Nc)の値が128個のバイアルを備えたテーブルを示しています。 手順は、どのように休耕するかを示し、変換テーブルの要素を計算する方法も示します。

(9)

7ビットの選択は、高周波数と低周波数の信号値の合計が1バイト未満になるものです。 DTMFトーンの新しいセットをサポートするには、表1からスキンDTMF周波数の8つの値を計算し、それらを変換テーブルに入力する必要があります。

より高い精度を達成するために、次の解決策に到達しました:ウイルス5について計算された値は合計5バイトを必要とします。 8バイトすべてのバリエーションの場合、丸め誤差の変更を可能にするために、値に8を掛けます。変換テーブルのインジケーターも同じ方法で記録されます。 エール、このように、8倍の値を記憶するには2バイトが必要です。 Tseは、正弦波の値のインジケーターとしてこれらのバイトを選択する前に、3つの右手呼び出しとNc置換(論理的にはNc-1を掛ける)からのモジュールの操作を追加する必要があることを意味します。


図5-STK500まで接続するためのモジュールのスキーム

PWM信号はOC1A(PD5)の出力で形成されます。 追加の出力フィルターは、正弦波形に対してより敏感です。 PWM周波数を変更すると、周波数応答が急なフィルターを停止する必要がなくなり、良好な結果が得られる場合があります。

キーボードの接続は小さい1で示されています。キーボードの操作は、押されたボタンを割り当てることができるように編成する必要があります。 そのようなアルゴリズムの背後にあるTsemozhebuti vikonano:

  1. 押されたキーの指定された行
    • 最年少のものをポートBの出口に設定し、梁を取り付けます。 「0」
    • プルされている接続された抵抗を使用してポートBを入力に送信するように古いものを構成します。
    • ボタンが押された列は、梁の後ろの上級ゾシタのランクとして指定されます。 「0」
  2. 押されたキーの指定
    • ポートを出力に送信してログを挿入するように古いものを構成します。 「0」
    • プルアップ抵抗を接続して、最も若いポートを入力に設定します
    • ボタンが押されたステップは、ビームからの若いゾシットの放出として示されています。 「0」

注:STK200では、抵抗はPORTBソケットの出力とマイクロコントローラーBP5、PB6、およびPB7(分割回路STK200)の出力の間に直列に接続されています。 これは、キーボードがPORTBジャックに接続されているために問題があることを示しています。

割り当てられた押されたキーのプログラムの下でのMalyunok6の実例となる作業。 ボタンを押すと、間隔の自明性が表示されます。 DTMトーンの2つの正弦波のPWM設定を計算するための可変周波数値を変換する手順。 リセットを処理する手順を図7および8に示します。

この手順では、PWMアドバンス周期タイマーの出力と一致する値を計算します。 変換手順は、列を並べ替え、変換テーブル内の次の選択の値の位置を計算し、そこで値を読み取ることです。

変換テーブルでの選択の位置はパルスの周波数によって決定され、大文字の場合、インパルスの周波数は生成される周波数によって決定されます。

タイマーオフセットレジスタに書き込まれる残差値は、式(7)のバリエーションに割り当てられ、両方のDTMF周波数の振動の値が削除されます。


図6-メインプログラムのブロック図

Vіdminnіの機能

  • 異なるパルス幅変調(PWM)による正弦波信号の生成
  • さまざまな正弦波信号を1つのDTMF信号に統合
  • movアセンブラとCの外部コード
  • STK500で寝台作業用に拡張
  • プログラムコードサイズ260バイト/定数テーブルサイズ128バイト
  • 表形式の変換方法とのマッチング

エントリ

このドキュメントでは、パルス幅変調(PWM)ブロックとスタティックRAMを置き換えることができる任意のAVRマイクロコントローラーからDTMF信号(デュアルトーンリッチ周波数信号)を生成するための手法について説明します。 これらの信号はテレフォニーで広く使用されていることが知られており、電話のダイヤルボタンを押すと悪臭が聞こえます。 DTMF信号を正しく生成するには、低周波数(fb)と高周波数(fa)の2つの周波数をオーバーレイする必要があります。 表1は、さまざまなキーを押したときに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 =770Hzとfa=1336Hzがシフトすることを示しています。 異なる周波数の2つの正弦波信号を組み合わせた結果、DTMF信号が確立されます

振幅の変化K=A b / A a

原則dії

vikoristannyaパルス幅変調についてのKrimzagalnyhvіdomostiは、パルス幅変調によって正弦波信号を生成する方法をさらに示します。 不快な段落では、PWMの基本周波数をさまざまな周波数から取得する方法について説明します。 理論的基礎のレビューに続いて、DTMF信号発生器の説明が与えられます。 正弦波信号の生成

高VHおよび低VLストレスレベルの観点から休耕すると、出力SHIMでの平均値が変化します。 その結果、VAV電圧の一定のバランスが生成されます。 Tiny 2は、パルス幅変調からの信号を示しています。


図2.定電圧の生成

電圧の値は、virazによって決定されます。

(3)

正弦波信号を生成することができます。パルス幅変調によって生成される電圧の平均値によって、PWMのスキン周期が変化します。 高レベルと低レベルの間のSpivvіdnoshenniaは、vіdpovіdnіstからvіdpovіdny時間のvіdnа正弦波信号電圧まで設定できます。 プロセス全体がリトル3に示されています。 WIMの有効期限は、皮膚の期間について計算され、変換テーブル(TP)に記録されます。

図3は、主正弦波信号の周波数と振動数の重なりも示しています。 振動の数(Nc)が大きいほど、結果の信号のモデリングの精度が高くなります。

(4)

PWM周波数 8ビット拡張では、タイマーの終了値(チャートの上部)は0xFF(255)です。 なぜなら タイマーは直線と逆直線でカウントダウンし、指定された値が抑制される場合があります。 したがって、PWM周波数は、タイマーf CKのクロック周波数の下で510倍の目盛りで計算できます。したがって、タイマーのクロック周波数が8 MHzの場合、結果のPWM周波数は15.6kHzになります。


Malyunok3.PWMスイッチによる正弦波信号の生成

正弦波信号の周波数を変更する

正弦波振動は、変換テーブルから順番にではなく、1つを介して読み取られることが許容されます。 この場合、同じ周波数の読み取り振動で、サブ周波数の信号が生成されます(div。図4)。


図4.結果の周波数の半分以下(XSW = 2)

類推すると、スキンの意味が異なるという意味ではなく、3番目、4番目、5番目のスキン(たとえば、カットの幅は3、4、5 ...)などです。 範囲内のNc周波数を生成できます。 高周波数の場合、結果の波形は正弦波ではないことに注意してください。 変換の表によるカットの幅は、XSWdeとして重要です。

(5)

PWMの次の期間(タイマーが並べ替えられたとき)のTPの現在の位置の計算は、追加の変数(6)としてカウントされます。 X LUT位置の新しい値は、XSWの幅を追加してX位置"LUTの前に配置されます。

(6)

DTMF信号除去のための周波数の折りたたみ

DTMF信号は、追加のウイルス(1)および(2)に対して生成できます。 簡単にするために、係数の算術値は0.75に等しくなるため、算術関数は論理的な失敗に置き換えられます。 ビラーゼの改善(6)により、PWM制御のより正確な値をビラーゼに対して計算できます:

議論のために、X LUTa \ u003d X "LUTa + X SWa、X LUTb \ u003d X" LUTb + X SWb、残りを書き留めます

DTMFジェネレーターの実装

このアドオンは、8ビットWIM(OC1A)の可変出力を備えたDTMFトーンジェネレーターと、スキンが7ビット(n)を示す正弦関数(Nc)の値が128個のバイアルを備えたテーブルを示しています。 手順は、どのように休耕するかを示し、変換テーブルの要素を計算する方法も示します。

(9)

7ビットの選択は、高周波数と低周波数の信号値の合計が1バイト未満になるものです。 DTMFトーンの新しいセットをサポートするには、表1からスキンDTMF周波数の8つの値を計算し、それらを変換テーブルに入力する必要があります。

より高い精度を達成するために、次の解決策に到達しました:ウイルス5について計算された値は合計5バイトを必要とします。 8バイトすべてのバリエーションの場合、丸め誤差の変更を可能にするために、値に8を掛けます。変換テーブルのインジケーターも同じ方法で記録されます。 エール、このように、8倍の値を記憶するには2バイトが必要です。 Tseは、正弦波の値のインジケーターとしてこれらのバイトを選択する前に、3つの右手呼び出しとNc置換(論理的にはNc-1を掛ける)からのモジュールの操作を追加する必要があることを意味します。


図5.STK500まで接続するためのモジュール図

PWM信号はOC1A(PD5)の出力で形成されます。 追加の出力フィルターは、正弦波形に対してより敏感です。 PWM周波数を変更すると、周波数応答が急なフィルターを停止する必要がなくなり、良好な結果が得られる場合があります。

キーボードの接続は小さい1で示されています。キーボードの操作は、押されたボタンを割り当てることができるように編成する必要があります。 そのようなアルゴリズムの背後にあるTsemozhebuti vikonano:

  1. 押されたキーの指定された行
    • 最年少のものをポートBの出口に設定し、梁を取り付けます。 「0」
    • プルされている接続された抵抗を使用してポートBを入力に送信するように古いものを構成します。
    • ボタンが押された列は、梁の後ろの上級ゾシタのランクとして指定されます。 「0」
  2. 押されたキーの指定
    • ポートを出力に送信してログを挿入するように古いものを構成します。 「0」
    • プルアップ抵抗を接続して、最も若いポートを入力に設定します
    • ボタンが押されたステップは、ビームからの若いゾシットの放出として示されています。 「0」

注:STK200では、抵抗はPORTBソケットの出力とマイクロコントローラーBP5、PB6、およびPB7(分割回路STK200)の出力の間に直列に接続されています。 これは、キーボードがPORTBジャックに接続されているために問題があることを示しています。

割り当てられた押されたキーのプログラムの下でのMalyunok6の実例となる作業。 ボタンを押すと、間隔の自明性が表示されます。 DTMトーンの2つの正弦波のPWM設定を計算するための可変周波数値を変換する手順。 リセットを処理する手順を図7および8に示します。

この手順では、PWMアドバンス周期タイマーの出力と一致する値を計算します。 変換手順は、列を並べ替え、変換テーブル内の次の選択の値の位置を計算し、そこで値を読み取ることです。

変換テーブルでの選択の位置はパルスの周波数によって決定され、大文字の場合、インパルスの周波数は生成される周波数によって決定されます。

タイマーオフセットレジスタに書き込まれる残差値は、式(7)のバリエーションに割り当てられ、両方のDTMF周波数の振動の値が削除されます。


図6.メインプログラムのブロック図


図7.タイマーリセット手順のフローチャート


Baby8.GetSampleサンプルを読み取る手順のフローチャート

出版物:www.cxem.net

他の記事に驚嘆する分割。

不器用なアタッチメントのトピックは、同じATtiny2313のDTMF信号発生器によって選択されました。 知らない人のために、DTMF(Dual-Tone Multi-Frequency)は、電話番号をダイヤルするために使用されるデュアルトーンのリッチ周波数アナログ信号です。 ウィキペディアを読んでください。

このようなアタッチメントを選択する決定は、マイクロコントローラーの助けを借りて折りたたみ式アナログ信号を販売しようとする人々によって決定されました。 どの別棟の実際の建設の計画はありませんでしたが、誰がそのような別棟から利益を得ることができましたか? Koristiruetsya!

DTMFジェネレーターID


それでは、私たちの中に何があるか見てみましょう。

信号はWIMの助けを借りて形成され、それを送信するには、zastosovuetsyaRC-lancetへのフォームが必要になります。 その結果、RCランセットの後、次の信号を受信します(ボタン6が押されました)。

コリス信号の曲線全体によると、高周波のくしが期待できます(周波数はより敏感なので、ノイズが発生しません)-RCランスロボット全体。 ラインをより滑らかにし、コンデンサの容量または抵抗のオペアンプを増やすことができます。これにより、コア信号の範囲が大幅に変化します。

信号のスペクトルに驚嘆し、他の2つの周波数の存在に切り替えます(PWMの周波数は空気の領域間を超えました)。その後、すべてが正常になります。アプリケーションは必要に応じて実用的です。

すぐに使えるソリューション

DTMF信号を生成およびデコードするタスクのために、準備されたソリューションがあります。 マイクロ回路でのデータシートスプライシングの軸。

DTMFジェネレーター
-DTMFデコーダー


P.S. ATtiny2313 ADCでDTMFデコーダーをオフにできるのは残念です! 何もありません、私はmezіobov'yazkovoprirobyで繰り返します。

(6 868回訪問、今日は1回訪問)

©2022androidas.ru-Androidのすべて