कार उत्साही लोगों के लिए पोर्टल

टोनल डीटीएमएफ सिग्नल का चिप जनरेटर। AVR पर डुअल टोन मल्टी-फ़्रीक्वेंसी (DTMF) जेनरेटर

इस एप्लिकेशन उदाहरण का पहला भाग एमएसपी430 माइक्रोकंट्रोलर का उपयोग करके डीटीएमएफ संकेतों की पीढ़ी का वर्णन करता है। इस मामले में उपयोग की जाने वाली सबसे महत्वपूर्ण विशिष्टताओं का स्पष्टीकरण दिया गया है, उपयुक्त एनालॉग फिल्टर का उपयोग करके आयताकार संकेतों का उपयोग करके साइनसॉइडल सिग्नल उत्पन्न करने के लिए सैद्धांतिक और गणितीय औचित्य दिए गए हैं। उदाहरण में एमएसपी430 माइक्रोकंट्रोलर पर विभिन्न टाइमर कॉन्फ़िगरेशन के आधार पर स्क्वायर वेव सिग्नल उत्पन्न करने के लिए परीक्षण किए गए डेमो प्रोग्राम भी शामिल हैं। अंतिम भाग एक सर्किट आरेख प्रदान करता है जो आपको आयताकार संकेतों से डीटीएमएफ सिग्नल उत्पन्न करने की अनुमति देता है।

2 डीटीएमएफ सिग्नलों की विशिष्टता

संक्षिप्त नाम DTMF का अर्थ "डुअल टोन मल्टी फ़्रीक्वेंसी" है और यह विभिन्न आवृत्तियों के साथ अंकों का प्रतिनिधित्व करने की एक विधि है ताकि उन्हें टेलीफोन लाइन जैसे एनालॉग संचार लाइनों पर प्रसारित किया जा सके। मानक विकसित करते समय, शर्त को ध्यान में रखा गया - सभी आवृत्तियों को "आवाज" सीमा में होना चाहिए, जिससे ट्रांसमिशन चैनल के लिए आवश्यकताओं को कम करना संभव हो गया। टेलीफोन नेटवर्क में, DTMF सिग्नल का उपयोग किसी नंबर को डायल करने और अन्य जानकारी देने के लिए किया जाता है। इस तथ्य के बावजूद कि पल्स डायलिंग विधि, जो मानक है, उदाहरण के लिए, जर्मनी में, अभी भी व्यापक रूप से उपयोग की जाती है, डायलिंग समय में काफी वृद्धि हुई है, जिससे संचार लाइनों का अनुत्पादक लोड हो रहा है। इसके अलावा, कई अतिरिक्त संचार सेवाएँ केवल टोन डायलिंग का उपयोग करके ही संभव हैं। जब DTMF विधि का उपयोग करके एन्कोड किया जाता है, तो संख्याएँ 0-9 और अक्षर A-D, */E और #/F दो आवृत्तियों के संयोजन होते हैं:

आवृत्ति 1209हर्ट्ज 1336हर्ट्ज़ 1477हर्ट्ज़ 1633हर्ट्ज़
697हर्ट्ज़ 1 2 3
770 हर्ट्ज 4 5 6 बी
852 हर्ट्ज 7 8 9 सी
941हर्ट्ज़ */इ 0 #/एफ डी

इस प्रणाली में, स्तंभ "ऊपरी" आवृत्ति समूह (हाई-समूह: 1209-1633 हर्ट्ज) से आवृत्ति का प्रतिनिधित्व करता है और पंक्ति "निचले" आवृत्ति समूह (लो-समूह: 697-941 हर्ट्ज) से आवृत्ति का प्रतिनिधित्व करती है। हार्मोनिक्स के प्रभाव को बाहर करने के लिए टोनल आवृत्तियों को इस तरह से चुना जाता है। आवृत्तियाँ एक-दूसरे की गुणज नहीं हैं और कोई भी DTMF आवृत्ति अन्य आवृत्तियों को जोड़कर या घटाकर प्राप्त नहीं की जा सकती। डॉयचे टेलीकॉम नेटवर्क पर डायल करने के लिए निम्नलिखित विशिष्टताओं को पूरा करना आवश्यक है (ज़ुलासुंग्सवोर्सक्रिफ्ट डेस बुंडेसमटेस फर पोस्ट अंड टेलीकॉम्युनिकेशन, बीएपीटी 223 जेडवी 5 (संघीय डाक और दूरसंचार मंत्रालय की आधिकारिक विशिष्टता) से लिया गया है):

3 डीटीएमएफ सिग्नल उत्पन्न करना

जैसा कि ऊपर बताया गया है, डीटीएमएफ सिग्नल एनालॉग होते हैं और इसमें दो स्वतंत्र साइनसॉइडल सिग्नल होते हैं। इस प्रकार, ऐसे सिग्नल केवल डिजिटल रूप से उत्पन्न करना संभव नहीं है। डिजिटल सिग्नल को एडीसी और/या एनालॉग फिल्टर का उपयोग करके आवश्यक साइनसॉइडल रूप में परिवर्तित किया जाना चाहिए।

3.1 वर्ग तरंग संकेतों के साथ पीढ़ी

यदि डीटीएमएफ सिग्नल उत्पन्न करने के लिए वर्गाकार तरंगों का उपयोग किया जाता है, तो सॉफ्टवेयर और हार्डवेयर आवश्यकताएं न्यूनतम होती हैं। अवधि T वाले किसी भी निरंतर संकेत को फूरियर श्रृंखला द्वारा दर्शाया जा सकता है जिसमें साइनसॉइड और कोसाइन तरंगों का अनंत योग निम्नानुसार होता है:

जहां a0/2 सिग्नल का स्थिर घटक है। सबसे कम कोणीय आवृत्ति (w0) वाले योग तत्व को मौलिक (मौलिक) हार्मोनिक कहा जाता है, बाकी ओवरटोन या उच्च हार्मोनिक्स होते हैं।

माइक्रोकंट्रोलर का उपयोग करके कार्यान्वित किया जाने वाला सबसे सरल निरंतर सिग्नल एक मेन्डर है, फूरियर श्रृंखला जिसके लिए फॉर्म है:

कुल सिग्नल में प्रत्येक आवृत्ति घटक का योगदान आयाम स्पेक्ट्रम द्वारा सबसे अच्छा प्रदर्शित होता है (चित्र 2 देखें):


चावल। 2: वर्गाकार तरंग का आयाम स्पेक्ट्रम

एनालॉग फिल्टर का उपयोग करते समय, डीसी घटक और उच्च हार्मोनिक्स को प्रभावी ढंग से दबा दिया जाता है, जबकि आउटपुट पर हमारे पास मूल वर्ग तरंग की आवृत्ति के बराबर आवृत्ति वाला एक साइनसॉइडल सिग्नल होता है।

3.2 मेन्डर पीढ़ी के लिए सॉफ्टवेयर

मेन्डर जेनरेशन प्रोग्राम को निम्नलिखित आवश्यकताओं को पूरा करना होगा:

  • दो स्वतंत्र आयताकार संकेतों को संश्लेषित करने में सक्षम होना।
  • सिग्नलों को अलग करने के लिए, क्रमशः "ऊपरी" (हाई-ग्रुप) और "निचले" (लो-ग्रुप) आवृत्ति रेंज से सिग्नल उत्पन्न करने के लिए दो आउटपुट पिन की आवश्यकता होती है।
  • सॉफ़्टवेयर को लगभग 65 एमएस - 100 एमएस की सीमा में सिग्नल की वांछित अवधि निर्धारित करने में सक्षम होना चाहिए।

एमएसपी430 श्रृंखला के माइक्रोकंट्रोलर में विभिन्न अंतर्निर्मित टाइमर होते हैं जो वर्गाकार तरंग सिग्नल उत्पन्न करने में सक्षम होते हैं। '31x/'32x परिवार दोनों वर्ग तरंग सिग्नल उत्पन्न करने के लिए 8-बिट टाइमर और टाइमर पोर्ट का उपयोग करता है। इस कार्यक्रम का परीक्षण 1.048 मेगाहर्ट्ज के बराबर एमसीएलके आवृत्ति पर किया गया था। '33x परिवार में टाइमर_ए स्वतंत्र रूप से दोनों आवश्यक सिग्नल उत्पन्न कर सकता है। दूसरा प्रोग्राम इस टाइमर का उपयोग मेन्डर्स उत्पन्न करने के लिए करता है और किसी भी एमसीएलके आवृत्तियों के साथ काम करता है। दोनों कार्यक्रमों पर नीचे विस्तार से चर्चा की जाएगी।

3.2.1 8-बिट टाइमर और टाइमर पोर्ट का उपयोग करके स्क्वायर वेव जेनरेशन

अंजीर पर. 3 डीटीएमएफ सिग्नल उत्पन्न करने के लिए आरंभीकरण प्रक्रिया का एक ब्लॉक आरेख दिखाता है। दो आवृत्तियों को संश्लेषित करने के लिए, टाइमर पोर्ट और 8-बिट टाइमर काउंटर का उपयोग किया जाता है। उनमें से प्रत्येक एक प्रोग्रामयोग्य गिनती रजिस्टर है, जो आवश्यक आवृत्तियों के सटीक संश्लेषण के लिए आवश्यक है। यदि टाइमर-पोर्ट काउंटरों को एक 16-बिट टाइमर में कैस्केड किया जाता है और एमसीएलके सिस्टम आवृत्ति से क्लॉक किया जाता है, तो उच्च-बैंड आवृत्तियों को उच्च सटीकता के साथ उत्पन्न किया जा सकता है। जब कोई रुकावट आती है, तो संबंधित आउटपुट टॉगल हो जाता है और दोनों 8-बिट काउंटर रजिस्टर रीसेट हो जाते हैं। अन्य कार्यों के लिए आंतरिक रजिस्टरों को सहेजने के लिए लोड किए गए मानों को रैम में दो वेरिएबल्स में संग्रहीत किया जाता है।

निचली बैंड आवृत्तियाँ 8-बिट टाइमर द्वारा उत्पन्न होती हैं। चूँकि इस टाइमर का काउंटर रजिस्टर 8 बिट चौड़ा है, केवल हर तीसरे व्यवधान के परिणामस्वरूप आवश्यक आउटपुट पिन पर एक स्तर परिवर्तन होता है, जिससे उसी काउंटर को आवृत्ति उत्पन्न करने की अनुमति मिलती है।

दो टाइमर-पोर्ट आउटपुट का उपयोग विभिन्न आवृत्तियों के दो मेन्डर्स बनाने के लिए किया जाता है।

चावल। 3 डीटीएमएफ सिग्नल उत्पन्न करने के लिए आरंभीकरण प्रक्रिया का फ़्लोचार्ट

आरंभीकरण प्रक्रिया केवल एक बार क्रियान्वित की जाती है। इसके पूरा होने के बाद, प्रेषित चरित्र का हेक्साडेसिमल मान वैश्विक चर से रैम में पढ़ा जाता है। दो तालिकाओं से उच्च और निम्न डीटीएमएफ टोन बनाने वाली दो आवृत्तियों के उत्पन्न होने के बाद, दोनों टाइमर की शुरुआत और शुरुआत की आवश्यकता होती है। संदेश की अवधि को "निचली" आवृत्ति के आधे-चक्रों की गणना करके नियंत्रित किया जाता है और एक अतिरिक्त तालिका से पढ़ा जाता है। इस प्रक्रिया के पूरा होने पर, आप मतदान समारोह में वापस आ जाते हैं। संबंधित इंटरप्ट रूटीन पोर्ट पिन को स्विच करते हैं। यह प्रक्रिया चित्र में दिखाई गई है। 4 और 5.

टाइमर-पोर्ट के कार्यों में केवल लॉग को ठीक करना शामिल है। पोर्ट के आउटपुट पर स्तर और रैम से काउंटर को फिर से लोड करना, जबकि 8-बिट टाइमर के संचालन में थोड़ी अधिक जटिल संरचना होती है: इंटरप्ट के प्रत्येक इनपुट को गिनती रजिस्टर द्वारा गिना जाता है। आउटपुट केवल तीन व्यवधानों के बाद ही स्थिति बदल सकता है। इसके अलावा, प्रत्येक आधे चक्र को भी गिना जाता है। अर्ध-चक्रों की एक निश्चित संख्या तक पहुंचने पर उत्पादन रुक जाता है।


चावल। 4 8-बिट टाइमर (लो-ग्रुप) से इंटरप्ट का ब्लॉक आरेख


चावल। 5 टाइमर-पोर्ट इंटरप्ट का ब्लॉक आरेख (हाय-ग्रुप)

; कस्टम परिभाषाएँ FLLMPY समान 32; 1.048 मेगाहर्ट्ज एफएलएल आवृत्ति गुणक टीसीएलके समकक्ष एफएलएलएमपीवाई*32768; टीसीएलके: एफएलएलएमपीवाई एक्स एफ क्वार्ट्ज डीएल ईक्यू 85; डीटीएमएफ सिग्नल अवधि (65..100 एमएस) LO_OUT 02 घंटे के बराबर; कम आवृत्ति आउटपुट HI_OUT 04 घंटे के बराबर; उच्च आवृत्ति आउटपुट RCOUNT eq r14; लंबाई काउंटर DTMF RTEMP eq r15; सेवा रजिस्टर.वैश्विक DTMF_NR ; रैम में वैश्विक चर; DTMF संख्या (0..F) के लिए; RAM परिभाषाएँ.सम .bss DTMF_TL ; यहां तक ​​कि पता Alignment.bss DTMF_TH .bss DTMF_NR ; रैम में वैश्विक चर; DTMF संख्या के लिए (0..F) .even ; 8-बिट टाइमर परिभाषाएँ TCCTL EQU 42H TCPLD EQU 43H TCDAT EQU 44H ; जेनेरिक पोर्ट टाइमर TPCTL eq 04bh के लिए परिभाषाएँ; टाइमर पोर्ट नियंत्रण TPCNT1 eq 04ch; टाइमर पोर्ट काउंटर 1 टीपीसीएनटी2 ईक्यू 04डीएच; टाइमर पोर्ट काउंटर 2 टीपीडी समान 04eh; टाइमर पोर्ट डेटा TPE eq 04fh; अनुमति टाइमर-पोर्ट.टेक्स्ट; DTMF आवृत्ति तालिकाएँ: तालिका में शामिल हैं; एक आधे चक्र के लिए एमसीएलके चक्रों की संख्या। ; "ऊपरी" आवृत्ति के लिए तालिका; सुधारात्मक संशोधन जोड़ा गया; इंटरप्ट DTMF_HI .word 0ffffh-(TCLK/(1336*2))+25 दर्ज करने के समय को ध्यान में रखना; 0 .शब्द 0ffffh-(TCLK/(1207*2))+28 के लिए उच्च आवृत्ति; 1 .शब्द 0ffffh-(TCLK/(1336*2))+25 के लिए उच्च आवृत्ति; 2 .शब्द 0ffffh-(TCLK/(1477*2))+24 के लिए उच्च आवृत्ति; 3 शब्दों के लिए ऊपरी आवृत्ति 0ffffh-(TCLK/(1207*2))+28 ; 4 .शब्द 0ffffh-(TCLK/(1336*2))+25 के लिए उच्च आवृत्ति; 5 .शब्द 0ffffh-(TCLK/(1477*2))+24 के लिए उच्च आवृत्ति; 6 .शब्द 0ffffh-(TCLK/(1207*2))+28 के लिए उच्च आवृत्ति; 7 के लिए ऊपरी आवृत्ति .शब्द 0ffffh-(TCLK/(1336*2))+25 ; 8 .शब्द 0ffffh-(TCLK/(1477*2))+24 के लिए उच्च आवृत्ति; 9 .शब्द 0ffffh-(TCLK/(1633*2))+22 के लिए उच्च आवृत्ति; ए .शब्द के लिए ऊपरी आवृत्ति 0ffffh-(TCLK/(1633*2))+22 ; बी के लिए ऊपरी आवृत्ति .शब्द 0ffffh-(TCLK/(1633*2))+22 ; C .word 0ffffh-(TCLK/(1633*2))+22 के लिए उच्च आवृत्ति; D .word 0ffffh-(TCLK/(1207*2))+28 के लिए उच्च आवृत्ति; * .शब्द 0ffffh-(TCLK/(1477*2))+24 के लिए ऊपरी आवृत्ति; # के लिए ऊपरी आवृत्ति; "निचली" आवृत्ति DTMF_LO के लिए तालिका .बाइट 0ffh-(TCLK/(941*2*3)); 0 .बाइट 0ffh-(TCLK/(697*2*3)) के लिए कम आवृत्ति; 1 .बाइट 0ffh-(TCLK/(697*2*3)) के लिए कम आवृत्ति; 2 .बाइट 0ffh-(TCLK/(697*2*3)) के लिए कम आवृत्ति; 3 .बाइट 0ffh-(TCLK/(770*2*3)) के लिए कम आवृत्ति; 4 .बाइट 0ffh-(TCLK/(770*2*3)) के लिए कम आवृत्ति; 5 .बाइट 0ffh-(TCLK/(770*2*3)) के लिए कम आवृत्ति; 6 .बाइट 0ffh-(TCLK/(853*2*3)) के लिए कम आवृत्ति; 7 .बाइट 0ffh-(TCLK/(853*2*3)) के लिए कम आवृत्ति; 8 .बाइट 0ffh-(TCLK/(853*2*3)) के लिए कम आवृत्ति; 9 .बाइट 0ffh-(TCLK/(697*2*3)) के लिए कम आवृत्ति; A .byte 0ffh-(TCLK/(770*2*3)) के लिए कम आवृत्ति; B .byte 0ffh-(TCLK/(853*2*3)) के लिए कम आवृत्ति; C .byte 0ffh-(TCLK/(941*2*3)) के लिए कम आवृत्ति; D .byte 0ffh-(TCLK/(941*2*3)) के लिए कम आवृत्ति; * .byte 0ffh-(TCLK/(941*2*3)) के लिए कम आवृत्ति; # के लिए कम आवृत्ति; सिग्नल अवधि की तालिका DTMF_L .बाइट 2*941*DL/1000; 0 .बाइट 2*697*डीएल/1000 के लिए आधा चक्र; 1 .बाइट 2*697*डीएल/1000 के लिए आधा चक्र; 2 .बाइट 2*697*डीएल/1000 के लिए आधा चक्र; 3 .बाइट 2*770*डीएल/1000 के लिए आधा चक्र; 4 .बाइट 2*770*डीएल/1000 के लिए आधा चक्र; 5 .बाइट 2*770*डीएल/1000 के लिए आधा चक्र; 6 .बाइट 2*852*डीएल/1000 के लिए आधा चक्र; 7 .बाइट 2*852*डीएल/1000 के लिए आधा चक्र; 8 .बाइट 2*852*डीएल/1000 के लिए आधा चक्र; 9 .बाइट 2*697*डीएल/1000 के लिए आधा चक्र; ए .बाइट 2*770*डीएल/1000 के लिए आधा चक्र; बी.बाइट 2*852*डीएल/1000 के लिए आधा चक्र; सी.बाइट 2*941*डीएल/1000 के लिए आधा चक्र; डी.बाइट 2*941*डीएल/1000 के लिए आधा चक्र; *.बाइट 2*941*डीएल/1000 के लिए आधा चक्र; # के लिए आधा चक्र;********************************************* ***** ***************************** ; डीटीएमएफ-टीएक्स डीटीएमएफ सबरूटीन;******************************************** **** ******************************** DTMF_TX mov.b DTMF_NR,RTEMP ; अस्थायी रजिस्टर mov.b DTMF_L(RTEMP),RCOUNT में स्टोर नंबर; अवधि काउंटर सहेजें; DTMF-Lo आवृत्ति mov.b #0a8h,&TCCTL के लिए 8-बिट टाइमर तैयार करें; एमसीएलके से घड़ी mov.b DTMF_LO(RTEMP),&TCPLD ; रजिस्टर की तैयारी; प्रीलोड mov.b #000,&TCDAT ; रजिस्टर से काउंटर लोड करना; प्रीलोड bis.b #008h,&IE1 ; व्यवधान सक्षम करें; 8-बिट टाइमर से; DTMF-Hi फ़्रीक्वेंसी rla r15 के लिए टाइमर-पोर्ट तैयार करना; * 16-बिट तालिका mov DTMF_HI(RTEMP),&DTMF_TL के लिए 2; उच्च आवृत्ति mov #003,RTEMP के लिए शब्द सहेजें; 8-बिट टाइमर bis.b #008h,IE2 के लिए काउंटर; व्यवधान सक्षम करें; टाइमर-पोर्ट mov.b &DTMF_TH,&TPCNT2 से; उच्च बाइट को TC2 mov.b &DTMF_TL,&TPCNT1 में लोड करें; TC1 bis.b #080h,&TPD में कम बाइट लोड करें; 16-बिट टाइमर bis.b #HI_OUT+LO_OUT,&TPE सक्षम करें; DTMF-Hi/Lo आउटपुट सक्षम करें mov.b #090h,&TPCTL ; टाइमर रिट सक्षम करें;********************************************** **** **************************** ; पोर्ट टाइमर व्यवधान;********************************************* * ****************************** TP_INT xor.b #HI_OUT,&TPD ; DTMF-Hi आउटपुट इनवर्ट mov.b &DTMF_TH,&TPCNT2; सीनियर बा लोडिंग

3.2.2 1 टाइमर_ए का उपयोग करके वर्गाकार तरंगें उत्पन्न करना

यह डीटीएमएफ सिग्नल जनरेशन रूटीन दोनों आवश्यक आवृत्तियों को स्क्वायर ऑफ करने के लिए केवल टाइमर_ए टाइमर का उपयोग करता है। असेंबली प्रक्रिया एमसीएलके आवृत्ति के मूल्य की परवाह किए बिना, प्रोग्राम का उपयोग करने के लिए टाइमर के लिए उचित मानों की गणना करती है। आउटपुट सिग्नल की अवधि मिलीसेकंड में स्थिरांक DL द्वारा दी जाती है।

; हार्डवेयर परिभाषाएँ; FLLMPY .eq 32 ; 1.048 मेगाहर्ट्ज एफएलएल फ्रीक्वेंसी मल्टीप्लायर टीसीएलके .eq FLLMPY*32768; टीसीएलके: एफएलएलएमपीवाई एक्स एफ क्वार्ट्ज डीएल .ईक्यू 82; एमएस में डीटीएमएफ सिग्नल अवधि; (65..100 एमएस) स्टैक .eq 600 घंटे; स्टैक आरंभीकरण पता; रैम की परिभाषाएँ; एसटीडीटीएमएफ .eq 202h ; हाय और लो आवृत्ति स्थिति TIM32B .eq 204; टाइमर रजिस्टर एक्सटेंशन लंबाई .eq 206h; डीटीएमएफ अवधि काउंटर; .पाठ 0F000h ; कार्यक्रम का आरंभिक पता; ; टाइमर_ए आरंभीकरण: एमसीएलके, सतत मोड, व्यवधान सक्षम; टाइमर आउटपुट मॉड्यूल तैयार करना टाइमर_ए एमसीएलके = 1.048 मेगाहर्ट्ज (स्वचालित); INIT MOV #STACK,SP; स्टैक पॉइंटर इनिशियलाइज़ेशन कॉल #INITSR; मल्टीप्लायर इनिशियलाइज़ेशन; FLL और RAM आवृत्तियाँ MOV #ISMCLK+TAIE+CLR,&TACTL ; टाइमर आरंभीकरण MOV.B #TA2+TA1,&P3SEL ; पोर्ट P3.5/4 CLR TIM32B पर आउटपुट TA2 और TA1; विस्तारित बीआईएस टाइमर रजिस्टर साफ़ करें #MCONT,&TACTL; टाइमर प्रारंभ करें Timer_A EINT ; सामान्य व्यवधान MAINLOOP को सक्षम करता है...; मुख्य चक्र; कुंजी दबाई गई: एसडीटीएमएफ में टेबल ऑफसेट शामिल है; उच्च और निम्न बाइट में 2 आवृत्तियों (0..6,0..6) के लिए; MOV &TAR,R5 ; तत्काल शुरुआत के लिए: FDTMFLO,R5 जोड़ें; छोटे समय के लिए ऑफसेट MOV R5,&CCR1 ; 0.71ms MOV R5,&CCR2 में पहला राज्य परिवर्तन; 1/(2x697) = 0.71ms MOV #OMT+CCIE,&CCTL1; आउटपुट इनवर्ट, इंटरप्ट रेस। MOV #OMT+CCIE,&CCTL2 ; इनवर्ट आउटपुट इंटरप्ट बिट MOV.B STDTMF,R5; 82 एमएस आरआरए आर5 के लिए काउंटर; निम्न आवृत्ति स्थिति परिवर्तनों की संख्या MOV.B DTMFL(R5),LENGTH ; सिग्नल अवधि के लिए... ; कार्यक्रम की निरंतरता; ; CCR0 से इंटरप्ट हैंडलर (यहां उपयोग नहीं किया गया); TIMMOD0 ... रेती ; ; कैप्चर-तुलना रजिस्टरों के लिए इंटरप्ट हैंडलर 1..4; TIM_HND जोड़ें &TAIV,पीसी; अनुरोध को उच्चतम के साथ संसाधित करना; प्राथमिकता RETI ; कोई व्यवधान अनुरोध नहीं: RETI JMP HCCR1; CCR1 (DTMF कम आवृत्ति) JMP HCCR2 से अनुरोध; CCR2 (DTMF उच्च आवृत्ति) JMP HCCR3 से अनुरोध; CCR3 JMP HCCR4 से अनुरोध; CCR4 से अनुरोध; टिमोव इंक टीआईएम32बी; टाइमर_ए एक्सटेंशन 32 बिट आरईटीआई तक; ; कम आवृत्ति DTMF: TA1 आउटपुट यूनिट 1 के आउटपुट को उलट देता है; सिग्नल की अवधि को नियंत्रित करने के लिए प्रत्येक स्थिति परिवर्तन को गिना जाता है; एचसीसीआर1 पुश आर5; प्रयुक्त रजिस्टर सहेजें MOV.B STDTMF,R5 ; DTMF कम आवृत्ति स्थिति ADD FDTMFLO(R5),&CCR1 ; आधा चक्र अवधि DEC.B लंबाई जोड़ें; डीएल सिग्नल की अवधि पूरी हो गई? जेएनजेड टैरेट; नहीं; ; हाँ, DTMF सिग्नल जारी करना बंद करें: व्यवधान अक्षम करें; बीआईसी #ओएमआरएस+आउट+सीसीआईई,&सीसीटीएल1; TA1 BIC #OMRS+OUT+CCIE,&CCTL2 रीसेट करें; TA2 TARET POP R5 रीसेट करें; R5 RETI पुनर्स्थापित करें; रुकावट से वापसी; ; उच्च आवृत्ति DTMF: TA2 आउटपुट यूनिट 2 के आउटपुट को उलट देता है; एचसीसीआर2 पुश आर5; प्रयुक्त MOV रजिस्टरों को सहेजना। बीएसटीडीटीएमएफ+1,आर5 ; DTMF उच्च आवृत्ति स्थिति ADD FDTMFHI(R5),&CCR2 ; आधा चक्र अवधि POP R5 जोड़ें; R5 RETI पुनर्स्थापित करें; रुकावट से वापसी; HCCR3 ... ;रजिस्टर CCR3 RETI HCCR4 द्वारा नियंत्रित कार्य ... ;रजिस्टर CCR4 RETI द्वारा नियंत्रित कार्य; ; डीटीएमएफ आवृत्ति तालिका: तालिका में शामिल है; प्रति आधा चक्र एमसीएलके चक्रों की संख्या। मानों के लिए समायोजित; असेंबली के दौरान वास्तविक आवृत्ति एमसीएलके; और न्यूनतम संभव आवृत्ति त्रुटि के साथ पूर्णांकित; FDTMFLO .शब्द ((TCLK/697)+1)/2 ; निचली आवृत्ति DTMF 697Hz .word ((TCLK/770)+1)/2 ; 770Hz .शब्द ((TCLK/852)+1)/2 ; 852हर्ट्ज़ .शब्द ((टीसीएलके/941)+1)/2; 941हर्ट्ज एफडीटीएमएफएचआई .शब्द ((टीसीएलके/1209)+1)/2; ऊपरी आवृत्ति DTMF1209Hz .word ((TCLK/1336)+1)/2 ; 1336हर्ट्ज .शब्द ((टीसीएलके/1477)+1)/2; 1477हर्ट्ज .शब्द ((टीसीएलके/1633)+1)/2; 1633हर्ट्ज़ ; तालिका में डीएल सिग्नल (एमएस) की अवधि के लिए आधे चक्रों की संख्या शामिल है। ; गिनती के लिए निचली DTMF आवृत्ति का उपयोग किया जाता है; डीटीएमएफएल .बाइट 2*697*डीएल/1000; आधे चक्रों की संख्या.बाइट 2*770*डीएल/1000; एमएस.बाइट 2*852*डीएल/1000 में डीएल के लिए; .बाइट 2*941*डीएल/1000 ; ; .सेक्शन "TIMVEC",0FFF0h ; टाइमर इंटरप्ट वैक्टर टाइमर_ए .शब्द TIM_HND ; मॉड्यूल वेक्टर 1..4 टाइमर.शब्द TIMMOD0; टाइमर यूनिट वेक्टर 0.सेक्ट "INITVEC",0FFFEh ; वेक्टर रीसेट करें .शब्द INIT रीसेट करें

नीचे थोड़ा तेज़ समाधान दिया गया है। हालाँकि, साथ ही, इसके लिए अधिक RAM की आवश्यकता होती है। तालिकाओं से प्राप्त डेटा को हर बार पुनर्गणना नहीं किया जाता है, बल्कि RAM DTMFLO और DTMFHI में दो शब्दों में संग्रहीत किया जाता है। रीडिंग टाइमर_ए इंटरप्ट रूटीन से की जाती है। उपयोग की गई तालिकाएँ पिछले उदाहरण के समान हैं।

FLLMPY .eq 32 ; 1.048 मेगाहर्ट्ज एफएलएल फ्रीक्वेंसी मल्टीप्लायर टीसीएलके .eq FLLMPY*32768; टीसीएलके: एफएलएलएमपीवाई एक्स एफ क्वार्ट्ज डीएल .ईक्यू 82; डीटीएमएफ सिग्नल की अवधि; एमएस में (65..100 एमएस) एसटीडीटीएमएफ .eq 202 घंटे; हाय और लो आवृत्ति स्थिति TIM32B .eq 204; टाइमर रजिस्टर एक्सटेंशन लंबाई .eq 206h; DTMF अवधि काउंटर DTMFLO .eq 208h; कम आवृत्ति आधा चक्र DTMFHI .eq 20Ah; उच्च आवृत्ति आधा चक्र स्टैक .eq 600h; स्टैक इनिशियलाइज़ेशन एड्रेस.टेक्स्ट 0F000h; कार्यक्रम का आरंभिक पता; टाइमर_ए आरंभीकरण: एमसीएलके, सतत मोड, व्यवधान सक्षम; टाइमर आउटपुट मॉड्यूल तैयार करना टाइमर_ए एमसीएलके = 1.048 मेगाहर्ट्ज (स्वचालित); आईएनआईटी मूव #स्टैक,एसपी; स्टैक पॉइंटर इनिशियलाइज़ेशन कॉल #INITSR ; गुणक आरंभीकरण; FLL और RAM आवृत्तियाँ MOV #ISMCLK+TAIE+CLR,&TACTL ; प्रारंभ टाइमर MOV.B #TA2+TA1,&P3SEL ; पोर्ट P3.5/4 CLR TIM32B पर आउटपुट TA2 और TA1; BIS टाइमर विस्तारित रजिस्टर साफ़ करें #MCONT,&TACTL ;प्रारंभ टाइमर_A EINT ; सामान्य व्यवधान MAINLOOP को सक्षम करता है...; मुख्य लूप; कीस्ट्रोक: एसडीटीएमएफ में टेबल ऑफसेट शामिल है; उच्च और निम्न बाइट में 2 आवृत्तियों (0..6,0..6) के लिए; MOV &TAR,R5 ; तत्काल शुरुआत के लिए FDTMFLO,R5 जोड़ें; छोटे समय के लिए ऑफसेट MOV R5,&CCR1 ; 0.71ms MOV R5,&CCR2 में पहला राज्य परिवर्तन; 1/(2x697) = 0.71 एमएस; ; डीटीएमएफ आवृत्तियों के लिए दो चक्र गणना प्राप्त करें; MOV.BSTDTMF+1,R5 ; ऊपरी आवृत्ति DTMF MOV FDTMFHI(R5),DTMFHI ; आधा चक्र अवधि MOV.B STDTMF,R5 ; कम आवृत्ति DTMF MOV DTMFLO(R5),DTMFLO; आधे चक्र की अवधि; ; अवधि काउंटर आरआरए आर5 ; बाइट इंडेक्स MOV.B DTMFL(R5),LENGTH तैयार करें; निम्न आवृत्ति स्थिति परिवर्तनों की संख्या MOV #OMT+CCIE,&CCTL1 ; आउटपुट इनवर्ट, इंटरप्ट रेस। MOV #OMT+CCIE,&CCTL2 ; आउटपुट इनवर्ट, इंटरप्ट रेस। ... ; मुख्य लूप पर लौटें; ; CCR0 से इंटरप्ट हैंडलर (यहां उपयोग नहीं किया गया); TIMMOD0 ... रेती ; ; कैप्चर-तुलना रजिस्टरों के लिए इंटरप्ट हैंडलर 1..4; TIM_HND जोड़ें &TAIV,पीसी; अनुरोध को उच्चतम के साथ संसाधित करना; प्राथमिकता RETI ; कोई व्यवधान अनुरोध नहीं: RETI JMP HCCR1; CCR1 (DTMF कम आवृत्ति) JMP HCCR2 से अनुरोध; CCR2 (DTMF उच्च आवृत्ति) JMP HCCR3 से अनुरोध; CCR3 JMP HCCR4 से अनुरोध; CCR4 से अनुरोध; टिमोव इंक टीआईएम32बी; टाइमर_ए एक्सटेंशन 32 बिट आरईटीआई तक; ; कम आवृत्ति DTMF: TA1 आउटपुट यूनिट 1 के आउटपुट को उलट देता है; एचसीसीआर1 डीटीएमएफएलओ जोड़ें,&सीसीआर1; आधा चक्र लंबाई DEC.B लंबाई जोड़ें; डीएल सिग्नल की अवधि पूरी हो गई? जेएनजेड टैरेट; नहीं; ; हाँ, DTMF सिग्नल जारी करना बंद करें: व्यवधान अक्षम करें; बीआईसी #ओएमआरएस+आउट+सीसीआईई,&सीसीटीएल1; TA1 BIC #OMRS+OUT+CCIE,&CCTL2 रीसेट करें; TA2 TARET RETI रीसेट करें; रुकावट से वापसी; उच्च आवृत्ति DTMF: TA2 आउटपुट यूनिट 2 के आउटपुट को उलट देता है; HCCR2 जोड़ें DTMFHI,&CCR2; अर्ध-चक्र लंबाई RETI जोड़ें; रुकावट से वापसी; एचसीसीआर3. .. ;रजिस्टर CCR3 RETI HCCR4 द्वारा नियंत्रित कार्य... ;रजिस्टर CCR4 RETI द्वारा नियंत्रित कार्य; ; इंटरप्ट टेबल और वैक्टर पिछले उदाहरण में दिखाए गए समान हैं।

3.3 डीटीएमएफ सिग्नल उत्पन्न करने के लिए हार्डवेयर

जैसा कि ऊपर उल्लेख किया गया है, आवृत्ति रेंज 200 हर्ट्ज.. 4600 हर्ट्ज में, ट्रांसमिशन आवृत्ति का सिग्नल स्तर बाहरी सिग्नल (शोर) के स्तर से कम से कम 20 डीबी अधिक होना चाहिए। इसके अलावा, विनिर्देश के आधार पर, "ऊपरी" और "निचले" समूहों के संकेतों का स्तर अलग-अलग होना चाहिए, इसलिए प्रत्येक सिग्नल को अपने स्वयं के फ़िल्टर की आवश्यकता होती है। साइनसॉइडल रूप की आवृत्ति आयाम फूरियर श्रृंखला से प्राप्त की जा सकती है।

एनालॉग फ़िल्टर डिज़ाइन करते समय कटऑफ़ आवृत्तियों का चयन करने के लिए, निम्नलिखित आवश्यकताओं का पालन किया जाना चाहिए:

  • क्योंकि "ऊपरी" समूह की आवृत्तियों के साथ "निचले" समूह की आवृत्तियों के किसी भी संयोजन की संभावना सुनिश्चित करना आवश्यक है, समूह में निम्नतम और उच्चतम आवृत्ति के बीच स्तर का अंतर 3 डीबी से अधिक नहीं होना चाहिए।
  • समूह (एफ1) में सबसे कम आवृत्ति के लिए, हार्मोनिक दमन (3एफ1) कम से कम 20 डीबी होना चाहिए। इस शर्त की पूर्ति समूह में निम्न आवृत्ति के लिए सबसे महत्वपूर्ण है यह फिल्टर की कटऑफ आवृत्ति से यथासंभव दूर है।

सूत्र क्रम n के बटरवर्थ हाई-पास फ़िल्टर के आउटपुट पर निरपेक्ष मान के वर्ग का वर्णन करता है:

यह सूत्र आवृत्ति के एक फ़ंक्शन के रूप में बटरवर्थ हाई-पास फ़िल्टर लाभ का प्रतिनिधित्व करता है। एफजी और एन पैरामीटर क्रमशः कटऑफ आवृत्ति और फ़िल्टर ऑर्डर निर्धारित करते हैं।

सबसे पहले, उपरोक्त आवश्यकताओं के अनुपालन को ध्यान में रखते हुए, फ़िल्टर के आवश्यक क्रम की गणना करना आवश्यक है।

पहली शर्त को पूरा करने के लिए, समूह में निम्नतम और उच्चतम आवृत्तियों के निरपेक्ष मानों के वर्गों का अनुपात 3 डीबी से अधिक नहीं होना चाहिए, या:

दूसरी शर्त स्वचालित रूप से पूरी हो जाएगी यदि आवृत्तियों f1 और 3f1 के निरपेक्ष मानों के वर्गों का अनुपात 10/3 से अधिक है, इस स्थिति में एक आयताकार सिग्नल में तीसरा हार्मोनिक 1/3 कम है (देखें) फूरियर श्रृंखला और चित्र 2):

दोनों समूहों की आवृत्तियों की गणना के परिणामस्वरूप, हमारे पास आवश्यक फ़िल्टर क्रम n=1.15 है। इस प्रकार, एक द्वितीय क्रम फ़िल्टर, जिसे एक परिचालन एम्पलीफायर पर बनाया जा सकता है, आवश्यकताओं को पूरा करेगा। तीसरे क्रम के फ़िल्टर का उपयोग करने के मामले में, केवल दो अतिरिक्त तत्वों की आवश्यकता होती है। हालाँकि, इससे घटक पैरामीटर प्रसार की आवश्यकताएं कम हो जाएंगी। यदि कटऑफ आवृत्ति निम्नलिखित सीमाओं के भीतर है तो उपरोक्त दोनों आवश्यकताएं पूरी की जाएंगी:

निचला समूह एफजी>880 हर्ट्ज़ एफजी<1418 Гц
ऊपरी समूह एफजी>1527 हर्ट्ज़ एफजी<2460 Гц

यदि कटऑफ आवृत्ति न्यूनतम पर है, तो अधिकतम हार्मोनिक दमन देखा जाएगा। हालाँकि, इस मामले में, समूह में निम्नतम और उच्चतम आवृत्तियों के स्तर के बीच का अंतर 3 डीबी होगा। उच्चतम संभव कटऑफ आवृत्ति पर, स्तर का अंतर न्यूनतम है, लेकिन हार्मोनिक्स केवल 20 डीबी तक कम हो जाता है।

फ़िल्टर की गणना करते समय, हार्मोनिक्स के दमन पर अधिक ध्यान दिया गया, समूह के भीतर स्तर का अंतर 2 डीबी पर तय किया गया था। परिणामस्वरूप, कटऑफ़ आवृत्तियाँ 977 हर्ट्ज़ और 1695 हर्ट्ज़ हैं। परिणामी हार्मोनिक दमन आवश्यकताओं से कहीं अधिक है। लागू घटकों के मापदंडों के प्रसार से जुड़ी कटऑफ आवृत्ति के विचलन के मामले में भी समूह में आवृत्ति स्तरों में अंतर आवश्यकताओं के भीतर है। फ़िल्टर तत्वों के मूल्यों की गणना करते समय, प्रतिरोधों का चयन E12 श्रृंखला के मानक मूल्यों से उनकी अधिकतम निकटता के विचार के आधार पर किया गया था।

फ़िल्टर आउटपुट पर, परिणाम दो साइनसॉइडल सिग्नल होते हैं जिनमें महत्वपूर्ण रूप से दबे हुए हार्मोनिक्स होते हैं। इन संकेतों को संयोजित करने के लिए, एक अतिरिक्त योजक पेश किया गया है।

इस प्रकार, केवल 3 ऑप-एम्प्स और कुछ निष्क्रिय तत्वों का उपयोग करके, हम महत्वपूर्ण कंप्यूटिंग संसाधनों का उपयोग किए बिना एक माइक्रोकंट्रोलर का उपयोग करके डीटीएमएफ सिग्नल उत्पन्न करने में सक्षम हैं।

सिमुलेशन कार्यक्रमों की सहायता से अनुमानित मूल्यों की जाँच की गई। फ़िल्टर की प्रतिक्रिया गणना की गई आवृत्ति प्रतिक्रिया से बहुत बारीकी से मेल खाती है।


चावल। चित्र 6: तीसरे क्रम के फिल्टर के आउटपुट पर 697 हर्ट्ज वर्ग तरंग का आयाम स्पेक्ट्रम

अंजीर पर. चित्र 6 697 हर्ट्ज की आवृत्ति के साथ एक आयताकार सिग्नल के आयाम स्पेक्ट्रम को दिखाता है, जो तीसरे क्रम के फिल्टर से होकर गुजरता है। जैसा कि चित्र से देखा जा सकता है, तीसरे और पांचवें हार्मोनिक्स (2091 हर्ट्ज और 3485 हर्ट्ज) काफी क्षीण (-25.6 डीबी) हैं।


चावल। चित्र 7: तीसरे क्रम के फिल्टर के आउटपुट पर 941 हर्ट्ज वर्ग तरंग का आयाम स्पेक्ट्रम

अंजीर पर. 7 941 हर्ट्ज की आवृत्ति के साथ एक आयताकार सिग्नल का स्पेक्ट्रम दिखाता है। 4600 हर्ट्ज तक रुचि के आवृत्ति क्षेत्र में, केवल एक हार्मोनिक है। फिल्टर से गुजरने के बाद, यह 2823 हर्ट्ज हार्मोनिक काफी क्षीण हो जाता है (-27.9 डीबी)। समूह में न्यूनतम और उच्चतम आवृत्ति के बीच स्तर का अंतर 1.9 डीबी से अधिक नहीं है।

उच्च पैरामीटर प्रसार के साथ कम लागत वाले घटकों का उपयोग करने के लिए, अतिरिक्त मॉडलिंग की गई। सिमुलेशन परिणामों से पता चला कि प्रतिरोधों और कैपेसिटर के मूल्य में स्वीकार्य भिन्नता 10% है।


चित्र 8: हिस्टोग्राम - एक समूह में सिग्नल स्तरों का वितरण


चित्र 9: हिस्टोग्राम - हार्मोनिक दमन

अंजीर पर. 8 और 9 मोंटे कार्लो विश्लेषण का उपयोग करके प्राप्त हिस्टोग्राम दिखाते हैं। इस मामले में, घटकों के मूल्य 10% प्रसार के भीतर बेतरतीब ढंग से बदल गए। 100 पुनरावृत्तियों के बाद, सभी सिम्युलेटेड फ़िल्टर के परिणाम हिस्टोग्राम पर प्लॉट किए जाते हैं। चित्र में हिस्टोग्राम में। 8 एक समूह के भीतर आवृत्तियों के बीच स्तर के अंतर को दर्शाता है। न्यूनतम और अधिकतम आवृत्तियों के बीच 3 डीबी का अधिकतम स्वीकार्य अंतर किसी भी स्थिति में नहीं पहुंच सका। औसत मान 1.6 डीबी है, जो 2 डीबी के परिकलित मान से थोड़ा बेहतर है।

अंजीर पर. 9 "निचले" आवृत्ति समूह के लिए हार्मोनिक्स के क्षीणन को दर्शाता है। 20 डीबी का आवश्यक मान सभी मामलों में हासिल किया जाता है, औसत मान लगभग 27 डीबी है। सबसे खराब स्थिति में, हार्मोनिक 24.2 डीबी से दब जाता है।

"निचले" आवृत्ति समूह के फ़िल्टर के लिए गणना किए गए मान "ऊपरी" आवृत्ति समूह के फ़िल्टर के लिए भी किए जाते हैं।

दोनों फिल्टर में समान सर्किट्री है। अंतर केवल ऊपरी और निचले आवृत्ति समूहों के लिए फिल्टर की कटऑफ आवृत्तियों में है। R1 और C1 प्रथम क्रम का HPF बनाते हैं। क्योंकि सर्किट का इनपुट प्रतिरोध भी R1 पर निर्भर करता है, इस तत्व का मान बहुत छोटा नहीं होना चाहिए; अन्यथा, माइक्रोकंट्रोलर आउटपुट अतिभारित हो जाएगा और वर्गाकार तरंग विकृत हो जाएगी। इस मामले में, इंटरमॉड्यूलेशन विरूपण से उत्पन्न अतिरिक्त आवृत्तियों को सिग्नल में जोड़ा जाएगा, जो सिग्नल-टू-शोर अनुपात को नकारात्मक रूप से प्रभावित करेगा।

उच्च क्रम के फिल्टर का स्थानांतरण फ़ंक्शन केवल निष्क्रिय घटकों का उपयोग करके प्राप्त नहीं किया जा सकता है।

इस प्रकार, दूसरे क्रम के फ़िल्टर में एक परिचालन एम्पलीफायर होना चाहिए। सक्रिय फ़िल्टर का लाभ प्रतिरोधों R1-1 और R1-2 के साथ 0.2 पर सेट है। जैसा कि देखा जा सकता है, इस मामले में सिग्नल कुछ हद तक क्षीण हो गया है। ओएस पर ओवरलोडिंग से बचने के लिए यह आवश्यक है, क्योंकि। वर्गाकार तरंग के मौलिक साइनसॉइडल हार्मोनिक का चरम आयाम वर्गाकार तरंग के आयाम से अधिक है (फूरियर श्रृंखला और चित्र 2 देखें)। एक अतिरिक्त योजक में, आवश्यक आउटपुट स्तर समायोजित किया जाता है। वर्ग तरंग के डीसी घटक के कारण, ऑप एम्प का ऑपरेटिंग बिंदु Vcc/2 पर सेट होता है (फूरियर श्रृंखला और चित्र 2 भी देखें)। इस स्थिति में, DC घटक को इनपुट डिवाइडर R1-1/R1-2 द्वारा समाप्त नहीं किया जा सकता है। कैपेसिटर C3 का उपयोग DC वोल्टेज के लिए OS सर्किट को अलग करने के लिए किया जाता है।

एनालॉग फ़िल्टर के प्रत्येक आउटपुट पर, क्रमशः ऊपरी और निचले आवृत्ति समूहों का एक सिग्नल बनता है। एक अतिरिक्त योजक में, ये संकेत जोड़े जाते हैं। इस सर्किट तत्व में, आप प्रतिरोधक R4 और R5 का उपयोग करके कुल सिग्नल और आउटपुट सिग्नल स्तर में "निचली" और "ऊपरी" आवृत्तियों के बीच अनुपात निर्धारित कर सकते हैं। इस प्रकार, विभिन्न देशों में विभिन्न आवश्यकताओं के अनुसार आउटपुट आयाम को आसानी से समायोजित किया जा सकता है।

घटकों के मूल्यों की गणना करते समय, कैपेसिटर के मान, हमेशा की तरह, निश्चित थे, और प्रतिरोधों के मूल्यों की गणना उनके अनुसार की गई थी। इस सर्किट में, 10% के प्रसार के साथ मानक E12 श्रृंखला के कैपेसिटर और रेसिस्टर्स का उपयोग किया गया था।

अंजीर पर. 10 एनालॉग फिल्टर और योजक का सर्किट आरेख दिखाता है:


चावल। 10: अतिरिक्त योजक के साथ एनालॉग फिल्टर का योजनाबद्ध आरेख

कैपेसिटर C1-1 और C1-2 Vcc/2 स्तर के साथ ऑपरेटिंग बिंदु पर दो सिग्नलों को एक साथ जोड़ते हैं। इन तत्वों के लिए, आपको बहुत बड़े मान नहीं चुनना चाहिए, क्योंकि। वे कम-आवृत्ति सबहार्मोनिक्स को खत्म करने के लिए एक कम-पास फिल्टर के तत्व हैं। फ़िल्टर कैपेसिटर C5 वोल्टेज संदर्भ शोर को समाप्त करता है। फीडबैक रेसिस्टर R6 के समानांतर जुड़ा एक अतिरिक्त कैपेसिटर C6 एक प्रथम-क्रम हाई-पास फ़िल्टर बनाता है। यदि सबसे कम फ़िल्टर कटऑफ आवृत्ति का चयन किया जाता है, तो उच्च-आवृत्ति इंटरमॉड्यूलेशन शोर के अतिरिक्त फ़िल्टरिंग से आउटपुट सिग्नल की गुणवत्ता में सुधार होता है, हालांकि, "ऊपरी" समूह की उच्चतम आवृत्तियों में कुछ क्षीणन होगा। कुछ मामलों में, 1633 हर्ट्ज की उच्चतम डीटीएमएफ आवृत्ति उत्पन्न करना आवश्यक नहीं है क्योंकि इसका उपयोग केवल सेवा प्रतीक A-D के निर्माण के लिए किया जाता है, जबकि फ़िल्टर कटऑफ आवृत्ति को कम करके सिग्नल-टू-शोर अनुपात में सुधार करना संभव है। इस प्रकार, कटऑफ आवृत्ति बढ़ने से उच्च-आवृत्ति हस्तक्षेप के स्तर में वृद्धि होती है, लेकिन साथ ही, डीटीएमएफ सिग्नल के उच्चतम आवृत्ति घटकों पर नकारात्मक प्रभाव कम हो जाता है।

4 डीटीएमएफ ट्रांसमीटर सिग्नल अध्ययन के परिणाम

नीचे दिए गए स्पेक्ट्रोग्राम (चित्र 11 और 12) विभिन्न आवृत्तियों पर डीटीएमएफ ट्रांसमीटर के आउटपुट सिग्नल दिखाते हैं। अंजीर पर. 11 प्रतीक "1" का आयाम स्पेक्ट्रम दिखाता है। इसके प्रसारण के लिए आवश्यक आवृत्तियाँ - 697 और 1207 हर्ट्ज क्रमशः -10.5 डीबी और -8.5 डीबी के स्तर पर हैं। हार्मोनिक्स 2091 और 3621 हर्ट्ज लगभग 30 डीबी द्वारा दबाए गए हैं। "डी" वर्ण को प्रसारित करने के लिए, दो उच्चतम आवृत्तियाँ उत्पन्न होती हैं - 941 और 1633 हर्ट्ज। जैसे कि चित्र से देखा जा सकता है। 12, निचला आवृत्ति स्तर -12 डीबी है, ऊपरी आवृत्ति स्तर -11 डीबी है। संबंधित हार्मोनिक्स 30 डीबी से अधिक क्षीण हो जाते हैं। इस प्रकार, मापा गया मान सिमुलेशन परिणामों और विनिर्देश की आवश्यकताओं के अनुरूप है।


चावल। 11: प्रतीक "1" का आयाम स्पेक्ट्रम: 697 और 1207 हर्ट्ज़


चावल। 12: "डी" प्रतीक का आयाम स्पेक्ट्रम: 941 और 1633 हर्ट्ज

दो अलग-अलग टाइमर का उपयोग करते समय उत्पन्न वर्ग तरंग संकेतों की पूर्ण आवृत्ति सटीकता प्राप्त नहीं की जा सकती है, परिणाम दो आवृत्तियों के संयोजन और उपयोग किए गए टाइमर के प्रकार पर निर्भर करेगा। इसका कारण टाइमर व्यवधान विरोध है। हालाँकि, ±1.8% की आवश्यक सटीकता बड़े अंतर से पूरी होती है।

यदि सिस्टम आवृत्ति एमसीएलके 1.048 मेगाहर्ट्ज पर 8-बिट टाइमर और टाइमर पोर्ट टाइमर का उपयोग किया जाता है, तो "निचले" समूह की आवृत्तियों को 0.3% से अधिक की सटीकता के साथ उत्पन्न किया जाता है। "ऊपरी" समूह की आवृत्तियों के लिए, व्यवहार में, विचलन 0.5% से अधिक नहीं है।

एकमात्र अपवाद डीटीएमएफ वर्ण "डी" है, जिसके लिए उच्चतम आवृत्तियाँ उत्पन्न होती हैं। परिणामस्वरूप, इस संयोजन में, 1633 हर्ट्ज के "ऊपरी" समूह की आवृत्ति में -0.97% का विचलन होता है।

इस अपवाद के बिना, 1633 हर्ट्ज की उच्चतम आवृत्ति भी 0.5% से बेहतर सटीकता के साथ उत्पन्न होती है। विभिन्न आवृत्तियों के लिए अधिकतम विचलन तालिका में दिए गए हैं:

यदि टाइमर_ए का उपयोग आवृत्तियों को उत्पन्न करने के लिए किया जाता है, तो त्रुटि उपयोग की गई एमसीएलके आवृत्ति पर निर्भर करेगी:

एमसीएलके, मेगाहर्ट्ज 1,048 2,096 3,144 3,800
गुणक एफएलएल 32 64 96 116
697 हर्ट्ज +0,027% +0,027% +0,027% +0,027%
770 हर्ट्ज -0,015% -0,016% +0,033% -0,016%
852 हर्ट्ज +0,059% -0,023% +0,005% +0,031%
941 हर्ट्ज +0,029% +0,029% +0,029% +0,035%
1209 हर्ट्ज -0,079% +0,036% +0,036% -0,003%
1336 हर्ट्ज +0,109% -0,018% +0,025% +0,025%
1447 हर्ट्ज -0,009% -0,009% -0,009% -0,009%
1633 हर्ट्ज +0,018% +0,018% +0,018% +0,018%

5। उपसंहार

इस उदाहरण के लिए सॉफ़्टवेयर बहुत सरल है और, लगभग 300 बाइट्स लेने के लिए थोड़ी मात्रा में RAM और ROM की आवश्यकता होती है। अंतर्निहित टाइमर मॉड्यूल के कारण, आवश्यक आवृत्तियाँ सीपीयू ओवरहेड के बिना उच्च सटीकता के साथ उत्पन्न होती हैं। एक कॉन्फ़िगरेशन में जो पीढ़ी के लिए 8-बिट टाइमर और टाइमर/पोर्ट का उपयोग करता है, इंटरप्ट रूटीन लगभग 12% सीपीयू संसाधन लेता है। ऐसे मामले में जब फ़्रीक्वेंसी टाइमर_ए टाइमर द्वारा उत्पन्न होती है, तो इंटरप्ट रूटीन को संसाधित करने के लिए सीपीयू लोड 6% तक कम हो जाता है। परिणामस्वरूप, डीटीएमएफ सिग्नलिंग के दौरान अन्य कार्य किए जा सकते हैं, या वर्तमान खपत को कम करने के लिए सीपीयू को कम पावर मोड में रखा जा सकता है।

स्क्वायर वेव सिग्नल का उपयोग करके डीटीएमएफ सिग्नल उत्पन्न करने के लिए वर्णित मॉड्यूल की अच्छी कार्यक्षमता हार्डवेयर सर्किटरी द्वारा प्रदर्शित की जाती है। क्योंकि सर्किट में मापदंडों के बड़े प्रसार के साथ घटकों का उपयोग करना संभव है, ऐसे समाधान की कीमत बहुत कम है। सभी विशिष्ट आवश्यकताओं को बड़े अंतर से पूरा किया जाता है, इसलिए मास्टर नियंत्रक के रूप में एमएसपी430 का उपयोग करने वाले उपकरणों में एक अलग डीटीएमएफ सिग्नल जनरेटर मॉड्यूल की आवश्यकता नहीं होती है।

यदि किसी विशेष मामले में सिग्नल-टू-शोर अनुपात को बढ़ाने की आवश्यकता होती है, तो अतिरिक्त ऑप-एम्प का उपयोग करके, इंटरमॉड्यूलेशन विरूपण को और दबाने के लिए एक फ़िल्टर डिज़ाइन किया जा सकता है। ऐसा अतिरिक्त परिचालन एम्पलीफायर DIL14 पैकेज में क्वाड ऑप-एम्प में पहले से मौजूद है।

6 लिंक

बुंडेसमट फर पोस्ट अंड टेलीकॉम्युनिकेशन (डाक और दूरसंचार के लिए संघीय कार्यालय): BAPT 223 ZV 5, Zulassungsvorschrift फर Endeinrichtungen zur Anschaltung an Analoge Wahlanschlusse (ausgenommen Notruf- und Durchwahlanschlusse) des Telefonnetzes (एनालॉग टेलीफोन लाइनों से जुड़े टर्मिनलों के लिए आधिकारिक विनिर्देश, सिवाय इसके कि) सुरक्षा और कॉलिंग आवश्यकताएँ) / डॉयचे बुंडेसपोस्ट टेलीकॉम का आईएसडीएन; बुंडेसमिनिस्टेरियम फर पोस्ट अंड टेलीकम्यूनिकेशन, ड्राफ्ट, बॉन अप्रैल 1994 पापुला: गणित फर इंजेनिअर 2 (इंजीनियरों के लिए गणित); व्यूएग वेरलाग, ब्राउनश्वेग 1990 टिट्ज़/शेंक: हैलब्लेइटर्सचाल्टुंगस्टेक्निक; (टिएट्ज़/शेंक, सेमीकंडक्टर सर्किटरी), 10वां संस्करण; स्प्रिंगर वेरलाग, बर्लिन 1993 लुत्ज़ बियर्ल / टेक्सास इंस्ट्रूमेंट्स: एमएसपी430 फैमिली, मीटरिंग एप्लीकेशन रिपोर्ट, टेक्सास इंस्ट्रूमेंट्स, अंक 2.1, जनवरी 1997, एसएलएएई10बी टेक्सास इंस्ट्रूमेंट्स: एमएसपी430 फैमिली, आर्किटेक्चर यूजर गाइड और मॉड्यूल लाइब्रेरी, टेक्सास इंस्ट्रूमेंट्स, 1996, एसएलएयूई10बी टेक्सास इंस्ट्रूमेंट्स: एमएसपी430 फैमिली, सॉफ्टवेयर यूजर गाइड, टेक्सास इंस्ट्रूमेंट्स, 1996 टेक्सास इंस्ट्रूमेंट्स: एमएसपी430 फैमिली, असेंबली लैंग्वेज टूल्स यूजर गाइड, टेक्सास इंस्ट्रूमेंट्स, 1996 सिवी, रॉबर्ट: माइक्रोकंट्रोलर एमएसपी430 (डेवलपमेंट) के साथ सिस्टमेंटविकलंग ईनर टेलीकॉम-एप्लिकेशन ने डीटीएमएफ-सिग्नल के साथ एक एम्पफैन्जेन भेजा (विकास) एमएसपी430 माइक्रोकंट्रोलर पर आधारित डिजिटल सिग्नल प्राप्त करने और प्रसारित करने के लिए दूरसंचार प्रणाली); डिप्लोमरबीट, फछोचस्चुले लैंडशूट, मई 1997

विशिष्ट सुविधाएं:

  • पल्स-चौड़ाई मॉड्यूलेशन (पीडब्लूएम) का उपयोग करके साइनसॉइडल संकेतों का निर्माण
  • विभिन्न साइनसॉइडल संकेतों को एक DTMF सिग्नल में संयोजित करना
  • असेंबली और सी स्रोत कोड
  • STK500 के साथ काम करने के लिए डिज़ाइन किया गया
  • प्रोग्राम कोड का आकार 260 बाइट्स / लगातार तालिका का आकार 128 बाइट्स
  • तालिका रूपांतरण विधि का उपयोग करना

परिचय

यह दस्तावेज़ बताता है कि पल्स चौड़ाई मॉड्यूलेशन (पीडब्लूएम) ब्लॉक और एसआरएएम वाले किसी भी एवीआर माइक्रोकंट्रोलर का उपयोग करके डीटीएमएफ (डुअल टोन मल्टी-फ़्रीक्वेंसी) सिग्नल कैसे उत्पन्न किया जाए। इन सिग्नलों का व्यापक रूप से टेलीफोनी में उपयोग किया जाता है, जहां जब आप टेलीफोन सेट के डायलिंग बटन दबाते हैं तो ये बजते हैं। डीटीएमएफ सिग्नल को सही ढंग से उत्पन्न करने के लिए, दो आवृत्तियों को एक साथ सुपरइम्पोज़ किया जाना चाहिए: एक कम आवृत्ति (एफबी) और एक उच्च आवृत्ति (एफए)। तालिका 1 दिखाती है कि विभिन्न कुंजियाँ दबाने पर DTMF टोन उत्पन्न करने के लिए विभिन्न आवृत्तियों को कैसे मिश्रित किया जाता है।

चित्र 1 - डीटीएमएफ सिग्नल जनरेटर की योजना

तालिका 1 - टोन शेपिंग मैट्रिक्स

एफबी/एफए 1209 हर्ट्ज 1336 हर्ट्ज 1477 हर्ट्ज 1633 हर्ट्ज
697 हर्ट्ज 1 2 3
770 हर्ट्ज 4 5 6 बी
852 हर्ट्ज 7 8 9 सी
941 हर्ट्ज * 0 # डी

तालिका 1 की पंक्तियाँ कम आवृत्ति मान दिखाती हैं, जबकि कॉलम उच्च आवृत्ति मान दिखाते हैं। उदाहरण के लिए, मैट्रिक्स दिखाता है कि जब आप "5" बटन दबाते हैं, तो आवृत्तियाँ fb = 770 Hz और fa = 1336 Hz मिश्रित होनी चाहिए। विभिन्न आवृत्तियों के दो साइनसॉइडल संकेतों को जोड़ने के परिणामस्वरूप, एक DTMF सिग्नल बनता है

आयाम अनुपात कहां है क=अब /आस्रोत सिग्नल को शर्त पूरी करनी होगी

परिचालन सिद्धांत

पल्स-चौड़ाई मॉड्यूलेशन के उपयोग के बारे में सामान्य जानकारी के अलावा, निम्नलिखित दिखाएगा कि कैसे पल्स-चौड़ाई मॉड्यूलेशन आपको साइनसॉइडल सिग्नल उत्पन्न करने की अनुमति देता है। निम्नलिखित पैराग्राफ में बताया गया है कि आधार पीडब्लूएम आवृत्ति का उपयोग करके विभिन्न आवृत्तियों को कैसे प्राप्त किया जाए। सैद्धांतिक नींव पर विचार करने के बाद, डीटीएमएफ सिग्नल जनरेटर का विवरण दिया जाएगा। साइनसॉइडल संकेतों का सृजन

उच्च वीएच और निम्न वीएल वोल्टेज स्तरों की अवधि के अनुपात के आधार पर, पीडब्लूएम आउटपुट पर औसत मूल्य बदलता है। यदि दोनों स्तरों की अवधि के बीच का अनुपात स्थिर रखा जाता है, तो परिणामस्वरूप एक स्थिर वोल्टेज स्तर VAV उत्पन्न होगा। चित्र 2 एक पल्स चौड़ाई मॉड्यूलेटेड सिग्नल दिखाता है।


चित्र 2 - डीसी वोल्टेज स्तर पीढ़ी

वोल्टेज स्तर अभिव्यक्ति द्वारा निर्धारित किया जाता है:

(3)

एक साइनसोइडल सिग्नल उत्पन्न किया जा सकता है बशर्ते कि पल्स चौड़ाई मॉड्यूलेशन द्वारा उत्पन्न वोल्टेज का औसत मूल्य प्रत्येक पीडब्लूएम चक्र में बदल जाएगा। उच्च और निम्न स्तरों के बीच का अनुपात संबंधित समय पर साइनसॉइडल सिग्नल के वोल्टेज स्तर के अनुसार निर्धारित किया जाना चाहिए। चित्र 3 इस प्रक्रिया को दर्शाता है। पीडब्लूएम के प्रारंभिक डेटा की गणना इसकी प्रत्येक अवधि के लिए की जाती है और रूपांतरण तालिका (टीपी) में दर्ज की जाती है।

चित्र 3 मौलिक साइन तरंग की आवृत्ति और नमूनों की संख्या के बीच संबंध को भी दर्शाता है। नमूनों की संख्या (एनसी) जितनी अधिक होगी, परिणामी सिग्नल की मॉडलिंग सटीकता उतनी ही अधिक होगी:

(4)

PWM आवृत्ति PWM रिज़ॉल्यूशन पर निर्भर करती है। 8-बिट रिज़ॉल्यूशन के साथ, टाइमर का अंतिम मान (गिनती का शीर्ष) 0xFF (255) है। क्योंकि टाइमर की गिनती ऊपर और नीचे होती है, यह मान दोगुना होना चाहिए। इसलिए, PWM आवृत्ति की गणना टाइमर घड़ी आवृत्ति f CK को 510 से विभाजित करके की जा सकती है। इस प्रकार, 8 मेगाहर्ट्ज की टाइमर घड़ी आवृत्ति के साथ, परिणामी PWM आवृत्ति 15.6 kHz है।


चित्र 3 - पीडब्लूएम का उपयोग करके साइनसोइडल सिग्नल का निर्माण

साइनसोइडल सिग्नल की आवृत्ति बदलना

मान लें कि साइनसॉइडल नमूने लुकअप तालिका से क्रमिक रूप से नहीं, बल्कि एक समय में पढ़े जाते हैं। इस मामले में, समान नमूना दर पर, दोहरी आवृत्ति वाला एक सिग्नल उत्पन्न होगा (चित्र 4 देखें)।


चित्र 4 - परिणामी आवृत्ति को दोगुना करना (XSW = 2)

सादृश्य से, यदि आप हर दूसरे मान को नहीं, बल्कि हर तीसरे, चौथे, पांचवें (क्रमशः, चरण की चौड़ाई 3, 4, 5 ...), आदि को पढ़ते हैं। रेंज में एनसी-आवृत्ति उत्पन्न करना संभव है। ध्यान दें कि उच्च आवृत्तियों के लिए परिणामी तरंग साइनसॉइडल नहीं होगी। हम रूपांतरण तालिका के अनुसार चरण की चौड़ाई को इस प्रकार दर्शाते हैं एक्स एसडब्ल्यू, कहाँ

(5)

अगली पीडब्लूएम अवधि (जब टाइमर ओवरफ्लो हो जाता है) के लिए टीपी में वर्तमान स्थिति की गणना अभिव्यक्ति (6) का उपयोग करके की जाती है। स्थिति में नया मान एक्स LUTस्थिति में उसकी पिछली स्थिति पर निर्भर करता है एक्स" LUTचरण की चौड़ाई जोड़ने के साथ एक्स एसडब्ल्यू

(6)

DTMF सिग्नल प्राप्त करने के लिए विभिन्न आवृत्तियों को जोड़ना

डीटीएमएफ सिग्नल अभिव्यक्ति (1) और (2) का उपयोग करके उत्पन्न किया जा सकता है। अंकगणितीय संक्रियाओं की सरलता के लिए, अंकगणितीय संक्रिया को तार्किक बदलाव से बदलने के लिए गुणांक K का मान 0.75 के बराबर लिया जाता है। अभिव्यक्ति (6) को ध्यान में रखते हुए, पीडब्लूएम नियंत्रण के लिए वर्तमान मूल्य की गणना अभिव्यक्ति द्वारा की जा सकती है:

और उसे ध्यान में रखते हुए एक्स लुटा=एक्स" लुटा + एक्स एसडब्ल्यूए ,एक्स एलयूटीबी=एक्स" LUTb + एक्स एसडब्लूबी, हम अंततः लिखते हैं

डीटीएमएफ जेनरेटर का कार्यान्वयन

यह परिशिष्ट 8-बिट पीडब्लूएम आउटपुट (ओसी1ए) और 128 साइन फ़ंक्शन नमूनों (एनसी) की एक तालिका का उपयोग करके डीटीएमएफ टोन जनरेटर के निर्माण पर चर्चा करता है, प्रत्येक 7 बिट्स (एन) द्वारा निर्दिष्ट है। निम्नलिखित अभिव्यक्तियाँ इस निर्भरता को दर्शाती हैं और यह भी दिखाती हैं कि लुकअप तालिका के तत्वों की गणना कैसे करें:

(9)

7 बिट्स का उपयोग करने का लाभ यह है कि उच्च और निम्न आवृत्ति सिग्नल मानों का योग आकार में एक बाइट है। डीटीएमएफ टोन के पूरे सेट का समर्थन करने के लिए, तालिका 1 से प्रत्येक डीटीएमएफ आवृत्ति के लिए 8 मानों की गणना की जानी चाहिए और रूपांतरण तालिका में दर्ज किया जाना चाहिए।

उच्च परिशुद्धता प्राप्त करने के लिए, निम्नलिखित समाधान बनाया गया: अभिव्यक्ति 5 द्वारा परिकलित मानों के लिए केवल 5 बाइट्स की आवश्यकता होती है। सभी 8 बाइट्स का उपयोग करने के लिए, जिससे राउंडिंग त्रुटि कम हो जाएगी, इस मान को 8 से गुणा किया जाता है। रूपांतरण तालिका के लिए एक सूचक उसी तरह लिखा जाता है। लेकिन इस मामले में, 8 गुना मूल्य संग्रहीत करने में दो बाइट्स लगते हैं। इसका मतलब यह है कि इन बाइट्स को साइनसॉइड मानों के सूचक के रूप में उपयोग करने से पहले 3 सही बदलाव और एक एनसी बेस मोडुलो ऑपरेशन (एनसी -1 द्वारा तार्किक गुणन) किया जाना चाहिए।


चित्र 5 - STK500 से जुड़ने के लिए मॉड्यूल की योजना

PWM सिग्नल OC1A (PD5) पिन पर उत्पन्न होता है। एक अतिरिक्त आउटपुट फ़िल्टर साइनसॉइडल तरंगरूप से बेहतर मिलान करने में मदद करेगा। जैसे-जैसे पीडब्लूएम आवृत्ति कम होती जाती है, अच्छा परिणाम प्राप्त करने के लिए तेज़ आवृत्ति प्रतिक्रिया वाले फ़िल्टर का उपयोग करना आवश्यक हो सकता है।

कीबोर्ड का कनेक्शन चित्र 1 में दिखाया गया है। कीबोर्ड का संचालन इस तरह से व्यवस्थित किया जाना चाहिए कि दबाई गई कुंजी का पता लगाना संभव हो सके। यह निम्नलिखित एल्गोरिथम का उपयोग करके किया जा सकता है:

  1. दबायी गयी कुंजी की स्ट्रिंग का निर्धारण
    • पोर्ट बी के निचले टेट्राड को आउटपुट पर सेट करें और लॉग सेट करें। "0"
    • पुल-अप रेसिस्टर्स के कनेक्शन के साथ पोर्ट बी के उच्च टेट्राड को इनपुट में कॉन्फ़िगर करें
    • दबाए गए बटन वाली रेखा को लॉग के साथ उच्चतम टेट्राड के अंक के रूप में परिभाषित किया गया है। "0"
  2. कुंजी दबाए गए कॉलम का निर्धारण
    • पोर्ट बी के सीनियर टेट्राड को आउटपुट में कॉन्फ़िगर करें और लॉग सेट करें। "0"
    • पुल-अप रेसिस्टर्स के कनेक्शन के साथ पोर्ट बी के निचले टेट्राड को इनपुट पर सेट करें
    • दबाए गए बटन वाले कॉलम को लॉग के साथ सबसे निचले टेट्राड के अंक के रूप में परिभाषित किया गया है। "0"

नोट: STK200 में PORTB कनेक्टर पिन और माइक्रोकंट्रोलर पिन BP5, PB6 और PB7 के बीच श्रृंखला में प्रतिरोधक हैं (STK200 योजनाबद्ध देखें)। यदि कोई कीबोर्ड PORTB कनेक्टर से जुड़ा है तो यह समस्याएँ पैदा करेगा।

चित्र 6 दबायी गयी कुंजी को निर्धारित करने के लिए सबरूटीन के संचालन को दर्शाता है। दबायी गयी कुंजी के आधार पर, अंतराल की अवधि निर्धारित की जाती है। इंटरप्ट रूटीन दो DTM टोन साइन तरंगों के लिए PWM सेटिंग्स की गणना करने के लिए इस मान का उपयोग करता है। इंटरप्ट हैंडलिंग प्रक्रिया चित्र 7 और 8 में दिखाई गई है।

यह रूटीन अगली पीडब्लूएम अवधि के लिए टाइमर आउटपुट के साथ तुलना करने के लिए एक मान की गणना करता है। इंटरप्ट रूटीन पहले लुकअप तालिका में अगले नमूना मान की स्थिति की गणना करता है और वहां संग्रहीत मान को पढ़ता है।

लुकअप तालिका में नमूने की स्थिति पल्स अवधि द्वारा निर्धारित की जाती है, और वास्तविक पल्स अवधि उत्पन्न आवृत्ति द्वारा निर्धारित की जाती है।

अंतिम मान, जो टाइमर तुलना रजिस्टर में लिखा जाता है, सूत्र (7) का उपयोग करके निर्धारित किया जाता है, जो दोनों डीटीएमएफ आवृत्तियों के नमूना मूल्यों को ध्यान में रखता है।


चित्र 6 - मुख्य कार्यक्रम का ब्लॉक आरेख

रूसी संघ के टेलीफोन नेटवर्क में आधुनिक डिजिटल एक्सचेंजों की शुरुआत के साथ, अंग्रेजी संक्षिप्त नाम DTMF (डुअल-टोन मल्टीपल-फ़्रीक्वेंसी) द्वारा चिह्नित डायलिंग सिग्नल संचारित करने की एक बहु-आवृत्ति विधि धीरे-धीरे फैल रही है। कभी-कभी इस डायलिंग सिग्नलिंग सिस्टम को नाम देने के लिए एक और अंग्रेजी शब्द का उपयोग किया जाता है - टच-नॉन (टोन डायलिंग)। यह पद्धति 1960 में विकसित की गई थी, लेकिन इसका वास्तविक वितरण 80 के दशक में डिजिटल (इलेक्ट्रॉनिक) एक्सचेंजों के प्रसार के साथ शुरू हुआ।

नियंत्रण संकेतों के प्रसारण की इस पद्धति के साथ, किसी संख्या के अंक के प्रत्येक बहु-आवृत्ति सिग्नल में Q.23 आईटीयू-टी की सिफारिश "कीपैड डायलिंग के साथ टेलीफोन सेट की तकनीकी विशेषताएं" के अनुसार दो टोन होते हैं।

DTMF आवृत्तियाँ सुसंगत नहीं हैं। इसका मतलब यह है कि आवृत्तियों में 1 के अलावा कोई पूर्णांक विभाजक नहीं है। उदाहरण के लिए, आवृत्तियाँ 1200 और 1600 हर्ट्ज़ 400 हर्ट्ज़ (3x400=1200 और 4x400=1600) के हार्मोनिक्स हैं, और आवृत्तियाँ 697 और 770 हर्ट्ज़ गैर-हार्मोनिक हैं।

प्रत्येक सिग्नल में दो आवृत्तियाँ होती हैं: एक को निचले से चुना जाता है, और दूसरा - आवृत्तियों के ऊपरी समूह से।

प्रेषित सूचना और आवृत्तियों के बीच पत्राचार प्रयोगशाला सेटअप के सामने पैनल पर तालिका में दिया गया है।

600 ओम के लोड पर मापे गए दो-आवृत्ति संदेश में संचरण स्तर है: निम्न आवृत्ति समूह के लिए - शून्य से 6dBmO ±2dB, ऊपरी आवृत्ति समूह के लिए - शून्य से 3 dBmO ±2 dB। कुल सिग्नल में ऊपरी आवृत्ति समूह का आवृत्ति स्तर निचले समूह के आवृत्ति स्तर से 2 ±1 डीबी अधिक है। सभी उच्च क्रम आवृत्ति घटकों का योग स्तर निचले समूह आवृत्ति स्तर से कम से कम 20 डीबी नीचे है।

जिन शर्तों के तहत सिग्नल का सामान्य स्वागत किया जाना चाहिए वे इस प्रकार हैं: सिग्नल में दो आवृत्तियों की उपस्थिति, जिनमें से एक को निचले समूह से चुना जाता है, और दूसरे को ऊपरी से चुना जाता है; आवृत्तियाँ उनके नाममात्र मूल्यों से 1.8% से अधिक भिन्न नहीं होती हैं; दोनों आवृत्तियों में से प्रत्येक का स्तर माइनस 7 से माइनस 30 dBmO तक होता है; दो आवृत्तियों के स्तर के बीच का अंतर 3 डीबी से अधिक नहीं है; आवृत्ति सिग्नल की अवधि कम से कम 40 एमएस है।

यूनिट चालू करने से पहले निम्नलिखित कार्य करें:

S6 सेट को निचले स्थान पर स्विच करें;

S13 सेट को ऊपरी स्थिति पर स्विच करें;

ऊपरी और निचले आवृत्ति समूहों के जनरेटर के स्विच को "ऑफ" स्थिति पर सेट करें;

एनालॉग कुंजी स्विच (एके) को "चालू" स्थिति पर सेट करें;

जेनरेटर और रेसिस्टर R3 के आउटपुट वोल्टेज को समायोजित करने के लिए नॉब को वामावर्त घुमाएँ जब तक कि यह बंद न हो जाए।

सिग्नल कंडीशनिंग dtmf

1.1 इंस्टालेशन चालू करें.

1.2 ऑसिलोस्कोप को परीक्षण बिंदु KT3 से कनेक्ट करें।

1.3 ऊपरी आवृत्ति समूह के जनरेटर को चालू करें, स्विच बटनों में से एक को दबाकर, इस समूह की किसी भी आवृत्ति का चयन करें।

1.4 जनरेटर आउटपुट वोल्टेज समायोजन घुंडी को घुमाते हुए, KT3 में सिग्नल आयाम को 0.5 वोल्ट के बराबर सेट करें।

1.5 ऑसिलोस्कोप इनपुट को नियंत्रण बिंदु KT4 पर स्विच करें। KT4 में 0.5 V का वोल्टेज सेट करके निम्न आवृत्ति समूह के जनरेटर के लिए चरण 1.3, 1.4 दोहराएं।

टिप्पणी: निष्पादित संचालन के परिणामस्वरूप, ऊपरी और निचले आवृत्ति समूहों के सिग्नल, आयाम में समान, योजक के इनपुट में खिलाए गए थे। इन स्तरों को सेट करने के बाद, जनरेटर के आउटपुट वोल्टेज को समायोजित करने के लिए नॉब को ठीक करें।

1.6 ऑसिलोस्कोप इनपुट को परीक्षण बिंदु KT7 पर स्विच करें। DTMF सिग्नल कंडीशनर के आउटपुट वोल्टेज को समायोजित करने के लिए रेसिस्टर (R3) के नॉब को घुमाकर, वोल्टेज को KT7 में 0.5 वोल्ट पर सेट करें।

टिप्पणी: किए गए संचालन के परिणामस्वरूप, रिसीवर के इनपुट पर एक निरंतर दो-टोन सिग्नल लागू किया गया था, जबकि ऊपरी और निचले आवृत्ति समूहों के जनरेटर की आवृत्तियों के संयोजन के अनुरूप प्रतीक को संकेतक पर प्रदर्शित किया जाना चाहिए तालिका के अनुसार, प्राप्त प्रतीक. प्राप्त और मान्यता प्राप्त सिग्नल का एक संकेत रिसीवर के एसटीडी आउटपुट (एलईडी चमक) पर एक सिग्नल की उपस्थिति है।

      ऊपरी और निचले आवृत्ति समूहों की आवृत्तियों को स्विच करके, सुनिश्चित करें कि इन आवृत्तियों का संयोजन प्राप्त प्रतीकों के अनुरूप है।

यह आविष्कार डेटा ट्रांसमिशन के लिए दोहरे टोन फ़्रीक्वेंसी (डीटीएमएफ) सिग्नल के डिजिटल तरीकों को उत्पन्न करने के क्षेत्र से संबंधित है, उदाहरण के लिए, टेलीफोनी के क्षेत्र में। प्राप्त तकनीकी परिणाम - अनावश्यक सर्किट तत्वों की संख्या को कम करना, आर्थिक दक्षता में वृद्धि। डीटीएमएफ सिग्नल जनरेटर, जो डीटीएमएफ सिग्नल उत्पन्न करने की विधि को लागू करता है, में दो संचयी योजक, दो होल्डिंग रजिस्टर, दो मेमोरी डिवाइस, एक अंतिम योजक, एक डिजिटल-से-एनालॉग कनवर्टर, पूर्णांक के अनुक्रम में डीटीएमएफ सिग्नल कोड का एक कनवर्टर शामिल है। , एक समायोज्य डिवीजन अनुपात के साथ डीटीएमएफ सिग्नल जनरेटर की मास्टर आवृत्ति का एक विभाजक, एक डिवीजन फैक्टर कोड में डीटीएमएफ सिग्नल के कनवर्टर कोड। 2 एस. और 3 z.p. एफ-ली, 2 बीमार।

आविष्कार डेटा ट्रांसमिशन के लिए डिजिटल डीटीएमएफ (टू-टोन फ़्रीक्वेंसी) सिग्नल उत्पन्न करने के तरीकों से संबंधित है, उदाहरण के लिए, टोन-फ़्रीक्वेंसी डायलिंग के साथ टेलीफोनी के क्षेत्र में। तकनीकी सार में निकटतम और दावा की गई विधि का प्राप्त परिणाम है यूएस पेटेंट संख्या 5034977 दिनांक 04.04.89, प्रकाशन में प्रस्तुत डीटीएमएफ सिग्नल उत्पन्न करने की विधि। 07/23/91, एम.सी.एल. 5 एच 04 एम 1/00। डीटीएमएफ सिग्नल उत्पन्न करने की एक ज्ञात विधि में डीटीएमएफ सिग्नल के पहले और दूसरे आवृत्ति घटकों के अनुरूप पहले और दूसरे सैंपलिंग कोण कोड का चयन करना, क्रमशः पहले और दूसरे सैंपलिंग कोण कोड का अलग-अलग संचयी योग शामिल है। समय-समय पर तय की जाती है, घड़ी के नमूने की आवृत्ति के अनुरूप अवधि के साथ, संचयी योग के पहले और दूसरे परिणाम, अलग-अलग मूल्यों की संबंधित तालिकाओं के पता कोशिकाओं में संग्रहीत डीटीएमएफ सिग्नल घटकों के पहले और दूसरे असतत मूल्यों को प्राप्त करना। नमूना कोण कोड के संचयी योग के परिणामों के अनुरूप पते पर संबंधित तालिकाओं से डीटीएमएफ सिग्नल घटकों को पढ़कर, तीसरा प्राप्त करने के लिए डीटीएमएफ सिग्नल के घटकों के पहले और दूसरे असतत मूल्यों का योग डीटीएमएफ सिग्नल के मूल्य के अनुरूप अलग मूल्य। उच्च आवृत्तियों के समूह के अनुरूप - कॉलम, और सिग्नल के डीटीएमएफ कोड के दूसरे रूपांतरण के माध्यम से, दूसरा कोड चुना जाता है, जो सिग्नल के नमूना कोण को निर्धारित करता है निम्न आवृत्तियों के समूह के अनुरूप आवृत्ति - पंक्तियाँ, समय-समय पर, नमूना घड़ी आवृत्ति के अनुरूप अवधि के साथ, नमूना कोण का पहला कोड संबंधित संचयी योजक में संक्षेपित किया जाता है और संबंधित रजिस्टर में तय किया जाता है, जिसका आउटपुट है परिणाम, जिसका मान संबंधित स्थायी मेमोरी में संग्रहीत तालिका सेल के पते से मेल खाता है और जिसमें साइन के संबंधित अलग-अलग मान शामिल होते हैं जो डीटीएमएफ सिग्नल की ऊपरी आवृत्ति को उसी तरह, समय-समय पर निर्धारित करते हैं। एक अवधि, नमूना घड़ी आवृत्ति के अनुरूप, नमूना कोण का दूसरा कोड संबंधित संचयी योजक में संक्षेपित किया जाता है और संबंधित रजिस्टर में तय किया जाता है, जिसके आउटपुट पर परिणाम होता है, जिसका मूल्य पते से मेल खाता है टेबल सेल संबंधित स्थायी मेमोरी में संग्रहीत होता है और जिसमें साइन के संबंधित अलग-अलग मान जो डीटीएमएफ सिग्नल की कम आवृत्ति निर्धारित करते हैं, साइन के अलग-अलग मान जो डीटीएमएफ की ऊपरी और निचली आवृत्तियों को निर्धारित करते हैं सिग्नल को अंतिम योजक में संक्षेपित किया जाता है, जो डीटीएमएफ सिग्नल के अलग-अलग मूल्य का निर्धारण करता है, और डिजिटल-टू-एनालॉग रूपांतरण के माध्यम से आउटपुट में फीड किया जाता है, जो डीटीएमएफ सिग्नल के इनपुट कोड के अनुरूप एक स्टेप-साइनसॉइडल डीटीएमएफ सिग्नल बनाता है। ज्ञात विधि अपने कम तकनीकी और आर्थिक संकेतकों और तकनीकी संकेतकों के कारण अक्षम है। डीटीएमएफ संकेतों के लिए आवश्यक मापदंडों को प्राप्त करने के लिए विधि को लागू करते समय तकनीकी और आर्थिक संकेतक आवश्यक लागतों द्वारा निर्धारित किए जाते हैं। ज्ञात विधि में, आवृत्ति पीढ़ी की सटीकता नमूना कोण के अनुरूप कोड की बिट गहराई पर निर्भर करती है, जिसके लिए संचयी योजक की बड़ी बिट लंबाई की आवश्यकता होती है, जिससे सरल हार्डवेयर के साथ विधि को कार्यान्वित करना मुश्किल हो जाता है। अर्थात्, ज्ञात विधि में नमूना कोण कोड अभिव्यक्ति K=(F/F t)32..., (1.1) द्वारा निर्धारित किया जाता है जहां K नमूना कोण के अनुरूप कोड है; F उत्पन्न आवृत्ति है; F t नमूना आवृत्ति है। जैसा कि देखा जा सकता है, उत्पन्न आवृत्ति की सटीकता विशिष्ट रूप से उत्पन्न आवृत्ति और नमूना दर के अनुपात पर निर्भर करती है। उत्पन्न आवृत्ति की आवश्यक सटीकता प्राप्त करने के लिए, अर्थात्, 1.5% से भी बदतर नहीं, जाहिर है, दशमलव बिंदु के बाद कम से कम दो महत्वपूर्ण अंकों की आवश्यकता होती है, जिसके लिए डेटा को कम से कम 8 बिट्स की कम आवृत्तियों के लिए थोड़ी गहराई के साथ प्रस्तुत किया जाना चाहिए, और उच्च आवृत्तियों के लिए कम से कम 9 बिट्स, और संचयी योग के लिए क्रमशः कम से कम 12 बिट्स की आवश्यकता होती है। बिट्स, जिससे ज्ञात पद्धति को लागू करने वाले उपकरणों के घटकों की संख्या में वृद्धि होती है। ज्ञात विधि को कार्यान्वित करने के लिए ज्ञात उपकरण, अर्थात् ऐडर्स, रजिस्टर, रीड-ओनली मेमोरी डिवाइस में 4 और 8 बिट की क्षमता वाले इनपुट/आउटपुट होते हैं। इसलिए, बड़ी क्षमता के साथ, समान रूप से कार्यात्मक उपकरणों के कार्यान्वयन के लिए अतिरिक्त तकनीकी और आर्थिक लागत की आवश्यकता होती है। उसी समय, ज्ञात विधि में, दशमलव बिंदु के बाद अंकों की संख्या में कमी से आवृत्ति त्रुटि होती है जो स्वीकार्य से अधिक होती है। तकनीकी संकेतक विधि के कार्यान्वयन में सार्वभौमिकता और एकीकरण द्वारा निर्धारित किए जाते हैं, उदाहरण के लिए, अत्याधुनिक, जिसका तात्पर्य सामग्री की खपत, घटक तत्वों में कमी और उपकरणों की बहुमुखी प्रतिभा में वृद्धि से है, के लिए माइक्रोकंट्रोलर्स के उपयोग की आवश्यकता होती है। टेलीफोनी और टेलीमेट्रिक माप में उपयोग किए जाने वाले व्यापक माइक्रोकंट्रोलर 8-बिट डेटा और 8-बिट अंकगणितीय तर्क इकाई का उपयोग करते हैं, जिसके लिए 8 बिट से अधिक की क्षमता वाले डेटा सारांश से जुड़े अतिरिक्त कम्प्यूटेशनल संचालन और ज्ञात विधि को लागू करते समय ट्रांसफर सिग्नल के विश्लेषण की आवश्यकता होती है। जो कमांड की संख्या बढ़ाता है और, तदनुसार, माइक्रोकंट्रोलर की घड़ी आवृत्ति, साथ ही माइक्रोकंट्रोलर की रैम की मात्रा, जिससे डीटीएमएफ सिग्नल उत्पन्न करने के लिए ज्ञात विधि का उपयोग करने वाले उपकरणों की लागत में वृद्धि होती है। यह निष्कर्ष एटमेल, माइक्रोचिप टीएनसी और अन्य द्वारा निर्मित माइक्रोकंट्रोलर्स के आधार पर टोन डायलर में ज्ञात विधि के अनुप्रयोग का विश्लेषण करते समय दिया गया है, क्योंकि विधि का उपयोग करते समय इसकी सीमाएं होती हैं, जिसमें सामान्य उपयोग के लिए माइक्रोकंट्रोलर के हिस्से के रूप में भी शामिल है, जो है माइक्रोकंट्रोलर्स के लिए बढ़ी हुई तकनीकी विशेषताओं में व्यक्त किया गया है, जो उनकी बहुमुखी प्रतिभा को कम करता है। दावा किए गए डीटीएमएफ सिग्नल जनरेटर के तकनीकी सार और प्राप्त परिणाम के सबसे करीब डीटीएमएफ जनरेटर सिग्नल हैं, जो यूएस पेटेंट नंबर 5034977 दिनांक 04.04.89, प्रकाशन में प्रस्तुत किया गया है। 07/23/91, एम.सी.एल. 5 एच 04 एम 1/00। प्रसिद्ध डीटीएमएफ सिग्नल जनरेटर में शामिल हैं: पहला संचयी योजक, पहला लैच रजिस्टर, पहला भंडारण उपकरण, दूसरा संचयी योजक, दूसरा कुंडी रजिस्टर, दूसरा भंडारण उपकरण, अंतिम योजक , एक डिजिटल-टू-एनालॉग कनवर्टर, और पहले संचयी योजक का आउटपुट पहले फिक्सिंग रजिस्टर के इनपुट से जुड़ा होता है, पहले फिक्सिंग रजिस्टर का आउटपुट पहले स्टोरेज डिवाइस के इनपुट से जुड़ा होता है, साथ ही साथ पहले संचयी योजक के इनपुट में से एक, पहले स्टोरेज डिवाइस का आउटपुट अंतिम योजक के इनपुट में से एक से जुड़ा होता है, दूसरे संचयी योजक का आउटपुट दूसरे फिक्सिंग रजिस्टर के इनपुट से जुड़ा होता है, का आउटपुट दूसरा होल्डिंग रजिस्टर दूसरे स्टोरेज डिवाइस के इनपुट के साथ-साथ दूसरे स्टोरेज एडर के एक इनपुट से जुड़ा होता है, दूसरे स्टोरेज डिवाइस का आउटपुट अंतिम एडर के दूसरे इनपुट से जुड़ा होता है, जिसका आउटपुट होता है अंतिम योजक एक डिजिटल-टू-एनालॉग कनवर्टर के इनपुट से जुड़ा है, जिसका आउटपुट डीटीएमएफ सिग्नल जनरेटर का आउटपुट है। ज्ञात जनरेटर में डीटीएमएफ सिग्नल कोड का पहला कनवर्टर नमूना कोणों के संबंधित कोड में भी शामिल है DTMF सिग्नल की ऊपरी आवृत्तियाँ, DTMF सिग्नल के कोड का दूसरा कनवर्टर DTMF सिग्नल की निचली आवृत्तियों के अनुरूप नमूना कोणों के संबंधित कोड में, और DTMF सिग्नल के कोड के पहले कनवर्टर का आउटपुट दूसरे इनपुट से जुड़ा होता है पहले भंडारण योजक का, दूसरे DTMF कोड कनवर्टर का आउटपुट दूसरे संचयी योजक के दूसरे इनपुट से जुड़ा होता है, पहले और दूसरे DTMF कोड कनवर्टर के इनपुट DTMF सिग्नल जनरेटर के इनपुट होते हैं, और पहले के क्लॉक इनपुट होते हैं और दूसरे लैचिंग रजिस्टर एक दूसरे से जुड़े हुए हैं और डीटीएमएफ सिग्नल जनरेटर की नमूना आवृत्ति के इनपुट हैं। सुप्रसिद्ध डीटीएमएफ सिग्नल जनरेटर विभिन्न से जुड़े सर्किट तत्वों की अत्यधिक संख्या के साथ-साथ समान कार्यात्मक तत्वों की अत्यधिक बिट चौड़ाई के कारण कम तकनीकी परिणाम प्रदान करता है। इसके अलावा, एक अलग एकीकृत सर्किट के रूप में प्रसिद्ध तकनीकी समाधान का कार्यान्वयन प्रभावी ढंग से संभव है, हालांकि, इसके लिए विशेष उत्पादन के संगठन की आवश्यकता होती है, लेकिन यह देखते हुए कि डीटीएमएफ सिग्नल जनरेटर बहुक्रियाशील उपकरणों (उन्नत टेलीफोन सेट) का हिस्सा हैं क्षमताओं, टेलीफोन लाइनों पर टेलीमेट्रिक जानकारी प्रसारित करने के लिए उपकरण, आदि) जो वर्तमान में सार्वभौमिक माइक्रोकंट्रोलर के आधार पर कार्यान्वित किए जाते हैं, डीटीएमएफ सिग्नल के अलग-अलग माइक्रोक्रिस्केट का उत्पादन आर्थिक रूप से अक्षम है। कमी के कारण उच्च तकनीकी और आर्थिक संकेतक वाली एक विधि एक ही प्रकार के संचालन की बिट गहराई, उच्च तकनीकी संकेतक, विधि को लागू करते समय, दोनों सरल हार्डवेयर के साथ सर्किट डिजाइन में, और एक बहुक्रियाशील माइक्रोकंट्रोलर के हिस्से के रूप में, समान कार्यात्मक तत्वों के कार्यान्वयन में, दोहराव से जुड़े होते हैं। तकनीकी समाधान, कार्य एक डीटीएमएफ सिग्नल जनरेटर बनाना है, जिसमें नए तत्वों को पेश करके और नए कनेक्शन बनाकर, तकनीकी परिणाम बढ़ाया जाता है, जो अनावश्यक सर्किट तत्वों की संख्या में कमी के साथ जुड़ा होता है, और तदनुसार, आर्थिक दक्षता जुड़ी होती है व्यापक रूप से उपलब्ध साधनों द्वारा प्रस्तावित तकनीकी समाधान को लागू करने की संभावना बढ़ गई है। तथ्य यह है कि डीटीएमएफ सिग्नल उत्पन्न करने की ज्ञात विधि में, पहले और दूसरे आवृत्तियों के अनुरूप नमूना कोणों के पहले और दूसरे कोड का चयन शामिल है। डीटीएमएफ सिग्नल के घटक, नमूना कोण के पहले और दूसरे कोड का संचयी योग क्रमशः, समय-समय पर तय किया जाता है, नमूना घड़ी आवृत्ति के अनुरूप अवधि के साथ, संचयी योग का पहला और दूसरा परिणाम, पहला प्राप्त करना और नमूने के संचयी योग के परिणामों के अनुरूप पते पर संबंधित तालिकाओं से पढ़कर डीटीएमएफ सिग्नल घटकों के असतत मूल्यों के संबंधित तालिकाओं के पता कोशिकाओं में संग्रहीत डीटीएमएफ सिग्नल घटकों के दूसरे असतत मान कोण कोड, DTMF सिग्नल घटकों के पहले और दूसरे असतत मानों को जोड़कर DTMF सिग्नल के मूल्य के अनुरूप तीसरा असतत मान प्राप्त करने के लिए, नया क्या है कि DTMF सिग्नल घटकों के पहले और दूसरे असतत मान डीटीएमएफ सिग्नल घटकों के असतत मूल्यों के संबंधित तालिकाओं के पता योग्य कोशिकाओं में संग्रहीत, पूर्णांकों के पहले और दूसरे अनुक्रमों के क्रमशः संचयी योग के परिणामों के अनुरूप पते पर संबंधित तालिकाओं से पढ़कर प्राप्त किए जाते हैं, जिसका औसत मूल्य DTMF सिग्नल के घटकों के अनुरूप नमूना कोणों के कोड से मेल खाता है। इसके अलावा, संचयी योग का परिणाम बनाने वाले पूर्णांकों के अनुक्रम का औसत मूल्य इन संख्याओं का अंकगणितीय माध्य हो सकता है। इसके अलावा, संचयी योग के पहले और दूसरे परिणामों का आवधिक निर्धारण संबंधित अवधि के साथ हो सकता है सैंपलिंग क्लॉक फ्रीक्वेंसी के लिए, अलग-अलग DTMF सिग्नल के लिए अलग-अलग। इसे इस तथ्य से भी हल किया जाता है कि प्रसिद्ध DTMF सिग्नल जनरेटर में, जिसमें पहला स्टोरेज एडर, पहला लैचिंग रजिस्टर, पहला स्टोरेज डिवाइस, दूसरा स्टोरेज एडर शामिल है। , दूसरा लैचिंग रजिस्टर, दूसरा स्टोरेज डिवाइस, अंतिम एडर, डिजिटल-टू-एनालॉग कनवर्टर, और पहले स्टोरेज एडर का आउटपुट पहले फिक्सिंग रजिस्टर के इनपुट से जुड़ा है, पहले फिक्सिंग रजिस्टर का आउटपुट है पहले स्टोरेज डिवाइस के इनपुट के साथ-साथ पहले स्टोरेज एडर के इनपुट में से एक से जुड़ा हुआ है, पहले स्टोरेज डिवाइस का आउटपुट अंतिम एडर के इनपुट में से एक से जुड़ा है, दूसरे स्टोरेज एडर का आउटपुट दूसरे फिक्सिंग रजिस्टर के इनपुट से जुड़ा है, दूसरे लैच रजिस्टर का आउटपुट दूसरे स्टोरेज डिवाइस के इनपुट से जुड़ा है, साथ ही दूसरे स्टोरेज एडर के इनपुट में से एक, दूसरे स्टोरेज डिवाइस के आउटपुट से जुड़ा है। अंतिम योजक के दूसरे इनपुट से जुड़ा है, अंतिम योजक का आउटपुट डिजिटल-टू-एनालॉग कनवर्टर के इनपुट से जुड़ा है, जिसका आउटपुट डीटीएमएफ सिग्नल जनरेटर का आउटपुट है, आविष्कार के अनुसार नया यह है कि DTMF सिग्नल जनरेटर में पूर्णांक संख्याओं के अनुक्रम में DTMF सिग्नल कोड का एक कनवर्टर, एक समायोज्य डिवीजन अनुपात के साथ DTMF सिग्नल जनरेटर की मास्टर आवृत्ति का एक विभक्त, एक डिवीजन अनुपात कोड के लिए DTMF सिग्नल के कोड का एक कनवर्टर शामिल होता है। , और पूर्णांक संख्याओं के अनुक्रम में DTMF संकेतों के कोड कनवर्टर का पहला आउटपुट पहले स्टोरेज योजक के दूसरे इनपुट से जुड़ा है, पूर्णांकों के अनुक्रम में संकेतों के DTMF कोड कनवर्टर का दूसरा आउटपुट दूसरे इनपुट से जुड़ा है दूसरे भंडारण योजक का, एक समायोज्य विभाजन कारक के साथ डीटीएमएफ संकेतों के जनरेटर की मास्टर आवृत्ति के विभक्त का आउटपुट पूर्णांक के अनुक्रम में डीटीएमएफ संकेतों के कोड के कनवर्टर के घड़ी इनपुट से जुड़ा हुआ है, साथ ही साथ पहले लैचिंग रजिस्टर का क्लॉक इनपुट और दूसरे लैचिंग रजिस्टर का क्लॉक इनपुट, डिवीजन अनुपात के कोड के लिए सिग्नल के डीटीएमएफ कोड के कनवर्टर का आउटपुट डिवाइडर के डिवीजन फैक्टर सेटिंग के इनपुट से जुड़ा है। DTMF सिग्नल जनरेटर की मास्टर आवृत्ति, एक समायोज्य डिवीजन अनुपात के साथ DTMF सिग्नल जनरेटर की मास्टर आवृत्ति के विभक्त का इनपुट DTMF सिग्नल जनरेटर की मास्टर आवृत्ति के इनपुट द्वारा होता है, DTMF सिग्नल कोड कनवर्टर का इनपुट विभाजन अनुपात कोड पूर्णांकों के अनुक्रम में DTMF सिग्नल कोड कनवर्टर के इनपुट से जुड़ा है और DTMF सिग्नल जनरेटर का इनपुट है। इसके अलावा, पूर्णांकों के अनुक्रम में DTMF कोड कनवर्टर को एक नियंत्रित प्रोग्रामयोग्य स्टोरेज डिवाइस के रूप में बनाया जा सकता है, जिसकी मेमोरी में DTMF संकेतों की संख्या के अनुरूप मेमोरी क्षेत्र होते हैं, जिसमें लंबाई के अनुरूप मेमोरी सेल होते हैं। पूर्णांकों का अनुक्रम, इस प्रकार बनाया गया है कि मेमोरी सेल के एक आधे हिस्से में पूर्णांकों के पहले अनुक्रम से संबंधित एक संख्या संग्रहीत होती है, और मेमोरी सेल के दूसरे आधे हिस्से में क्रमशः पूर्णांकों के दूसरे अनुक्रम से संबंधित एक संख्या संग्रहीत होती है, जो हैं संबंधित संचयी योजकों की शर्तें, और प्रोग्राम योग्य मेमोरी डिवाइस का नियंत्रण अलग चयन नियंत्रण मेमोरी क्षेत्र और एक अलग मेमोरी सेल की संभावना के साथ किया जाता है। DTMF सिग्नल और DTMF सिग्नल जनरेटर उत्पन्न करने की विधि की नई सुविधाएँ, एक साथ इन वस्तुओं की ज्ञात विशेषताएं, वस्तुओं के नए तकनीकी गुण प्रदान करती हैं, और, इन गुणों के परिणामस्वरूप, एक नया आवश्यक तकनीकी परिणाम प्रदान किया जाता है। प्रस्तावित विधि और प्राप्त तकनीकी परिणाम को निम्नानुसार समझाया गया है। का सार प्रकट करना प्रस्तावित तकनीकी समाधान, निम्नलिखित गणना सुविधाजनक होगी: y(P)=sin(n) (1.2), जहां y(P) साइन फ़ंक्शन का असतत मान है;=wT=27F/Fr (1.3) - नमूनाकरण कोण, रेडियन में मापा जाता है; एन - नमूने की अनुक्रम संख्या - नमूना; एफ टी \u003d एफ ओएससी / केडी - घड़ी नमूना आवृत्ति, जहां एफ ओएससी - डिवाइस संदर्भ आवृत्ति; केडी - समायोज्य विभाजन कारक। फिर = 2FК डी / एफ ओएससी . (1.4) जैसा कि सर्वविदित है, साइन फ़ंक्शन 2 की अवधि के साथ आवधिक है। नमूना कोण को रेडियन से सापेक्ष इकाइयों में परिवर्तित करने और नमूना कोण कोड प्राप्त करने के लिए, हम पूरी अवधि को एम भागों में विभाजित करते हैं, जहां एम एक बाइनरी है पूर्णांक इस प्रकार, हमें अवधि का एक न्यूनतम असतत भाग मिलता है:=2/m. (1.5) नमूना कोण कोड अवधि के एक भाग के अनुसार नमूना कोण का सापेक्ष मूल्य है, अर्थात्, K=/=2F/F t:2P/m=Fm/F t। (1.6) उदाहरण के लिए, के लिए 1477 हर्ट्ज और 697 हर्ट्ज (सिग्नल "3" के DTMF कोड के अनुरूप) की उत्पन्न आवृत्तियाँ, m=64 पर, और घड़ी की आवृत्ति F t =32768 HzK 697 =1.36; K l477 =2.88। जाहिर है, बाइनरी के लिए नमूना कोण कोड K 697 =1.36 को क्रमशः 136 में प्रदर्शित करने के लिए 8 बिट्स (1281+640+320+160+81+40+20+10) की आवश्यकता होती है, और K 1477 =2.88 को क्रमशः 288 में प्रदर्शित करने के लिए 9 बिट्स (2561+1280+) की आवश्यकता होती है। 640+321+ 160+80+40+ 20+10)। इस मामले में, बाइनरी प्रतिनिधित्व में क्रमशः संचयी योग के लिए 12 बिट्स की आवश्यकता होती है, जो ज्ञात समाधान की ऊपर वर्णित कमियों को निर्धारित करता है। प्रस्तावित तकनीकी समाधान, उदाहरण के लिए, संख्या 1.36 को पूर्णांक 1 और 2 के अनुक्रम के औसत मान के रूप में परिभाषित करता है, अर्थात् 1.36=(1x+2y)/(x+y), जहां x और y क्रमशः संख्याओं की संख्या हैं 1 और 2, समय-समय पर एक अवधि (x + y) के साथ दोहराते हुए। उदाहरण के लिए, 1.36=1+0.36. इस तरह के प्रतिस्थापन की सापेक्ष सटीकता, अभिव्यक्ति (1.7)=К/Ц (1.7) के अनुसार, नमूना कोण कोड मान के पूर्णांक भाग में वृद्धि के साथ बढ़ती है। उदाहरण के लिए, 697 हर्ट्ज की उत्पन्न आवृत्ति, एम = 64, और घड़ी की आवृत्ति एफ टी = 32768 हर्ट्ज के लिए, के 697 = 1.36 को क्रमशः संख्या 1 और 2 के मानों के साथ बदलने की त्रुटि 36 है और 32%। वहीं, यदि आप m= 256 का मान बढ़ाते हैं, तो K 697 = 5.45 को संख्या 5 और 6 के मान से प्रतिस्थापित करने की त्रुटि क्रमशः 9 और 10% कम हो जाती है। मामले में, उत्पन्न आवृत्ति की त्रुटि, उदाहरण के लिए, जब K 697 = 5.45 को संख्या 5 और 6 के मानों के साथ पुनरावृत्ति अवधि के साथ प्रतिस्थापित किया जाता है, 16, 5.45 = (5x + 6y) / (x +) के बराबर y), जहां (x + y) \u003d 16. समीकरण को हल करने पर, हमें x \u003d 9, y \u003d 7, यानी मिलता है। संचयी योग की सोलह संक्रियाओं में से, पद 5 का योग नौ बार किया गया है और पद 6 का योग सात बार किया गया है, जबकि वास्तव में K 697 = 5.4375, इस मान को m = 256, F t = 32768 Hz के लिए अभिव्यक्ति (1.6) में प्रतिस्थापित करते हुए, हम निर्धारित करते हैं उत्पन्न आवृत्ति का वास्तविक गणना मूल्य F=696 हर्ट्ज, जबकि त्रुटि 0.1% थी। उपरोक्त अभिव्यक्तियों के घटक, और, तदनुसार, प्रस्तावित विधि को लागू करने वाले उपकरणों की क्षमता को कम करते हैं, जिससे हार्डवेयर और ऊर्जा में कमी आती है विधि के कार्यान्वयन में लागत, और कम तकनीकी आवश्यकताओं के कारण बहुक्रियाशील उपकरणों में उपयोग किए जाने पर प्रस्तावित विधि के उच्च तकनीकी प्रदर्शन को सुनिश्चित करना। दावा किए गए तकनीकी समाधान की विशेषताएं और प्राप्त तकनीकी परिणाम निम्नानुसार समझाए गए हैं। जो कार्यान्वयन सुनिश्चित करते हैं सर्किट तत्वों द्वारा विधि की समान बिट गहराई 8-बिट से अधिक नहीं होती है, जबकि कई समस्याओं को हल करने के लिए आवश्यक तत्वों की कोई अतिरेक नहीं होती है, उदाहरण के लिए, संचयी योग के परिणाम को ठीक करने के लिए, और संबंधित भंडारण डिवाइस को संबोधित करने के लिए, समान संख्या में बिट्स का उपयोग किया जाता है, 8-बिट रजिस्टर से अधिक नहीं लागू किया जाता है, जिसे सार्वजनिक माध्यमों से एकल माइक्रोक्रिकिट के रूप में या माइक्रोप्रोसेसर संस्करण में, एकल मेमोरी सेल द्वारा बनाया जा सकता है। इसके अलावा, स्टोरेज एडर्स का कार्यान्वयन समान उपकरणों के रूप में, समान बिट गहराई के साथ, 4-बिट शर्तों के साथ काम करने वाले सार्वजनिक रूप से उपलब्ध एडर माइक्रोक्रिस्केट के रूप में किया जा सकता है। बेशक, यह समझा जाता है कि संख्याएं और, तदनुसार, वे उपकरण जो पूर्णांकों के उपरोक्त अनुक्रम बनाते हैं, जिनकी समग्रता नमूना कोणों के संबंधित कोड अलग-अलग बिट गहराई के साथ हो सकती है, लेकिन दावा किए गए समाधान द्वारा निर्धारित लक्ष्यों को पूरा करने के दृष्टिकोण से सबसे इष्टतम है, 4-बिट नंबर हैं। माइक्रोकंट्रोलर्स के कमांड में आवश्यक रूप से 4-बिट नंबर - निबल्स। हार्डवेयर के साथ काम करने वाले कमांड शामिल होते हैं, और मल्टीफंक्शनल माइक्रोकंट्रोलर के हिस्से के रूप में, जो तकनीकी समाधान की उच्च आर्थिक दक्षता निर्धारित करता है। आविष्कार को एक ड्राइंग द्वारा चित्रित किया गया है, जहां चित्र 1 एक कार्यात्मक डीटीएमएफ सिग्नल जनरेटर दिखाता है जो डीटीएमएफ सिग्नल उत्पन्न करने के लिए एक विधि लागू करता है। डीटीएमएफ सिग्नल जनरेटर में अनुक्रम पूर्णांक में डीटीएमएफ सिग्नल कोड का एक कनवर्टर 1, एक समायोज्य डिवीजन के साथ डीटीएमएफ सिग्नल जनरेटर की मास्टर आवृत्ति का एक विभाजक 2 शामिल है। अनुपात, डीटीएमएफ कोड का एक कनवर्टर 3 एक डिवीजन फैक्टर कोड में, पहला संचयी योजक 4, पहला लैचिंग रजिस्टर 5, पहला स्टोरेज डिवाइस 6, दूसरा स्टोरेज डिवाइस 7, दूसरा लैचिंग रजिस्टर 8, दूसरा संचयी योजक, अंतिम योजक 10, डिजिटल-से-एनालॉग कनवर्टर 11। डीटीएमएफ सिग्नल जनरेटर के संचालन को डीटीएमएफ सिग्नल उत्पन्न करने की विधि के कार्यान्वयन के उदाहरण द्वारा चित्रित किया गया है। पहले, अभिव्यक्ति (1.4, 1.6) और तकनीकी डेटा के आधार पर, विशेष रूप से, डिवाइस की मास्टर आवृत्ति जहां प्रस्तावित विधि लागू की जाएगी, पूर्णांकों के अनुक्रम की गणना की जाती है जो नमूना कोणों के संबंधित कोड निर्धारित करते हैं, और डीटीएमएफ सिग्नल जनरेटर की मास्टर आवृत्ति के विभाजक 2 के लिए विभाजन गुणांक के कोड निर्धारित करते हैं। एक समायोज्य विभाजन कारक, जो पूर्णांक के अनुक्रम में DTMF कोड के कनवर्टर 1 के मेमोरी क्षेत्रों की संबंधित कोशिकाओं में दर्ज किया जाता है और विभाजन गुणांक के कोड में DTMF सिग्नल के कोड के कनवर्टर 3 भी पूर्व -संबंधित साइन फ़ंक्शंस के असतत मानों की गणना करें, जिनकी संख्या नमूने एम की संख्या से निर्धारित होती है, और कनवर्टर 1 के इनपुट पर डीटीएमएफ सिग्नल उत्पन्न करते समय संबंधित मेमोरी डिवाइस 6 और 7 को लिखें। और कनवर्टर 3, जो जनरेटर के इनपुट हैं, डीटीएमएफ सिग्नल की थोड़ी देर की कार्रवाई के लिए, उत्पन्न डीटीएमएफ सिग्नल का कोड सेट किया जाएगा, वह कोड जो डिवाइडर 2 के लिए विभाजन कारक निर्धारित करता है, के आउटपुट पर सेट किया जाएगा कनवर्टर 3, जबकि विभाजक 2 के आउटपुट पर नमूना आवृत्ति समय-समय पर सेट की जाएगी, नमूना घड़ी आवृत्ति के अनुरूप अवधि के साथ, कनवर्टर 1 के पहले आउटपुट से पहले संचयी योजक 4 का इनपुट होगा, बाइनरी नंबर होंगे पूर्णांकों के पहले अनुक्रम में शामिल, और कनवर्टर के दूसरे आउटपुट से 1 को दूसरे संचयी योजक के इनपुट में फीड किया जाएगा, डीटीएमएफ सिग्नल के घटकों के अनुरूप पूर्णांकों के दूसरे अनुक्रम में शामिल 9 बाइनरी संख्याएं, के परिणाम संचयी योग संचयी योजक के आउटपुट से संबंधित लैचिंग रजिस्टर 5 और 8 के इनपुट में दिया जाता है, लैचिंग रजिस्टर 5 और 8 के आउटपुट से, संचयी योग के परिणाम, नमूना घड़ी के अनुरूप अवधि के साथ दिए जाते हैं। आवृत्ति, संबंधित संचयी योजक 4 और 9 के अन्य इनपुट के साथ-साथ संबंधित भंडारण उपकरणों 6 और 7 के इनपुट को संबंधित घटकों के साइन के अलग-अलग मानों के पते सेट करके फ़ीड की जाती है। डीटीएमएफ सिग्नल, मेमोरी डिवाइस 6 और 7 के आउटपुट से, डीटीएमएफ सिग्नल के संबंधित घटकों के अलग-अलग मान अंतिम योजक 10 के संबंधित इनपुट में फीड किए जाते हैं, जिसके आउटपुट पर एक अलग बाइनरी डीटीएमएफ सिग्नल होता है। गठित, जो डिजिटल-टू-एनालॉग कनवर्टर 11 के इनपुट को खिलाया जाता है, जो डीटीएमएफ सिग्नल के इनपुट कोड के अनुरूप एक चरणबद्ध साइनसॉइडल डीटीएमएफ सिग्नल आउटपुट करता है। पूर्णांकों के अनुक्रम में कनवर्टर 1 कोड डीटीएमएफ सिग्नल (चित्र 1) को चित्र 2 में दिखाए गए रूप में बनाया जा सकता है, जहां कनवर्टर पूर्णांकों के अनुक्रम में डीटीएमएफ संकेतों को कोड करता है जिसमें एक नियंत्रण डिवाइस 12, एक प्रोग्रामयोग्य मेमोरी डिवाइस 13 शामिल है। डीटीएमएफ सिग्नल जनरेटर को टेलीफोन टोन-फ़्रीक्वेंसी डायलर में प्रस्तावित विधि के कार्यान्वयन के एक विशिष्ट उदाहरण पर आगे चित्रित किया गया है। पहले, अभिव्यक्तियों (1.4, 1.6) और तकनीकी डेटा के आधार पर, पूर्णांकों के अनुक्रमों की गणना की जाती है जो संबंधित निर्धारित करते हैं समायोज्य विभाजन अनुपात के साथ DTMF सिग्नल जनरेटर की मास्टर आवृत्ति के विभक्त 2 के लिए नमूना कोणों के कोड, और विभाजन गुणांक के कोड। यह ध्यान में रखते हुए कि विधि के कार्यान्वयन में एक ही प्रकार की गणना शामिल है, एक विशिष्ट उदाहरण में कार्य को चित्रित करने के लिए, टोन-पल्स डायलर के हिस्से के रूप में "7" कुंजी दबाने के अनुरूप डीटीएमएफ सिग्नल उत्पन्न करने की विधि का कार्यान्वयन है दिया गया। जनरेटर की मास्टर आवृत्ति के रूप में, एक क्वार्ट्ज आवृत्ति सेट की जाती है, जो टेलीफोन प्रौद्योगिकी में सबसे आम है, अर्थात् एफ ओएससी = 3579545 हर्ट्ज। "7" कुंजी दबाने पर 1209 हर्ट्ज की ऊपरी (कॉलम) आवृत्ति और 852 हर्ट्ज की निचली (पंक्तियों) आवृत्ति के साथ एक डीटीएमएफ सिग्नल मेल खाता है। चूंकि डीटीएमएफ सिग्नल एक साथ दो आवृत्तियों को प्रसारित करता है, इसलिए विभाजन गुणांक की गणना उच्च - ऊपरी आवृत्ति के लिए की जाती है ताकि अभिव्यक्ति (1.6) के अनुसार संबंधित नमूना कोण कोड अधिकतम मूल्य - 16 के करीब हो, जिसे इससे अधिक नहीं लागू किया जाता है 4 बिट डेटा. इस प्रकार, एफ ओएससी =3579545 हर्ट्ज पर, साइन्स के असतत मानों की संख्या एम=128, समायोज्य विभाजन कारक के डी =240 के साथ डीटीएमएफ सिग्नल जनरेटर की मास्टर आवृत्ति के विभक्त 2 के लिए विभाजन कारक के परिकलित मान =460, जबकि ऊपरी आवृत्ति K 1209 /852 =10.376 के लिए संबंधित नमूना कोण कोड, निचली आवृत्ति K 852/1209 =7.312 के लिए। आविष्कार के अनुसार, नमूना कोण कोड को क्रमशः पूर्णांकों के अनुक्रम द्वारा प्रतिस्थापित किया जाता है, 10 /11 और 7/8.10.375=(10x+11y)/(x+y), जबकि वास्तव में K 1209 / 852 = 10.3757.312 = (7x + 8y) / (x + y), जबकि वास्तव में K 952/ 1209 = 7.313, (x + y) = 16 के साथ। इस प्रकार, 10.375 को 10 x 10 बार और 11 x 6 बार पूर्णांकों के आवधिक दोहराव अनुक्रम द्वारा प्रतिस्थापित किया जाता है, और 7,312 को 7 x 11 बार और 8 x 5 बार के रूप में प्रतिस्थापित किया जाता है। बाइनरी प्रतिनिधित्व में "7" सिग्नल के DTMF कोड के लिए मेमोरी क्षेत्र इस प्रकार है:
इस प्रकार, डीटीएमएफ सिग्नल के कोड के अनुरूप सोलह तालिकाओं की गणना की जाती है, अर्थात् 0, 1, 2 ... 9, *, #, ए, बी, सी, डी, और प्रोग्रामेबल स्टोरेज डिवाइस 13 की मेमोरी में पूर्व-रिकॉर्ड किया गया है। (पूर्णांकों के अनुक्रम में DTMF वर्ण कोड का कनवर्टर)। जब एक कुंजी दबाया जाता है, उदाहरण के लिए, DTMF सिग्नल की अवधि के लिए जनरेटर के इनपुट पर "7", DTMF सिग्नल का बाइनरी कोड "7" ( 0111) सेट है, डीटीएमएफ सिग्नल कोड का डिवीजन फैक्टर में कनवर्टर 3 डीटीएमएफ सिग्नल कोड को समायोज्य डिवीजन अनुपात के साथ मास्टर फ्रीक्वेंसी जनरेटर के डिवाइडर 2 के लिए गुणांक कोड डिवीजन केडी में परिवर्तित करता है, डिवाइडर 2 का आउटपुट होगा नमूना आवृत्ति F t =F OSC /K D पर सेट करें। सिग्नल का DTMF कोड प्रोग्रामेबल स्टोरेज डिवाइस 13 (पूर्णांक के अनुक्रमों के लिए DTMF सिग्नल कोड का कनवर्टर) के उच्च-क्रम अंकों के एड्रेस इनपुट को भी आपूर्ति किया जाता है और DTMF सिग्नल की अवधि के लिए वहां मौजूद होता है। नियंत्रित डिवाइस 12, उदाहरण के लिए, एक काउंटर के रूप में (डीटीएमएफ सिग्नल कोड को पूर्णांकों के अनुक्रम में परिवर्तित करने वाला), आवृत्ति टी के साथ घड़ी संकेतों के प्रभाव में, चक्रीय रूप से 0000 से श्रृंखला में समानांतर आउटपुट पर अपना मान बदलता है। 1111 तक, क्लॉक सैंपलिंग के साथ प्रोग्रामेबल मेमोरी डिवाइस 13 के आउटपुट पर प्रोग्रामेबल मेमोरी डिवाइस 13 (पूर्णांक के अनुक्रम में कोड डीटीएमएफ सिग्नल का कनवर्टर) के कम से कम महत्वपूर्ण अंकों के एड्रेस इनपुट के मूल्यों को तदनुसार बदलना। आवृत्ति, 8-बिट (बाइट) संख्याएँ दिखाई देती हैं, जबकि तालिका 1 के अनुसार, उच्चतम चार बिट्स (उच्चतम निबल) पूर्णांकों का एक क्रम बनाते हैं, जिसका सेट, अर्थात्, अंकगणित माध्य, के अनुरूप नमूना कोण कोड निर्धारित करता है ऊपरी (स्तंभ) आवृत्ति, और सबसे कम महत्वपूर्ण चार बिट्स (निचला निबल) पूर्णांकों का एक अनुक्रम बनाते हैं, जिसका सेट, अर्थात् अंकगणितीय माध्य, निम्न (रेखा) आवृत्ति, चार अंकों के अनुरूप नमूना कोण कोड निर्धारित करता है डेटा, तालिका 1 के अनुसार, प्रोग्रामयोग्य स्टोरेज डिवाइस 13 (डीटीएमएफ सिग्नल कोड को पूर्णांकों के अनुक्रम में परिवर्तित करने वाला) के आउटपुट से, संबंधित स्टोरेज ऐडर्स 4 और 9 के इनपुट में, संबंधित ऐडर्स के आउटपुट पर अलग से फीड किया जाता है। 4 और 9 डेटा नमूना आवृत्ति के साथ 0 से एम (इस मामले में, एम = 128) में बदलते हैं, रजिस्टर 5 और 8 को ठीक करने के माध्यम से, मेमोरी 6 और 7 के लिए पते निर्धारित और ठीक करते हैं, जिसमें क्रमशः, बाइनरी असतत होते हैं डीटीएमएफ सिग्नल के संबंधित साइनसॉइडल घटकों के मान लिखे गए हैं, आउटपुट मेमोरी डिवाइस 6 और 7 से, डीटीएमएफ सिग्नल के संबंधित साइनसॉइडल घटकों के बाइनरी असतत मान अंतिम योजक 10 के संबंधित इनपुट को खिलाए जाते हैं। , जिसके आउटपुट पर DTMF सिग्नल के बाइनरी असतत मान बनते हैं, जिन्हें फिर डिजिटल-टू-एनालॉग कनवर्टर 11 के इनपुट में फीड किया जाता है, जिसके आउटपुट पर एक स्टेप्ड साइनसॉइडल DTMF सिग्नल बनता है। डीटीएमएफ सिग्नल जनरेटर को प्रसिद्ध तकनीकी साधनों के आधार पर कार्यान्वित किया जा सकता है, उदाहरण के लिए, इसमें वर्णित है: इलेक्ट्रॉनिक कंप्यूटिंग में एकीकृत सर्किट का उपयोग। हैंडबुक / एड. बी.एन. फ़ैज़ुलेवा, बी.वी. ताराब्रिन। - एम.: रेडियो और संचार, 1986। इस मामले में, कनवर्टर 3 डीटीएमएफ सिग्नल के कोड को डिवीजन गुणांक के कोड में बनाया जा सकता है, उदाहरण के लिए, एक रॉम चिप 155पीई 3 (पी. 343) के रूप में, कार्यान्वयन रजिस्टरों का वर्णन पी पर किया गया है। 108, संचायक के कार्यान्वयन का वर्णन पृष्ठ पर किया गया है। 114. दावा की गई विधि और डीटीएमएफ सिग्नल जनरेटर भी माइक्रोचिप इंक के तकनीकी साधनों के आधार पर कार्यान्वित किए जाते हैं। (pic16f628 प्रकार के 8-बिट सिंगल-चिप माइक्रोकंट्रोलर), कादरान कंपनी (यूक्रेन, ज़ापोरोज़े) द्वारा निर्मित कादरान-एनकेटी-01 पल्स-टोन टेलीफोन डायलर के हिस्से के रूप में। कमांड सिस्टम और माइक्रोकंट्रोलर नोड्स की आंतरिक संरचना का वर्णन इसमें किया गया है: प्रोकोपेंको बी.वाई.ए. एकल चिप माइक्रोकंट्रोलर। डोडेका, 2000, आईएसबीएन8-87835-056-4। डीटीएमएफ सिग्नल मापदंडों का विवरण दिया गया है, उदाहरण के लिए, इसमें: एकीकृत सर्किट: टेलीफोनी के लिए माइक्रोसर्किट। अंक 1। - एम.: डोडेका, 1994, 256 पी। - आईएसबीएन-5-87835-003-3., पृ. 12, 13.

दावा

1. दो-टोन फ़्रीक्वेंसी (DTMF) सिग्नल उत्पन्न करने की एक विधि, जिसमें DTMF सिग्नल घटकों की पहली और दूसरी आवृत्तियों के अनुरूप पहले और दूसरे सैंपलिंग कोण कोड का चयन, पहले और दूसरे सैंपलिंग कोण का अलग-अलग संचयी योग शामिल है। नमूना घड़ी आवृत्ति के अनुरूप क्रमशः समय-समय पर निश्चित अवधि वाले कोड, संचयी योग के पहले और दूसरे परिणाम, अलग-अलग मूल्यों की संबंधित तालिकाओं के पता कोशिकाओं में संग्रहीत डीटीएमएफ सिग्नल घटकों के पहले और दूसरे अलग-अलग मूल्यों को प्राप्त करना नमूना कोण कोड के संचयी योग के परिणामों के अनुरूप पते पर संबंधित तालिकाओं से डीटीएमएफ सिग्नल घटकों को पढ़कर, तीसरा असतत मूल्य प्राप्त करने के लिए डीटीएमएफ सिग्नल घटकों के पहले और दूसरे असतत मूल्यों का योग करें। डीटीएमएफ सिग्नल के मूल्य के अनुरूप, इसकी विशेषता यह है कि डीटीएमएफ सिग्नल घटकों के अलग-अलग मूल्यों की संबंधित तालिकाओं के पता योग्य कोशिकाओं में संग्रहीत डीटीएमएफ सिग्नल घटकों के पहले और दूसरे अलग-अलग मूल्यों को पढ़कर प्राप्त किया जाता है। पतों पर संगत तालिकाएँ, पूर्णांकों के पहले और दूसरे अनुक्रमों के क्रमशः संचयी योग के परिणामों के अनुरूप, जिसका औसत मूल्य DTMF सिग्नल के घटकों के अनुरूप नमूना कोणों के कोड से मेल खाता है।2। दावे 1 के अनुसार विधि की विशेषता यह है कि संचयी योग का परिणाम बनाने वाले पूर्णांकों के अनुक्रम का औसत मान इन संख्याओं का अंकगणितीय माध्य है। दावे 1 के अनुसार विधि की विशेषता यह है कि संचयी योग के पहले और दूसरे परिणामों की आवधिक रिकॉर्डिंग नमूना घड़ी आवृत्ति के अनुरूप अवधि के साथ की जाती है, जो विभिन्न डीटीएमएफ संकेतों के लिए अलग होती है। डीटीएमएफ सिग्नल जनरेटर, जिसमें पहला संचयी योजक, पहला लैच रजिस्टर, पहला स्टोरेज डिवाइस, दूसरा संचयी योजक, दूसरा लैच रजिस्टर, दूसरा स्टोरेज डिवाइस, अंतिम योजक, डिजिटल-टू-एनालॉग कनवर्टर, का आउटपुट शामिल है। पहला संचयी योजक पहले लैच रजिस्टर के इनपुट से जुड़ा होता है, पहले लैच रजिस्टर का आउटपुट पहले स्टोरेज डिवाइस के इनपुट से जुड़ा होता है, साथ ही पहले स्टोरेज योजक के इनपुट में से एक से जुड़ा होता है, का आउटपुट पहला स्टोरेज डिवाइस अंतिम योजक के इनपुट में से एक से जुड़ा है, दूसरे स्टोरेज योजक का आउटपुट दूसरे फिक्सिंग रजिस्टर के इनपुट से जुड़ा है, दूसरे फिक्सिंग रजिस्टर का आउटपुट दूसरे स्टोरेज के इनपुट से जुड़ा है डिवाइस, साथ ही दूसरे स्टोरेज एडर के इनपुट में से एक के साथ, दूसरे स्टोरेज डिवाइस का आउटपुट अंतिम एडर के दूसरे इनपुट से जुड़ा होता है, अंतिम एडर का आउटपुट डिजिटल-टू- के इनपुट से जुड़ा होता है। एनालॉग कनवर्टर, जिसका आउटपुट डीटीएमएफ सिग्नल जनरेटर का आउटपुट है, इसकी विशेषता यह है कि डीटीएमएफ सिग्नल जनरेटर में अतिरिक्त रूप से पूर्णांक संख्याओं के अनुक्रम में डीटीएमएफ सिग्नल के कनवर्टर कोड होते हैं, जो डीटीएमएफ सिग्नल जनरेटर की ड्राइविंग आवृत्ति का एक विभाजक होता है। एक समायोज्य विभाजन अनुपात के साथ, एक विभाजन कारक के कोड में DTMF संकेतों के कोड का एक कनवर्टर, इसके अलावा, पूर्णांक संख्याओं के अनुक्रम में DTMF संकेतों के कोड के कनवर्टर का पहला आउटपुट पहले संचयी योजक के दूसरे इनपुट से जुड़ा होता है , पूर्णांकों के अनुक्रम में DTMF संकेतों के कनवर्टर कोड का दूसरा आउटपुट दूसरे भंडारण योजक के दूसरे इनपुट से जुड़ा है, एक समायोज्य विभाजन अनुपात के साथ DTMF संकेतों के जनरेटर की ड्राइविंग आवृत्ति के विभक्त का आउटपुट जुड़ा हुआ है पूर्णांकों के अनुक्रम में DTMF सिग्नल के कोड के कनवर्टर का क्लॉक इनपुट, साथ ही पहले फिक्सिंग रजिस्टर का क्लॉक इनपुट और दूसरे फिक्सिंग रजिस्टर का क्लॉक इनपुट, DTMF सिग्नल कोड के कनवर्टर का आउटपुट डिवीजन फैक्टर का कोड डीटीएमएफ सिग्नल जनरेटर के मास्टर फ्रीक्वेंसी के डिवाइडर के डिवीजन फैक्टर सेटिंग के इनपुट से जुड़ा है, एक समायोज्य डिवीजन फैक्टर के साथ डीटीएमएफ सिग्नल जनरेटर के मास्टर फ्रीक्वेंसी के डिवाइडर का इनपुट इनपुट है DTMF सिग्नल जनरेटर की मास्टर आवृत्ति में, डिवीजन फैक्टर कोड में DTMF कोड कनवर्टर का इनपुट पूर्णांक के अनुक्रम में DTMF सिग्नल कोड कनवर्टर के इनपुट से जुड़ा होता है और DTMF सिग्नल जनरेटर का इनपुट होता है। 5. दावा 4 के अनुसार DTMF सिग्नल जनरेटर, इसकी विशेषता यह है कि पूर्णांकों के अनुक्रम में DTMF सिग्नल कोड का कनवर्टर एक नियंत्रित प्रोग्रामयोग्य स्टोरेज डिवाइस के रूप में बनाया जाता है, जिसकी मेमोरी में संख्या के अनुरूप मेमोरी क्षेत्र होते हैं डीटीएमएफ सिग्नल, जिसमें पूर्णांक संख्या मेमोरी के अनुक्रम की लंबाई के अनुरूप कोशिकाएं शामिल होती हैं, डिज़ाइन किया गया है ताकि मेमोरी सेल का आधा हिस्सा पूर्णांक के पहले अनुक्रम से संबंधित संख्या को संग्रहीत करता है, और मेमोरी सेल का दूसरा आधा भाग संबंधित संख्या को संग्रहीत करता है क्रमशः पूर्णांकों के एक अन्य अनुक्रम के लिए, जो संबंधित भंडारण योजकों की शर्तें हैं, और प्रोग्रामयोग्य भंडारण डिवाइस का नियंत्रण मेमोरी क्षेत्र और एक अलग मेमोरी सेल के चयन के अलग-अलग नियंत्रण की संभावना के साथ किया जाता है।

सरल उपकरणों के विषय पर, मैंने उसी ATtiny2313 पर एक DTMF सिग्नल जनरेटर को इकट्ठा करने का निर्णय लिया। जो लोग नहीं जानते उनके लिए, DTMF (डुअल-टोन मल्टी-फ़्रीक्वेंसी) एक टू-टोन, मल्टी-फ़्रीक्वेंसी एनालॉग सिग्नल है जिसका उपयोग टेलीफोन नंबर डायल करने के लिए किया जाता है। विकिपीडिया पढ़ें.

इस तरह के उपकरण को इकट्ठा करने का निर्णय एक माइक्रोकंट्रोलर का उपयोग करके जटिल एनालॉग संकेतों को लागू करने की कोशिश करने की इच्छा से तय किया गया था। इस उपकरण के लिए कोई व्यावहारिक अनुप्रयोग की योजना नहीं बनाई गई थी, लेकिन ऐसे उपकरण का उपयोग कौन कर सकता है? आनंद लेना!

स्रोत DTMF जनरेटर


अब देखते हैं हमें क्या मिला.

सिग्नल PWM का उपयोग करके उत्पन्न किया जाता है और इसे वांछित आकार देने के लिए RC सर्किट का उपयोग किया जाता है। परिणामस्वरूप, आरसी श्रृंखला के बाद, हमें निम्नलिखित संकेत मिलता है (बटन 6 दबाया जाता है):

उपयोगी सिग्नल वक्र के दौरान, हम एक उच्च आवृत्ति कंघी का निरीक्षण करते हैं (आवृत्ति श्रव्य से अधिक है, इसलिए यह शोर पैदा नहीं करेगी) - यह आरसी श्रृंखला का काम है। आप संधारित्र की धारिता या अवरोधक के प्रतिरोध को बढ़ाकर लाइन को चिकना बना सकते हैं, लेकिन इस मामले में उपयोगी सिग्नल की सीमा काफी कम हो जाएगी।

हम सिग्नल स्पेक्ट्रम को देखते हैं और सुनिश्चित करते हैं कि दो अलग-अलग आवृत्तियाँ हैं (पीडब्लूएम आवृत्ति डिस्प्ले क्षेत्र से आगे निकल गई है), इसलिए सब कुछ ठीक है - डिवाइस उसी तरह काम कर रहा है जैसा उसे करना चाहिए।

तैयार समाधान

DTMF सिग्नल उत्पन्न करने और डिकोड करने के कार्यों के लिए, तैयार समाधान मौजूद हैं। यहां इन माइक्रो-सर्किट के लिए कुछ डेटाशीट दी गई हैं।

डीटीएमएफ जनरेटर
- डीटीएमएफ डिकोडर


पी.एस.यह अफ़सोस की बात है कि ATtiny2313 में कोई ADC नहीं है - DTMF डिकोडर प्राप्त करना भी संभव था! लेकिन कुछ नहीं, मैं मेगा पर दोहराऊंगा, मैं इसे जरूर संलग्न करूंगा।

(6868 बार दौरा किया गया, आज 1 दौरा)