ტონის dtmf სიგნალების ჩიპის გენერატორი. ორმაგი ტონიანი მრავალ სიხშირის (DTMF) გენერატორი AVR-ზე. DTMF გადამცემის სიგნალების კვლევის შედეგები

გამოგონება ეხება ორმაგი ტონიანი სიხშირის (DTMF) სიგნალების ციფრული გენერირების სფეროს, რომელიც განკუთვნილია მონაცემთა გადაცემისთვის, მაგალითად, ტელეფონის სფეროში. მიღწეული ტექნიკური შედეგია ჭარბი მიკროსქემის ელემენტების რაოდენობის შემცირება, ეკონომიკური ეფექტურობის გაზრდა. DTMF სიგნალის გენერატორი, რომელიც ახორციელებს DTMF სიგნალების გენერირების მეთოდს, შეიცავს ორ აკუმულაციურ შემკრებს, ორ დამჭერ რეგისტრს, ორ შესანახ მოწყობილობას, საბოლოო შემკრებს, ციფრულ-ანალოგურ გადამყვანს, DTMF სიგნალის კოდების გადამყვანს მთელი რიცხვების თანმიმდევრობით. , DTMF სიგნალის გენერატორის საცნობარო სიხშირის გამყოფი რეგულირებადი გაყოფის კოეფიციენტით, გადამყვანი DTMF სიგნალის კოდირება გაყოფის ფაქტორის კოდში. 2 წმ. და 3 ხელფასი f-ly, 2 ავად.

გამოგონება ეხება DTMF (ორმაგი ტონის სიხშირე) სიგნალების წარმოქმნის მეთოდებს ციფრული მეთოდებით, რომლებიც გამიზნულია მონაცემთა გადაცემისთვის, მაგალითად, ტელეფონის სფეროში ტონი-სიხშირის აკრეფის დროს ყველაზე ახლოს ტექნიკური არსით და მიღწეული შედეგი მეთოდი არის DTMF სიგნალების გენერირების მეთოდი, წარმოდგენილი აშშ-ს პატენტში No. 5034977, დათარიღებული 04/04/89, publ. 23.07.91 მ.კლასი. 5 N 04 M 1/00 ​​DTMF სიგნალების გენერირების ცნობილი მეთოდი მოიცავს DTMF სიგნალის კომპონენტების პირველ და მეორე სიხშირეებს შესაბამისი პირველი და მეორე შერჩევის კუთხის კოდების ცალ-ცალკე შეჯამებას, შესაბამისად პერიოდულად. ფიქსირებული, საათის შერჩევის სიხშირის შესაბამისი პერიოდით, კუმულაციური შეჯამების პირველი და მეორე შედეგები, DTMF სიგნალის კომპონენტების პირველი და მეორე დისკრეტული მნიშვნელობების მიღება, რომლებიც ინახება შესაბამისი დისკრეტული ცხრილების მისამართის მდებარე უჯრედებში. DTMF სიგნალის კომპონენტების მნიშვნელობები, შესაბამისი ცხრილებიდან წაკითხვით მისამართებზე, რომლებიც შეესაბამება შერჩევის კუთხის კოდების კუმულაციური შეჯამების შედეგებს, DTMF სიგნალის კომპონენტების პირველი და მეორე დისკრეტული მნიშვნელობების შეჯამებით. მიიღეთ მესამე დისკრეტული მნიშვნელობა, რომელიც შეესაბამება DTMF სიგნალის მნიშვნელობას DTMF სიგნალების წარმოქმნის ცნობილი მეთოდი ასეთია: DTMF სიგნალის კოდიდან გამომდინარე, ჯერ DTMF სიგნალების კოდების გადაყვანით, არჩეულია პირველი კოდი. განსაზღვრავს სიგნალის შერჩევის კუთხეს სიხშირით , რომელიც შეესაბამება მაღალი სიხშირეების ჯგუფს - სვეტებს და DTMF სიგნალის კოდების მეორე კონვერტაციის საშუალებით, არჩეულია მეორე კოდი, რომელიც განსაზღვრავს სიგნალის შერჩევის კუთხეს შესაბამისი სიხშირით. დაბალი სიხშირეების ჯგუფი - რიგები, პერიოდულად, შერჩევის საათის სიხშირის შესაბამისი პერიოდით, პირველი შერჩევის კუთხის კოდი ჯამდება შესაბამის აკუმულაციურ შემკრებში და ჩაიწერება შესაბამის რეესტრში, რომლის გამომავალი არის შედეგი, რომლის მნიშვნელობა შეესაბამება ცხრილის უჯრედის მისამართს, რომელიც ინახება შესაბამის მხოლოდ წაკითხულ მეხსიერებაში და რომელშიც განლაგებულია სინუსების შესაბამისი დისკრეტული მნიშვნელობები, რომლებიც განსაზღვრავენ DTMF სიგნალის ზედა სიხშირეს იმავე გზით, პერიოდულად, შერჩევის საათის სიხშირის შესაბამისი პერიოდი, მეორე შერჩევის კუთხის კოდი ჯამდება შესაბამის აკუმულაციურ შემგროვებელში და ჩაიწერება შესაბამის რეესტრში, რომლის გამომავალი არის შედეგი, რომლის მნიშვნელობა შეესაბამება ცხრილის შენახული უჯრედის მისამართს. შესაბამის მხოლოდ წაკითხვის მეხსიერების მოწყობილობაში და რომელშიც ჯამდება სინუსების შესაბამისი დისკრეტული მნიშვნელობები, რომლებიც განსაზღვრავენ DTMF სიგნალის ქვედა სიხშირეს, სინუსების დისკრეტული მნიშვნელობები, რომლებიც განსაზღვრავენ DTMF სიგნალის ზედა და ქვედა სიხშირეებს. საბოლოო შემკრებში, განსაზღვრავს DTMF სიგნალის დისკრეტულ მნიშვნელობას და ციფრულ ანალოგურ კონვერტაციის გზით, მიეწოდება გამოსავალს, აყალიბებს ნაბიჯ-სინუს DTMF სიგნალს, რომელიც შეესაბამება DTMF სიგნალის შეყვანის კოდს. ცნობილი მეთოდი არაეფექტურია, რაც განპირობებულია მისი დაბალი ტექნიკური და ეკონომიკური მაჩვენებლებით და ტექნიკური და ეკონომიკური ინდიკატორები განისაზღვრება საჭირო ხარჯებით DTMF სიგნალებისთვის საჭირო პარამეტრების მისაღწევად. ცნობილ მეთოდში, სიხშირის გენერირების სიზუსტე დამოკიდებულია შერჩევის კუთხის შესაბამისი კოდის ბიტის სიღრმეზე, რაც მოითხოვს აკუმულაციური დამამატებლის დიდი ბიტის სიგანეს, რაც ართულებს მეთოდის განხორციელებას მარტივი აპარატურით. კერძოდ, შერჩევის კუთხის კოდი ცნობილ მეთოდში განისაზღვრება გამოთქმით K = (F/F t)32..., (1.1) სადაც K არის შერჩევის კუთხის შესაბამისი კოდი F t; არის სინჯის აღების სიხშირე, როგორც ჩანს, გენერირებული სიხშირის სიზუსტე აშკარად დამოკიდებულია გენერირებული სიხშირის თანაფარდობაზე, რათა მივაღწიოთ გენერირებული სიხშირის საჭირო სიზუსტეს, ცხადია, არაუმეტეს 1,5%. ათწილადის წერტილის შემდეგ საჭიროა მინიმუმ ორი მნიშვნელოვანი ციფრი, რაც მოითხოვს მონაცემთა წარმოდგენას ბიტის სიღრმით მინიმუმ 8 ბიტიანი ქვედა სიხშირეებისთვის, ხოლო მაღალი სიხშირეებისთვის მინიმუმ 9 ბიტი, და კუმულაციური შეჯამებისთვის, შესაბამისად, მინიმუმ 12 ბიტი. , რაც იწვევს მოწყობილობების კომპონენტის ელემენტების რაოდენობის ზრდას, რომლებიც ახორციელებენ ცნობილ მეთოდს. ცნობილი მეთოდის განსახორციელებლად ცნობილ მოწყობილობებს, კერძოდ, დამამატებლებს, რეგისტრებს და მუდმივ შესანახ მოწყობილობებს აქვთ შემავალი/გამოსვლები 4 და 8 ბიტიანი სიგანით. ამიტომ, ბიტის უფრო მაღალი სიმძლავრის შემთხვევაში, საჭიროა დამატებითი ტექნიკური და ეკონომიკური ხარჯები თანაბრად ფუნქციონალური მოწყობილობების დანერგვისას. უფრო მეტიც, ცნობილ მეთოდში, ათწილადების რაოდენობის შემცირება იწვევს დასაშვებს აღემატება სიხშირის შეცდომას. მასალების, კომპონენტების მოხმარების შემცირება და მოწყობილობების მრავალფეროვნების გაზრდა, მოითხოვს მიკროკონტროლერების გამოყენებას. სატელეფონო და ტელემეტრიის გაზომვებში გამოყენებული ფართოდ გავრცელებული მიკროკონტროლერები იყენებენ 8-ბიტიან მონაცემებს და 8-ბიტიან არითმეტიკულ-ლოგიკურ ერთეულს, რომელიც მოითხოვს, ცნობილი მეთოდის განხორციელებისას, დამატებით გამოთვლით ოპერაციებს, რომლებიც დაკავშირებულია 8 ბიტზე მეტი სიგანის მონაცემების შეჯამებასთან და ანალიზთან. გადაცემის სიგნალი, რომელიც ზრდის ბრძანებების რაოდენობას და, შესაბამისად, მიკროკონტროლერის საათის სიხშირეს, ასევე მიკროკონტროლერის ოპერატიული მეხსიერების რაოდენობას, რაც იწვევს მოწყობილობების ღირებულების ზრდას, რომლებიც იყენებენ DTMF-ის წარმოქმნის ცნობილ მეთოდს. სიგნალები. ეს დასკვნა მოცემულია ცნობილი მეთოდის გამოყენების გაანალიზებისას ტონის აკრეფში, რომელიც დაფუძნებულია Atmel-ის, Microchip tnc-ის და ა.შ. წარმოებულ მიკროკონტროლერებზე. ამრიგად, ცნობილი მეთოდი ფუნდამენტურად არაეფექტურია, რაც განპირობებულია დაბალი ტექნიკური და ეკონომიკური მაჩვენებლებით, გამოხატული გაზრდით. მასალის მოხმარება, ენერგიის მოხმარება და დაბალი ტექნოლოგიური მაჩვენებლები, რადგან მას აქვს შეზღუდვები მეთოდის გამოყენებისას, მათ შორის, როგორც ფართოდ გამოყენებული მიკროკონტროლერების ნაწილი, რაც გამოიხატება მიკროკონტროლერებისთვის საჭირო ტექნიკური მახასიათებლებით, რაც ამცირებს მათ მრავალფეროვნებას და ტექნიკურ არსს მოთხოვნილი DTMF სიგნალის გენერატორის მიღწეული შედეგი არის DTMF გენერატორის სიგნალები, წარმოდგენილი აშშ-ს პატენტში No. 5034977, დათარიღებული 04/04/89, პუბლიკაცია. 23.07.91 მ.კლასი. 5 N 04 M 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 სიგნალის კოდების გადამყვანს მთელი რიცხვების თანმიმდევრობით, 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) - შერჩევის კუთხე, გაზომილი რადიანებში - ნიმუშის სერიული ნომერი - F t = F OSC / kd - სინჯის საათის სიხშირე, სადაც F OSC - მოწყობილობის დაყენების სიხშირე; გაყოფის კოეფიციენტი შემდეგ = 2FC D / F O S C. (1.4) როგორც ცნობილია, სინუს ფუნქცია პერიოდულია 2-იანი პერიოდით. ​​შერჩევის კუთხის რადიანებიდან ფარდობით ერთეულებში გადასაყვანად და შერჩევის კუთხის კოდის მისაღებად, მთელ პერიოდს ვყოფთ m ნაწილებად, სადაც m არის ორობითი. მთელი რიცხვი. ამრიგად, ჩვენ ვიღებთ პერიოდის ერთ მინიმალურ დისკრეტულ ნაწილს: = 2/მ. (1.5) შერჩევის კუთხის კოდი არის შერჩევის კუთხის ფარდობითი მნიშვნელობა პერიოდის ერთი ნაწილის შესაბამისად, კერძოდ, K=/=2F/F t: 2P/m=Fm/F t (1.6) მაგალითად, 1477 Hz და 697 Hz წარმოქმნილი სიხშირეებისთვის (შეესაბამება DTMF სიგნალის კოდს "3"), m = 64 და საათის სიხშირე F t = 32768 Hz K 697 = 2.88 ცხადია შერჩევის კუთხის კოდის ჩვენება K 697 =1.36 V, შესაბამისად, 136 მოითხოვს 8 ბიტს (1281+640+320+160+81+40+20+10), ხოლო K 1477 =2.88 V, შესაბამისად, 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) = K/C (1.7) შესაბამისად იზრდება შერჩევის კუთხის კოდის მნიშვნელობის მთლიანი ნაწილის მატებასთან ერთად. მაგალითად, გენერირებული სიხშირისთვის 697 Hz, m = 64 და საათის სიხშირე F t = 32768 Hz, შეცდომა K 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)=16 განტოლების ამოხსნით ვიღებთ x=9, y=7, ე.ი. თექვსმეტი კუმულაციური შემაჯამებელი ოპერაციიდან მე-5 წევრი ჯდება ცხრაჯერ და წევრი 6 ჯამდება შვიდჯერ, ხოლო რეალურად K 697 = 5.4375, ამ მნიშვნელობის ჩანაცვლებით გამოხატულებით (1.6) m = 256, F t = 32768 Hz, ჩვენ განვსაზღვრავთ გენერირებული სიხშირის ფაქტობრივი გამოთვლილი მნიშვნელობა F = 696 ჰც, ხოლო ცდომილება დარჩა 0,1%. ამრიგად, მთელი რიცხვების თანმიმდევრობის კუმულაციური ჯამი, რომლის საშუალო მნიშვნელობა შეესაბამება შერჩევის შესაბამის კუთხეებს, შესაძლებელს ხდის მიაღწიოს მაღალ ტექნიკურ და ეკონომიკურს. ინდიკატორები კუმულაციური შემაჯამებელი ოპერაციების ბიტის სიმძლავრის შემცირებით, ზემოაღნიშნული გამონათქვამების კომპონენტების ცვალებადობის შესაძლებლობის გამო და, შესაბამისად, შემოთავაზებული მეთოდის განმახორციელებელი მოწყობილობების ბიტის სიმძლავრის შემცირებით, რაც იწვევს ტექნიკის და ენერგიის ხარჯების შემცირებას მეთოდის განხორციელებისას. შემოთავაზებული მეთოდის მაღალი ტექნოლოგიური მუშაობის უზრუნველსაყოფად, როდესაც გამოიყენება შემცირებული ტექნიკური მოთხოვნების გამო DTMF სიგნალის გენერატორის მაღალი ტექნიკური შედეგი უზრუნველყოფილია DTMF სიგნალის კოდის გადამყვანის ახალი ელემენტების შემოღებით მთელი რიცხვების თანმიმდევრობით, DTMF სიგნალის გენერატორის მითითების სიხშირის გამყოფი რეგულირებადი გაყოფის კოეფიციენტით, DTMF სიგნალის კოდის გადამყვანი გამყოფ კოეფიციენტად. კოდი, რომელიც უზრუნველყოფს მეთოდის განხორციელებას მიკროსქემის ელემენტების მიერ იმავე ბიტის სიღრმით, არაუმეტეს 8-ბიტიანი, მაშინ როდესაც არ არსებობს ელემენტების სიჭარბე, რომლებიც აუცილებელია რამდენიმე პრობლემის გადასაჭრელად, მაგალითად, როგორც კუმულაციური შეჯამების შედეგის ჩასაწერად, ასევე მიმართეთ შესაბამის შესანახ მოწყობილობას, გამოიყენება იგივე რაოდენობის ბიტები, რომლებიც არ არის დანერგილი 8-ბიტიან რეგისტრზე მეტი, რომელიც შეიძლება განხორციელდეს საჯაროდ ხელმისაწვდომი საშუალებებით ერთი მიკროსქემის სახით ან მიკროპროცესორული ვერსიით, ერთი. მეხსიერების უჯრედი. გარდა ამისა, აკუმულაციური დამატების დანერგვა შეიძლება განხორციელდეს იდენტური მოწყობილობების სახით, იგივე ბიტის სიღრმით, საჯაროდ ხელმისაწვდომი შემკრების მიკროსქემების სახით, რომლებიც მუშაობენ 4-ბიტიანი დამატებებით, რა თქმა უნდა, გასაგებია, რომ რიცხვები და შესაბამისად, მოწყობილობები, რომლებიც ქმნიან მთელი რიცხვების ზემოთ აღწერილ მიმდევრობებს, რომელთა მთლიანობა განსაზღვრავს შესაბამის შერჩევის კუთხის კოდებს, შეიძლება იყოს განსხვავებული ბიტის სიღრმე, მაგრამ ყველაზე ოპტიმალური, მიზნების შესრულების თვალსაზრისით. შემოთავაზებული გადაწყვეტა არის 4-ბიტიანი ნომრები, გარდა ამისა, მაღალი ტექნიკური შედეგია უზრუნველყოფილი შემოთავაზებული ტექნიკური გადაწყვეტის, როგორც მიკროკონტროლერების ნაწილის განხორციელებისას, სადაც სისტემის მიკროკონტროლის ბრძანებები აუცილებლად მოიცავს 4-ბიტიან ნომრებს. DTMF სიგნალის გენერატორის შემოთავაზებული ტექნიკური გადაწყვეტა იძლევა მაღალ ტექნიკურ შედეგებს, რომელიც დაკავშირებულია მიკროსქემის ელემენტების რაოდენობის შემცირებასთან და ასევე უზრუნველყოფს მრავალფეროვნებას DTMF სიგნალის გენერატორის, როგორც საჯაროდ ხელმისაწვდომი აპარატურის, და როგორც მრავალფუნქციური მიკროკონტროლერების ნაწილის დანერგვისას, რაც განსაზღვრავს ტექნიკური გადაწყვეტის მაღალი ეკონომიკური ეფექტურობა გამოგონება ილუსტრირებულია ნახაზზე, სადაც ნახ. , DTMF სიგნალის გენერატორის საცნობარო სიხშირის გამყოფი 2 რეგულირებადი გაყოფის კოეფიციენტით, DTMF სიგნალის კოდების გადამყვანი 3 გაყოფის კოეფიციენტის კოდში, პირველი აკუმულაციური დამამატებელი 4, პირველი ჩამკეტი რეგისტრი 5, პირველი მეხსიერების მოწყობილობა 6, მეორე მეხსიერების მოწყობილობა 7, მეორე ჩამკეტი რეგისტრი 8, მეორე აკუმულაციური შემგროვებელი, საბოლოო შემკრები 10, ციფრული ანალოგური გადამყვანი 11. DTMF სიგნალის გენერატორის მოქმედება ილუსტრირებულია ადრე დაფუძნებული DTMF სიგნალების წარმოქმნის მეთოდის განხორციელების მაგალითით გამონათქვამებზე (1.4, 1.6) და ტექნიკურ მონაცემებზე, კერძოდ, მოწყობილობის დაყენების სიხშირეზე, სადაც განხორციელდება შემოთავაზებული მეთოდი, გამოითვლება მთელი რიცხვების თანმიმდევრობა, რომელიც განსაზღვრავს შერჩევის კუთხეების შესაბამის კოდებს და გაყოფის კოეფიციენტების კოდებს გამყოფი 2-ისთვის. DTMF სიგნალის გენერატორის საცნობარო სიხშირე რეგულირებადი გაყოფის კოეფიციენტით, რომლებიც იწერება DTMF სიგნალის კოდების 1-ის გადამყვანის მეხსიერების არეების შესაბამის უჯრედებში მთელი რიცხვების თანმიმდევრობით და DTMF სიგნალის კოდების 3 გადამყვანი განყოფილებაში. კოეფიციენტების კოდები, შესაბამისი სინუსური ფუნქციების დისკრეტული მნიშვნელობები ასევე წინასწარ არის გამოთვლილი, რომელთა რაოდენობა განისაზღვრება m დისკრეტების რაოდენობით და იწერება შესაბამის მეხსიერებაში 6 და 7, DTMF სიგნალის გენერირებისას, კონვერტორი 1 და კონვერტორი 3, რომლებიც წარმოადგენენ გენერატორის შეყვანას, გარკვეული პერიოდის განმავლობაში DTMF სიგნალის მოქმედებით, დაყენდება წარმოქმნილი DTMF სიგნალის კოდი, კონვერტორი 3-ის გამოსავალზე დაყენდება კოდი, რომელიც განსაზღვრავს გაყოფის კოეფიციენტს. გამყოფი 2-ისთვის, ხოლო გამყოფი 2-ის გამომავალზე შერჩევის საათის სიხშირე დაყენებული იქნება პერიოდულად, შერჩევის საათის სიხშირის შესაბამისი პერიოდით, გადამყვანი 1-ის პირველი გამომავალიდან იქნება ორობითი რიცხვები, რომლებიც შედის მთელი რიცხვების პირველ მიმდევრობაში. მიეწოდება პირველი აკუმულაციური დამამატებლის 4-ის შეყვანას, ხოლო გადამყვანი 1-ის მეორე გამომავალიდან მეორე აკუმულატივის შეყვანას მიეწოდება ორობითი რიცხვები, რომლებიც შედის DTMF სიგნალის კომპონენტების შესაბამისი მთელი რიცხვების მეორე მიმდევრობაში. დამამატებელი 9, აკუმულაციური შეჯამების შედეგები მიეწოდება აკუმულაციური შემკრების გამოსავლებიდან შესაბამისი ჩამკეტი რეგისტრის 5 და 8 შეყვანის შეყვანიდან, ჩამკეტის რეგისტრების 5 და 8 გამოსავლებიდან, აკუმულაციური ჯამის შედეგები, შერჩევის საათის სიხშირის შესაბამისი პერიოდი, იგზავნება 4 და 9 შესაბამისი აკუმულაციური დანამატების სხვა შეყვანებზე, აგრეთვე შესაბამისი შენახვის მოწყობილობების 6 და 7 შეყვანებზე, ადგენს სინუსების დისკრეტული მნიშვნელობების მისამართებს. DTMF სიგნალის შესაბამისი კომპონენტები, 6 და 7 შესანახი მოწყობილობების გამოსასვლელებიდან, DTMF სიგნალის შესაბამისი კომპონენტების დისკრეტული მნიშვნელობები მიეწოდება საბოლოო დამამატებლის 10-ის შესაბამის შეყვანებს, რომელთა გამომავალზე არის დისკრეტული იქმნება ორობითი DTMF სიგნალი, რომელიც მიეწოდება ციფრულ-ანალოგური გადამყვანის 11-ის შეყვანას, რომლის გამომავალი წარმოქმნის საფეხუროვანი სინუსოიდური DTMF სიგნალს, რომელიც შეესაბამება DTMF სიგნალის შეყვანის კოდს. DTMF სიგნალის კოდების 1 გადამყვანი მთელი რიცხვების თანმიმდევრობით (ნახ. 1) შეიძლება გაკეთდეს ნახ. 2-ში ნაჩვენები ფორმით, სადაც DTMF სიგნალის კოდების გადამყვანი რიცხვების თანმიმდევრობით მოიცავს საკონტროლო მოწყობილობას 12, პროგრამირებად მეხსიერებას. მოწყობილობა 13. DTMF სიგნალის გენერატორის მოქმედება ილუსტრირებულია ქვემოთ მოცემულია შემოთავაზებული მეთოდის განხორციელების კონკრეტული მაგალითი ტელეფონის ხმოვანი სიხშირის აკრიფეთ ადრე, გამონათქვამების (1.4, 1.6) და ტექნიკური მონაცემების საფუძველზე, მთელი რიცხვების თანმიმდევრობა. გამოთვლილი, რომელიც განსაზღვრავს შესაბამის შერჩევის კუთხის კოდებს და გაყოფის კოეფიციენტის კოდებს DTMF სიგნალის გენერატორის საცნობარო სიხშირის გამყოფი 2-ისთვის რეგულირებადი გაყოფის თანაფარდობით. იმის გათვალისწინებით, რომ მეთოდის განხორციელება მოიცავს იგივე ტიპის გამოთვლებს, სამუშაოს საილუსტრაციოდ, კონკრეტული მაგალითი გვიჩვენებს DTMF სიგნალის წარმოქმნის მეთოდის განხორციელებას, რომელიც შეესაბამება ღილაკზე „7“ დაჭერას, როგორც ტონა-პულსის აკრიფეს. სატელეფონო ტექნოლოგიაში ყველაზე გავრცელებული კვარცის სიხშირე, კერძოდ F OSC =3579545 Hz, დაყენებულია როგორც გენერატორის საცნობარო სიხშირე. "7" ღილაკის დაჭერა შეესაბამება DTMF სიგნალს ზედა (სვეტების) სიხშირით 1209 ჰც და ქვედა (სტრიქონების) სიხშირით 852 ჰც. ვინაიდან DTMF სიგნალი ერთდროულად გადასცემს ორ სიხშირეს, გაყოფის კოეფიციენტები გამოითვლება უფრო დიდი - ზედა სიხშირეზე ისე, რომ შესაბამისი შერჩევის კუთხის კოდი (1.6) შესაბამისად მიუახლოვდეს მაქსიმალურ მნიშვნელობას - 16, რომელიც განხორციელებულია არაუმეტეს 4 ბიტიანი მონაცემები. ამრიგად, F OSC = 3579545 Hz-ით, სინუსების დისკრეტული მნიშვნელობების რაოდენობა m = 128, გაყოფის კოეფიციენტის გამოთვლილი მნიშვნელობები DTMF სიგნალის გენერატორის საცნობარო სიხშირის გამყოფისთვის 2 რეგულირებადი გაყოფის კოეფიციენტით K D = 240 = 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-ზე. ჯერ მეხსიერების არეალი DTMF სიგნალის კოდისთვის "7" ორობითი წარმოდგენისთვის არის შემდეგი:
ამ გზით გამოითვლება თექვსმეტი ცხრილი, რომლებიც შეესაბამება DTMF სიგნალის კოდებს, კერძოდ 0, 1, 2...9, *, #, A, B, C, D და ადრე იწერება პროგრამირებადი მეხსიერების მოწყობილობის მეხსიერებაში. 13 (DTMF სიმბოლოების კოდის გადამყვანი მთელი რიცხვების თანმიმდევრობით, როდესაც თქვენ დააჭერთ კლავიშს, მაგალითად, "7" გენერატორის შესასვლელში DTMF სიგნალის ხანგრძლივობის განმავლობაში, DTMF სიგნალის ორობითი კოდი "7" (0111) არის). კომპლექტი, DTMF სიგნალის კოდის 3 გადამყვანი გაყოფის კოეფიციენტად გარდაქმნის DTMF სიგნალის კოდს კოეფიციენტის კოდში, რომელიც იყოფა kd გენერატორის საცნობარო სიხშირის გამყოფი 2-ისთვის რეგულირებადი გაყოფის კოეფიციენტით, შერჩევის საათის სიხშირე F t =F OSC /K D დაყენებული იქნება გამყოფი 2-ის გამოსავალზე. DTMF სიგნალის კოდი ასევე მიდის პროგრამირებადი მეხსიერების მოწყობილობის ყველაზე მნიშვნელოვანი ბიტების მისამართებზე 13 (DTMF სიგნალის კოდების გადამყვანი მთელი რიცხვების თანმიმდევრობით) და იმყოფება იქ DTMF სიგნალის ხანგრძლივობის განმავლობაში. კონტროლირებადი მოწყობილობა 12, რომელიც დამზადებულია, მაგალითად, მრიცხველის სახით (DTMF სიგნალის კოდების გადამყვანი მთელი რიცხვების თანმიმდევრობით), საათის სიგნალების გავლენის ქვეშ, სიხშირით t ციკლურად ცვლის თავის მნიშვნელობას პარალელურ გამომავალზე თანმიმდევრულად 0000-დან. 1111-მდე, შესაბამისად იცვლება პროგრამირებადი მეხსიერების მოწყობილობის დაბალი რიგის ბიტების მისამართის შეყვანის მნიშვნელობები 13 (DTMF სიგნალის კოდების გადამყვანი მთელი რიცხვების თანმიმდევრობით), 8-ბიტიანი (ბაიტი) რიცხვები გამოჩნდება გამოსავალზე. პროგრამირებადი მეხსიერების მოწყობილობა 13 შერჩევის საათის სიხშირით და ცხრილი 1-ის შესაბამისად, ყველაზე მნიშვნელოვანი ოთხი ბიტი (ყველაზე მნიშვნელოვანი წიწაკა) ქმნის მთელი რიცხვების თანმიმდევრობას, რომელთა მთლიანობა, კერძოდ, საშუალო არითმეტიკული, განსაზღვრავს შერჩევის კუთხის კოდს. ზედა (სვეტების) სიხშირის შესაბამისი და ყველაზე ნაკლებად მნიშვნელოვანი ოთხი ბიტი (დაბალი წიწაკა) ქმნის მთელი რიცხვების თანმიმდევრობას, რომლის მთლიანობა, კერძოდ, საშუალო არითმეტიკული, განსაზღვრავს შერჩევის კუთხის კოდს, რომელიც შეესაბამება ქვედა (ხაზის) სიხშირეს, ოთხ- ბიტიანი მონაცემები, ცხრილი 1-ის შესაბამისად, პროგრამირებადი მეხსიერების მოწყობილობის 13 გამოსასვლელიდან (DTMF სიგნალის კოდების გადამყვანი მთელი რიცხვების თანმიმდევრობად) ცალკე მიეწოდება შესაბამისი აკუმულაციური დამამატებლების შეყვანას 4 და 9, გამოსავალზე. შესაბამისი შემკრები 4 და 9 მონაცემები იცვლება შერჩევის საათის სიხშირით 0-დან მ-მდე (ამ შემთხვევაში m=128), 5 და 8 რეგისტრების ჩატარების საშუალებით განსაზღვრავს და აფიქსირებს შესანახი მოწყობილობების მისამართებს 6 და 7, რომლებშიც ორობითი დისკრეტულია. DTMF სიგნალის შესაბამისი სინუსოიდური კომპონენტების მნიშვნელობები შესაბამისად იწერება, გამომავალი შესანახი მოწყობილობებიდან 6 და 7, DTMF სიგნალის შესაბამისი სინუსოიდური კომპონენტების ბინარული დისკრეტული მნიშვნელობები მიეწოდება საბოლოო დამამატებლის 10 შესაბამის შეყვანებს. , რომლის გამომავალზე იქმნება DTMF სიგნალის ორობითი დისკრეტული მნიშვნელობები, რომლებიც შემდეგ მიეწოდება ციფრულ-ანალოგურ გადამყვან 11-ის შეყვანას, რომლის გამომავალზე წარმოიქმნება საფეხურიანი სინუსოიდური DTMF სიგნალი. DTMF სიგნალის გენერატორი შეიძლება განხორციელდეს ცნობილი ტექნიკური საშუალებების საფუძველზე, რომლებიც აღწერილია, მაგალითად,: ინტეგრირებული სქემების გამოყენება ელექტრონულ კომპიუტერულ ტექნოლოგიაში. სახელმძღვანელო / რედ. ბ.ნ. ფაიზულაევა, ბ.ვ. ტარაბინა. - M.: Radio and Communications, 1986. ამ შემთხვევაში, DTMF სიგნალის კოდების მე-3 გადამყვანი გაყოფის კოეფიციენტის კოდებად შეიძლება დამზადდეს, მაგალითად, მხოლოდ წაკითხვადი მეხსიერების ჩიპის სახით 155PE 3 (გვ. 343), რეესტრების განხორციელება აღწერილია გვ. 108, აკუმულაციური შემგროვებლების განხორციელება აღწერილია გვ. 114. საგამომგონებლო მეთოდი და DTMF სიგნალის გენერატორი ასევე დანერგილია Microchip Inc-ის აპარატურის ბაზაზე. (8-ბიტიანი ერთჩიპიანი მიკროკონტროლერები pic16f628 ტიპის), როგორც პულსური ტონის სატელეფონო აკრიფე "Kadran - NKT - 01" მიერ წარმოებული კომპანია "Kadran" (უკრაინა, ზაპოროჟიე). ბრძანების სისტემა და მიკროკონტროლერის კვანძების შიდა სტრუქტურა აღწერილია: Prokopenko B.Ya. ერთჩიპიანი მიკროკონტროლერები. Dodeka, 2000, ISBN8-87835-056-4 მოცემულია DTMF სიგნალის პარამეტრების აღწერა: ინტეგრირებული სქემები: ჩიპები ტელეფონისთვის. საკითხი 1. - მ.: დოდეკა, 1994, 256 გვ. - ISBN-5-87835-003-3., გვ. 12, 13.

ᲛᲝᲗᲮᲝᲕᲜᲐ

1. ორმაგი ბგერის სიხშირის (DTMF) სიგნალების გენერირების მეთოდი, DTMF სიგნალის კომპონენტების პირველი და მეორე სიხშირის შესაბამისი პირველი და მეორე შერჩევის კუთხის კოდების არჩევის ჩათვლით, კუმულაციური პირველი და მეორე შერჩევის კუთხის კოდების ცალ-ცალკე შეჯამება, შესაბამისად პერიოდულად. შერჩევის საათის სიხშირის შესაბამისი ფიქსირებული პერიოდები, კუმულაციური შეჯამების პირველი და მეორე შედეგები, DTMF სიგნალის კომპონენტების პირველი და მეორე დისკრეტული მნიშვნელობების მიღება, რომლებიც ინახება მისამართზე მდებარე უჯრედებში, შესაბამისი ცხრილების დისკრეტული მნიშვნელობებით. DTMF სიგნალის კომპონენტები, შესაბამისი ცხრილებიდან წაკითხვით მისამართებზე, რომლებიც შეესაბამება შერჩევის კუთხის კოდების კუმულაციური შეჯამების შედეგებს, DTMF სიგნალის კომპონენტების პირველი და მეორე დისკრეტული მნიშვნელობების შეჯამებით მნიშვნელობის შესაბამისი მესამე დისკრეტული მნიშვნელობის მისაღებად. DTMF სიგნალი, რომელიც ხასიათდება იმით, რომ DTMF სიგნალის კომპონენტების პირველი და მეორე დისკრეტული მნიშვნელობები, რომლებიც ინახება DTMF სიგნალის კომპონენტების დისკრეტული მნიშვნელობების შესაბამისი ცხრილების მისამართებად უჯრედებში, მიღებულია შესაბამისი ცხრილების წაკითხვით. მისამართები , შესაბამისად მთელი რიცხვების პირველი და მეორე მიმდევრობების კუმულაციური ჯამის შედეგების შესაბამისი, რომელთა საშუალო მნიშვნელობა შეესაბამება შერჩევის კუთხეების კოდებს, DTMF სიგნალის შესაბამის კომპონენტებს.2. მეთოდი 1-ლი პრეტენზიის მიხედვით, რომელიც ხასიათდება იმით, რომ კუმულაციური შეჯამების შედეგის შემქმნელი მთელი რიცხვების მიმდევრობის საშუალო მნიშვნელობა არის ამ რიცხვების საშუალო არითმეტიკული.3. მეთოდი 1-ლი პრეტენზიის მიხედვით, ხასიათდება იმით, რომ კუმულაციური შეჯამების პირველი და მეორე შედეგები პერიოდულად იწერება პერიოდით, რომელიც შეესაბამება სინჯის საათის სიხშირეს, რომელიც განსხვავებულია სხვადასხვა DTMF სიგნალისთვის.4. DTMF სიგნალის გენერატორი, პირველი აკუმულაციური შემკრების, პირველი ჩამკეტის რეგისტრის, პირველი მეხსიერების მოწყობილობის, მეორე აკუმულაციური შემკრების, მეორე ჩამკეტის რეგისტრის, მეორე მეხსიერების მოწყობილობის, საბოლოო შემკრების, ციფრული-ანალოგური გადამყვანის ჩათვლით, სადაც პირველი აკუმულაციური დამამატებლის გამომავალი უკავშირდება პირველი ჩამკეტის რეგისტრის შეყვანას, პირველი ჩამკეტის რეგისტრის გამომავალი უკავშირდება პირველი მეხსიერების მოწყობილობის შესასვლელს, ასევე პირველი აკუმულაციური დამამატებლის ერთ-ერთ შესასვლელს, პირველი მეხსიერების მოწყობილობის გამომავალი დაკავშირებულია საბოლოო დამამთვლელის ერთ-ერთ შესასვლელთან, მეორე აკუმულაციური დამამატებლის გამომავალი დაკავშირებულია მეორე ჩამკეტის რეგისტრის შესასვლელთან, მეორე ჩამკეტის რეგისტრის გამომავალი უკავშირდება შემავალს. მეორე მეხსიერების მოწყობილობა, ისევე როგორც მეორე აკუმულაციური დამამატებლის ერთ-ერთი შეყვანით, მეორე შესანახი მოწყობილობის გამომავალი დაკავშირებულია საბოლოო დამამთვლელის სხვა შეყვანასთან, საბოლოო დამამატებლის გამომავალი უკავშირდება ციფრული-ს შეყვანას. ანალოგური გადამყვანი, რომლის გამომავალი არის DTMF სიგნალის გენერატორის გამომავალი, ხასიათდება იმით, რომ DTMF სიგნალის გენერატორი დამატებით შეიცავს DTMF სიგნალების გადამყვან კოდებს მთელი რიცხვების თანმიმდევრობით, DTMF სიგნალის გენერატორის საცნობარო სიხშირის გამყოფად. რეგულირებადი გაყოფის კოეფიციენტით, DTMF სიგნალის კოდების გადამყვანი გაყოფის კოეფიციენტის კოდში, სადაც DTMF სიგნალის კოდების გადამყვანის პირველი გამომავალი მთელი რიცხვების თანმიმდევრობით უკავშირდება პირველი აკუმულაციური დამამატებლის სხვა შეყვანას, მეორე გამომავალს. DTMF სიგნალების გადამყვანის კოდები მთელი რიცხვების თანმიმდევრობით უკავშირდება მეორე აკუმულაციური შემგროვებლის სხვა შეყვანას, DTMF სიგნალის გენერატორის დაყენებული სიხშირის გამყოფის გამომავალი რეგულირებადი გაყოფის კოეფიციენტით უკავშირდება კოდების კონვერტორის საათის შეყვანას. DTMF სიგნალები მთელი რიცხვების თანმიმდევრობით, ისევე როგორც პირველი ჩამკეტის რეგისტრის საათის შეყვანა და მეორე დამჭერი რეგისტრის საათის შეყვანა, DTMF სიგნალის კოდის გადამყვანის გამომავალი გაყოფის კოეფიციენტის კოდში დაკავშირებულია პარამეტრის შეყვანასთან. DTMF სიგნალის გენერატორის საცნობარო სიხშირის გამყოფის გაყოფის კოეფიციენტი, DTMF სიგნალის გენერატორის საცნობარო სიხშირის გამყოფის შეყვანა რეგულირებადი გაყოფის კოეფიციენტით არის DTMF სიგნალის გენერატორის საცნობარო სიხშირის შეყვანა, DTMF სიგნალის კოდის გადამყვანის შეყვანა გაყოფის კოეფიციენტის კოდი უკავშირდება DTMF სიგნალის კოდის გადამყვანის შეყვანას მთელი რიცხვების თანმიმდევრობით და არის DTMF სიგნალის გენერატორის შეყვანა. 5. DTMF სიგნალის გენერატორი 4 პრეტენზიის მიხედვით, ხასიათდება იმით, რომ DTMF სიგნალების კოდის გადამყვანი მთელი რიცხვების თანმიმდევრობით დამზადებულია კონტროლირებადი პროგრამირებადი მეხსიერების მოწყობილობის სახით, რომლის მეხსიერება შედგება DTMF სიგნალების რაოდენობის შესაბამისი. მეხსიერების არეები, რომლებიც შედგება უჯრედებისგან, რომლებიც შეესაბამება მთელი რიცხვების მეხსიერების მიმდევრობის სიგრძეს, შექმნილია ისე, რომ მეხსიერების უჯრედის ერთ ნახევარში ინახება რიცხვი, რომელიც დაკავშირებულია მთელ რიცხვთა პირველ მიმდევრობასთან, ხოლო მეხსიერების უჯრედის მეორე ნახევარში ა. ნომერი ინახება მთელი რიცხვების სხვა თანმიმდევრობის შესაბამისად, რომლებიც წარმოადგენს შესაბამისი აკუმულაციური შემგროვებლების ტერმინებს, ხოლო პროგრამირებადი მეხსიერების მოწყობილობის კონტროლი ხორციელდება მეხსიერების არეალის და მეხსიერების ცალკეული უჯრედის არჩევის ცალკე კონტროლის შესაძლებლობით.

Გამორჩეული მახასიათებლები:

  • სინუსური ტალღების გენერირება პულსის სიგანის მოდულაციის გამოყენებით (PWM)
  • სხვადასხვა სინუსური ტალღის სიგნალების გაერთიანება ერთ DTMF სიგნალად
  • წყაროს კოდები ასამბლეისა და C ენებზე
  • შექმნილია STK500-თან მუშაობისთვის
  • პროგრამის კოდის ზომა 260 ბაიტი / ცხრილის მუდმივი ზომა 128 ბაიტი
  • ცხრილის კონვერტაციის მეთოდის გამოყენებით

შესავალი

ეს დოკუმენტი აღწერს DTMF სიგნალების გენერირების ტექნიკას (ორმაგი ტონიანი მრავალ სიხშირის სიგნალები) ნებისმიერი AVR მიკროკონტროლერის გამოყენებით, რომელიც შეიცავს პულსის სიგანის მოდულაციის ერთეულს (PWM) და სტატიკური ოპერატიული მეხსიერებას. ეს სიგნალები ფართოდ გამოიყენება ტელეფონში, სადაც მათი რეპროდუცირება ხდება ტელეფონის ნაკრების აკრიფეთ ღილაკების დაჭერისას. DTMF სიგნალის სწორად გენერირებისთვის, ორი სიხშირე უნდა იყოს გადანაწილებული: დაბალი სიხშირე (fb) და მაღალი სიხშირე (fa). ცხრილი 1 გვიჩვენებს, თუ როგორ არის შერეული სხვადასხვა სიხშირეები DTMF ტონების შესაქმნელად, როდესაც დაჭერით სხვადასხვა კლავიშებს.

სურათი 1 - DTMF სიგნალის გენერატორის წრე

ცხრილი 1 - ტონის სიგნალის წარმოქმნის მატრიცა

fb/fa 1209 ჰც 1336 ჰც 1477 ჰც 1633 ჰც
697 ჰც 1 2 3
770 ჰც 4 5 6
852 ჰც 7 8 9 C
941 ჰც * 0 #

ცხრილი 1-ის რიგები აჩვენებს დაბალი სიხშირის მნიშვნელობებს, ხოლო სვეტები აჩვენებს მაღალი სიხშირის მნიშვნელობებს. მაგალითად, მატრიცა აჩვენებს, რომ როდესაც დააჭირეთ ღილაკს "5", სიხშირეები fb = 770 Hz და fa = 1336 Hz უნდა იყოს შერეული. სხვადასხვა სიხშირის ორი სინუსოიდური სიგნალის დამატების შედეგად წარმოიქმნება DTMF სიგნალი.

სად არის ამპლიტუდის თანაფარდობა K=A b /A aწყაროს სიგნალები უნდა აკმაყოფილებდეს პირობას

ოპერაციული პრინციპი

პულსის სიგანის მოდულაციის გამოყენების შესახებ ზოგადი ინფორმაციის გარდა, ქვემოთ ნაჩვენები იქნება, თუ როგორ იძლევა პულსის სიგანის მოდულაცია სინუსოიდური სიგნალების გენერირების საშუალებას. შემდეგი პუნქტი აღწერს, თუ როგორ გამოვიყენოთ ბაზის გადართვის სიხშირე სხვადასხვა სიხშირის მისაღებად. თეორიული საფუძვლების განხილვის შემდეგ, მოცემულია თავად DTMF სიგნალის გენერატორის აღწერა. სინუსური ტალღების წარმოქმნა

მაღალი VH და დაბალი VL ძაბვის დონის ხანგრძლივობის თანაფარდობიდან გამომდინარე, საშუალო მნიშვნელობა PWM გამომავალზე იცვლება. თუ თანაფარდობა ორივე დონის ხანგრძლივობას შორის მუდმივია, შედეგად წარმოიქმნება მუდმივი VAV ძაბვის დონე. სურათი 2 გვიჩვენებს პულსის სიგანის მოდულირებული სიგნალს.


სურათი 2 - DC ძაბვის დონის წარმოქმნა

ძაბვის დონე განისაზღვრება გამონათქვამით:

(3)

სინუსოიდური სიგნალის გენერირება შესაძლებელია იმ პირობით, რომ პულსის სიგანის მოდულაციის მიერ წარმოქმნილი ძაბვის საშუალო მნიშვნელობა იცვლება ყოველ PWM ციკლში. კავშირი მაღალ და დაბალ დონეებს შორის უნდა იყოს მითითებული სინუსური ტალღის ძაბვის დონის შესაბამისად შესაბამის დროს. სურათი 3 ასახავს ამ პროცესს. PWM-ის წყაროს მონაცემები გამოითვლება მისი თითოეული პერიოდისთვის და ჩაწერილია კონვერტაციის ცხრილში (TC).

სურათი 3 ასევე ასახავს კავშირი ფუნდამენტური სინუსური ტალღის სიხშირესა და ნიმუშების რაოდენობას შორის. რაც უფრო მეტია ნიმუშების რაოდენობა (Nc), მით უფრო მაღალია მიღებული სიგნალის მოდელირების სიზუსტე:

(4)

PWM სიხშირე დამოკიდებულია PWM გარჩევადობაზე. 8-ბიტიანი გარჩევადობით, ქრონომეტრის საბოლოო მნიშვნელობა არის 0xFF (255). იმიტომ რომ ტაიმერი ითვლის წინ და უკან, შემდეგ ეს მნიშვნელობა უნდა გაორმაგდეს. ამიტომ, PWM სიხშირე შეიძლება გამოითვალოს ტაიმერის საათის სიხშირის f CK 510-ზე გაყოფით. ამრიგად, ტაიმერის საათის სიხშირით 8 MHz, შედეგად PWM სიხშირე იქნება 15.6 kHz.


სურათი 3 - სინუსოიდური სიგნალის გენერირება PWM-ის გამოყენებით

სინუსუსური ტალღის სიხშირის შეცვლა

დავუშვათ, რომ სინუსოიდური ნიმუშები იკითხება საძიებო ცხრილიდან არა თანმიმდევრულად, არამედ ერთ დროს. ამ შემთხვევაში, შერჩევის იგივე სიჩქარით, წარმოიქმნება ორმაგი სიხშირის სიგნალი (იხ. სურათი 4).


სურათი 4 – მიღებული სიხშირის გაორმაგება (XSW = 2)

ანალოგიით, თუ წაიკითხავთ არა ყოველ მეორე მნიშვნელობას, არამედ ყოველ მესამეს, მეოთხეს, მეხუთეს (შესაბამისად, ნაბიჯის სიგანე არის 3, 4, 5...) და ა.შ. შესაძლებელია Nc სიხშირეების გენერირება დიაპაზონში. გაითვალისწინეთ, რომ მაღალი სიხშირეებისთვის მიღებული ტალღის ფორმა არ იქნება სინუსოიდური. ნაბიჯის სიგანეს კონვერტაციის ცხრილის მიხედვით აღვნიშნავთ როგორც XSW, სად

(5)

TP-ში მიმდინარე პოზიციის გაანგარიშება შემდეგი PWM პერიოდისთვის (როდესაც ტაიმერი გადაივლის) შესრულებულია გამოხატვის (6) გამოყენებით. ახალი ღირებულება პოზიციაში XLUTდამოკიდებულია მის წინა მდგომარეობაზე X" LUTსაფეხურის სიგანის გაზრდით XSW

(6)

სხვადასხვა სიხშირის დამატება DTMF სიგნალის მისაღებად

DTMF სიგნალის გენერირება შესაძლებელია გამონათქვამების (1) და (2) გამოყენებით. არითმეტიკული მოქმედებების სიმარტივისთვის, არითმეტიკული მოქმედების ლოგიკური ცვლებით ჩანაცვლების მიზნით მიღებულია K კოეფიციენტის მნიშვნელობა 0,75-ის ტოლი. გამოხატვის (6) გათვალისწინებით, PWM კონტროლის მიმდინარე მნიშვნელობა შეიძლება გამოითვალოს გამოსახულებით:

და იმის გათვალისწინებით, რომ X LUTa=X" ლუტა + XSWa ,X LUTb=X" LUTb + XSWb, ბოლოს ჩავწეროთ

DTMF გენერატორის დანერგვა

ეს დანართი განიხილავს DTMF ტონების გენერატორის კონსტრუქციას 8-ბიტიანი PWM გამომავალი (OC1A) და ცხრილის გამოყენებით 128 სინუსური ფუნქციის (Nc) ნიმუშებით, თითოეული მითითებულია 7 ბიტით (n). შემდეგი გამონათქვამები აჩვენებს ამ დამოკიდებულებას და ასევე აჩვენებს, თუ როგორ უნდა გამოვთვალოთ საძიებო ცხრილის ჩანაწერები:

(9)

7 ბიტის გამოყენების უპირატესობა ის არის, რომ მაღალი და დაბალი სიხშირის სიგნალის მნიშვნელობების ჯამი არის ერთი ბაიტის ზომა. DTMF ტონების სრული ნაკრების მხარდასაჭერად, 1-ლი ცხრილიდან თითოეული DTMF სიხშირისთვის 8 მნიშვნელობა უნდა იყოს გამოთვლილი და შეყვანილი საძიებო ცხრილში.

უფრო მაღალი სიზუსტის მისაღწევად, განხორციელდა შემდეგი გამოსავალი: გამოთვლების 5-ის გამოყენებით გამოთვლილი მნიშვნელობები მოითხოვს მხოლოდ 5 ბაიტს. ყველა 8 ბაიტის გამოსაყენებლად, რაც შეამცირებს დამრგვალების შეცდომებს, ეს მნიშვნელობა მრავლდება 8-ზე. საძიებო ცხრილის მაჩვენებელი იწერება იმავე გზით. მაგრამ ამ შემთხვევაში 8-ჯერ მეტი მნიშვნელობის შესანახად საჭიროა ორი ბაიტი. ეს ნიშნავს, რომ 3 მარჯვნივ ცვლა და რადიქსის Nc მოდულის ოპერაცია (ლოგიკური გამრავლება Nc-1-ზე) უნდა შესრულდეს, სანამ გამოიყენებდე ამ ბაიტებს სინუსური ტალღის მნიშვნელობებზე მითითებით.


სურათი 5 - მოდულის დიაგრამა STK500-თან დასაკავშირებლად

PWM სიგნალი წარმოიქმნება პინზე OC1A (PD5). დამატებითი გამომავალი ფილტრი ხელს შეუწყობს სიგნალის უფრო თავსებადობას სინუსოიდური ტალღის ფორმასთან. PWM სიხშირის შემცირებისას შეიძლება საჭირო გახდეს ფილტრის გამოყენება უფრო ციცაბო სიხშირის პასუხით კარგი შედეგის მისაღებად.

კლავიატურის კავშირი ნაჩვენებია სურათზე 1. კლავიატურის მუშაობა ისე უნდა იყოს ორგანიზებული, რომ შესაძლებელი იყოს დაჭერილი კლავიშის დადგენა. ეს შეიძლება გაკეთდეს შემდეგი ალგორითმის გამოყენებით:

  1. დაჭერილი ღილაკის სტრიქონის განსაზღვრა
    • დააკონფიგურირეთ B პორტის დაბალი რიგის ნოუთბუქი, როგორც გამომავალი და დააყენეთ ჟურნალი. "0"
    • დააკონფიგურირეთ B პორტის მაღალი ტეტრადი, როგორც შემავალი ასაწევი რეზისტორების შეერთებით
    • ხაზი დაჭერილი ღილაკით განისაზღვრება, როგორც ყველაზე მაღალი ტეტრადის ციფრი ლოგთან ერთად. "0"
  2. დაჭერილი ღილაკის სვეტის განსაზღვრა
    • დააკონფიგურირეთ B პორტის მაღალი ნოუთბუქი, როგორც გამოსავალი და დააყენეთ ჟურნალი. "0"
    • დააკონფიგურირეთ B პორტის დაბალი რიგის ტეტრადი, როგორც შესასვლელი ასაწევი რეზისტორების შეერთებით
    • დაჭერილი ღილაკით სვეტი განისაზღვრება, როგორც დაბალი რიგის ტეტრადის ციფრი ლოგთან ერთად. "0"

შენიშვნა: STK200-ში რეზისტორები სერიულად არის დაკავშირებული PORTB კონექტორის ქინძისთავებსა და მიკროკონტროლერის BP5, PB6 და PB7 ქინძისთავებს შორის (იხ. STK200 დიაგრამა). ეს გამოიწვევს პრობლემებს, თუ კლავიატურა დაკავშირებულია PORTB კონექტორთან.

სურათი 6 ასახავს ქვეპროგრამის მუშაობას დაჭერილი ღილაკის განსაზღვრისთვის. დაჭერილი ღილაკიდან გამომდინარე, განისაზღვრება ინტერვალის ხანგრძლივობა. შეფერხების რუტინა იყენებს ამ მნიშვნელობას PWM პარამეტრების გამოსათვლელად ორი DTM ტონის სინუსური ტალღისთვის. შეფერხების დამუშავების პროცედურა ნაჩვენებია სურათებში 7 და 8.

ეს რუტინა ითვლის მნიშვნელობას, რათა შევადაროთ ტაიმერის გამომავალს შემდეგი PWM პერიოდისთვის. შეწყვეტის რუტინა ჯერ ითვლის საძიებო ცხრილში შემდეგი ნიმუშის მნიშვნელობის პოზიციას და კითხულობს იქ შენახულ მნიშვნელობას.

ნიმუშის პოზიცია საძიებო ცხრილში განისაზღვრება პულსის სიგანით, ხოლო რეალური პულსის სიგანე განისაზღვრება გენერირებული სიხშირით.

საბოლოო მნიშვნელობა, რომელიც იწერება ტაიმერის შედარების რეესტრში, განისაზღვრება ფორმულით (7), რომელიც ითვალისწინებს ორივე DTMF სიხშირის ნიმუშის მნიშვნელობებს.


სურათი 6 – ძირითადი პროგრამის ბლოკ-სქემა

ტონური აკრეფა (ორმაგი ტონიანი მრავალსიხშირული სიგნალიზაცია, DTMF) შეიქმნა Bell Labs-ის მიერ გასული საუკუნის 50-იან წლებში იმდროინდელი რევოლუციური ღილაკიანი ტელეფონისთვის. ციფრული მონაცემების ტონის რეჟიმში წარმოსაჩენად და გადასაცემად გამოიყენება მეტყველების სიხშირის დიაპაზონის წყვილი სიხშირეები (ტონები). სისტემა განსაზღვრავს ოთხი სიხშირის ორ ჯგუფს და ინფორმაციის კოდირება ხდება ორი სიხშირის ერთდროულად გადაცემით, თითოეული ჯგუფიდან თითო. ეს იძლევა სულ თექვსმეტ კომბინაციას, რომლებიც წარმოადგენენ თექვსმეტი სხვადასხვა რიცხვს, სიმბოლოს და ასოს. DTMF კოდირება ახლა გამოიყენება კომუნიკაციებისა და კონტროლის აპლიკაციების ფართო სპექტრში, რაც დასტურდება, მაგალითად, საერთაშორისო სატელეკომუნიკაციო კავშირის (ITU) რეკომენდაციით Q.23.

ეს სტატია აღწერს DTMF ტონის გენერატორის წრეს, რომელიც აწარმოებს რვავე სიხშირეს და წარმოქმნის შედეგად მიღებული ორტონიანი გამომავალი სიგნალს. აღნიშნული სისტემა აგებულია Silego GreenPAK™ SLG46620V ჩიპისა და Silego SLG88104V ოპერაციული გამაძლიერებლების გარშემო. შედეგად მიღებული სიგნალი არის ორი სიხშირის ჯამი, რომელიც განისაზღვრება ტელეფონის კლავიატურის მწკრივითა და სვეტით.

შემოთავაზებული წრე იყენებს ოთხ შეყვანას გენერირებული სიხშირის კომბინაციის შესარჩევად. წრეს ასევე აქვს ჩართვის შეყვანა, რომელიც იწვევს გენერირებას და განსაზღვრავს სიგნალის გადაცემის ხანგრძლივობას. გენერატორის გამომავალი სიხშირე შეესაბამება ITU სტანდარტს DTMF-ისთვის.

DTMF ტონები

DTMF სტანდარტი განსაზღვრავს რიცხვების 0-9, ასოების A, B, C და D კოდირებას და სიმბოლოებს * და #, როგორც ორი სიხშირის კომბინაციას. ეს სიხშირეები იყოფა ორ ჯგუფად: მაღალი სიხშირის ჯგუფი და დაბალი სიხშირის ჯგუფი. ცხრილი 1 გვიჩვენებს სიხშირეებს, ჯგუფებს და შესაბამის სიმბოლოებს.

ცხრილი 1. DTMF ტონის კოდირება

სამეულის ჯგუფი

დაბალი უღელტეხილის ჯგუფი

სიხშირეები შეირჩა მრავალი ჰარმონიის თავიდან ასაცილებლად. გარდა ამისა, მათი ჯამი ან განსხვავება არ იწვევს სხვადასხვა DTMF სიხშირეს. ამ გზით, ჰარმონიული ან მოდულაციის დამახინჯება თავიდან აიცილება.

Q.23 სტანდარტი განსაზღვრავს, რომ თითოეული გადაცემული სიხშირის ცდომილება უნდა იყოს ნომინალური მნიშვნელობის ±1,8% ფარგლებში, ხოლო მთლიანი დამახინჯება (ჰარმონიკის ან მოდულაციის გამო) უნდა იყოს 20 დბ-ით ქვემოთ ფუნდამენტურ სიხშირეებზე.

ზემოთ აღწერილი სიგნალი შეიძლება აღწერილი იყოს შემდეგნაირად:

s(t) = Acos(2πfhight)+ Acos(2πflowt),

სადაც fhigh და flow არის შესაბამისი სიხშირეები მაღალი და დაბალი სიხშირის ჯგუფებიდან.

სურათი 1 გვიჩვენებს მიღებული სიგნალი ციფრი "1". სურათი 2 გვიჩვენებს ამ სიგნალის შესაბამისი სიხშირის სპექტრს.

ბრინჯი. 1. DTMF ტონი

ბრინჯი. 2. DTMF ტონალური სპექტრი

DTMF ტონების ხანგრძლივობა შეიძლება განსხვავდებოდეს კონკრეტული აპლიკაციის მიხედვით, რომელიც იყენებს ტონის კოდირებას. ყველაზე გავრცელებული აპლიკაციებისთვის, ხანგრძლივობის მნიშვნელობები, როგორც წესი, მოდის ხელით და ავტომატურ აკრეფას შორის. ცხრილი 2 გვიჩვენებს რეკრუტირების ორი ტიპისთვის ტიპიური დროის ხანგრძლივობის შეჯამებას.

ცხრილი 2. ტონის აკრეფის სიგნალების ხანგრძლივობა

აკრიფეთ ტიპი

სამეულის ჯგუფი

სამეულის ჯგუფი

ხელით აკრეფა

ავტომატური აკრეფა

მეტი მოქნილობის უზრუნველსაყოფად, ამ სახელმძღვანელოში შემოთავაზებული DTMF გენერატორი აღჭურვილია ჩართვის შეყვანით, რომელიც გამოიყენება სიგნალის წარმოქმნის დასაწყებად და მისი ხანგრძლივობის დასადგენად. ამ შემთხვევაში, სიგნალის ხანგრძლივობა უდრის პულსის ხანგრძლივობას ჩართვაზე.

DTMF გენერატორის მიკროსქემის ანალოგური ნაწილი

ITU რეკომენდაცია Q.23 განსაზღვრავს DTMF სიგნალებს, როგორც ანალოგურ სიგნალებს, რომლებიც შექმნილია ორი სინუსური ტალღით. შემოთავაზებულ DTMF გენერატორის წრეში, Silego GreenPAK SLG46620V IC წარმოქმნის კვადრატულ ტალღის სიგნალებს სასურველი DTMF სიხშირეებით. საჭირო სიხშირის სინუსოიდური სიგნალების მისაღებად და მიღებული სიგნალის ფორმირებისთვის (ორი სინუსოიდური ტალღის ჯამი), საჭიროა ანალოგური ფილტრები და შემკრები. ამ მიზეზით, ამ პროექტში გადაწყდა ფილტრების და კომბინატორის გამოყენება SLG88104V ოპერატიული გამაძლიერებლების საფუძველზე.

სურათი 3 გვიჩვენებს მოწყობილობის შემოთავაზებული ანალოგური ნაწილის სტრუქტურას.

ბრინჯი. 3. ანალოგური დამუშავების წრე DTMF სიგნალის მისაღებად

ანალოგური ფილტრები გამოიყენება მართკუთხა პულსებიდან სინუსოიდური სიგნალების მისაღებად. ფილტრაციის განხორციელების შემდეგ, ორი სიგნალი ჯამდება და სასურველი გამომავალი ორტონიანი DTMF სიგნალი გენერირებულია.

სურათი 4 გვიჩვენებს ფურიეს ტრანსფორმაციის შედეგს, რომელიც გამოიყენება კვადრატული ტალღის სიგნალის სპექტრის მისაღებად.

ბრინჯი. 4. კვადრატული ტალღის სიგნალის სპექტრი

როგორც ხედავთ, კვადრატული ტალღა შეიცავს მხოლოდ კენტ ჰარმონიებს. თუ ასეთ სიგნალს A ამპლიტუდით წარმოვადგენთ ფურიეს სერიის სახით, მაშინ მას ექნება შემდეგი ფორმა:

ამ გამონათქვამის ანალიზი საშუალებას გვაძლევს დავასკვნათ, რომ თუ ანალოგურ ფილტრებს აქვთ საკმარისი შესუსტება ჰარმონიებისთვის, მაშინ სავსებით შესაძლებელია სინუსოიდური სიგნალების მიღება სიხშირით, რომელიც ტოლია თავდაპირველი კვადრატული ტალღის სიგნალის სიხშირეზე.

Q.23 სტანდარტში განსაზღვრული ჩარევის დონის ტოლერანტობის გათვალისწინებით, აუცილებელია ყველა ჰარმონიის შესუსტება 20 დბ ან მეტით. გარდა ამისა, ნებისმიერი სიხშირე დაბალი გამტარი ჯგუფიდან უნდა იყოს შერწყმული ნებისმიერ სიხშირეს მაღალგამტარი ჯგუფიდან. ამ მოთხოვნების გათვალისწინებით, შეიქმნა ორი ფილტრი, თითო თითოეული ჯგუფისთვის.

ორივე ფილტრი იყო დაბალი გამტარი ბუტერვორტის ფილტრები. რიგის n Butterworth ფილტრის შესუსტება შეიძლება გამოითვალოს შემდეგნაირად:

A(f)[dB] = 10 log(A(f) 2) = 10log(1+(f/fc) 2n),

სადაც fc არის ფილტრის გამორთვის სიხშირე, n არის ფილტრის რიგი.

შესუსტების განსხვავება თითოეული ჯგუფის ყველაზე დაბალ და უმაღლეს სიხშირეს შორის შეიძლება იყოს არაუმეტეს 3 დბ, ასე რომ:

A(fHIGHER)[dB] - A(fLOWER)[dB] > 3 dB.

აბსოლუტური მნიშვნელობების გათვალისწინებით:

A(fHIGHER) 2 / A(FLOWER) 2 > 2.

ასევე, როგორც უკვე ვთქვით, ჰარმონიული შესუსტება უნდა იყოს 20 დბ ან მეტი. ამ შემთხვევაში, ყველაზე უარესი იქნება ყველაზე დაბალი სიხშირე ჯგუფში, რადგან მისი მე-3 ჰარმონია არის ყველაზე დაბალი სიხშირე და ყველაზე ახლოს არის ფილტრის გამორთვის სიხშირესთან. იმის გათვალისწინებით, რომ მე-3 ჰარმონია 3-ჯერ ნაკლებია ფუნდამენტურზე, ფილტრი უნდა აკმაყოფილებდეს პირობას (აბსოლუტური მნიშვნელობები):

A(3fLOWER) 2 / A(fLOWER) 2 > 10/3.

თუ ეს განტოლებები გამოიყენება ორივე ჯგუფზე, მაშინ გამოყენებული ფილტრები უნდა იყოს მეორე რიგის ფილტრები. ეს ნიშნავს, რომ მათ ექნებათ ორი რეზისტორი და ორი კონდენსატორი, თუ განხორციელდება ოპ-ამპერების გამოყენებით. თუ მესამე რიგის ფილტრები გამოიყენებოდა, კომპონენტების ტოლერანტობის მიმართ მგრძნობელობა დაბალი იქნებოდა. შერჩეული ფილტრის გამორთვის სიხშირეები არის 977 ჰც დაბალი გამტარი ჯგუფისთვის და 1695 ჰც მაღალი გამტარი ჯგუფისთვის. ამ მნიშვნელობებში, სიხშირის ჯგუფებში სიგნალის დონეების განსხვავებები შეესაბამება ზემოაღნიშნულ მოთხოვნებს და კომპონენტების ტოლერანტობის გამო წყვეტის სიხშირის ცვლილებებისადმი მგრძნობელობა მინიმალურია.

SLG88104V-ის გამოყენებით განხორციელებული ფილტრების სქემატური დიაგრამები წარმოდგენილია სურათზე 5. პირველი R-C წყვილის რეიტინგები ისეა შერჩეული, რომ შეზღუდოს SLG46620V ჩიპის გამომავალი დენი. მეორე ფილტრის ბმული განსაზღვრავს მომატებას, რომელიც არის 0.2. კვადრატული ტალღის სიგნალების ამპლიტუდა ადგენს საოპერაციო გამაძლიერებლის სამუშაო წერტილს 2,5 ვ. არასასურველი ძაბვები იბლოკება გამომავალი ფილტრის კონდენსატორებით.

ბრინჯი. 5. გამომავალი ფილტრების სქემატური დიაგრამები

გამოსავალზე ფილტრის სიგნალები ჯამდება და შედეგად მიღებული სიგნალი არის დაბალი და მაღალი სიხშირეების ჯგუფიდან შერჩეული ჰარმონიის ჯამი. ფილტრის შესუსტების კომპენსაციის მიზნით, გამომავალი სიგნალის ამპლიტუდა შეიძლება დარეგულირდეს ორი რეზისტორების R9 და R10 გამოყენებით. სურათი 6 გვიჩვენებს შემკრების წრეს. ნახაზი 7 გვიჩვენებს წრედის მთელ ანალოგურ ნაწილს.

ბრინჯი. 6. შემკრების სქემატური დიაგრამა

ბრინჯი. 7. წრედის ანალოგური ნაწილი

DTMF ტონების გენერატორის მიკროსქემის ციფრული ნაწილი

DTMF ტონის გენერატორის მიკროსქემის ციფრული ნაწილი მოიცავს კვადრატული ტალღის გენერატორების მთელ კომპლექტს - თითო DTMF სიხშირეზე. ვინაიდან ამ გენერატორების შესაქმნელად საჭიროა რვა მრიცხველი, მათი განსახორციელებლად შეირჩა GreenPAK SLG46620V ჩიპი. ციფრული მიკროსქემის გამოსავალზე წარმოიქმნება ორი მართკუთხა სიგნალი, ერთი სიხშირის თითოეული ჯგუფისთვის.

კვადრატული ტალღის სიგნალები წარმოიქმნება მრიცხველებისა და D ფლიპ-ფლოპების გამოყენებით და აქვთ სამუშაო ციკლი 50%. ამ მიზეზით, მრიცხველის გადართვის სიხშირე ორჯერ აღემატება საჭირო DTMF სიხშირეს და DFF ფლიპ-ფლოპი გამომავალ სიგნალს ორად ყოფს.

მრიცხველების საათის წყარო არის ჩაშენებული 2 MHz RC ოსცილატორი, რომლის სიხშირე კიდევ იყოფა 4-ზე ან 12-ზე. გამყოფი შეირჩევა ბიტის სიმძლავრის და თითოეული მრიცხველის მაქსიმალური მნიშვნელობის გათვალისწინებით, რომელიც საჭიროა კონკრეტულის მისაღებად. სიხშირე.

მაღალი სიხშირეების გენერირებისთვის საჭიროა ნაკლები ნიმუშები, ამიტომ მათი გენერირებისთვის გამოიყენება 8-ბიტიანი მრიცხველები, რომლებიც დატვირთულია შიდა RC ოსცილატორიდან, რომლის სიგნალი იყოფა 4-ზე. ამავე მიზეზით, ქვედა სიხშირეები დანერგილია 14-ბიტიანი მრიცხველების გამოყენებით.

SLG46620V-ს აქვს მხოლოდ სამი სტანდარტული 14-ბიტიანი მრიცხველი, ამიტომ ერთ-ერთი ქვედა სიხშირე განხორციელდა 8-ბიტიანი CNT8 მრიცხველის გამოყენებით. იმისთვის, რომ ნიმუშების რაოდენობა 0...255-ის დიაპაზონში ჩავარდნილიყო, ამ CNT8-ის დაკვრისთვის საჭირო იყო RC ოსცილატორის სიგნალის გამოყენება 12-ზე გაყოფილი. არის, ყველაზე დაბალი სიხშირე, შეირჩა. ამან საშუალება მოგვცა შეგვემცირებინა შეცდომა.

ცხრილი 3 გვიჩვენებს თითოეული კვადრატული ტალღის პარამეტრებს.

ცხრილი 3. კვადრატული პულსის გენერატორების პარამეტრები

დათქმა

სიხშირის შეცდომა [%]

დაბალი უღელტეხილის ჯგუფი

სამეულის ჯგუფი

როგორც ცხრილიდან ჩანს, ყველა სიხშირეს აქვს 1,8%-ზე ნაკლები ცდომილება, ამიტომ ისინი შეესაბამება DTMF სტანდარტს. ეს გამოთვლილი მახასიათებლები, დაფუძნებული იდეალური RC ოსცილატორის სიხშირეზე, შეიძლება დარეგულირდეს RC ოსცილატორის გამომავალი სიხშირის გაზომვით.

მიუხედავად იმისა, რომ შემოთავაზებულ წრეში ყველა გენერატორი მუშაობს პარალელურად, თითოეული ჯგუფიდან მხოლოდ ერთი გენერატორის სიგნალი გაიგზავნება მიკროსქემის გამოსავალზე. კონკრეტული სიგნალების არჩევანს განსაზღვრავს მომხმარებელი. ეს კეთდება ოთხი GPIO შეყვანის გამოყენებით (ორი ბიტი თითოეული ჯგუფისთვის) მე-4 ცხრილში ნაჩვენები სიმართლის ცხრილით.

ცხრილი 4. დაბალი სიხშირის ჯგუფიდან სიხშირეების შერჩევის ცხრილი

დაბალი უღელტეხილის ჯგუფი

ცხრილი 5. სიხშირის შერჩევის ცხრილი მაღალი სიხშირის ჯგუფიდან

სამეულის ჯგუფი

სურათი 8 გვიჩვენებს 852 Hz კვადრატული ტალღის გენერატორის ლოგიკური წრე. ეს ნიმუში მეორდება თითოეული სიხშირისთვის შესაბამისი მრიცხველის პარამეტრებით და LUT კონფიგურაციით.

ბრინჯი. 8. მართკუთხა პულსის გენერატორი

მრიცხველი წარმოქმნის გამომავალი სიხშირეს, რომელიც განისაზღვრება მისი პარამეტრებით. ეს სიხშირე უდრის შესაბამისი DTMF ტონის ორჯერ სიხშირეს. მრიცხველის კონფიგურაციის პარამეტრები ნაჩვენებია სურათზე 9.

ბრინჯი. 9. მართკუთხა პულსის გენერატორის მრიცხველის დაყენების მაგალითი

მრიცხველის გამომავალი სიგნალი დაკავშირებულია D-Flip Flop Flip-flop-ის საათის შეყვანასთან. ვინაიდან DFF გამომავალი კონფიგურირებულია როგორც ინვერსიული, თუ DFF გამომავალს დააკავშირებთ მის შესასვლელთან, D ფლიპ-ფლოპი გარდაიქმნება T ფლიპ-ფლოპად. DFF კონფიგურაციის პარამეტრები ჩანს სურათზე 10.

ბრინჯი. 10. მართკუთხა პულსის გენერატორის ტრიგერის დაყენების მაგალითი

DFF გამომავალი სიგნალი მიეწოდება LUT სიმართლის ცხრილის შეყვანას. სიმართლის ცხრილები LUT გამოიყენება ერთი სიგნალის შესარჩევად თითოეული კონკრეტული R1-R0 კომბინაციისთვის. LUT-ის კონფიგურაციის მაგალითი ნაჩვენებია სურათზე 11. ამ მაგალითში, თუ R1 იღებს 1-ს და R0 იღებს 0-ს, შეყვანის სიგნალი იგზავნება გამოსავალზე. სხვა შემთხვევებში, გამომავალი შეიცავს "0".

ბრინჯი. 11. კვადრატული პულსის გენერატორის სიმართლის ცხრილის დაყენების მაგალითი

როგორც ზემოთ აღინიშნა, შემოთავაზებულ წრეს აქვს Enable enable შეყვანა. თუ ნებართვის ჩართვაზე არის ლოგიკური ერთეული „1“, მაშინ გენერირებული მართკუთხა სიგნალები მიეწოდება მიკროსქემის გამომავალ წყვილს. გადაცემის ხანგრძლივობა უდრის პულსის ხანგრძლივობას ჩართვაზე. ამ ფუნქციის განსახორციელებლად, კიდევ რამდენიმე LUT იყო საჭირო.

მაღალგამტარი ჯგუფი იყენებს ერთ 4-ბიტიან LUT-ს და ერთ 2-bit LUT-ს, როგორც ნაჩვენებია სურათზე 12.

ბრინჯი. 12. ტრიბლის ჯგუფის გამომავალი წრე

4-ბიტიანი LUT1 კონფიგურირებულია როგორც OR კარიბჭე, ასე რომ, ის გამოსცემს ლოგიკურ 1-ს, თუ 1 იმყოფება მის რომელიმე შეყვანაში. C1/C0 ჭეშმარიტების ცხრილები იძლევა მხოლოდ ერთი ოსცილატორის არჩევის საშუალებას, ამიტომ 4-ბიტიანი LUT1 განსაზღვრავს რომელი სიგნალი გამოდის. ამ LUT-ის გამომავალი დაკავშირებულია 2-ბიტიან LUT4-თან, რომელიც გამოსცემს სიგნალს მხოლოდ იმ შემთხვევაში, თუ ჩართვის შეყვანა არის ლოგიკური 1. 13 და 14 სურათებზე ნაჩვენებია 4-ბიტიანი LUT1 და 2-ბიტიანი LUT4-ის კონფიგურაციები.

ბრინჯი. 13. 4-ბიტიანი LUT1 კონფიგურაცია

ბრინჯი. 14. 2-ბიტიანი LUT4 კონფიგურაცია

ვინაიდან აღარ არსებობდა 4-ბიტიანი ჭეშმარიტების ცხრილების LUT-ები, ორი 3-ბიტიანი LUT გამოიყენებოდა დაბალი გამავლობის ჯგუფისთვის.

ბრინჯი. 15. დაბალი გამტარი ჯგუფის გამომავალი წრე

GreenPAK SLG46620V-ის სრული შიდა სქემები ნაჩვენებია სურათზე 16. სურათი 17 გვიჩვენებს DTMF გენერატორის საბოლოო მიკროსქემის დიაგრამას.

ბრინჯი. 16. DTMF ტონების გენერატორის ბლოკ-სქემა

ბრინჯი. 17. DTMF ტონების გენერატორის სქემატური დიაგრამა

DTMF გენერატორის მიკროსქემის ტესტირება

შემოთავაზებული DTMF გენერატორის ტესტირების პირველ ეტაპზე გადაწყდა, რომ შემოწმდეს ყველა წარმოქმნილი მართკუთხა სიგნალის სიხშირე ოსცილოსკოპის გამოყენებით. მაგალითად, 18 და 19 სურათებზე ნაჩვენებია კვადრატული ტალღის გამომავალი 852 ჰც და 1477 ჰც.

ბრინჯი. 18. კვადრატული ტალღა 852 ჰც

ბრინჯი. 19. კვადრატული ტალღა 1477 ჰც

მას შემდეგ რაც შემოწმდა ყველა კვადრატული ტალღის სიგნალის სიხშირე, დაიწყო მიკროსქემის ანალოგური ნაწილის ტესტირება. შესწავლილი იქნა გამომავალი სიგნალები დაბალი და მაღალი სიხშირის ყველა კომბინაციისთვის. მაგალითად, სურათი 20 გვიჩვენებს 770 Hz და 1209 Hz სიგნალების ჯამს, ხოლო სურათი 21 გვიჩვენებს 941 Hz და 1633 Hz სიგნალების ჯამს.

ბრინჯი. 20. DTMF ტონი 770 Hz და 1209 Hz

ბრინჯი. 21. DTMF ტონი 941 Hz და 1633 Hz

დასკვნა

ამ სტატიაში შემოთავაზებული იყო სქემა DTMF ტონის გენერატორისთვის, რომელიც დაფუძნებულია Silego GreenPAK SLG46620V ჩიპზე და Silego SLG88104V ოპერაციულ გამაძლიერებლებზე. გენერატორი საშუალებას აძლევს მომხმარებელს აირჩიოს სასურველი სიხშირეების კომბინაციები ოთხი შეყვანის გამოყენებით და გააკონტროლოს ჩართვის შეყვანა, რომელიც განსაზღვრავს გამომავალი სიგნალების ხანგრძლივობას.

SLG46620V ჩიპის მახასიათებლები:

  • ტიპი: პროგრამირებადი შერეული სიგნალის IC;
  • ანალოგური ბლოკები: 8-ბიტიანი ADC, ორი DAC, ექვსი შედარებითი, ორი ფილტრი, ION, ოთხი ინტეგრირებული ოსცილატორი;
  • ციფრული ბლოკები: 18-მდე I/O პორტი, ურთიერთდაკავშირების მატრიცა და კომბინატორიული ლოგიკა, პროგრამირებადი დაყოვნების სქემები, პროგრამირებადი ფუნქციების გენერატორი, ექვსი 8-ბიტიანი მრიცხველი, სამი 14-ბიტიანი მრიცხველი, სამი PWM ოსცილატორი/შედარებელი;
  • საკომუნიკაციო ინტერფეისი: SPI;
  • მიწოდების ძაბვის დიაპაზონი: 1.8…5 V;
  • ოპერაციული ტემპერატურის დიაპაზონი: -40…85 °C;
  • პაკეტის ვერსია: 2 x 3 x 0.55 მმ 20-პინი STQFN.

რუსეთის ფედერაციის სატელეფონო ქსელებში თანამედროვე ციფრული PBX-ების დანერგვით, თანდათან ვრცელდება აკრეფის სიგნალების გადაცემის მრავალსიხშირული მეთოდი, რომელიც აღინიშნება ინგლისური აბრევიატურით DTMF (Dual-Tone Multiple-Frequency). ზოგჯერ სხვა ინგლისური ტერმინი გამოიყენება ამ აკრეფის სიგნალის გადაცემის სისტემის დასასახელებლად - Touch-None (ტონური აკრეფა). ეს მეთოდი 1960 წელს შეიქმნა, მაგრამ მისი რეალური გავრცელება 80-იან წლებში ციფრული (ელექტრონული) სატელეფონო სადგურების გავრცელებით დაიწყო.

საკონტროლო სიგნალების გადაცემის ამ მეთოდით, ყოველი მრავალსიხშირიანი ციფრული სიგნალი შედგება ორი ტონისაგან ITU-T რეკომენდაციის Q.23 „სენსორული ტელეფონების ტექნიკური მახასიათებლები“ ​​შესაბამისად.

DTMF სიხშირეები არ არის შერჩეული ჰარმონიულად. ეს ნიშნავს, რომ სიხშირეებს არ აქვთ 1-ის გარდა მთელი რიცხვის გამყოფი. მაგალითად, 1200 და 1600 ჰც სიხშირეები 400 ჰც სიხშირის ჰარმონიებია (3x400=1200 და 4x400=1600), ხოლო 697 და 770 ჰც სიხშირეები არაჰარმონიულია.

თითოეული სიგნალი შეიცავს ორ სიხშირეს: ერთი შერჩეული ქვედა და მეორე სიხშირეების ზედა ჯგუფიდან.

გადაცემულ ინფორმაციასა და სიხშირეს შორის შესაბამისობა მოცემულია ლაბორატორიის ინსტალაციის წინა პანელზე მოცემულ ცხრილში.

გადაცემის დონე ორ სიხშირის პაკეტში, რომელიც იზომება 600 Ohms დატვირთვით, არის: ქვედა სიხშირის ჯგუფისთვის - მინუს 6 dBmO ± 2 dB, ზედა სიხშირის ჯგუფისთვის - მინუს 3 dBmO ± 2 dB. სიხშირეების ზედა ჯგუფის სიხშირის დონე მთლიან სიგნალში 2 ±1 დბ-ით მეტია, ვიდრე ქვედა ჯგუფის სიხშირის დონე. ყველა უმაღლესი რიგის სიხშირის კომპონენტის ჯამური დონე მინიმუმ 20 დბ-ით დაბალია ქვედა რიგის სიხშირის დონეზე.

პირობები, რომლებშიც ნორმალური სიგნალის მიღება უნდა მოხდეს, შემდეგია: სიგნალში ორი სიხშირის არსებობა, რომელთაგან ერთი შერჩეულია ქვედა ჯგუფიდან, მეორე კი ზემოდან; სიხშირეები არ განსხვავდება მათი ნომინალური მნიშვნელობებისგან 1.8% -ზე მეტით; თითოეული ორი სიხშირის დონე მერყეობს მინუს 7-დან მინუს 30 dBmO-მდე; განსხვავება ორი სიხშირის დონეებს შორის არ აღემატება 3 დბ; სიხშირის სიგნალის ხანგრძლივობა მინიმუმ 40 ms.

ინსტალაციის ჩართვამდე შეასრულეთ შემდეგი ოპერაციები:

დააყენეთ გადამრთველი S6 ქვედა პოზიციაზე;

დააყენეთ გადამრთველი S13 ზედა პოზიციაზე;

დააყენეთ ზედა და ქვედა სიხშირის ჯგუფების გენერატორების გადამრთველები "გამორთული" პოზიციაზე;

დააყენეთ ანალოგური გასაღების გადამრთველი (AK) „On“ პოზიციაზე;

დააბრუნეთ ღილაკები გენერატორების გამომავალი ძაბვის რეგულირებისთვის და რეზისტორი R3 საათის ისრის საწინააღმდეგოდ, სანამ ისინი არ გაჩერდებიან.

dtmf სიგნალის კონდიცირება

1.1 ჩართეთ ინსტალაცია.

1.2 შეაერთეთ ოსცილოსკოპი KT3 ტესტის წერტილთან.

1.3 ჩართეთ ზედა სიხშირის ჯგუფის გენერატორი, ერთ-ერთი გადამრთველი ღილაკის დაჭერით აირჩიეთ ამ ჯგუფის რომელიმე სიხშირე.

1.4 შემოატრიალეთ გენერატორის გამომავალი ძაბვის რეგულირების ღილაკი, რათა დააყენოთ სიგნალის ამპლიტუდა CT3-ში 0,5 ვოლტამდე.

1.5 გადართეთ ოსილოსკოპის შეყვანა KT4 ტესტის წერტილზე. გაიმეორეთ ნაბიჯები 1.3, 1.4 ქვედა სიხშირის ჯგუფის გენერატორისთვის, დააყენეთ ძაბვა KT4-ში 0.5 ვ-მდე.

ᲨᲔᲜᲘᲨᲕᲜᲐ: შესრულებული ოპერაციების შედეგად დამმატებლის შესასვლელში მიეწოდება თანაბარი ამპლიტუდის სიგნალები ზედა და ქვედა სიხშირის ჯგუფებიდან. ამ დონის დაყენების შემდეგ ჩაკეტეთ ღილაკები გენერატორების გამომავალი ძაბვის რეგულირებისთვის.

1.6 გადართეთ ოსცილოსკოპის შეყვანა KT7 ტესტის წერტილზე. DTMF სიგნალის კონდიციონერის გამომავალი ძაბვის დასარეგულირებლად რეზისტორის სახელურის (R3) როტაციით, დააყენეთ ძაბვა CT7-ში 0,5 ვოლტამდე.

ᲨᲔᲜᲘᲨᲕᲜᲐ: შესრულებული ოპერაციების შედეგად, უწყვეტი ორტონიანი სიგნალი მიეწოდება მიმღების შეყვანას, ხოლო სიმბოლო, რომელიც შეესაბამება ზედა და ქვედა სიხშირის ჯგუფების გენერატორების სიხშირეების კომბინაციას, უნდა იყოს ნაჩვენები მიღებული სიმბოლოს ინდიკატორზე. ცხრილის შესაბამისად. მიღებული და იდენტიფიცირებული სიგნალის მითითება არის სიგნალის არსებობა STD მიმღების გამოსავალზე (LED Glow).

      ზედა და ქვედა სიხშირის ჯგუფების სიხშირეების გადართვით, დარწმუნდით, რომ ამ სიხშირეების კომბინაციები შეესაბამება მიღებულ სიმბოლოებს.

ამ აპლიკაციის პირველი ნაწილი აღწერს DTMF სიგნალების გენერირებას MSP430 მიკროკონტროლერის გამოყენებით. მოცემულია ამ შემთხვევაში გამოყენებული ყველაზე მნიშვნელოვანი სპეციფიკაციების განმარტება და მოცემულია კვადრატული ტალღების გამოყენებით სინუსური ტალღების წარმოქმნის თეორიული და მათემატიკური დასაბუთება შესაბამისი ანალოგური ფილტრების გამოყენებით. მაგალითი ასევე მოიცავს ტესტირებული დემო პროგრამებს კვადრატული ტალღის სიგნალების გენერირებისთვის MSP430 მიკროკონტროლერების სხვადასხვა ტაიმერის კონფიგურაციებზე დაყრდნობით. დასკვნითი ნაწილი გთავაზობთ მიკროსქემის დიაგრამას კვადრატული ტალღის სიგნალებიდან DTMF სიგნალების წარმოქმნისთვის.

2 DTMF სიგნალის სპეციფიკაცია

აბრევიატურა DTMF ნიშნავს "Dual Tone Multi Frequency" და წარმოადგენს სხვადასხვა სიხშირეზე ციფრების წარმოდგენის მეთოდს მათი გადაცემის მიზნით ანალოგური საკომუნიკაციო ხაზებით, როგორიცაა სატელეფონო ხაზი. სტანდარტის შემუშავებისას გათვალისწინებული იყო პირობა - ყველა სიხშირე უნდა იყოს "ხმის" დიაპაზონში, რამაც შესაძლებელი გახადა გადამცემი არხის მოთხოვნების შემცირება. სატელეფონო ქსელები იყენებენ DTMF სიგნალებს აკრეფისა და სხვა ინფორმაციისთვის. მიუხედავად იმისა, რომ პულსის აკრეფის მეთოდი ჯერ კიდევ ფართოდ გამოიყენება, რაც სტანდარტია, მაგალითად, გერმანიაში, აკრეფის დრო მნიშვნელოვნად იზრდება, რაც იწვევს საკომუნიკაციო ხაზებზე არაპროდუქტიულ დატვირთვას. გარდა ამისა, მრავალი დამატებითი საკომუნიკაციო სერვისი შესაძლებელია მხოლოდ ტონალური აკრეფის გამოყენებით. DTMF მეთოდის გამოყენებით კოდირებისას, რიცხვები 0-9 და ასოები A-D, */E და #/F წარმოადგენენ ორი სიხშირის კომბინაციას:

სიხშირე 1209 ჰც 1336 ჰც 1477 ჰც 1633 ჰც
697 ჰც 1 2 3
770 ჰც 4 5 6
852 ჰც 7 8 9 C
941 ჰც */ე 0 #/F

ამ სისტემაში, სვეტი წარმოადგენს სიხშირეს "ზედა" სიხშირის ჯგუფიდან (Hi-Group: 1209-1633 Hz), ხოლო მწკრივი წარმოადგენს სიხშირეს "ქვედა" სიხშირის ჯგუფიდან (Lo-Group: 697-941 Hz) . ტონალური სიხშირეები შეირჩევა ჰარმონიის გავლენის აღმოსაფხვრელად. სიხშირეები არ არის ერთმანეთის ჯერადი და არც DTMF სიხშირის მიღება შეუძლებელია სხვა სიხშირეების დამატებით ან გამოკლებით. Deutsche Telekom-ის ქსელში აკრიფეს გენერირებისთვის საჭიროა შემდეგი სპეციფიკაციები (აღებულია Zulassungsvorschrift des Bundesamtes fur Post und Telekommunikation, BAPT 223 ZV 5 (ფოსტისა და ტელეკომუნიკაციების ფედერალური სამინისტროს ოფიციალური სპეციფიკაცია):

3 DTMF სიგნალების გენერირება

როგორც ზემოთ იყო აღწერილი, DTMF სიგნალები ანალოგურია და შედგება ორი დამოუკიდებელი სინუსური ტალღისგან. ამდენად, ასეთი სიგნალების მხოლოდ ციფრული გენერირება შეუძლებელია. ციფრული სიგნალები უნდა გარდაიქმნას ADC-ების და/ან ანალოგური ფილტრების გამოყენებით საჭირო სინუს ტალღის ფორმაში.

3.1 თაობა კვადრატული ტალღების გამოყენებით

თუ კვადრატული ტალღის სიგნალები გამოიყენება DTMF სიგნალების გენერირებისთვის, პროგრამული უზრუნველყოფისა და აპარატურის მოთხოვნები მინიმალურია. ნებისმიერი უწყვეტი სიგნალი, რომელსაც აქვს T პერიოდი, შეიძლება წარმოდგენილი იყოს ფურიეს სერიით, რომელიც შედგება სინუსისა და კოსინუსური ტალღების უსასრულო ჯამისგან, შემდეგნაირად:

სადაც a0/2 არის სიგნალის მუდმივი კომპონენტი. ყველაზე დაბალი კუთხური სიხშირის მქონე ჯამის ელემენტს (w0) ეწოდება მთავარი (ფუნდამენტური) ჰარმონია, დანარჩენები არის ოვერტონები ან უფრო მაღალი ჰარმონიები.

მიკროკონტროლერის გამოყენებით განხორციელებული უმარტივესი უწყვეტი სიგნალი არის კვადრატული ტალღა, რომლის ფურიეს სერიას აქვს ფორმა:

თითოეული სიხშირის კომპონენტის წვლილი მთლიან სიგნალში საუკეთესოდ არის ნაჩვენები ამპლიტუდის სპექტრით (იხ. ნახ. 2):


ბრინჯი. 2: კვადრატული ტალღის სიგნალის ამპლიტუდის სპექტრი

ანალოგური ფილტრის გამოყენებისას, DC კომპონენტი და უმაღლესი ჰარმონიები ეფექტურად ითრგუნება, ხოლო გამოსავალზე გვაქვს სინუსოიდური სიგნალი თავდაპირველი კვადრატული ტალღის სიხშირის ტოლი სიხშირით.

3.2 პროგრამული უზრუნველყოფა მეანდრის გენერირებისთვის

მეანდრის გენერირების პროგრამა უნდა აკმაყოფილებდეს შემდეგ მოთხოვნებს:

  • შეძლოს ორი დამოუკიდებელი მართკუთხა სიგნალის სინთეზირება.
  • სიგნალების განცალკევების მიზნით, საჭიროა ორი გამომავალი პინი, რათა გამოიმუშაოს სიგნალები "ზედა" (Hi-Group) და "ქვედა" (Lo-Group) სიხშირის დიაპაზონიდან, შესაბამისად.
  • პროგრამულ უზრუნველყოფას უნდა შეეძლოს სიგნალის საჭირო ხანგრძლივობის დაყენება დაახლოებით 65 ms - 100 ms დიაპაზონში.

MSP430 სერიის მიკროკონტროლერებს აქვთ სხვადასხვა ჩაშენებული ტაიმერები, რომლებსაც შეუძლიათ კვადრატული ტალღის სიგნალების გენერირება. '31x/'32x ოჯახი იყენებს 8-ბიტიან ტაიმერს და ტაიმერის პორტს ორივე კვადრატული ტალღის სიგნალის შესაქმნელად. ეს პროგრამა შემოწმდა MCLK სიხშირეზე 1.048 MHz. Timer_A '33x ოჯახში დამოუკიდებლად შეუძლია ორივე საჭირო სიგნალის გენერირება. მეორე პროგრამა იყენებს ამ ტაიმერს კვადრატული ტალღების გენერირებისთვის და მუშაობს ნებისმიერ MCLK სიხშირეზე. ორივე პროგრამა დეტალურად იქნება განხილული ქვემოთ.

3.2.1 კვადრატული ტალღების გენერირება 8-ბიტიანი ტაიმერის და ტაიმერის პორტის გამოყენებით

ნახ. 3 არის ინიციალიზაციის პროცედურის დიაგრამა DTMF სიგნალების გენერირებისთვის. ორი სიხშირის სინთეზირებისთვის გამოიყენება ტაიმერის პორტი და 8-ბიტიანი ტაიმერის მრიცხველები. თითოეული მათგანი არის პროგრამირებადი მრიცხველი რეგისტრი, რომელიც აუცილებელია საჭირო სიხშირეების ზუსტი სინთეზისთვის. თუ ტაიმერი-პორტის მრიცხველები კასკადირებულია ერთ 16-ბიტიან ტაიმერში და დატვირთულია MCLK სისტემის სიხშირეზე, მაშინ მაღალი დიაპაზონის სიხშირეების გენერირება შესაძლებელია მაღალი სიზუსტით. როდესაც ხდება შეფერხება, შესაბამისი გამომავალი გადართულია და ორივე 8-ბიტიანი მრიცხველის რეგისტრი გადატვირთულია. დატვირთული მნიშვნელობები ინახება ორ ცვლადში RAM-ში, რათა შეინახოს შიდა რეგისტრები სხვა ამოცანებისთვის.

დაბალი დიაპაზონის სიხშირეები გენერირდება 8-ბიტიანი ტაიმერით. ვინაიდან ამ ტაიმერის მრიცხველის რეგისტრი 8 ბიტიანია, მხოლოდ ყოველი მესამე შეწყვეტა იწვევს დონის ცვლილებას საჭირო გამომავალი პინზე, რაც საშუალებას იძლევა იგივე სიხშირის მრიცხველის გენერირება.

ორი ტაიმერის გამოსავალი - პორტები გამოიყენება სხვადასხვა სიხშირის ორი მეანდრის შესაქმნელად.

ბრინჯი. 3 ინიციალიზაციის პროცედურის დიაგრამა DTMF სიგნალების წარმოქმნისთვის

ინიციალიზაციის პროცედურა ხორციელდება მხოლოდ ერთხელ. მისი დასრულების შემდეგ, გადაცემული სიმბოლოს თექვსმეტობითი მნიშვნელობა იკითხება RAM-ის გლობალური ცვლადიდან. მას შემდეგ, რაც ორი სიხშირე, რომლებიც ქმნიან მაღალ და დაბალ DTMF ტონებს, წარმოიქმნება ორი ცხრილიდან, საჭიროა მხოლოდ ორივე ტაიმერის ინიციალიზაცია და გაშვება. გაგზავნის ხანგრძლივობა კონტროლდება "ქვედა" სიხშირის ნახევარციკლების დათვლით და იკითხება დამატებითი ცხრილიდან. ამ პროცედურის დასრულების შემდეგ თქვენ უბრუნდებით კენჭისყრის ფუნქციას. შეფერხების მართვის შესაბამისი რუტინები ცვლის პორტის პინებს. ეს პროცესი ნაჩვენებია ნახ. 4 და 5.

ტაიმერი-პორტის ამოცანები მოიცავს მხოლოდ ჟურნალის ჩაწერას. დონე პორტის გამომავალზე და მრიცხველის გადატვირთვა RAM-დან, ხოლო 8-ბიტიანი ტაიმერის მუშაობას აქვს ოდნავ უფრო რთული სტრუქტურა: ყოველი შეყვანა შეფერხებაში ითვლება მრიცხველის რეგისტრით. გამომავალს შეუძლია შეიცვალოს მდგომარეობა მხოლოდ სამი შეწყვეტის შემდეგ. გარდა ამისა, თითოეული ნახევარი ციკლი ასევე ითვლება. გენერაცია ჩერდება, როდესაც მიიღწევა ნახევრად ციკლების გარკვეული რაოდენობა.


ბრინჯი. 4 ბლოკი - შეფერხების წრე 8-ბიტიანი ტაიმერიდან (Lo-Group)


ბრინჯი. 5 ბლოკი - ტაიმერი-პორტის შეწყვეტის წრე (Hi-Group)

; მორგებული განმარტებები FLLMPY equ 32; სიხშირის მულტიპლიკატორი FLL 1.048 MHz TCLK equ FLLMPY*32768; TCLK: FLLMPY x f კვარცი DL equ 85; DTMF სიგნალის ხანგრძლივობა (65..100 ms) LO_OUT equ 02h ; "ქვედა" სიხშირის გამომავალი HI_OUT equ 04h ; მაღალი სიხშირის გამომავალი RCOUNT equ r14 ; სიგრძის მრიცხველი DTMF RTEMP equ r15 ; მომსახურების რეესტრი.გლობალური DTMF_NR ; გლობალური ცვლადი RAM-ში; DTMF ნომრისთვის (0..F) ; განმარტებები RAM.თუნდაც .bss DTMF_TL ; მისამართის გასწორება.bss DTMF_TH .bss DTMF_NR; გლობალური ცვლადი RAM-ში; DTMF ნომრისთვის (0..F).ლუწი ; 8-ბიტიანი ტაიმერის განმარტებები TCCTL EQU 42H TCPLD EQU 43H TCDAT EQU 44H; უნივერსალური ტაიმერის პორტის განმარტებები TPCTL equ 04bh; ტაიმერი-პორტის კონტროლი TPCNT1 equ 04ch ; ტაიმერი-პორტის მრიცხველი 1 TPCNT2 equ 04dh ; ტაიმერი-პორტის მრიცხველი 2 TPD equ 04eh ; ტაიმერი-პორტის მონაცემები TPE equ 04fh ; Timer-port-resolution.text ; DTMF სიხშირის ცხრილები: ცხრილი შეიცავს; MCLK ციკლების რაოდენობა ერთი ნახევარ ციკლისთვის. ; ცხრილი "ზედა" სიხშირისთვის; დამატებულია მაკორექტირებელი ცვლილება; შეფერხებაში შესვლის დროის გათვალისწინება 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 .word 0ffffh-(TCLK/(1336*2))+25 ; მაღალი სიხშირე 5 .word 0ffffh-(TCLK/(1477*2))+24 ; მაღალი სიხშირე 6 .word 0ffffh-(TCLK/(1207*2))+28 ; მაღალი სიხშირე 7 .word 0ffffh-(TCLK/(1336*2))+25 ; მაღალი სიხშირე 8 .word 0ffffh-(TCLK/(1477*2))+24 ; მაღალი სიხშირე 9 .სიტყვა 0ffffh-(TCLK/(1633*2))+22 ; მაღალი სიხშირე A .word 0ffffh-(TCLK/(1633*2))+22 ; მაღალი სიხშირე B-სთვის .სიტყვა 0ffffh-(TCLK/(1633*2))+22 ; მაღალი სიხშირე C-სთვის .word 0ffffh-(TCLK/(1633*2))+22 ; მაღალი სიხშირე D .word 0ffffh-(TCLK/(1207*2))+28 ; მაღალი სიხშირე * .word 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 .ბაიტი 0ffh-(TCLK/(853*2*3)) ; დაბალი სიხშირე C .ბაიტი 0ffh-(TCLK/(941*2*3)) ; დაბალი სიხშირე D .ბაიტი 0ffh-(TCLK/(941*2*3)) ; დაბალი სიხშირე *.ბაიტი 0ffh-(TCLK/(941*2*3)) ; დაბალი სიხშირე # ; სიგნალის ხანგრძლივობის ცხრილი DTMF_L .ბაიტი 2*941*DL/1000 ; ნახევარციკლები 0 .ბაიტი 2*697*DL/1000; ნახევარციკლები 1 .ბაიტისთვის 2*697*DL/1000; ნახევარი ციკლი 2.ბაიტი 2*697*DL/1000; ნახევარი ციკლი 3.ბაიტი 2*770*DL/1000; ნახევარი ციკლი 4.ბაიტი 2*770*DL/1000; ნახევარი ციკლი 5 .ბაიტი 2*770*DL/1000; ნახევარი ციკლი 6 .ბაიტისთვის 2*852*DL/1000; ნახევარი ციკლი 7 .ბაიტი 2*852*DL/1000; ნახევარი ციკლი 8 .ბაიტი 2*852*DL/1000; ნახევარი ციკლი 9 .ბაიტი 2*697*DL/1000; ნახევარი ციკლი A .ბაიტისთვის 2*770*DL/1000; ნახევარი ციკლები B .ბაიტი 2*852*DL/1000; ნახევარი ციკლი C .ბაიტი 2*941*DL/1000; ნახევარი ციკლები D .ბაიტისთვის 2*941*DL/1000; ნახევარციკლები *.ბაიტი 2*941*DL/1000; ნახევარი ციკლი # ;************************************************ ********* ******************************** ; DTMF-TX DTMF ქვეპროგრამა ;************************************************ ******************************** DTMF_TX mov.b DTMF_NR,RTEMP ; შეინახეთ ნომერი დროებით რეესტრში mov.b DTMF_L(RTEMP),RCOUNT ; ხანგრძლივობის მრიცხველის შენახვა DTMF-Lo სიხშირისთვის mov.b #0a8h,&TCCTL; საათი MCLK-დან mov.b DTMF_LO(RTEMP),&TCPLD ; რეესტრის მომზადება; წინასწარ ჩატვირთვა mov.b #000,&TCDAT ; მრიცხველის ჩატვირთვა რეესტრიდან; წინასწარ ჩატვირთვა bis.b #008h,&IE1 ; შეფერხებების ჩართვა; 8-ბიტიანი ტაიმერიდან; ტაიმერის პორტის მომზადება DTMF-Hi სიხშირისთვის rla r15; * 2 16-ბიტიანი ცხრილისთვის mov DTMF_HI(RTEMP),&DTMF_TL ; შეინახეთ სიტყვა მაღალი სიხშირის 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 კვადრატული ტალღების გენერირება Timer_A-ს გამოყენებით

DTMF სიგნალის გენერირების ეს რუტინა იყენებს მხოლოდ Timer_A-ს კვადრატული ტალღის ორივე სასურველი სიხშირეზე. ასამბლეის პროცესი ითვლის შესაბამის მნიშვნელობებს, რომ ტაიმერი გამოიყენოს პროგრამა, მიუხედავად MCLK სიხშირის მნიშვნელობისა. გამომავალი სიგნალის ხანგრძლივობა მითითებულია DL მუდმივით მილიწამებში.

; აპარატურის განმარტებები; FLLMPY .ეკვ 32 ; სიხშირის მულტიპლიკატორი FLL 1.048 MHz TCLK .equ FLLMPY*32768; TCLK: FLLMPY x f კვარცი DL .equ 82; DTMF სიგნალის ხანგრძლივობა ms-ში; (65..100 ms) STACK .equ 600h ; სტეკის ინიციალიზაციის მისამართი; RAM-ის განმარტებები; STDTMF .ეკვ 202 სთ ; Hi and Lo სიხშირის სტატუსი TIM32B .equ 204 ; ტაიმერის რეგისტრის გაფართოება LENGTH .equ 206h ; DTMF ხანგრძლივობის მრიცხველი; .ტექსტი 0F000h ; პროგრამის საწყისი მისამართი; ; Timer_A ინიციალიზაცია: MCLK, უწყვეტი რეჟიმი, ჩართულია წყვეტები; ტაიმერის გამომავალი მოდულების მომზადება Timer_A MCLK = 1.048 MHz (ავტომატური) ; INIT MOV #STACK,SP ;სტაკის მაჩვენებლის ინიციალიზაცია CALL #INITSR ;მამრავლის ინიცირება; FLL სიხშირეები და RAM MOV #ISMCLK+TAIE+CLR,&TACTL; ტაიმერის ინიციალიზაცია MOV.B #TA2+TA1,&P3SEL ; გამოდის TA2 და TA1 პორტებზე P3.5/4 CLR TIM32B; გაფართოებული ტაიმერის რეგისტრის გასუფთავება BIS #MCONT,&TACTL ; დაწყების ტაიმერი Timer_A EINT; ზოგადი შეწყვეტის ჩართვა MAINLOOP...; მთავარი მარყუჟი; ;Keypress: SDTMF შეიცავს ცხრილის ოფსეტს; 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 ms მრიცხველი RRA R5; ქვედა სიხშირის მდგომარეობის ცვლილებების რაოდენობა MOV.B DTMFL(R5),LENGTH ; სიგნალის ხანგრძლივობისთვის... ; პროგრამის გაგრძელება; ; შეფერხების დამმუშავებელი CCR0-დან (აქ არ გამოიყენება); TIMMOD0 ... RETI ; ; შეფერხების დამმუშავებელი დაჭერა-შედარების რეგისტრებიდან 1..4; TIM_HND დამატება &TAIV,PC ; მოთხოვნის დამუშავება უმაღლესით; RETI პრიორიტეტი; შეწყვეტის მოთხოვნა: RETI JMP HCCR1; მოთხოვნა CCR1-დან (DTMF დაბალი სიხშირე) JMP HCCR2 ; მოთხოვნა CCR2-დან (DTMF მაღალი სიხშირე) JMP HCCR3 ; მოთხოვნა CCR3 JMP HCCR4-ისგან; მოთხოვნა CCR4-ისგან; TIMOVH INC TIM32B; Timer_A-ის გაფართოება 32 ბიტამდე RETI; ; DTMF დაბალი სიხშირე: TA1 აბრუნებს გამომავალი ერთეული 1-ის გამომავალს; თითოეული მდგომარეობის ცვლილება ითვლება სიგნალის ხანგრძლივობის გასაკონტროლებლად; HCCR1 PUSH R5; გამოყენებული რეგისტრების შენახვა MOV.B STDTMF,R5 ; დაბალი სიხშირის სტატუსი DTMF ADD FDTMFLO(R5),&CCR1; დაამატეთ ნახევარი ციკლის ხანგრძლივობა DEC.B LENGTH ; DL სიგნალის ხანგრძლივობა დასრულებულია? JNZ TARET ; არა; ; დიახ, შეაჩერე DTMF სიგნალი: გამორთეთ შეფერხებები; BIC #OMRS+OUT+CCIE,&CCTL1; გადატვირთეთ TA1 BIC #OMRS+OUT+CCIE,&CCTL2; გადატვირთეთ TA2 TARET POP R5; აღდგენა R5 RETI; შეწყვეტიდან დაბრუნება; ; მაღალი სიხშირის DTMF: TA2 აბრუნებს გამომავალი ერთეული 2-ის გამომავალს; HCCR2 PUSH R5 ; გამოყენებული MOV რეგისტრების შენახვა. B STDTMF+1,R5; მაღალი სიხშირის სტატუსი DTMF ADD FDTMFHI(R5),&CCR2; დაამატეთ ნახევარ ციკლის ხანგრძლივობა POP R5; აღდგენა R5 RETI; შეწყვეტიდან დაბრუნება; HCCR3 ... ;დავალება კონტროლდება რეგისტრით CCR3 RETI HCCR4 ... ;ამოცანა კონტროლდება რეგისტრით CCR4 RETI ; ; DTMF სიხშირის ცხრილი: ცხრილი შეიცავს; MCLK ციკლების რაოდენობა ნახევარ ციკლზე. მნიშვნელობები მორგებული; ეფექტური სიხშირე MCLK შეკრების პროცესში; და დამრგვალებულია ყველაზე დაბალი სიხშირის შეცდომით; FDTMFLO .სიტყვა ((TCLK/697)+1)/2 ; დაბალი სიხშირის DTMF 697Hz .word ((TCLK/770)+1)/2 ; 770Hz .სიტყვა ((TCLK/852)+1)/2 ; 852Hz .სიტყვა ((TCLK/941)+1)/2 ; 941Hz FDTMFHI .სიტყვა ((TCLK/1209)+1)/2 ; მაღალი სიხშირის DTMF1209Hz .word ((TCLK/1336)+1)/2 ; 1336Hz .სიტყვა ((TCLK/1477)+1)/2 ; 1477Hz .სიტყვა ((TCLK/1633)+1)/2 ; 1633 ჰც; ; ცხრილი შეიცავს ნახევრად ციკლების რაოდენობას DL სიგნალის ხანგრძლივობისთვის (ms). ; ქვედა DTMF სიხშირე გამოიყენება დასათვლელად; DTMFL .ბაიტი 2*697*DL/1000 ; ნახევარციკლების რაოდენობა.ბაიტი 2*770*DL/1000 ; DL-სთვის ms.byte-ში 2*852*DL/1000; .ბაიტი 2*941*DL/1000 ; ; .სექტა "TIMVEC",0FFF0h ; ტაიმერის შეწყვეტის ვექტორები Timer_A .სიტყვა TIM_HND ; მოდულების ვექტორი 1..4 ტაიმერი.სიტყვა TIMMOD0 ; ტაიმერის მოდული 0 vector.sect "INITVEC",0FFFEh ; გადატვირთვის ვექტორი Reset .word INIT

ქვემოთ მოცემულია ოდნავ უფრო სწრაფი გამოსავალი. თუმცა, მას მეტი ოპერატიული მეხსიერება სჭირდება, რადგან... ცხრილებიდან მიღებული მონაცემები ყოველ ჯერზე ხელახლა არ გამოითვლება, მაგრამ მოკლედ ინახება RAM DTMFLO-სა და DTMFHI-ში. კითხვა ხდება Timer_A ტაიმერის შეფერხების რუტინებიდან. გამოყენებული ცხრილები წინა მაგალითში ნაჩვენები ცხრილების იდენტურია.

FLLMPY .ეკვ 32 ; სიხშირის მულტიპლიკატორი FLL 1.048 MHz TCLK .equ FLLMPY*32768; TCLK: FLLMPY x f კვარცი DL .equ 82; DTMF სიგნალის ხანგრძლივობა; ms-ში (65..100 ms) STDTMF .equ 202h; Hi and Lo სიხშირის სტატუსი TIM32B .equ 204 ; ტაიმერის რეგისტრის გაფართოება LENGTH .equ 206h ; DTMF ხანგრძლივობის მრიცხველი DTMFLO .ეკვ 208 სთ ; ქვედა სიხშირის DTMFHI ნახევარციკლი .equ 20Ah; ზედა სიხშირის ნახევარციკლი STACK .ეკვ 600 სთ ; სტეკის ინიციალიზაციის მისამართი.ტექსტი 0F000h ; პროგრამის საწყისი მისამართი; Timer_A ინიციალიზაცია: MCLK, უწყვეტი რეჟიმი, ჩართულია შეფერხებები; ტაიმერის გამომავალი მოდულების მომზადება Timer_A MCLK = 1.048 MHz (ავტომატური) ; INIT MOV #STACK,SP ; სტეკის მაჩვენებლის ინიცირება CALL #INITSR ; მულტიპლიკატორის ინიციალიზაცია; FLL სიხშირეები და RAM MOV #ISMCLK+TAIE+CLR,&TACTL; დაწყების ტაიმერი MOV.B #TA2+TA1,&P3SEL ; გამოდის TA2 და TA1 პორტებზე P3.5/4 CLR TIM32B; გაფართოებული ტაიმერის რეგისტრის გასუფთავება BIS #MCONT,&TACTL ;ტაიმერის გაშვება Timer_A EINT ; ზოგადი შეწყვეტის ჩართვა MAINLOOP...; ძირითადი ციკლი; Keypress: SDTMF შეიცავს ცხრილის ოფსეტს; 2 სიხშირეზე (0..6,0..6) მაღალ და დაბალ ბაიტში; MOV&TAR,R5; დაუყოვნებლივ დასაწყებად, დაამატეთ FDTMFLO,R5; ოფსეტი უფრო მოკლე დროისთვის MOV R5,&CCR1; მდგომარეობის პირველი ცვლილება 0.71ms MOV R5,&CCR2-ის შემდეგ; 1/(2x697) = 0.71ms; ; მიიღეთ ორი ციკლის რაოდენობა DTMF სიხშირეებისთვის; MOV.B STDTMF+1,R5 ; მაღალი სიხშირის DTMF MOV FDTMFHI(R5),DTMFHI ; ნახევარციკლის ხანგრძლივობა MOV.B STDTMF,R5 ; დაბალი სიხშირის DTMF MOV DTMFLO(R5),DTMFLO ; ნახევარ ციკლის ხანგრძლივობა; ; ხანგრძლივობის მრიცხველი RRA R5 ; მოამზადეთ ბაიტის ინდექსი MOV.B DTMFL(R5),LENGTH ; ქვედა სიხშირის მდგომარეობის ცვლილებების რაოდენობა MOV #OMT+CCIE,&CCTL1; გამომავალი ინვერსია, ბიტის შეწყვეტა. MOV #OMT+CCIE,&CCTL2; გამომავალი ინვერსია, ბიტის შეწყვეტა. ... ; მთავარ მარყუჟზე დაბრუნება; ; შეფერხების დამმუშავებელი CCR0-დან (აქ არ გამოიყენება); TIMMOD0 ... RETI ; ; შეფერხების დამმუშავებელი დაჭერა-შედარების რეგისტრებიდან 1..4; TIM_HND დამატება &TAIV,PC ; მოთხოვნის დამუშავება უმაღლესით; RETI პრიორიტეტი; შეწყვეტის მოთხოვნა: RETI JMP HCCR1; მოთხოვნა CCR1-დან (DTMF დაბალი სიხშირე) JMP HCCR2 ; მოთხოვნა CCR2-დან (DTMF მაღალი სიხშირე) JMP HCCR3 ; მოთხოვნა CCR3 JMP HCCR4-ისგან; მოთხოვნა CCR4-ისგან; TIMOVH INC TIM32B; Timer_A-ის გაფართოება 32 ბიტამდე RETI; ; DTMF დაბალი სიხშირე: TA1 აბრუნებს გამომავალი ერთეული 1-ის გამომავალს; HCCR1 დაამატეთ DTMFLO, & CCR1; დაამატეთ ნახევარი ციკლის ხანგრძლივობა DEC.B LENGTH ; DL სიგნალის ხანგრძლივობა დასრულებულია? JNZ TARET ; არა; ; დიახ, შეაჩერე DTMF სიგნალი: გამორთეთ შეფერხებები; BIC #OMRS+OUT+CCIE,&CCTL1; გადატვირთეთ TA1 BIC #OMRS+OUT+CCIE,&CCTL2; გადატვირთეთ TA2 TARET RETI; შეწყვეტიდან დაბრუნება; მაღალი სიხშირის DTMF: TA2 აბრუნებს გამომავალი ერთეული 2-ის გამომავალს; HCCR2 დამატება DTMFHI, & CCR2; დაამატეთ ნახევარი ციკლის ხანგრძლივობა RETI; შეწყვეტიდან დაბრუნება; HCCR3. .. ;დავალება კონტროლდება რეგისტრით CCR3 RETI HCCR4 ... ;დავალება კონტროლდება რეგისტრით CCR4 RETI ; ; შეწყვეტის ცხრილები და ვექტორები წინა მაგალითში ნაჩვენების იდენტურია.

3.3 აპარატურა DTMF სიგნალების გენერირებისთვის

როგორც ზემოთ აღინიშნა, სიხშირის დიაპაზონში 200 Hz.. 4600 Hz, გადაცემის სიხშირის სიგნალის დონე უნდა იყოს მინიმუმ 20 dB ზემოთ უცხო სიგნალების დონეზე (ხმაური). გარდა ამისა, სპეციფიკაციის საფუძველზე, "ზედა" და "ქვედა" ჯგუფების სიგნალებს უნდა ჰქონდეს განსხვავებული დონე, ამიტომ თითოეულ სიგნალს სჭირდება საკუთარი ფილტრი. სინუსოიდური სიხშირის ამპლიტუდები შეიძლება მივიღოთ ფურიეს სერიიდან.

ანალოგური ფილტრის შემუშავებისას ათვლის სიხშირის შესარჩევად, თქვენ უნდა დაიცვან შემდეგი მოთხოვნები:

  • იმიტომ რომ აუცილებელია უზრუნველყოს "ქვედა" ჯგუფის სიხშირეების ნებისმიერი კომბინაციის შესაძლებლობა "ზედა" ჯგუფის სიხშირეებთან.
  • ჯგუფში ყველაზე დაბალი სიხშირისთვის (f1), ჰარმონიული ჩახშობა (3f1) არ უნდა იყოს 20 დბ-ზე უარესი. ამ პირობის შესრულება ყველაზე კრიტიკულია ჯგუფში დაბალი სიხშირისთვის, რადგან რაც შეიძლება შორს არის ფილტრის გათიშვის სიხშირედან.

ფორმულა აღწერს აბსოლუტური მნიშვნელობის კვადრატს Butterworth-ის მაღალგამტარი ფილტრის გამოსავალზე n რიგით:

ეს ფორმულა წარმოადგენს Butterworth-ის მაღალგამტარი ფილტრის მომატების დამოკიდებულებას სიხშირეზე. პარამეტრები fg და n განსაზღვრავს ფილტრის გათიშვის სიხშირეს და წესრიგს, შესაბამისად.

უპირველეს ყოვლისა, აუცილებელია ფილტრის საჭირო შეკვეთის გამოთვლა ზემოთ მოთხოვნებთან შესაბამისობის გათვალისწინებით.

პირველი პირობის დასაკმაყოფილებლად, ჯგუფში ყველაზე დაბალი და უმაღლესი სიხშირეების აბსოლუტური მნიშვნელობების კვადრატების თანაფარდობა უნდა იყოს არაუმეტეს 3 დბ ან:

მეორე პირობა ავტომატურად დაკმაყოფილდება, თუ f1 და 3f1 სიხშირეების აბსოლუტური მნიშვნელობების კვადრატების თანაფარდობა 10/3-ზე მეტია, ამ შემთხვევაში მართკუთხა სიგნალში მესამე ჰარმონია 1/3-ით ნაკლებია (იხ. ფურიე სერია და ნახ. 2):

ორივე ჯგუფის სიხშირეების გამოთვლების შედეგად გვაქვს საჭირო ფილტრის რიგი n=1.15. ამრიგად, მოთხოვნებს დააკმაყოფილებს მე-2 რიგის ფილტრი, რომელიც შეიძლება აშენდეს ოპერაციულ გამაძლიერებელზე. თუ იყენებთ მე-3 რიგის ფილტრს, დაგჭირდებათ მხოლოდ ორი დამატებითი ელემენტი. თუმცა, ეს შეამცირებს მოთხოვნებს კომპონენტის პარამეტრების დისპერსიის მიმართ. ორივე ზემოაღნიშნული მოთხოვნა დაკმაყოფილდება, თუ შეწყვეტის სიხშირე იქნება შემდეგ საზღვრებში:

ქვედა ჯგუფი fg>880 ჰც ვგ<1418 Гц
ზედა ჯგუფი fg>1527 ჰც ვგ<2460 Гц

თუ ათვლის სიხშირე მინიმალურია, მაქსიმალური ჰარმონიული შემცირება მოხდება. თუმცა, ამ შემთხვევაში განსხვავება ჯგუფში ყველაზე დაბალ და უმაღლეს სიხშირეებს შორის იქნება 3 დბ. მაქსიმალურ შეწყვეტის სიხშირეზე, დონის განსხვავება მინიმალურია, მაგრამ ჰარმონიული კომპონენტები თრგუნავს მხოლოდ 20 დბ.

ფილტრის გაანგარიშებისას გაზრდილი ყურადღება დაეთმო ჰარმონიულ ჩახშობას ჯგუფში დონის სხვაობა დაფიქსირდა 2 დბ-ზე. შედეგად, წყვეტის სიხშირეებია 977 ჰც და 1695 ჰც. შედეგად მიღებული ჰარმონიული ჩახშობა მნიშვნელოვნად აღემატება მოთხოვნებს. ჯგუფში სიხშირის დონეების სხვაობა მოთხოვნებშია თუნდაც გამოყენებული კომპონენტების პარამეტრებში გავრცელებასთან დაკავშირებული ათვლის სიხშირის გადახრის შემთხვევაში. ფილტრის ელემენტების მნიშვნელობების გაანგარიშებისას, რეზისტორები შეირჩა E12 სერიის სტანდარტულ მნიშვნელობებთან მათი მაქსიმალური სიახლოვის საფუძველზე.

ფილტრების გამოსავალზე, შედეგი არის ორი სინუსოიდური სიგნალი მნიშვნელოვნად ჩახშობილი ჰარმონიებით. ამ სიგნალების გაერთიანების მიზნით, შემოღებულია დამატებითი დამმატებელი.

ამრიგად, მხოლოდ 3 op-amp-ის და რამდენიმე პასიური ელემენტის გამოყენებით, ჩვენ შეგვიძლია გამოვმუშაოთ DTMF სიგნალები მიკროკონტროლერის გამოყენებით მნიშვნელოვანი გამოთვლითი რესურსების გამოყენების გარეშე.

სიმულატორის პროგრამების გამოყენებით, შემოწმდა სავარაუდო მნიშვნელობები. ფილტრების პასუხი მჭიდროდ ემთხვევა გამოთვლილ სიხშირის პასუხს.


ბრინჯი. 6: მართკუთხა სიგნალის ამპლიტუდის სპექტრი 697 ჰც სიხშირით მე-3 რიგის ფილტრის გამოსავალზე

ნახ. სურათი 6 გვიჩვენებს მართკუთხა სიგნალის ამპლიტუდის სპექტრს 697 ჰც სიხშირით, რომელიც გადის მე-3 რიგის ფილტრში. როგორც ნახატიდან ჩანს, მესამე და მეხუთე ჰარმონია (2091 Hz და 3485 Hz) მნიშვნელოვნად შესუსტებულია (-25,6 dB).


ბრინჯი. 7: მართკუთხა სიგნალის ამპლიტუდის სპექტრი 941 ჰც სიხშირით მე-3 რიგის ფილტრის გამოსავალზე

ნახ. სურათი 7 გვიჩვენებს კვადრატული ტალღის სიგნალის სპექტრს 941 ჰც სიხშირით. ჩვენთვის საინტერესო სიხშირის რეგიონში, 4600 ჰც-მდე, არის მხოლოდ ერთი ჰარმონია. ფილტრის გავლის შემდეგ, ეს 2823 ჰც ჰარმონია მნიშვნელოვნად დასუსტებულია (-27,9 დბ). დონის განსხვავება ჯგუფში ყველაზე დაბალ და უმაღლეს სიხშირეებს შორის არ აღემატება 1,9 დბ.

პარამეტრების მაღალი ცვალებადობით დაბალფასიანი კომპონენტების გამოსაყენებლად, განხორციელდა დამატებითი მოდელირება. სიმულაციის შედეგებმა აჩვენა, რომ დასაშვები გავრცელება რეზისტორებისა და კონდენსატორების მნიშვნელობებში არის 10%.


სურათი 8: ჰისტოგრამა - სიგნალის დონის განაწილება ჯგუფში


სურათი 9: ჰისტოგრამა - ჰარმონიული ჩახშობა

ნახ. 8 და 9 გვიჩვენებს ჰისტოგრამებს, რომლებიც მიღებულია მონტე კარლოს ანალიზის გამოყენებით. ამ შემთხვევაში, კომპონენტის მნიშვნელობები შემთხვევით იცვლებოდა 10%-იანი გავრცელების ფარგლებში. 100 გამეორების შემდეგ, ყველა იმიტირებული ფილტრის შედეგები გამოსახულია ჰისტოგრამებში. ჰისტოგრამაში ნახ. სურათი 8 გვიჩვენებს დონის განსხვავებას სიხშირეებს შორის ჯგუფში. მინიმალურ და მაქსიმალურ სიხშირეებს შორის მაქსიმალური დასაშვები განსხვავება 3 დბ არავითარ შემთხვევაში არ იქნა მიღწეული. საშუალო მნიშვნელობა არის 1.6 dB, რაც ოდნავ უკეთესია, ვიდრე გამოთვლილი მნიშვნელობა 2 dB.

ნახ. სურათი 9 გვიჩვენებს ჰარმონიების შესუსტებას "ქვედა" სიხშირის ჯგუფისთვის. საჭირო მნიშვნელობა 20 dB მიიღწევა ყველა შემთხვევაში, საშუალო მნიშვნელობა არის დაახლოებით 27 dB. უარეს შემთხვევაში, ჰარმონია თრგუნავს 24.2 დბ.

"ქვედა" სიხშირის ჯგუფის ფილტრისთვის გამოთვლილი მნიშვნელობები ასევე ხორციელდება "ზედა" სიხშირის ჯგუფის ფილტრისთვის.

ორივე ფილტრს აქვს იდენტური წრე. განსხვავება მხოლოდ ზედა და ქვედა სიხშირის ჯგუფებისთვის ფილტრების გათიშვის სიხშირეებშია. R1 და C1 ქმნიან პირველი რიგის მაღალგამტარ ფილტრს. იმიტომ რომ მიკროსქემის შეყვანის წინააღმდეგობა ასევე დამოკიდებულია R1-ზე, ამ ელემენტის მნიშვნელობა არ უნდა იყოს ძალიან მცირე; წინააღმდეგ შემთხვევაში, მიკროკონტროლერის გამომავალი იქნება გადატვირთული და კვადრატული ტალღის ფორმა დამახინჯდება. ამ შემთხვევაში სიგნალს დაემატება ინტერმოდულაციის დამახინჯების შედეგად მიღებული დამატებითი სიხშირეები, რაც უარყოფითად იმოქმედებს სიგნალ-ხმაურის თანაფარდობაზე.

უმაღლესი რიგის ფილტრების გადაცემის ფუნქციის მიღება შეუძლებელია მხოლოდ პასიური კომპონენტების გამოყენებით.

ამრიგად, მე-2 რიგის ფილტრი უნდა შეიცავდეს op-amp-ს. აქტიური ფილტრის მომატება დაყენებულია 0.2-ზე რეზისტორების R1-1 და R1-2 გამოყენებით. როგორც ხედავთ, სიგნალი გარკვეულწილად დასუსტებულია. ეს აუცილებელია op-amp-ის გადატვირთვის თავიდან ასაცილებლად, რადგან კვადრატული ტალღის სიგნალის ფუნდამენტური სინუსოიდური ჰარმონიის პიკური ამპლიტუდა აღემატება თავად კვადრატული ტალღის სიგნალის ამპლიტუდას (იხ. ფურიეს სერია და ნახ. 2). დამატებითი დამმატებელი არეგულირებს საჭირო გამომავალი დონეს. მართკუთხა სიგნალის მუდმივი კომპონენტის გამო, op-amp-ის სამუშაო წერტილი დაყენებულია Vcc/2 დონეზე (იხ. აგრეთვე ფურიეს სერია და ნახ. 2). ამ შემთხვევაში, მუდმივი კომპონენტი არ შეიძლება აღმოიფხვრას შეყვანის გამყოფი R1-1/R1-2. DC ძაბვის მიერ OS მიკროსქემის გასაწყვეტად გამოიყენება კონდენსატორი C3.

ანალოგური ფილტრის თითოეულ გამოსავალზე, შესაბამისად, წარმოიქმნება ზედა და ქვედა სიხშირის ჯგუფების სიგნალი. დამატებით დამმატებელში ეს სიგნალები ემატება. ამ მიკროსქემის ელემენტში შეგიძლიათ დააყენოთ კავშირი "ქვედა" და "ზედა" სიხშირეებს შორის მთლიან სიგნალში და გამომავალი სიგნალის დონეს რეზისტორების R4 და R5 გამოყენებით. ამდენად, გამომავალი ამპლიტუდა შეიძლება ადვილად დარეგულირდეს სხვადასხვა ქვეყანაში სხვადასხვა მოთხოვნილებებზე.

კომპონენტის მნიშვნელობების გაანგარიშებისას, კონდენსატორის მნიშვნელობები, როგორც ყოველთვის, დაფიქსირდა, ხოლო რეზისტორების მნიშვნელობები გამოითვლებოდა მათ შესაბამისად. ამ წრეში გამოყენებული იქნა სტანდარტული E12 სერიის კონდენსატორები და რეზისტორები 10% გავრცელებით.

ნახ. ნახაზი 10 გვიჩვენებს ანალოგური ფილტრებისა და შემკრების სქემატურ დიაგრამას:


ბრინჯი. 10: ანალოგური ფილტრების სქემატური დიაგრამა დამატებითი შემკრებით

კონდენსატორები C1-1 და C1-2 აერთიანებს ორ სიგნალს ერთად Vcc/2 სამუშაო წერტილში. თქვენ არ უნდა აირჩიოთ ძალიან დიდი მნიშვნელობები ამ ელემენტებისთვის, რადგან ეს არის დაბალი გამტარი ფილტრის ელემენტები დაბალი სიხშირის სუბჰარმონიების აღმოსაფხვრელად. ფილტრის კონდენსატორი C5 აქრობს საცნობარო ძაბვის ხმაურს. დამატებითი კონდენსატორი C6, რომელიც დაკავშირებულია უკუკავშირის R6 რეზისტორთან პარალელურად, ქმნის პირველი რიგის მაღალგამტარ ფილტრს. თუ არჩეულია ფილტრის გამორთვის ყველაზე დაბალი სიხშირე, მაღალი სიხშირის ინტერმოდულაციის ჩარევის დამატებითი ფილტრაცია აუმჯობესებს გამომავალი სიგნალის ხარისხს, მაგრამ იქნება "ზედა" ჯგუფის უმაღლესი სიხშირეების გარკვეული შესუსტება. ზოგიერთ შემთხვევაში, უმაღლესი DTMF სიხშირის 1633 ჰც გენერირება საჭირო არ არის, რადგან იგი გამოიყენება მხოლოდ სერვისის სიმბოლოების A-D ფორმირებისთვის, ხოლო სიგნალი-ხმაურის თანაფარდობა შეიძლება გაუმჯობესდეს ფილტრის გამორთვის სიხშირის შემცირებით. ამრიგად, გათიშვის სიხშირის გაზრდა იწვევს მაღალი სიხშირის ჩარევის დონის ზრდას, მაგრამ ამავე დროს მცირდება უარყოფითი გავლენა DTMF სიგნალის უმაღლესი სიხშირის კომპონენტებზე.

4 DTMF გადამცემის სიგნალების კვლევის შედეგები

ქვემოთ მოცემული სპექტროგრამები (ნახ. 11 და 12) აჩვენებს DTMF გადამცემის გამომავალ სიგნალებს სხვადასხვა სიხშირეზე. ნახ. სურათი 11 გვიჩვენებს სიმბოლოს "1" ამპლიტუდის სპექტრს. მისი გადაცემისთვის საჭირო სიხშირეები - 697 და 1207 ჰც - არის -10,5 დბ და -8,5 დბ დონეზე, შესაბამისად. 2091 და 3621 ჰც სიხშირეზე ჰარმონია ჩახშობილია თითქმის 30 დბ-ით. "D" სიმბოლოს გადასაცემად წარმოიქმნება ორი უმაღლესი სიხშირე - 941 და 1633 ჰც. როგორც ჩანს ნახ. 12, დაბალი სიხშირის დონეა -12 დბ, მაღალი სიხშირის დონე -11 დბ. შესაბამისი ჰარმონიები დასუსტებულია 30 დბ-ზე მეტით. ამრიგად, გაზომილი მნიშვნელობები შეესაბამება სიმულაციის შედეგებს და სპეციფიკაციის მოთხოვნებს.


ბრინჯი. 11: "1" სიმბოლოს ამპლიტუდის სპექტრი: 697 და 1207 ჰც


ბრინჯი. 12: "D" სიმბოლოს ამპლიტუდის სპექტრი: 941 და 1633 ჰც

წარმოქმნილი კვადრატული ტალღის სიგნალების აბსოლუტური სიხშირის სიზუსტის მიღწევა შეუძლებელია ორი განსხვავებული ტაიმერის გამოყენებისას, შედეგი დამოკიდებული იქნება ორი სიხშირის კომბინაციაზე და გამოყენებული ტაიმერის ტიპზე. ამის მიზეზი არის ტაიმერის შეფერხების კონფლიქტი. თუმცა საჭირო სიზუსტე ±1,8%-ს ხვდება დიდი ზღვარით.

თუ 8-ბიტიანი ტაიმერი და ტაიმერის პორტის ტაიმერი გამოიყენება MCLK 1.048 MHz სისტემის სიხშირეზე, მაშინ "ქვედა" ჯგუფის სიხშირეები წარმოიქმნება 0.3% -ზე უარესი სიზუსტით. "ზედა" ჯგუფის სიხშირეებისთვის, პრაქტიკაში, მიღებულ იქნა გადახრა არაუმეტეს 0,5%.

ერთადერთი გამონაკლისი არის DTMF სიმბოლო "D", რომლისთვისაც იქმნება უმაღლესი სიხშირეები. შედეგად, ამ კომბინაციაში "ზედა" ჯგუფის სიხშირე 1633 ჰც აქვს -0.97% გადახრა.

ამ გამონაკლისის გარეშე, 1633 ჰც-ის უმაღლესი სიხშირეც კი წარმოიქმნება 0,5%-ზე უკეთესი სიზუსტით. მაქსიმალური გადახრები სხვადასხვა სიხშირეზე მოცემულია ცხრილში:

თუ Timer_A გამოიყენება სიხშირეების გენერირებისთვის, შეცდომა დამოკიდებული იქნება გამოყენებული MCLK სიხშირეზე:

MCLK, MHz 1,048 2,096 3,144 3,800
მულტიპლიკატორი FLL 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. ჩაშენებული ტაიმერის მოდულის წყალობით, საჭირო სიხშირეები წარმოიქმნება მაღალი სიზუსტით, CPU-ს დატვირთვის გარეშე. კონფიგურაციაში, სადაც 8-ბიტიანი ტაიმერი და ტაიმერი/პორტი გამოიყენება გენერირებისთვის, შეწყვეტის რუტინები იკავებს CPU რესურსის დაახლოებით 12%-ს. იმ შემთხვევაში, როდესაც სიხშირეები წარმოიქმნება Timer_A ტაიმერის მიერ, CPU დატვირთვა შეფერხების რუტინებისთვის მცირდება 6%-მდე. შედეგად, სხვა ამოცანები შეიძლება შესრულდეს DTMF სიგნალების გადაცემის დროს, ან CPU შეიძლება დაყენდეს დაბალი ენერგიის რეჟიმში, რათა შემცირდეს მიმდინარე მოხმარება.

აღწერილი მოდულის კარგი ფუნქციონირება DTMF სიგნალების გენერირებისთვის კვადრატული ტალღის სიგნალების გამოყენებით ნაჩვენებია აპარატურის მიკროსქემის დიზაინით. იმიტომ რომ წრეში შესაძლებელია გამოიყენოთ კომპონენტების ფართო სპექტრი, ასეთი ხსნარის ფასი ძალიან დაბალია. ყველა სპეციფიკაციის მოთხოვნა დაკმაყოფილებულია დიდი ზღვარით, ამიტომ ცალკე DTMF სიგნალის გენერატორის მოდული არ არის საჭირო ინსტრუმენტებში, რომლებიც იყენებენ MSP430-ს, როგორც კონტროლერს.

თუ კონკრეტულ შემთხვევაში საჭიროა სიგნალი-ხმაურის თანაფარდობის გაზრდა, დამატებითი ოპ-გამაძლიერებლის გამოყენებით, შეიძლება აშენდეს ფილტრი ინტერმოდულაციის დამახინჯების შემდგომი ჩასახშობად. ასეთი დამატებითი ოპერაციული გამაძლიერებელი უკვე არის DIL14 პაკეტში Quad op-amp-ში.

6 ბმული

Bundesamt fur Post und Telekomunikation (ფედერალური ოფისი ფოსტისა და ტელეკომუნიკაციებისთვის): BAPT 223 ZV 5, Zulassungsvorschrift fur Endeinrichtungen zur Anschaltung an analoge Wahlanschlusse (ausgenommen Notruf- und Durchwahlanstelphonesspecific მოწყობილობებისათვის დაკავშირებული ტელეფონებისთვის) , გამორიცხვისთვის უსაფრთხოებისა და ზარის მოთხოვნები) / Deutschen Bundespost Telekom-ის ISDN; Bundesministerium fur Post und Telekommunikation, Draft, Bonn 1994 წლის აპრილი Papula: Mathematik fur Ingenieure 2 (მათემატიკა ინჟინრებისთვის); Vieweg Verlag, Braunschweig 1990 Tietze / Schenk: Halbleiterschaltungstechnik; (Titze/Schenk, Semiconductor Circuit Engineering), მე-10 გამოცემა; Springer Verlag, Berlin 1993 Lutz Bierl / Texas Instruments: MSP430 Family, Metering Application Report, Texas Instruments, Issue 2.1, იანვარი 1997, SLAAE10B Texas Instruments: MSP430 Family, Architecture მომხმარებლის სახელმძღვანელო და მოდულის ბიბლიოთეკა, ტეხასის 1 ინსტრუმენტები1906. MSP430 Family, პროგრამული უზრუნველყოფის მომხმარებლის სახელმძღვანელო, Texas Instruments, 1996 Texas Instruments: MSP430 Family, Assembly Language Tools მომხმარებლის სახელმძღვანელო, Texas Instruments, 1996 Siwy, Robert: Systementwicklung einer Telekom-Aplikation zum Senden und Empfangen vonn DTMF-Signeve MSP430 მიკროკონტროლერზე დაფუძნებული ციფრული სიგნალების მიღებისა და გადაცემის სატელეკომუნიკაციო სისტემა; Diplomarbeit, Fachhochschule Landshut, მაი 1997 წ
 
სტატიები მიერთემა:
რა არის Tdks Tdks pet 32 ​​01 pin აღნიშვნა
ტელევიზორების შეკეთებისას, ტექნიკოსებს ხშირად ექმნებათ დიოდურ-კასკადური ხაზის ტრანსფორმატორების (TDKS) შეცვლის პრობლემა (განსაკუთრებით მაშინ, როდესაც ორიგინალური ტიპი არ არის ხელმისაწვდომი). ამ სტატიაში მოცემულია რეკომენდაციები TDKS-ის ანალოგების შეცვლისა და არჩევისთვის. ჩანაცვლება თ
სინათლის მართვის განყოფილების შეცვლა რა არის mus ვიბურნუმზე
Lada Kalina-ზე განათების მართვის განყოფილების დიზაინი საკმაოდ საიმედოა და მფლობელების უმეტესობას არასოდეს შეექმნა პრობლემები ამ მოდულთან მთელი მანქანის მფლობელობაში. მაგრამ როგორც ყოველთვის, არსებობს გამონაკლისები წესებიდან და ეს სტატია დაწერილია
აღჭურვილობის, სახარჯო მასალების და ეკიპაჟის შეღავათების შერჩევა
25.06.2016, 19:29 მოგესალმებით ყველას და მოგესალმებით საიტზე! დღეს ვისაუბრებთ ახალ პრემიუმ მანქანაზე, რომელიც შესაძლოა უახლოეს მომავალში გამოჩნდეს ჩვენს საყვარელ თამაშში. ჩვენ ვსაუბრობთ ამერიკულ საშუალო ტანკზე, რომელიც მდებარეობს მერვე დონეზე -
საწვავის ბარათების კაპიტალიზაცია 1c-ში
მანქანების ნაკადის ზრდამ მოსკოვისა და რეგიონის გზებზე, ისევე როგორც დიდ რეგიონულ ქალაქებში, განაპირობა საწვავის ორგანიზაციებსა და მათ მომხმარებლებს შორის თანამშრომლობის უფრო მოწინავე და ხელსაყრელი პირობების შემუშავების აუცილებლობა. საწვავის ღირებულება და ხარისხი, ოპერა