Μελέτη δέκτη και πομπού σημάτων dtmf. Γεννήτρια πολλαπλών συχνοτήτων διπλού τόνου (DTMF) σε AVR Τώρα ας δούμε τι έχουμε

Το πρώτο μέρος αυτής της εφαρμογής περιγράφει τον τρόπο δημιουργίας σημάτων DTMF χρησιμοποιώντας τον μικροελεγκτή MSP430. Δίνεται μια επεξήγηση των πιο σημαντικών προδιαγραφών που χρησιμοποιούνται σε αυτή την περίπτωση και δίνεται η θεωρητική και μαθηματική αιτιολόγηση για τη δημιουργία ημιτονοειδών κυμάτων χρησιμοποιώντας τετραγωνικά κύματα χρησιμοποιώντας κατάλληλα αναλογικά φίλτρα. Το παράδειγμα περιλαμβάνει επίσης δοκιμασμένα προγράμματα επίδειξης για τη δημιουργία σημάτων τετραγωνικών κυμάτων με βάση διάφορες διαμορφώσεις χρονοδιακόπτη των μικροελεγκτών MSP430. Το τελευταίο μέρος παρέχει ένα διάγραμμα κυκλώματος για τη δημιουργία σημάτων DTMF από σήματα τετραγωνικών κυμάτων.

2 Προδιαγραφές σήματος DTMF

Η συντομογραφία DTMF σημαίνει "Dual Tone Multi Frequency" και είναι μια μέθοδος αναπαράστασης ψηφίων σε διαφορετικές συχνότητες με σκοπό τη μετάδοσή τους μέσω αναλογικών γραμμών επικοινωνίας, π.χ. τηλεφωνική γραμμή. Κατά την ανάπτυξη του προτύπου, λήφθηκε υπόψη η συνθήκη - όλες οι συχνότητες πρέπει να βρίσκονται στην περιοχή "φωνή", γεγονός που επέτρεψε τη μείωση των απαιτήσεων για το κανάλι μετάδοσης. Τα τηλεφωνικά δίκτυα χρησιμοποιούν σήματα DTMF για κλήση και άλλες πληροφορίες. Παρά το γεγονός ότι η μέθοδος παλμικής κλήσης εξακολουθεί να χρησιμοποιείται ευρέως, που είναι το πρότυπο, για παράδειγμα, στη Γερμανία, ο χρόνος κλήσης αυξάνεται σημαντικά, οδηγώντας σε μη παραγωγικό φορτίο στις γραμμές επικοινωνίας. Επιπλέον, πολλά Επιπρόσθετες υπηρεσίεςΟι επικοινωνίες είναι δυνατές μόνο με τονική κλήση. Κατά την κωδικοποίηση χρησιμοποιώντας τη μέθοδο DTMF, οι αριθμοί 0-9 και γράμματα Α-Δ, */E και #/F αντιπροσωπεύουν συνδυασμούς δύο συχνοτήτων:

Συχνότητα 1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 ΕΝΑ
770 Hz 4 5 6 σι
852 Hz 7 8 9 ντο
941 Hz */ΜΙ 0 #/ΦΑ ρε

Σε αυτό το σύστημα, η στήλη αντιπροσωπεύει τη συχνότητα από την «ανώτερη» ομάδα συχνοτήτων (Hi-Group: 1209-1633 Hz) και η σειρά αντιπροσωπεύει τη συχνότητα από την «κατώτερη» ομάδα συχνοτήτων (Lo-Group: 697-941 Hz) . Οι τονικές συχνότητες επιλέγονται για την εξάλειψη της επιρροής των αρμονικών. Οι συχνότητες δεν είναι πολλαπλάσια μεταξύ τους και καμία συχνότητα DTMF δεν μπορεί να ληφθεί προσθέτοντας ή αφαιρώντας άλλες συχνότητες. Για τη δημιουργία ενός dialer στο δίκτυο της Deutsche Telekom, απαιτούνται οι ακόλουθες προδιαγραφές (λαμβανόμενες από το Zulassungsvorschrift des Bundesamtes fur Post und Telekommunikation, BAPT 223 ZV 5 (Επίσημη Προδιαγραφή του Ομοσπονδιακού Υπουργείου Ταχυδρομείων και Τηλεπικοινωνιών):

3 Δημιουργήστε σήματα DTMF

Όπως περιγράφηκε παραπάνω, τα σήματα DTMF είναι αναλογικά και αποτελούνται από δύο ανεξάρτητα ημιτονοειδή κύματα. Έτσι, δεν είναι δυνατή η παραγωγή τέτοιων σημάτων μόνο ψηφιακά. Τα ψηφιακά σήματα πρέπει να μετατρέπονται χρησιμοποιώντας ADC ή/και αναλογικά φίλτρα στην απαιτούμενη μορφή ημιτονοειδούς κύματος.

3.1 Δημιουργία με χρήση τετραγωνικών κυμάτων

Εάν χρησιμοποιούνται σήματα τετραγωνικού κύματος για τη δημιουργία σημάτων DTMF, το λογισμικό και σκεύη, εξαρτήματαελάχιστος. Οποιοδήποτε συνεχές σήμα που έχει περίοδο T μπορεί να αναπαρασταθεί από μια σειρά Fourier που αποτελείται από ένα άπειρο άθροισμα ημιτονικών και συνημιτονικών κυμάτων ως εξής:

Όπου a0/2 είναι η σταθερή συνιστώσα του σήματος. Το στοιχείο αθροίσματος με τη χαμηλότερη γωνιακή συχνότητα (w0) ονομάζεται κύρια (θεμελιώδης) αρμονική, τα υπόλοιπα είναι υπέρηχοι ή υψηλότερες αρμονικές.

Το απλούστερο συνεχές σήμα που υλοποιείται χρησιμοποιώντας έναν μικροελεγκτή είναι ένα τετράγωνο κύμα, η σειρά Fourier για το οποίο έχει τη μορφή:

Η συμβολή κάθε στοιχείου συχνότητας στο συνολικό σήμα αποδεικνύεται καλύτερα από το φάσμα πλάτους (βλ. Εικ. 2):


Ρύζι. 2: Φάσμα πλάτους σήματος τετραγωνικού κύματος

Κατά τη χρήση αναλογικού φίλτρου, η συνιστώσα DC και οι υψηλότερες αρμονικές καταστέλλονται αποτελεσματικά, ενώ στην έξοδο έχουμε ένα ημιτονοειδές σήμα με συχνότητα ίση με τη συχνότητα του αρχικού τετραγωνικού κύματος.

3.2 Λογισμικό για τη δημιουργία μαιάνδρου

Το πρόγραμμα παραγωγής μαιάνδρου πρέπει να πληροί τις ακόλουθες απαιτήσεις:

  • Να είναι σε θέση να συνθέσει δύο ανεξάρτητα ορθογώνια σήματα.
  • Προκειμένου να διαχωριστούν τα σήματα, απαιτούνται δύο ακροδέκτες εξόδου για τη δημιουργία σημάτων από το "επάνω" (Hi-Group) και το "Lower" (Lo-Group) εύρη συχνοτήτωναντίστοιχα.
  • Το λογισμικό θα πρέπει να μπορεί να ρυθμίσει την απαιτούμενη διάρκεια σήματος στο εύρος περίπου 65 ms - 100 ms.

Οι μικροελεγκτές της σειράς MSP430 διαθέτουν διάφορα ενσωματωμένα χρονόμετρα ικανά να παράγουν σήματα τετραγωνικών κυμάτων. Η οικογένεια '31x/'32x χρησιμοποιεί ένα χρονόμετρο 8-bit και μια θύρα χρονοδιακόπτη για τη δημιουργία και των δύο σημάτων τετραγωνικών κυμάτων. Αυτό το πρόγραμμαδοκιμάστηκε σε συχνότητα MCLK ίση με 1,048 MHz. Το Timer_A στην οικογένεια '33x μπορεί να παράγει ανεξάρτητα και τα δύο απαιτούμενα σήματα. Το δεύτερο πρόγραμμα χρησιμοποιεί αυτό το χρονόμετρο για τη δημιουργία τετραγωνικών κυμάτων και λειτουργεί με οποιεσδήποτε συχνότητες MCLK. Και τα δύο προγράμματα θα συζητηθούν αναλυτικά παρακάτω.

3.2.1 Δημιουργία τετραγωνικών κυμάτων με χρήση χρονοδιακόπτη 8-bit και θύρα χρονοδιακόπτη

Στο Σχ. 3 είναι ένα διάγραμμα ροής της διαδικασίας αρχικοποίησης για τη δημιουργία σημάτων DTMF. Για τη σύνθεση των δύο συχνοτήτων, χρησιμοποιούνται η θύρα χρονοδιακόπτη και οι μετρητές χρονοδιακόπτη 8 bit. Κάθε ένα από αυτά είναι ένας προγραμματιζόμενος καταχωρητής μετρητή απαραίτητος για την ακριβή σύνθεση των απαιτούμενων συχνοτήτων. Εάν οι μετρητές θυρών χρονοδιακόπτη ενταχθούν σε ένα μόνο χρονόμετρο 16-bit και χρονιστούν στη συχνότητα συστήματος MCLK, τότε οι συχνότητες υψηλού εύρους μπορούν να δημιουργηθούν με υψηλή ακρίβεια. Όταν συμβεί μια διακοπή, η αντίστοιχη έξοδος αλλάζει και οι δύο καταχωρητές μετρητή 8-bit επαναφέρονται. Οι φορτωμένες τιμές αποθηκεύονται σε δύο μεταβλητές στη μνήμη RAM για αποθήκευση εσωτερικών μητρώων για άλλες εργασίες.

Οι συχνότητες χαμηλού εύρους δημιουργούνται από ένα χρονόμετρο 8-bit. Δεδομένου ότι ο καταχωρητής μετρητή αυτού του χρονοδιακόπτη έχει πλάτος 8 bit, μόνο κάθε τρίτη διακοπή προκαλεί μια αλλαγή στάθμης στην απαιτούμενη ακίδα εξόδου, επιτρέποντας τη δημιουργία του ίδιου μετρητή συχνότητας.

Δύο έξοδοι χρονοδιακόπτη - θύρες χρησιμοποιούνται για να σχηματίσουν δύο μαιάνδρους διαφορετικών συχνοτήτων.

Ρύζι. 3 Διάγραμμα ροής διαδικασίας αρχικοποίησης για τη δημιουργία σημάτων DTMF

Η διαδικασία αρχικοποίησης εκτελείται μόνο μία φορά. Μετά την ολοκλήρωσή του, η δεκαεξαδική τιμή του μεταδιδόμενου χαρακτήρα διαβάζεται από την καθολική μεταβλητή στη μνήμη RAM. Μόλις δημιουργηθούν από τους δύο πίνακες οι δύο συχνότητες που σχηματίζουν τους τόνους DTMF υψηλής και χαμηλής, το μόνο που απαιτείται είναι να αρχικοποιήσετε και να ξεκινήσετε και τους δύο χρονοδιακόπτες. Η διάρκεια της αποστολής ελέγχεται μετρώντας τους μισούς κύκλους της «χαμηλότερης» συχνότητας και διαβάζεται από έναν επιπλέον πίνακα. Με την ολοκλήρωση αυτής της διαδικασίας, επιστρέφετε στη λειτουργία ψηφοφορίας. Οι αντίστοιχες ρουτίνες χειρισμού διακοπών αλλάζουν τις ακίδες της θύρας. Αυτή η διαδικασία φαίνεται στο Σχ. 4 και 5.

Οι εργασίες της θύρας χρονοδιακόπτη περιλαμβάνουν μόνο την εγγραφή του αρχείου καταγραφής. επίπεδο στην έξοδο της θύρας και επαναφόρτωση του μετρητή από τη μνήμη RAM, ενώ η λειτουργία ενός χρονοδιακόπτη 8 bit έχει μια ελαφρώς πιο περίπλοκη δομή: κάθε είσοδος στη διακοπή μετράται από έναν καταχωρητή μετρητή. Η έξοδος μπορεί να αλλάξει κατάσταση μόνο μετά από τρεις διακοπές. Επιπλέον, υπολογίζεται και κάθε μισός κύκλος. Η παραγωγή σταματά όταν επιτευχθεί ένας ορισμένος αριθμός μισών κύκλων.


Ρύζι. 4 Αποκλεισμός – κύκλωμα διακοπής από χρονόμετρο 8 bit (Lo-Group)


Ρύζι. 5 Μπλοκ – κύκλωμα διακοπής θύρας χρονοδιακόπτη (Hi-Group)

; Προσαρμοσμένοι ορισμοί FLLMPY equ 32 ; Πολλαπλασιαστής συχνότητας FLL στα 1,048 MHz TCLK equ FLLMPY*32768 ; TCLK: FLLMPY x f quartz DL equ 85 ; Διάρκεια σήματος DTMF (65..100 ms) LO_OUT equ 02h ; Έξοδος «χαμηλότερης» συχνότητας HI_OUT equ 04h ; Έξοδος υψηλής συχνότητας RCOUNT equ r14 ; Μετρητής μήκους DTMF RTEMP equ r15 ; μητρώο υπηρεσίας.global DTMF_NR ; καθολική μεταβλητή στη μνήμη RAM. για τον αριθμό DTMF (0..F) ; Ορισμοί RAM.even .bss DTMF_TL ; Ομοιόμορφη στοίχιση διεύθυνσης.bss DTMF_TH .bss DTMF_NR ; καθολική μεταβλητή στη μνήμη RAM. για τον αριθμό DTMF (0..F). ακόμη και ; Ορισμοί για χρονοδιακόπτη 8 bit 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 ​​.word 0ffffh-(TCLK/(1207*2))+28 ; Υψηλή συχνότητα για 1 .word 0ffffh-(TCLK/(1336*2))+25 ; Υψηλή συχνότητα για 2 .word 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 .word 0ffffh-(TCLK/(1633*2))+22 ; Υψηλή συχνότητα για A .word 0ffffh-(TCLK/(1633*2))+22 ; Υψηλή συχνότητα για B .word 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 .byte 0ffh-(TCLK/(941*2*3)) ; Χαμηλή συχνότητα για 0 ​​.byte 0ffh-(TCLK/(697*2*3)) ; Χαμηλή συχνότητα για 1 .byte 0ffh-(TCLK/(697*2*3)) ; Χαμηλή συχνότητα για 2 .byte 0ffh-(TCLK/(697*2*3)) ; Χαμηλή συχνότητα για 3 .byte 0ffh-(TCLK/(770*2*3)) ; Χαμηλή συχνότητα για 4 .byte 0ffh-(TCLK/(770*2*3)) ; Χαμηλή συχνότητα για 5 .byte 0ffh-(TCLK/(770*2*3)) ; Χαμηλή συχνότητα για 6 .byte 0ffh-(TCLK/(853*2*3)) ; Χαμηλή συχνότητα για 7 .byte 0ffh-(TCLK/(853*2*3)) ; Χαμηλή συχνότητα για 8 .byte 0ffh-(TCLK/(853*2*3)) ; Χαμηλή συχνότητα για 9 .byte 0ffh-(TCLK/(697*2*3)) ; Χαμηλή συχνότητα για A .byte 0ffh-(TCLK/(770*2*3)) ; Χαμηλή συχνότητα για B .byte 0ffh-(TCLK/(853*2*3)) ; Χαμηλή συχνότητα για C .byte 0ffh-(TCLK/(941*2*3)) ; Χαμηλή συχνότητα για D .byte 0ffh-(TCLK/(941*2*3)) ; Χαμηλή συχνότητα για *.byte 0ffh-(TCLK/(941*2*3)) ; Χαμηλή συχνότητα για # ; Πίνακας διάρκειας σήματος DTMF_L .byte 2*941*DL/1000 ; Μισοί κύκλοι για 0 ​​.byte 2*697*DL/1000 ; Μισοί κύκλοι για 1 .byte 2*697*DL/1000 ; Μισοί κύκλοι για 2 .byte 2*697*DL/1000 ; Μισοί κύκλοι για 3 .byte 2*770*DL/1000 ; Μισοί κύκλοι για 4 .byte 2*770*DL/1000 ; Μισοί κύκλοι για 5 .byte 2*770*DL/1000 ; Μισοί κύκλοι για 6 .byte 2*852*DL/1000 ; Μισοί κύκλοι για 7 .byte 2*852*DL/1000 ; Μισοί κύκλοι για 8 .byte 2*852*DL/1000 ; Μισοί κύκλοι για 9 .byte 2*697*DL/1000 ; Μισοί κύκλοι για A .byte 2*770*DL/1000 ; Μισοί κύκλοι για B .byte 2*852*DL/1000 ; Μισοί κύκλοι για C .byte 2*941*DL/1000 ; Μισοί κύκλοι για D .byte 2*941*DL/1000 ; Μισοί κύκλοι για *.byte 2*941*DL/1000 ; Ημίχρονοι για # ;************************************************ ********** ******************************** ; Υπορουτίνα DTMF-TX DTMF ;************************************************ ******************************** DTMF_TX mov.b DTMF_NR,RTEMP ; Αποθηκεύστε τον αριθμό σε έναν προσωρινό καταχωρητή mov.b DTMF_L(RTEMP),RCOUNT ; Μετρητής αποθήκευσης διάρκειας, ετοιμάστε χρονοδιακόπτη 8-bit για συχνότητα DTMF-Lo mov.b #0a8h,&TCCTL ; Ρολόι από το MCLK mov.b DTMF_LO(RTEMP),&TCLD ; Προετοιμασία μητρώου. προφόρτωση mov.b #000,&TCDAT ; Φόρτωση μετρητή από μητρώο. προφόρτωση bis.b #008h,&IE1 ; Ενεργοποίηση διακοπών. από ένα χρονόμετρο 8 bit? προετοιμασία μιας θύρας χρονοδιακόπτη για τη συχνότητα DTMF-Hi rla r15 . * 2 για κινήσεις πίνακα 16-bit DTMF_HI(RTEMP),&DTMF_TL ; αποθήκευση λέξης για κινήσεις υψηλής συχνότητας #003,RTEMP ; μετρητής για χρονοδιακόπτη 8 bit bis.b #008h,IE2 ; Ενεργοποίηση διακοπών. από timer-port mov.b &DTMF_TH,&TPCNT2 ; Φόρτωση του high byte στο TC2 mov.b &DTMF_TL,&TPCNT1 ; Φόρτωση χαμηλού byte στο TC1 bis.b #080h,&TPD ; Ενεργοποίηση χρονοδιακόπτη 16-bit 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 .equ 32 ; Πολλαπλασιαστής συχνότητας FLL στα 1,048 MHz TCLK .equ FLLMPY*32768 ; TCLK: FLLMPY x f quartz DL .equ 82 ; Διάρκεια σήματος DTMF σε ms. (65..100 ms) STACK .equ 600h ; Διεύθυνση προετοιμασίας στοίβας. Ορισμοί RAM; STDTMF .equ 202h ; Κατάσταση συχνότητας 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...; Κύριος βρόχος; ;Πάτημα πλήκτρων: Το SDTMF περιέχει τη μετατόπιση πίνακα. για 2 συχνότητες (0..6,0..6) στο high και low byte. MOV&TAR,R5; Για άμεση εκκίνηση: ΠΡΟΣΘΗΚΗ FDTMFLO,R5 ; Μετατόπιση για μικρότερο χρόνο MOV R5,&CCR1 ; Πρώτη αλλαγή κατάστασης μετά από 0,71ms MOV R5,&CCR2 ; 1/(2x697) = 0,71ms MOV #OMT+CCIE,&CCTL1; Αναστροφή εξόδου, διακοπή bit. MOV #OMT+CCIE,&CCTL2; Αντιστροφή εξόδου, bit διακοπής 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 bit RETI ; ; DTMF Low Frequency: Το TA1 αντιστρέφει την έξοδο της Μονάδας Εξόδου 1. Κάθε αλλαγή κατάστασης μετράται για τον έλεγχο της διάρκειας του σήματος. HCCR1 PUSH R5 ; Αποθήκευση χρησιμοποιημένων καταχωρητών MOV.B STDTMF,R5 ; Κατάσταση χαμηλής συχνότητας DTMF ADD FDTMFLO(R5),&CCR1 ; Προσθήκη διάρκειας μισού κύκλου ΜΗΚΟΣ ΔΕΚΕΜΒΡΙΟΥ ; Έχει ολοκληρωθεί η διάρκεια του σήματος 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 .word ((TCLK/697)+1)/2 ; Χαμηλής συχνότητας DTMF 697Hz .word ((TCLK/770)+1)/2 ; 770Hz .word ((TCLK/852)+1)/2 ; 852Hz .word ((TCLK/941)+1)/2 ; 941Hz FDTMFHI .word ((TCLK/1209)+1)/2 ; Υψηλή συχνότητα DTMF1209Hz .word ((TCLK/1336)+1)/2 ; 1336Hz .word ((TCLK/1477)+1)/2 ; 1477Hz .word ((TCLK/1633)+1)/2 ; 1633 Hz; ; Ο πίνακας περιέχει τον αριθμό των μισών κύκλων για τη διάρκεια του σήματος DL (ms). ; Η χαμηλότερη συχνότητα DTMF χρησιμοποιείται για την καταμέτρηση. DTMFL .byte 2*697*DL/1000 ; Αριθμός μισών κύκλων.byte 2*770*DL/1000 ; για DL σε ms.byte 2*852*DL/1000 ; .byte 2*941*DL/1000 ; ; .sect "TIMVEC",0FFF0h ; Διανύσματα διακοπής χρονοδιακόπτη Timer_A .λέξη TIM_HND ; Διάνυσμα μονάδων 1..4 χρονόμετρα.λέξη TIMMOD0 ; Μονάδα χρονοδιακόπτη 0 vector.sect "INITVEC",0FFFEh ; Διάνυσμα Επαναφορά.λέξη INIT

Παρακάτω είναι μια ελαφρώς πιο γρήγορη λύση. Ωστόσο, απαιτεί περισσότερη μνήμη RAM επειδή... Τα δεδομένα που λαμβάνονται από τους πίνακες δεν υπολογίζονται εκ νέου κάθε φορά, αλλά αποθηκεύονται με λίγα λόγια σε RAM DTMFLO και DTMFHI. Η ανάγνωση πραγματοποιείται από τις ρουτίνες διακοπής του χρονοδιακόπτη Timer_A. Οι πίνακες που χρησιμοποιήθηκαν είναι πανομοιότυποι με αυτούς που φαίνονται στο προηγούμενο παράδειγμα.

FLLMPY .equ 32 ; Πολλαπλασιαστής συχνότητας FLL στα 1,048 MHz TCLK .equ FLLMPY*32768 ; TCLK: FLLMPY x f quartz DL .equ 82 ; Διάρκεια σήματος DTMF. σε ms (65..100 ms) STDTMF .equ 202h; Κατάσταση συχνότητας Hi and Lo TIM32B .equ 204 ; Επέκταση καταχωρητή χρονοδιακόπτη LENGTH .equ 206h ; Μετρητής διάρκειας DTMF DTMFLO .equ 208h ; Ημικύκλος της χαμηλότερης συχνότητας DTMFHI .equ 20Ah; Ανώτερη συχνότητα μισού κύκλου STACK .equ 600h ; Διεύθυνση προετοιμασίας στοίβας.κείμενο 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...; Κύριος βρόχος;Πάτημα πλήκτρων: Το SDTMF περιέχει μετατόπιση πίνακα. για 2 συχνότητες (0..6,0..6) στο high και low byte. 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 ; Προετοιμάστε ευρετήριο byte MOV.B DTMFL(R5),LENGTH ; αριθμός αλλαγών κατάστασης χαμηλότερης συχνότητας MOV #OMT+CCIE,&CCTL1 ; Αναστροφή εξόδου, διακοπή bit. MOV #OMT+CCIE,&CCTL2; Αναστροφή εξόδου, διακοπή bit. ... ; Επιστροφή στον κύριο βρόχο. ; Πρόγραμμα χειρισμού διακοπών από το 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 bit RETI ; ; DTMF Low Frequency: Το TA1 αντιστρέφει την έξοδο της Μονάδας Εξόδου 1. HCCR1 ΠΡΟΣΘΗΚΗ DTMFLO,&CCR1; Προσθήκη διάρκειας μισού κύκλου ΜΗΚΟΣ ΔΕΚΕΜΒΡΙΟΥ ; Έχει ολοκληρωθεί η διάρκεια του σήματος 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 πάνω από το επίπεδο των εξωτερικών σημάτων (θόρυβος). Επιπλέον, βάσει των προδιαγραφών, τα σήματα από τις «άνω» και «κάτω» ομάδες πρέπει να έχουν διαφορετικά επίπεδα, επομένως κάθε σήμα απαιτεί το δικό του φίλτρο. Ημιτονοειδή πλάτη συχνότητας μπορούν να ληφθούν από τη σειρά Fourier.

Για να επιλέξετε συχνότητες αποκοπής κατά το σχεδιασμό ενός αναλογικού φίλτρου, πρέπει να τηρείτε τις ακόλουθες απαιτήσεις με βάση:

  • Επειδή είναι απαραίτητο να διασφαλιστεί η δυνατότητα οποιουδήποτε συνδυασμού συχνοτήτων της «κατώτερης» ομάδας με συχνότητες της «ανώτερης» ομάδας· η διαφορά στα επίπεδα μεταξύ της χαμηλότερης και της υψηλότερης συχνότητας στην ομάδα δεν πρέπει να υπερβαίνει τα 3 dB.
  • Για τη χαμηλότερη συχνότητα στην ομάδα (f1), η αρμονική καταστολή (3f1) δεν πρέπει να είναι χειρότερη από 20 dB. Η εκπλήρωση αυτής της προϋπόθεσης είναι πιο κρίσιμη για τη χαμηλότερη συχνότητα στην ομάδα, επειδή είναι όσο το δυνατόν πιο μακριά από τη συχνότητα αποκοπής του φίλτρου.

Ο τύπος περιγράφει το τετράγωνο της απόλυτης τιμής στην έξοδο ενός υψηλοπερατού φίλτρου Butterworth τάξης n:

Αυτός ο τύπος αντιπροσωπεύει την εξάρτηση του κέρδους υψηλοπερατού φίλτρου Butterworth από τη συχνότητα. Οι παράμετροι fg και n καθορίζουν τη συχνότητα αποκοπής και τη σειρά του φίλτρου, αντίστοιχα.

Πρώτα απ 'όλα, είναι απαραίτητο να υπολογιστεί η απαιτούμενη σειρά φίλτρου, λαμβάνοντας υπόψη τη συμμόρφωση με τις παραπάνω απαιτήσεις.

Για να ικανοποιηθεί η πρώτη συνθήκη, ο λόγος των τετραγώνων των απόλυτων τιμών των χαμηλότερων και υψηλότερων συχνοτήτων στην ομάδα δεν πρέπει να είναι μεγαλύτερος από 3 dB ή:

Η δεύτερη συνθήκη θα ικανοποιηθεί αυτόματα εάν ο λόγος των τετραγώνων των απόλυτων τιμών των συχνοτήτων f1 και 3f1 είναι μεγαλύτερος από 10/3, στην περίπτωση αυτή η τρίτη αρμονική στο ορθογώνιο σήμα είναι 1/3 μικρότερη (βλ. Fourier σειρά και Εικ. 2):

Ως αποτέλεσμα των υπολογισμών για τις συχνότητες και των δύο ομάδων, έχουμε την απαιτούμενη σειρά φίλτρων n=1,15. Έτσι, οι απαιτήσεις θα ικανοποιούνται από ένα φίλτρο 2ης τάξης, το οποίο μπορεί να κατασκευαστεί σε λειτουργικό ενισχυτή. Εάν χρησιμοποιείτε φίλτρο 3ης τάξης, χρειάζεστε μόνο δύο επιπλέον στοιχεία. Ωστόσο, αυτό θα μειώσει τις απαιτήσεις για τη διασπορά των παραμέτρων των εξαρτημάτων. Και οι δύο παραπάνω απαιτήσεις θα πληρούνται εάν η συχνότητα αποκοπής είναι εντός των ακόλουθων ορίων:

Κάτω ομάδα fg>880 Hz fg<1418 Гц
Ανώτερη ομάδα fg>1527 Hz fg<2460 Гц

Εάν η συχνότητα αποκοπής είναι στο ελάχιστο της, θα συμβεί μέγιστη αρμονική μείωση. Ωστόσο, σε αυτή την περίπτωση η διαφορά μεταξύ της χαμηλότερης και της υψηλότερης συχνότητας στην ομάδα θα είναι 3 dB. Στην υψηλότερη δυνατή συχνότητα αποκοπής, η διαφορά στάθμης είναι ελάχιστη, αλλά οι αρμονικές συνιστώσες καταστέλλονται μόνο κατά 20 dB.

Κατά τον υπολογισμό του φίλτρου, δόθηκε αυξημένη προσοχή στην αρμονική καταστολή· η διαφορά επιπέδου εντός της ομάδας καθορίστηκε στα 2 dB. Ως αποτέλεσμα, οι συχνότητες αποκοπής είναι 977 Hz και 1695 Hz. Η προκύπτουσα αρμονική καταστολή υπερβαίνει σημαντικά τις απαιτήσεις. Η διαφορά στα επίπεδα συχνότητας στην ομάδα είναι εντός των απαιτήσεων ακόμη και στην περίπτωση απόκλισης της συχνότητας αποκοπής που σχετίζεται με την εξάπλωση στις παραμέτρους των χρησιμοποιούμενων εξαρτημάτων. Κατά τον υπολογισμό των τιμών των στοιχείων φίλτρου, επιλέχθηκαν αντιστάσεις με βάση τη μέγιστη εγγύτητά τους με τις τυπικές τιμές της σειράς E12.

Στις εξόδους του φίλτρου, το αποτέλεσμα είναι δύο ημιτονοειδή σήματα με σημαντικά κατασταλμένες αρμονικές. Για να συνδυαστούν αυτά τα σήματα, εισάγεται ένας πρόσθετος αθροιστής.

Έτσι, χρησιμοποιώντας μόνο 3 op-amp και μερικά παθητικά στοιχεία, είμαστε σε θέση να δημιουργήσουμε σήματα DTMF χρησιμοποιώντας έναν μικροελεγκτή χωρίς να χρησιμοποιήσουμε σημαντικούς υπολογιστικούς πόρους.

Χρησιμοποιώντας προγράμματα προσομοιωτών, ελέγχθηκαν οι κατά προσέγγιση τιμές. Η απόκριση των φίλτρων ταιριάζει πολύ με την υπολογισμένη απόκριση συχνότητας.


Ρύζι. 6: Φάσμα πλάτους ορθογώνιου σήματος με συχνότητα 697 Hz στην έξοδο φίλτρου 3ης τάξης

Στο Σχ. Το σχήμα 6 δείχνει το φάσμα πλάτους ενός ορθογώνιου σήματος με συχνότητα 697 Hz, που διέρχεται από ένα φίλτρο 3ης τάξης. Όπως φαίνεται από το σχήμα, η τρίτη και η πέμπτη αρμονική (2091 Hz και 3485 Hz) είναι σημαντικά εξασθενημένες (-25,6 dB).


Ρύζι. 7: Φάσμα πλάτους ορθογώνιου σήματος με συχνότητα 941 Hz στην έξοδο φίλτρου 3ης τάξης

Στο Σχ. Το σχήμα 7 δείχνει το φάσμα ενός σήματος τετραγωνικού κύματος με συχνότητα 941 Hz. Στην περιοχή συχνοτήτων που μας ενδιαφέρει, μέχρι τα 4600 Hz, υπάρχει μόνο μία αρμονική. Αφού περάσει το φίλτρο, αυτή η αρμονική των 2823 Hz εξασθενεί σημαντικά (-27,9 dB). Η διαφορά επιπέδου μεταξύ της χαμηλότερης και της υψηλότερης συχνότητας στην ομάδα δεν υπερβαίνει τα 1,9 dB.

Προκειμένου να χρησιμοποιηθούν εξαρτήματα χαμηλού κόστους με μεγάλη διακύμανση στις παραμέτρους, πραγματοποιήθηκε πρόσθετη μοντελοποίηση. Τα αποτελέσματα της προσομοίωσης έδειξαν ότι η επιτρεπόμενη διασπορά στις τιμές των αντιστάσεων και των πυκνωτών είναι 10%.


Εικόνα 8: Ιστόγραμμα – κατανομή των επιπέδων σήματος σε μια ομάδα


Εικόνα 9: Ιστόγραμμα – Αρμονική Καταστολή

Στο Σχ. Τα Σχήματα 8 και 9 δείχνουν ιστογράμματα που ελήφθησαν χρησιμοποιώντας ανάλυση Monte Carlo. Σε αυτήν την περίπτωση, οι τιμές των συστατικών κυμαίνονταν τυχαία μέσα σε μια διαφορά 10%. Μετά από 100 επαναλήψεις, τα αποτελέσματα για όλα τα προσομοιωμένα φίλτρα απεικονίζονται σε ιστογράμματα. Στο ιστόγραμμα στο Σχ. Το Σχήμα 8 δείχνει τη διαφορά επιπέδου μεταξύ των συχνοτήτων εντός της ομάδας. Η μέγιστη επιτρεπόμενη διαφορά των 3 dB μεταξύ της ελάχιστης και της μέγιστης συχνότητας δεν επιτεύχθηκε σε καμία περίπτωση. Η μέση τιμή είναι 1,6 dB, η οποία είναι ελαφρώς καλύτερη από την υπολογιζόμενη τιμή των 2 dB.

Στο Σχ. Το σχήμα 9 δείχνει την εξασθένηση των αρμονικών για την ομάδα «χαμηλότερης» συχνότητας. Η απαιτούμενη τιμή των 20 dB επιτυγχάνεται σε όλες τις περιπτώσεις, η μέση τιμή είναι περίπου 27 dB. Στη χειρότερη περίπτωση, η αρμονική καταστέλλεται κατά 24,2 dB.

Οι τιμές που υπολογίζονται για το φίλτρο της «κατώτερης» ομάδας συχνοτήτων πραγματοποιούνται επίσης για το φίλτρο της «ανώτερης» ομάδας συχνοτήτων.

Και τα δύο φίλτρα έχουν το ίδιο κύκλωμα. Η μόνη διαφορά είναι στις συχνότητες αποκοπής των φίλτρων για τις ομάδες ανώτερης και χαμηλότερης συχνότητας. Τα R1 και C1 σχηματίζουν ένα υψιπερατό φίλτρο 1ης τάξης. Επειδή η αντίσταση εισόδου του κυκλώματος εξαρτάται επίσης από το R1, η τιμή αυτού του στοιχείου δεν πρέπει να είναι πολύ μικρή. Διαφορετικά, οι έξοδοι του μικροελεγκτή θα υπερφορτωθούν και η τετραγωνική κυματομορφή θα παραμορφωθεί. Σε αυτή την περίπτωση, πρόσθετες συχνότητες που προκύπτουν από παραμόρφωση ενδοδιαμόρφωσης θα προστεθούν στο σήμα, οι οποίες θα επηρεάσουν αρνητικά την αναλογία σήματος προς θόρυβο.

Η λειτουργία μεταφοράς φίλτρων υψηλότερης τάξης δεν μπορεί να επιτευχθεί χρησιμοποιώντας μόνο παθητικά στοιχεία.

Επομένως, το φίλτρο 2ης τάξης πρέπει να περιέχει έναν ενισχυτή λειτουργίας. Το ενεργό κέρδος φίλτρου ρυθμίζεται στο 0,2 χρησιμοποιώντας αντιστάσεις R1-1 και R1-2. Όπως μπορείτε να δείτε, το σήμα είναι κάπως εξασθενημένο. Αυτό είναι απαραίτητο για να αποφευχθεί η υπερφόρτωση του op-amp, επειδή το μέγιστο πλάτος της θεμελιώδους ημιτονοειδούς αρμονικής του σήματος τετραγωνικού κύματος υπερβαίνει το πλάτος του ίδιου του σήματος τετραγωνικού κύματος (Βλ. σειρά Fourier και Σχ. 2). Ένας πρόσθετος αθροιστής προσαρμόζει το απαιτούμενο επίπεδο εξόδου. Λόγω της σταθερής συνιστώσας του ορθογώνιου σήματος, το σημείο λειτουργίας του op-amp ρυθμίζεται στο επίπεδο Vcc/2 (Βλέπε επίσης σειρά Fourier και Εικ. 2). Σε αυτήν την περίπτωση, η σταθερή συνιστώσα δεν μπορεί να εξαλειφθεί από το διαιρέτη εισόδου R1-1/R1-2. Για την αποσύνδεση του κυκλώματος του λειτουργικού συστήματος με τάση DC, χρησιμοποιείται πυκνωτής C3.

Σε κάθε μία από τις εξόδους του αναλογικού φίλτρου, παράγεται ένα σήμα της ανώτερης και κατώτερης ομάδας συχνότητας, αντίστοιχα. Σε έναν επιπλέον αθροιστή, αυτά τα σήματα προστίθενται. Σε αυτό το στοιχείο κυκλώματος, μπορείτε να ρυθμίσετε τη σχέση μεταξύ της «κατώτερης» και της «ανώτερης» συχνότητας στο συνολικό σήμα και της στάθμης του σήματος εξόδου χρησιμοποιώντας τις αντιστάσεις R4 και R5. Έτσι, το πλάτος εξόδου μπορεί εύκολα να ρυθμιστεί ώστε να ταιριάζει σε διαφορετικές απαιτήσεις σε διαφορετικές χώρες.

Κατά τον υπολογισμό των τιμών των εξαρτημάτων, οι τιμές του πυκνωτή ήταν, ως συνήθως, σταθερές και οι τιμές των αντιστάσεων υπολογίστηκαν σύμφωνα με αυτές. Σε αυτό το κύκλωμα, χρησιμοποιήθηκαν πυκνωτές και αντιστάσεις της τυπικής σειράς E12 με διάδοση 10%.

Στο Σχ. Το σχήμα 10 δείχνει ένα σχηματικό διάγραμμα αναλογικών φίλτρων και έναν αθροιστή:


Ρύζι. 10: Σχηματικό διάγραμμααναλογικά φίλτρα με πρόσθετο αθροιστή

Οι πυκνωτές C1-1 και C1-2 συνδυάζουν τα δύο σήματα μαζί στο σημείο λειτουργίας Vcc/2. Δεν πρέπει να επιλέξετε πολύ μεγάλες τιμές για αυτά τα στοιχεία, γιατί είναι στοιχεία φίλτρου χαμηλής διέλευσης για την εξάλειψη των υποαρμονικών χαμηλών συχνοτήτων. Ο πυκνωτής φίλτρου C5 εξαλείφει τον θόρυβο της τάσης αναφοράς. Ένας πρόσθετος πυκνωτής C6 που συνδέεται παράλληλα με την αντίσταση ανάδρασης R6 σχηματίζει ένα υψηλοπερατό φίλτρο πρώτης τάξης. Εάν επιλεγεί η χαμηλότερη συχνότητα αποκοπής φίλτρου, το πρόσθετο φιλτράρισμα των παρεμβολών ενδοδιαμόρφωσης υψηλής συχνότητας βελτιώνει την ποιότητα του σήματος εξόδου, αλλά θα υπάρξει κάποια εξασθένηση των υψηλότερων συχνοτήτων της «ανώτερης» ομάδας. Σε ορισμένες περιπτώσεις, η δημιουργία της υψηλότερης συχνότητας DTMF των 1633 Hz δεν είναι απαραίτητη γιατί χρησιμοποιείται μόνο για τον σχηματισμό συμβόλων υπηρεσίας A-D και η αναλογία σήματος προς θόρυβο μπορεί να βελτιωθεί μειώνοντας τη συχνότητα αποκοπής του φίλτρου. Έτσι, η αύξηση της συχνότητας αποκοπής οδηγεί σε αύξηση του επιπέδου παρεμβολής υψηλής συχνότητας, αλλά ταυτόχρονα μειώνεται ο αρνητικός αντίκτυπος στις συνιστώσες υψηλότερης συχνότητας του σήματος DTMF.

4 Αποτελέσματα μελετών σημάτων πομπού DTMF

Τα παρακάτω φασματογράμματα (Εικ. 11 και 12) δείχνουν τα σήματα εξόδου του πομπού DTMF σε διάφορες συχνότητες. Στο Σχ. Το σχήμα 11 δείχνει το φάσμα πλάτους του συμβόλου "1". Οι συχνότητες που απαιτούνται για τη μετάδοσή του - 697 και 1207 Hz - είναι στα επίπεδα των -10,5 dB και -8,5 dB, αντίστοιχα. Οι αρμονικές στα 2091 και 3621 Hz καταστέλλονται κατά σχεδόν 30 dB. Για τη μετάδοση του συμβόλου "D", δημιουργούνται οι δύο υψηλότερες συχνότητες - 941 και 1633 Hz. Όπως φαίνεται από το Σχ. 12, το επίπεδο χαμηλής συχνότητας είναι -12 dB, το επίπεδο υψηλής συχνότητας είναι -11 dB. Οι αντίστοιχες αρμονικές εξασθενούν περισσότερο από 30 dB. Έτσι, οι μετρούμενες τιμές αντιστοιχούν στα αποτελέσματα της προσομοίωσης και στις απαιτήσεις προδιαγραφών.


Ρύζι. 11: Φάσμα πλάτους συμβόλου "1": 697 και 1207 Hz


Ρύζι. 12: Φάσμα πλάτους του συμβόλου "D": 941 και 1633 Hz

Η απόλυτη ακρίβεια συχνότητας των παραγόμενων τετραγωνικών σημάτων δεν μπορεί να επιτευχθεί όταν χρησιμοποιούνται δύο διαφορετικοί χρονομετρητές· το αποτέλεσμα θα εξαρτηθεί από τον συνδυασμό των δύο συχνοτήτων και τον τύπο των χρονομετρητών που χρησιμοποιούνται. Ο λόγος για αυτό είναι μια σύγκρουση διακοπής χρονοδιακόπτη. Ωστόσο, η απαιτούμενη ακρίβεια ±1,8% συναντάται με μεγάλο περιθώριο.

Εάν ένας χρονοδιακόπτης 8-bit και ένας χρονοδιακόπτης θύρας χρονοδιακόπτη χρησιμοποιούνται σε συχνότητα συστήματος MCLK 1,048 MHz, τότε οι συχνότητες της «κατώτερης» ομάδας δημιουργούνται με ακρίβεια όχι χειρότερη από 0,3%. Για τις συχνότητες της «ανώτερης» ομάδας, στην πράξη, ελήφθη απόκλιση όχι μεγαλύτερη από 0,5%.

Η μόνη εξαίρεση είναι ο χαρακτήρας DTMF "D", για τον οποίο δημιουργούνται οι υψηλότερες συχνότητες. Ως αποτέλεσμα, σε αυτόν τον συνδυασμό η συχνότητα της «ανώτερης» ομάδας 1633 Hz έχει απόκλιση -0,97%.

Χωρίς αυτήν την εξαίρεση, ακόμη και η υψηλότερη συχνότητα των 1633 Hz παράγεται με ακρίβεια μεγαλύτερη από 0,5%. Οι μέγιστες αποκλίσεις για διάφορες συχνότητες δίνονται στον πίνακα:

Εάν το Timer_A χρησιμοποιείται για τη δημιουργία συχνοτήτων, το σφάλμα θα εξαρτηθεί από τη συχνότητα MCLK που χρησιμοποιείται:

MCLK, MHz 1,048 2,096 3,144 3,800
Πολλαπλασιαστής FLL 32 64 96 116
697 Hz +0,027% +0,027% +0,027% +0,027%
770 Hz -0,015% -0,016% +0,033% -0,016%
852 Hz +0,059% -0,023% +0,005% +0,031%
941 Hz +0,029% +0,029% +0,029% +0,035%
1209 Hz -0,079% +0,036% +0,036% -0,003%
1336 Hz +0,109% -0,018% +0,025% +0,025%
1447 Hz -0,009% -0,009% -0,009% -0,009%
1633 Hz +0,018% +0,018% +0,018% +0,018%

5. Συμπέρασμα

Το λογισμικό για αυτό το παράδειγμα είναι πολύ απλό και, καταλαμβάνοντας περίπου 300 Byte, απαιτεί μικρή ποσότητα μνήμης RAM και ROM. Χάρη στην ενσωματωμένη μονάδα χρονοδιακόπτη, οι απαιτούμενες συχνότητες παράγονται με υψηλή ακρίβεια χωρίς να χάνεται το φορτίο της CPU. Σε μια διαμόρφωση όπου χρησιμοποιείται ένας χρονοδιακόπτης 8-bit και ένας χρονοδιακόπτης/Θύρα για τη δημιουργία, οι ρουτίνες διακοπής καταλαμβάνουν περίπου το 12% του πόρου της CPU. Στην περίπτωση που οι συχνότητες δημιουργούνται από τον χρονοδιακόπτη Timer_A, το φορτίο της CPU για τις ρουτίνες διακοπής επεξεργασίας μειώνεται στο 6%. Ως αποτέλεσμα, ενδέχεται να εκτελούνται άλλες εργασίες κατά τη μετάδοση σημάτων DTMF ή η CPU μπορεί να τεθεί σε λειτουργία χαμηλής κατανάλωσης για να μειωθεί η κατανάλωση ρεύματος.

Η καλή λειτουργικότητα της περιγραφόμενης μονάδας για τη δημιουργία σημάτων DTMF χρησιμοποιώντας σήματα τετραγωνικών κυμάτων αποδεικνύεται από τη σχεδίαση κυκλώματος υλικού. Επειδή Είναι δυνατή η χρήση εξαρτημάτων με ένα ευρύ φάσμα παραμέτρων στο κύκλωμα· η τιμή μιας τέτοιας λύσης είναι πολύ χαμηλή. Όλες οι απαιτήσεις προδιαγραφών πληρούνται σε μεγάλο βαθμό, επομένως δεν απαιτείται ξεχωριστή μονάδα γεννήτριας σήματος DTMF σε όργανα που χρησιμοποιούν το MSP430 ως ελεγκτή ελέγχου.

Εάν σε μια συγκεκριμένη περίπτωση είναι απαραίτητο να αυξηθεί η αναλογία σήματος προς θόρυβο, χρησιμοποιώντας έναν πρόσθετο ενισχυτή λειτουργίας, μπορεί να κατασκευαστεί ένα φίλτρο για την περαιτέρω καταστολή της παραμόρφωσης της ενδοδιαμόρφωσης. Ένας τέτοιος πρόσθετος λειτουργικός ενισχυτής υπάρχει ήδη στον quad op-amp του πακέτου DIL14.

6 Σύνδεσμοι

Bundesamt fur Post und Telekommunikation (Ομοσπονδιακό Γραφείο Ταχυδρομείων και Τηλεπικοινωνιών): BAPT 223 ZV 5, Zulassungsvorschrift fur Endeinrichtungen zur Anschaltung an analoge Wahlanschlusse (ausgenommen Notruf- und Durchwahlangue συνδεδεμένες συσκευές τηλεφωνίας offphonesschlusse) αποκλείοντας απαιτήσεις ασφάλειας και κλήσεων) / ISDN της Deutschen Bundespost Telekom. Bundesministerium fur Post und Telekommunikation, Draft, Βόννη Απρίλιος 1994 Papula: Mathematik fur Ingenieure 2 (Mathematics for Engineers); Vieweg Verlag, Braunschweig 1990 Tietze / Schenk: Halbleiterschaltungstechnik; (Titze/Schenk, Semiconductor Circuit Engineering), 10th.Edition; Springer Verlag, Βερολίνο 1993 Lutz Bierl / Texas Instruments: MSP430 Family, Metering Application Report, Texas Instruments, Issue 2.1, Jan 1997, SLAAE10B Texas Instruments: MSP430 Family, Architecture User's Guide and Module Library, Texas1 Instruments, Texas1 Instruments MSP430 Family, Software User's Guide, Texas Instruments, 1996 Texas Instruments: MSP430 Family, Assembly Language Tools Guide, Texas Instruments, 1996 Siwy, Robert: Systementwicklung einer Telekom-Aplikation zum Senden und Empfangen vonn DTMF-Signeve τηλεπικοινωνιακό σύστημα λήψης και μετάδοσης ψηφιακών σημάτων με βάση τον μικροελεγκτή MSP430). Diplomarbeit, Fachhochschule Landshut, Mai 1997

Στο θέμα των απλών συσκευών, αποφάσισα να συναρμολογήσω μια γεννήτρια σήματος DTMF χρησιμοποιώντας το ίδιο ATtiny2313. Για όσους δεν γνωρίζουν, το DTMF (Dual-Tone Multi-Frequency) είναι ένα δίχρωμο αναλογικό σήμα πολλαπλών συχνοτήτων που χρησιμοποιείται για την κλήση ενός αριθμού τηλεφώνου. Διαβάστε τη Wikipedia.

Η απόφαση για τη συναρμολόγηση μιας τέτοιας συσκευής υπαγορεύτηκε από την επιθυμία να προσπαθήσουμε να εφαρμόσουμε πολύπλοκα αναλογικά σήματα χρησιμοποιώντας έναν μικροελεγκτή. Δεν είχε προγραμματιστεί καμία πρακτική εφαρμογή για αυτήν τη συσκευή, αλλά ίσως κάποιος θα έβρισκε χρήσιμη μια τέτοια συσκευή; Χρησιμοποιησετο!

Πηγή γεννήτριας DTMF


Τώρα ας δούμε τι έχουμε.

Το σήμα παράγεται χρησιμοποιώντας PWM και ένα κύκλωμα RC χρησιμοποιείται για να του δώσει το επιθυμητό σχήμα. Ως αποτέλεσμα, μετά την αλυσίδα RC, λαμβάνουμε το ακόλουθο σήμα (πατιέται το κουμπί 6):

Κατά μήκος ολόκληρης της καμπύλης του χρήσιμου σήματος, παρατηρούμε μια χτένα υψηλής συχνότητας (η συχνότητα είναι υψηλότερη από την ακουστική, επομένως δεν θα δημιουργήσει θόρυβο) - αυτό είναι το έργο του κυκλώματος RC. Μπορείτε να κάνετε τη γραμμή πιο ομαλή αυξάνοντας την χωρητικότητα του πυκνωτή ή την αντίσταση της αντίστασης, αλλά στην περίπτωση αυτή το εύρος του χρήσιμου σήματος θα μειωθεί σημαντικά.

Εξετάζουμε το φάσμα του σήματος και βεβαιωνόμαστε ότι υπάρχουν δύο ξεχωριστές συχνότητες (η συχνότητα PWM έχει βγει έξω από την περιοχή της οθόνης), πράγμα που σημαίνει ότι όλα είναι καλά - η συσκευή λειτουργεί όπως θα έπρεπε.

Έτοιμες λύσεις

Υπάρχουν έτοιμες λύσεις για τις εργασίες παραγωγής και αποκωδικοποίησης ενός σήματος DTMF. Ακολουθούν μερικά φύλλα δεδομένων για αυτά τα μικροκυκλώματα.

Γεννήτρια DTMF
- Αποκωδικοποιητής DTMF


ΥΣΤΕΡΟΓΡΑΦΟ.Είναι κρίμα που το ATtiny2313 δεν έχει ADC - θα μπορούσατε επίσης να χρησιμοποιήσετε έναν αποκωδικοποιητή DTMF! Αλλά δεν πειράζει, θα το επαναλάβω στο mega, θα το επισυνάψω σίγουρα.

(Επισκέφθηκε 6.868 φορές, 1 επισκέψεις σήμερα)

Η τονική κλήση (Dual-tone multi-frequency signaling, DTMF) αναπτύχθηκε από την Bell Labs τη δεκαετία του '50 του περασμένου αιώνα για το τότε επαναστατικό τηλέφωνο με κουμπιά. Για την αναπαράσταση και τη μετάδοση ψηφιακών δεδομένων σε λειτουργία τόνου, χρησιμοποιείται ένα ζεύγος συχνοτήτων (τόνων) του εύρους συχνοτήτων ομιλίας. Το σύστημα ορίζει δύο ομάδες των τεσσάρων συχνοτήτων και οι πληροφορίες κωδικοποιούνται μεταδίδοντας δύο συχνότητες ταυτόχρονα, μία από κάθε ομάδα. Αυτό δίνει συνολικά δεκαέξι συνδυασμούς που αντιπροσωπεύουν δεκαέξι διαφορετικούς αριθμούς, σύμβολα και γράμματα. Η κωδικοποίηση DTMF χρησιμοποιείται πλέον σε ένα ευρύ φάσμα εφαρμογών επικοινωνιών και ελέγχου, όπως αποδεικνύεται, για παράδειγμα, από τη Σύσταση Q.23 της Διεθνούς Ένωσης Τηλεπικοινωνιών (ITU).

Αυτό το άρθρο περιγράφει το κύκλωμα μιας γεννήτριας τόνου 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 dB κάτω από τις θεμελιώδεις συχνότητες.

Το προκύπτον σήμα που περιγράφεται παραπάνω μπορεί να περιγραφεί ως:

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

όπου fhigh και flow είναι οι αντίστοιχες συχνότητες από τις ομάδες υψηλής και χαμηλής συχνότητας.

Το Σχήμα 1 δείχνει το σήμα που προκύπτει για το ψηφίο "1". Το σχήμα 2 δείχνει το φάσμα συχνοτήτων που αντιστοιχεί σε αυτό το σήμα.

Ρύζι. 1. Ήχος DTMF

Ρύζι. 2. Φάσμα τόνου DTMF

Η διάρκεια των τόνων DTMF μπορεί να ποικίλλει ανάλογα με τη συγκεκριμένη εφαρμογή που χρησιμοποιεί τονική κωδικοποίηση. Για τις πιο συνηθισμένες εφαρμογές, οι τιμές διάρκειας συνήθως πέφτουν μεταξύ χειροκίνητης και αυτόματης κλήσης. Ο Πίνακας 2 δείχνει μια σύνοψη της τυπικής χρονικής διάρκειας για τους δύο τύπους πρόσληψης.

Πίνακας 2. Διάρκεια των σημάτων τονικής κλήσης

Τύπος καντράν

Ομάδα Τρεμπλ

Ομάδα Τρεμπλ

Χειροκίνητη κλήση

Αυτόματη κλήση

Για μεγαλύτερη ευελιξία, η γεννήτρια DTMF που προσφέρεται σε αυτό το εγχειρίδιο είναι εξοπλισμένη με είσοδο ενεργοποίησης, η οποία χρησιμοποιείται για την έναρξη της παραγωγής σήματος και τον προσδιορισμό της διάρκειάς της. Σε αυτήν την περίπτωση, η διάρκεια του σήματος είναι ίση με τη διάρκεια του παλμού στην είσοδο ενεργοποίησης.

Αναλογικό τμήμα του κυκλώματος γεννήτριας DTMF

Η Σύσταση Q.23 της ITU ορίζει τα σήματα DTMF ως αναλογικά σήματα που δημιουργούνται από δύο ημιτονοειδή κύματα. Στο προτεινόμενο κύκλωμα γεννήτριας DTMF, το IC Silego GreenPAK SLG46620V παράγει σήματα τετραγωνικών κυμάτων με τις επιθυμητές συχνότητες DTMF. Για να ληφθούν ημιτονοειδή σήματα της απαιτούμενης συχνότητας και να σχηματιστεί το σήμα που προκύπτει (το άθροισμα δύο ημιτονοειδών κυμάτων), απαιτούνται αναλογικά φίλτρα και αθροιστής. Για το λόγο αυτό, σε αυτό το έργο αποφασίστηκε η χρήση φίλτρων και συνδυασμού με βάση τους λειτουργικούς ενισχυτές SLG88104V.

Το σχήμα 3 δείχνει τη δομή του προτεινόμενου αναλογικού τμήματος της συσκευής.

Ρύζι. 3. Αναλογικό κύκλωμα επεξεργασίας για λήψη σήματος DTMF

Τα αναλογικά φίλτρα χρησιμοποιούνται για τη λήψη ημιτονοειδών σημάτων από ορθογώνιους παλμούς. Αφού πραγματοποιηθεί το φιλτράρισμα, τα δύο σήματα αθροίζονται και παράγεται το επιθυμητό σήμα εξόδου δύο τόνων DTMF.

Το σχήμα 4 δείχνει το αποτέλεσμα του μετασχηματισμού Fourier που χρησιμοποιήθηκε για να ληφθεί το φάσμα του σήματος τετραγωνικού κύματος.

Ρύζι. 4. Φάσμα σήματος τετραγωνικού κύματος

Όπως μπορείτε να δείτε, το τετραγωνικό κύμα περιέχει μόνο περιττές αρμονικές. Αν παριστάνουμε ένα τέτοιο σήμα με πλάτος Α με τη μορφή σειράς Fourier, τότε θα έχει την εξής μορφή:

Η ανάλυση αυτής της έκφρασης μας επιτρέπει να συμπεράνουμε ότι εάν τα αναλογικά φίλτρα έχουν επαρκή εξασθένηση για αρμονικές, τότε είναι πολύ πιθανό να ληφθούν ημιτονοειδή σήματα με συχνότητα ίση με τη συχνότητα του αρχικού σήματος τετραγωνικού κύματος.

Λαμβάνοντας υπόψη την ανοχή επιπέδου παρεμβολής που ορίζεται στο πρότυπο Q.23, είναι απαραίτητο να διασφαλιστεί ότι όλες οι αρμονικές εξασθενούν κατά 20 dB ή περισσότερο. Επιπλέον, οποιαδήποτε συχνότητα από την ομάδα χαμηλής διέλευσης πρέπει να συνδυαστεί με οποιαδήποτε συχνότητα από την ομάδα υψηλών διέλευσης. Λαμβάνοντας υπόψη αυτές τις απαιτήσεις, αναπτύχθηκαν δύο φίλτρα, ένα για κάθε ομάδα.

Και τα δύο φίλτρα ήταν χαμηλοπερατά φίλτρα Butterworth. Η εξασθένηση ενός φίλτρου σειράς n Butterworth μπορεί να υπολογιστεί ως εξής:

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

όπου fc είναι η συχνότητα αποκοπής του φίλτρου, n είναι η σειρά φίλτρου.

Η διαφορά στην εξασθένηση μεταξύ της χαμηλότερης συχνότητας και της υψηλότερης συχνότητας κάθε ομάδας δεν μπορεί να είναι μεγαλύτερη από 3 dB, επομένως:

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

Δίνονται απόλυτες τιμές:

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

Επίσης, όπως είπαμε νωρίτερα, η αρμονική εξασθένηση πρέπει να είναι 20 dB ή περισσότερο. Σε αυτήν την περίπτωση, η χειρότερη περίπτωση θα είναι η χαμηλότερη συχνότητα στην ομάδα, επειδή η 3η αρμονική της είναι η χαμηλότερη συχνότητα και είναι πιο κοντά στη συχνότητα αποκοπής του φίλτρου. Λαμβάνοντας υπόψη ότι η 3η αρμονική είναι 3 φορές μικρότερη από τη θεμελιώδη, το φίλτρο πρέπει να πληροί την συνθήκη (απόλυτες τιμές):

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

Εάν αυτές οι εξισώσεις εφαρμόζονται και στις δύο ομάδες, τότε τα φίλτρα που χρησιμοποιούνται πρέπει να είναι φίλτρα δεύτερης τάξης. Αυτό σημαίνει ότι θα έχουν δύο αντιστάσεις και δύο πυκνωτές το καθένα εάν υλοποιηθούν με χρήση ενισχυτών λειτουργίας. Εάν χρησιμοποιούνταν φίλτρα τρίτης τάξης, η ευαισθησία στις ανοχές των εξαρτημάτων θα ήταν χαμηλότερη. Οι επιλεγμένες συχνότητες αποκοπής φίλτρου είναι 977 Hz για την ομάδα χαμηλής διέλευσης και 1695 Hz για την ομάδα υψηλής διέλευσης. Σε αυτές τις τιμές, οι διαφορές στα επίπεδα σήματος στις ομάδες συχνοτήτων είναι σύμφωνες με τις παραπάνω απαιτήσεις και η ευαισθησία στις αλλαγές στη συχνότητα αποκοπής λόγω των ανοχών των εξαρτημάτων είναι ελάχιστη.

Σχηματικά διαγράμματα φίλτρων που εφαρμόζονται με χρήση SLG88104V παρουσιάζονται στο Σχήμα 5. Οι βαθμολογίες του πρώτου Ζεύγη R-Cεπιλεγμένο με τέτοιο τρόπο ώστε να περιορίζει το ρεύμα εξόδου του τσιπ SLG46620V. Ο δεύτερος σύνδεσμος φίλτρου καθορίζει το κέρδος, το οποίο είναι 0,2. Το πλάτος των σημάτων τετραγωνικού κύματος θέτει το σημείο λειτουργίας του λειτουργικού ενισχυτή στα 2,5 V. Οι ανεπιθύμητες τάσεις μπλοκάρονται από πυκνωτές φίλτρου εξόδου.

Ρύζι. 5. Σχηματικά διαγράμματα φίλτρων εξόδου

Στην έξοδο, τα σήματα του φίλτρου αθροίζονται και το σήμα που προκύπτει είναι το άθροισμα των αρμονικών που επιλέγονται από την ομάδα χαμηλών και υψηλών συχνοτήτων. Για να αντισταθμιστεί η εξασθένηση του φίλτρου, το πλάτος του σήματος εξόδου μπορεί να ρυθμιστεί χρησιμοποιώντας δύο αντιστάσεις R9 και R10. Το σχήμα 6 δείχνει το κύκλωμα αθροιστή. Το σχήμα 7 δείχνει ολόκληρο το αναλογικό τμήμα του κυκλώματος.

Ρύζι. 6. Σχηματικό διάγραμμα του αθροιστή

Ρύζι. 7. Αναλογικό τμήμα του κυκλώματος

Ψηφιακό τμήμα του κυκλώματος γεννήτριας τόνου DTMF

Το ψηφιακό τμήμα του κυκλώματος γεννήτριας τόνων DTMF περιλαμβάνει ένα ολόκληρο σύνολο γεννητριών τετραγωνικών κυμάτων - μία για κάθε συχνότητα DTMF. Δεδομένου ότι απαιτούνται οκτώ μετρητές για τη δημιουργία αυτών των γεννητριών, το τσιπ GreenPAK SLG46620V επιλέχθηκε για την υλοποίησή τους. Στις εξόδους του ψηφιακού κυκλώματος παράγονται δύο ορθογώνια σήματα, ένα για κάθε ομάδα συχνοτήτων.

Τα σήματα τετραγωνικών κυμάτων παράγονται χρησιμοποιώντας μετρητές και D flip-flops και έχουν κύκλο λειτουργίας 50%. Για το λόγο αυτό, η συχνότητα μεταγωγής μετρητή είναι διπλάσια από την απαιτούμενη συχνότητα DTMF και το flip-flop DFF διαιρεί το σήμα εξόδου στα δύο.

Η πηγή ρολογιού για τους μετρητές είναι ένας ενσωματωμένος ταλαντωτής RC 2 MHz, η συχνότητα του οποίου διαιρείται περαιτέρω με 4 ή 12. Ο διαιρέτης επιλέγεται λαμβάνοντας υπόψη τη χωρητικότητα bit και τη μέγιστη τιμή κάθε μετρητή που απαιτείται για να ληφθεί ένα συγκεκριμένο συχνότητα.

Για τη δημιουργία υψηλών συχνοτήτων, απαιτούνται λιγότερα δείγματα, επομένως χρησιμοποιούνται μετρητές 8-bit για τη δημιουργία τους, χρονισμένοι από έναν εσωτερικό ταλαντωτή RC του οποίου το σήμα διαιρείται με το 4. Για τον ίδιο λόγο, οι χαμηλότερες συχνότητες υλοποιούνται χρησιμοποιώντας μετρητές 14-bit.

Το SLG46620V έχει μόνο τρεις τυπικούς μετρητές 14 bit, επομένως μία από τις χαμηλότερες συχνότητες υλοποιήθηκε χρησιμοποιώντας έναν μετρητή CNT8 8 bit. Προκειμένου ο αριθμός των δειγμάτων να είναι εντός του εύρους 0...255, για να χρονιστεί αυτό το CNT8 ήταν απαραίτητο να χρησιμοποιηθεί ένα σήμα ταλαντωτή RC διαιρούμενο με το 12. Για αυτό το κύκλωμα, η συχνότητα με τον μεγαλύτερο αριθμό δειγμάτων, που είναι, η χαμηλότερη συχνότητα, επιλέχθηκε. Αυτό μας επέτρεψε να ελαχιστοποιήσουμε το σφάλμα.

Ο Πίνακας 3 δείχνει τις παραμέτρους κάθε τετραγωνικού κύματος.

Πίνακας 3. Παράμετροι τετράγωνων γεννητριών παλμών

Ρολόι

Σφάλμα συχνότητας [%]

Ομάδα χαμηλών περασμάτων

Ομάδα Τρεμπλ

Όπως φαίνεται από τον πίνακα, όλες οι συχνότητες έχουν σφάλμα μικρότερο από 1,8%, επομένως συμμορφώνονται με το πρότυπο DTMF. Αυτά τα υπολογιζόμενα χαρακτηριστικά, με βάση την ιδανική συχνότητα ταλαντωτή RC, μπορούν να ρυθμιστούν μετρώντας τη συχνότητα εξόδου του ταλαντωτή RC.

Αν και στο προτεινόμενο κύκλωμα όλες οι γεννήτριες λειτουργούν παράλληλα, το σήμα μιας μόνο γεννήτριας από κάθε ομάδα θα σταλεί στην έξοδο του μικροκυκλώματος. Η επιλογή συγκεκριμένων σημάτων καθορίζεται από τον χρήστη. Αυτό γίνεται χρησιμοποιώντας τέσσερις εισόδους GPIO (δύο bit για κάθε ομάδα) με έναν πίνακα αλήθειας που φαίνεται στον Πίνακα 4.

Πίνακας 4. Πίνακας επιλογής συχνοτήτων από την ομάδα χαμηλών συχνοτήτων

Ομάδα χαμηλών περασμάτων

Πίνακας 5. Πίνακας επιλογής συχνότητας από την ομάδα υψηλών συχνοτήτων

Ομάδα Τρεμπλ

Το σχήμα 8 δείχνει το λογικό κύκλωμα μιας γεννήτριας τετραγωνικών κυμάτων 852 Hz. Αυτό το μοτίβο επαναλαμβάνεται για κάθε συχνότητα με κατάλληλες ρυθμίσεις μετρητή και διαμόρφωση LUT.

Ρύζι. 8. Ορθογώνια γεννήτρια παλμών

Ο μετρητής παράγει μια συχνότητα εξόδου που καθορίζεται από τις ρυθμίσεις του. Αυτή η συχνότητα είναι ίση με τη διπλάσια συχνότητα από τον αντίστοιχο τόνο DTMF. Οι παράμετροι διαμόρφωσης του μετρητή φαίνονται στο σχήμα 9.

Ρύζι. 9. Παράδειγμα ρύθμισης ενός ορθογώνιου μετρητή γεννήτριας παλμών

Το σήμα εξόδου μετρητή είναι συνδεδεμένο στο είσοδος ρολογιούΣκανδάλη D-Flip Flop. Δεδομένου ότι η έξοδος DFF έχει διαμορφωθεί ως ανεστραμμένη, εάν συνδέσετε την έξοδο DFF στην είσοδό της, το D flip-flop μετατρέπεται σε T flip-flop. Οι παράμετροι διαμόρφωσης DFF φαίνονται στο Σχήμα 10.

Ρύζι. 10. Παράδειγμα ρύθμισης μιας ορθογώνιας σκανδάλης γεννήτριας παλμών

Το σήμα από την έξοδο DFF τροφοδοτείται στην είσοδο του πίνακα αληθείας LUT. Τα LUT χρησιμοποιούνται για την επιλογή ενός σήματος για κάθε συγκεκριμένο συνδυασμό R1-R0. Ένα παράδειγμα διαμόρφωσης LUT φαίνεται στο Σχήμα 11. Β σε αυτό το παράδειγμα, εάν το R1 λάβει "1" και το R0 λάβει "0", το σήμα εισόδου μεταδίδεται στην έξοδο. Σε άλλες περιπτώσεις, η έξοδος περιέχει "0".

Ρύζι. 11. Παράδειγμα ρύθμισης του πίνακα αλήθειας μιας τετράγωνης γεννήτριας παλμών

Όπως αναφέρθηκε παραπάνω, το προτεινόμενο κύκλωμα έχει είσοδο ενεργοποίησης Enable. Εάν υπάρχει μια λογική μονάδα "1" στην είσοδο Enable permission, τότε τα παραγόμενα ορθογώνια σήματα παρέχονται σε ένα ζεύγος εξόδων του μικροκυκλώματος. Η διάρκεια μετάδοσης είναι ίση με τη διάρκεια του παλμού στην είσοδο ενεργοποίησης. Για την εφαρμογή αυτής της δυνατότητας, απαιτήθηκαν πολλά περισσότερα LUT.

Η ομάδα υψηλής διέλευσης χρησιμοποιεί ένα LUT 4-bit και ένα LUT 2-bit, όπως φαίνεται στο Σχήμα 12.

Ρύζι. 12. Κύκλωμα εξόδου ομάδας πρίμων

4-bit LUT1 διαμορφώθηκε ως στοιχείο λογικήςΉ, οπότε βγάζει ένα λογικό "1" εάν υπάρχει "1" σε οποιαδήποτε από τις εισόδους του. Οι πίνακες αλήθειας C1/C0 επιτρέπουν την επιλογή μόνο ενός από τους ταλαντωτές, επομένως το 4-bit LUT1 καθορίζει ποιο σήμα εξέρχεται. Η έξοδος αυτού του LUT συνδέεται με 2-bit LUT4, το οποίο μεταδίδει σήμα μόνο εάν η είσοδος ενεργοποίησης είναι λογικό "1". Τα σχήματα 13 και 14 δείχνουν τις διαμορφώσεις των 4-bit LUT1 και 2-bit LUT4.

Ρύζι. 13. Διαμόρφωση 4-bit LUT1

Ρύζι. 14. Διαμόρφωση 2-bit LUT4

Δεδομένου ότι δεν υπήρχαν πλέον LUT πίνακες αλήθειας 4-bit, χρησιμοποιήθηκαν δύο LUT 3-bit για την ομάδα χαμηλής διέλευσης.

Ρύζι. 15. Κύκλωμα εξόδου ομάδας χαμηλής διέλευσης

Το πλήρες εσωτερικό κύκλωμα του GreenPAK SLG46620V φαίνεται στο Σχήμα 16. Το Σχήμα 17 δείχνει το τελικό διάγραμμα κυκλώματος της γεννήτριας DTMF.

Ρύζι. 16. Μπλοκ διάγραμμα της γεννήτριας τόνου DTMF

Ρύζι. 17. Σχηματικό διάγραμμα γεννήτριας τόνων DTMF

Δοκιμή του κυκλώματος γεννήτριας DTMF

Στο πρώτο στάδιο της δοκιμής της προτεινόμενης γεννήτριας DTMF, αποφασίστηκε να ελεγχθούν οι συχνότητες όλων των παραγόμενων ορθογώνιων σημάτων χρησιμοποιώντας έναν παλμογράφο. Για παράδειγμα, τα σχήματα 18 και 19 δείχνουν τις εξόδους τετραγωνικών κυμάτων για 852 Hz και 1477 Hz.

Ρύζι. 18. Τετράγωνο κύμα 852 Hz

Ρύζι. 19. Τετράγωνο κύμα 1477 Hz

Αφού ελέγχθηκαν οι συχνότητες όλων των σημάτων τετραγωνικών κυμάτων, ξεκίνησε η δοκιμή του αναλογικού τμήματος του κυκλώματος. Εξετάστηκαν τα σήματα εξόδου για όλους τους συνδυασμούς χαμηλών και υψηλών συχνοτήτων. Για παράδειγμα, το Σχήμα 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 μικτού σήματος.
  • Αναλογικά μπλοκ: ADC 8-bit, δύο DAC, έξι συγκριτές, δύο φίλτρα, ION, τέσσερις ενσωματωμένοι ταλαντωτές.
  • Ψηφιακά μπλοκ: Έως 18 θύρες I/O, μήτρα διασύνδεσης και συνδυαστική λογική, προγραμματιζόμενα κυκλώματα καθυστέρησης, προγραμματιζόμενη γεννήτρια συναρτήσεων, έξι μετρητές 8 bit, τρεις μετρητές 14 bit, τρεις ταλαντωτές/συγκριτές PWM.
  • Διεπαφή επικοινωνίας: SPI;
  • Εύρος τάσης τροφοδοσίας: 1,8…5 V;
  • Εύρος θερμοκρασίας λειτουργίας: -40…85 °C;
  • Έκδοση πακέτου: 2 x 3 x 0,55 mm STQFN 20 ακίδων.

Χαρακτηριστικά γνωρίσματα:

  • Δημιουργία ημιτονοειδών κυμάτων με χρήση διαμόρφωσης πλάτους παλμού (PWM)
  • Συνδυασμός διαφορετικών σημάτων ημιτονοειδούς κύματος σε ένα σήμα DTMF
  • Πηγαίοι κώδικεςσε γλώσσες assembly και C
  • Σχεδιασμένο για να λειτουργεί με STK500
  • Μέγεθος κώδικα προγράμματος 260 byte / σταθερό μέγεθος πίνακα 128 byte
  • Χρησιμοποιώντας τη μέθοδο μετατροπής πίνακα

Εισαγωγή

Αυτό το έγγραφο περιγράφει μια τεχνική για τη δημιουργία σημάτων DTMF (σήματα πολλαπλών συχνοτήτων διπλού τόνου) με χρήση οποιουδήποτε μικροελεγκτή AVR που περιέχει μονάδα διαμόρφωσης πλάτους παλμού (PWM) και στατική RAM. Αυτά τα σήματα χρησιμοποιούνται ευρέως στην τηλεφωνία, όπου αναπαράγονται όταν πατάτε τα κουμπιά κλήσης μιας τηλεφωνικής συσκευής. Για να δημιουργήσετε σωστά ένα σήμα DTMF, πρέπει να τοποθετήσετε δύο συχνότητες μαζί: χαμηλή συχνότητα(fb) και υψηλής συχνότητας (fa). Ο Πίνακας 1 δείχνει πώς αναμειγνύονται διαφορετικές συχνότητες για την παραγωγή ήχων DTMF όταν πατηθούν διαφορετικά πλήκτρα.

Εικόνα 1 – Κύκλωμα γεννήτριας σήματος DTMF

Πίνακας 1 – Πίνακας δημιουργίας σήματος τόνου

fb/fa 1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 ΕΝΑ
770 Hz 4 5 6 σι
852 Hz 7 8 9 ντο
941 Hz * 0 # ρε

Οι σειρές του Πίνακα 1 δείχνουν τιμές χαμηλής συχνότητας και οι στήλες δείχνουν τιμές υψηλής συχνότητας. Για παράδειγμα, ο πίνακας δείχνει ότι όταν πατάτε το κουμπί "5", οι συχνότητες fb = 770 Hz και fa = 1336 Hz πρέπει να αναμειχθούν. Ως αποτέλεσμα της προσθήκης δύο ημιτονοειδών σημάτων διαφορετικών συχνοτήτων, σχηματίζεται ένα σήμα DTMF

πού είναι ο λόγος πλάτους Κ=Α β /Α ατα σήματα πηγής πρέπει να πληρούν την προϋπόθεση

Λειτουργική αρχή

εκτός γενικές πληροφορίεςΣχετικά με τη χρήση της διαμόρφωσης πλάτους παλμού, θα παρουσιαστεί παρακάτω πώς η διαμόρφωση πλάτους παλμού σας επιτρέπει να δημιουργείτε ημιτονοειδή σήματα. Η επόμενη παράγραφος περιγράφει τον τρόπο χρήσης της βασικής συχνότητας μεταγωγής για τη λήψη διαφορετικών συχνοτήτων. Κατόπιν εξέτασης θεωρητικές βάσειςΘα δοθεί μια περιγραφή της ίδιας της γεννήτριας σήματος DTMF. Δημιουργία ημιτονοειδών κυμάτων

Ανάλογα με την αναλογία της διάρκειας των υψηλών επιπέδων τάσης VH και χαμηλών VL, η μέση τιμή στην έξοδο PWM αλλάζει. Εάν η αναλογία μεταξύ των διάρκειων και των δύο επιπέδων παραμείνει σταθερή, ως αποτέλεσμα θα δημιουργηθεί ένα σταθερό επίπεδο τάσης VAV. Το σχήμα 2 δείχνει ένα διαμορφωμένο σήμα πλάτους παλμού.


Σχήμα 2 – Παραγωγή επιπέδου τάσης DC

Το επίπεδο τάσης καθορίζεται από την έκφραση:

(3)

Μπορεί να δημιουργηθεί ένα ημιτονοειδές σήμα υπό τον όρο ότι η μέση τιμή της τάσης που παράγεται από τη διαμόρφωση πλάτους παλμού αλλάζει κάθε κύκλο PWM. Η σχέση μεταξύ υψηλών και χαμηλών επιπέδων πρέπει να ρυθμιστεί σύμφωνα με το επίπεδο τάσης του ημιτονοειδούς κύματος την αντίστοιχη χρονική στιγμή. Το σχήμα 3 απεικονίζει αυτή τη διαδικασία. Τα δεδομένα πηγής για το PWM υπολογίζονται για κάθε περίοδο και καταγράφονται στον πίνακα μετατροπών (TC).

Το Σχήμα 3 απεικονίζει επίσης τη σχέση μεταξύ της συχνότητας του θεμελιώδους ημιτονοειδούς κύματος και του αριθμού των δειγμάτων. Όσο μεγαλύτερος είναι ο αριθμός των δειγμάτων (Nc), τόσο μεγαλύτερη είναι η ακρίβεια της μοντελοποίησης του προκύπτοντος σήματος:

(4)

Η συχνότητα PWM εξαρτάται από την ανάλυση PWM. Σε ανάλυση 8 bit, η τελική τιμή (πάνω από την μέτρηση) του χρονοδιακόπτη είναι 0xFF (255). Επειδή Ο χρονοδιακόπτης μετράει εμπρός και πίσω, λοιπόν δεδομένη αξίαπρέπει να διπλασιαστεί. Επομένως, η συχνότητα μεταγωγής μπορεί να υπολογιστεί με διαίρεση συχνότητα ρολογιούχρονοδιακόπτης f CK στα 510. Έτσι, με συχνότητα χρονοδιακόπτη 8 MHz, η προκύπτουσα συχνότητα PWM θα είναι 15,6 kHz.


Εικόνα 3 – Δημιουργία ημιτονοειδούς σήματος χρησιμοποιώντας PWM

Αλλαγή της συχνότητας ενός ημιτονοειδούς κύματος

Ας υποθέσουμε ότι τα ημιτονοειδή δείγματα διαβάζονται από τον πίνακα αναζήτησης όχι διαδοχικά, αλλά ένα κάθε φορά. Σε αυτή την περίπτωση, με τον ίδιο ρυθμό δειγματοληψίας, θα δημιουργηθεί ένα σήμα με διπλάσια συχνότητα (βλ. Εικόνα 4).


Εικόνα 4 – Διπλασιασμός της προκύπτουσας συχνότητας (XSW = 2)

Κατ' αναλογία, αν διαβάζετε όχι κάθε δεύτερη τιμή, αλλά κάθε τρίτη, τέταρτη, πέμπτη (αντίστοιχα, το πλάτος του βήματος είναι 3, 4, 5...) κ.λπ. είναι δυνατή η δημιουργία συχνοτήτων Nc στην περιοχή . Σημειώστε ότι για τις υψηλές συχνότητες η προκύπτουσα κυματομορφή δεν θα είναι ημιτονοειδής. Συμβολίζουμε το πλάτος του βήματος σύμφωνα με τον πίνακα μετατροπών ως XSW, Οπου

(5)

Ο υπολογισμός της τρέχουσας θέσης στο TP για την επόμενη περίοδο PWM (όταν ο χρονοδιακόπτης υπερχειλίζει) πραγματοποιείται χρησιμοποιώντας την έκφραση (6). Νέα τιμή στη θέση X LUTεξαρτάται από την προηγούμενη κατάστασή του X" LUTμε αυξανόμενο πλάτος βήματος XSW

(6)

Προσθήκη διαφορετικών συχνοτήτων για λήψη σήματος DTMF

Το σήμα DTMF μπορεί να δημιουργηθεί χρησιμοποιώντας τις εκφράσεις (1) και (2). Για απλότητα των αριθμητικών πράξεων, η τιμή του συντελεστή Κ λαμβάνεται ίση με 0,75 προκειμένου να αντικατασταθεί η αριθμητική πράξη με λογικές μετατοπίσεις. Λαμβάνοντας υπόψη την έκφραση (6), η τρέχουσα τιμή για τον έλεγχο PWM μπορεί να υπολογιστεί από την έκφραση:

και λαμβάνοντας υπόψη ότι X LUTa=Χ" Λούτα + XSWa ,X LUTb=X" LUTb + XSWb, ας το γράψουμε επιτέλους

Υλοποίηση γεννήτριας DTMF

ΣΕ αυτή η αίτησησυζητά την κατασκευή μιας γεννήτριας τόνου DTMF χρησιμοποιώντας μια έξοδο PWM 8-bit (OC1A) και έναν πίνακα με 128 δείγματα ημιτονικής συνάρτησης (Nc), καθένα από τα οποία καθορίζεται από 7 bit (n). Οι ακόλουθες εκφράσεις δείχνουν αυτήν την εξάρτηση και δείχνουν επίσης τον τρόπο υπολογισμού των καταχωρήσεων του πίνακα αναζήτησης:

(9)

Το πλεονέκτημα της χρήσης 7 bit είναι ότι το άθροισμα των τιμών του σήματος υψηλής και χαμηλής συχνότητας είναι ένα byte σε μέγεθος. Για την υποστήριξη του πλήρους συνόλου των τόνων DTMF, πρέπει να υπολογιστούν 8 τιμές για κάθε συχνότητα DTMF από τον Πίνακα 1 και να εισαχθούν στον πίνακα αναζήτησης.

Για να επιτευχθεί υψηλότερη ακρίβεια, εφαρμόστηκε η ακόλουθη λύση: οι τιμές που υπολογίζονται χρησιμοποιώντας την έκφραση 5 απαιτούν μόνο 5 byte. Για να χρησιμοποιήσετε και τα 8 byte, τα οποία θα μειώσουν τα σφάλματα στρογγυλοποίησης, αυτή η τιμή πολλαπλασιάζεται επί 8. Ο δείκτης στον πίνακα αναζήτησης γράφεται με τον ίδιο τρόπο. Αλλά σε αυτήν την περίπτωση χρειάζονται δύο byte για να αποθηκευτεί 8 φορές η τιμή. Αυτό σημαίνει ότι πρέπει να εκτελεστούν 3 μετατοπίσεις προς τα δεξιά και μια πράξη μέτρου Nc ρίζας (λογικός πολλαπλασιασμός με Nc-1) πριν χρησιμοποιηθούν αυτά τα byte ως δείκτης στις τιμές ημιτονοειδούς κύματος στο


Εικόνα 5 – Διάγραμμα μονάδας για σύνδεση στο STK500

Το σήμα PWM παράγεται στον ακροδέκτη OC1A (PD5). Ένα πρόσθετο φίλτρο εξόδου θα βοηθήσει να γίνει το σήμα πιο συμβατό με την ημιτονοειδή κυματομορφή. Όταν μειώνετε τη συχνότητα PWM, μπορεί να χρειαστεί να χρησιμοποιήσετε ένα φίλτρο με πιο απότομη απόκριση συχνότητας για να έχετε ένα καλό αποτέλεσμα.

Η σύνδεση του πληκτρολογίου φαίνεται στο Σχήμα 1. Η λειτουργία του πληκτρολογίου πρέπει να οργανωθεί με τέτοιο τρόπο ώστε να είναι δυνατός ο προσδιορισμός του πλήκτρου που πατήθηκε. Αυτό μπορεί να γίνει χρησιμοποιώντας τον ακόλουθο αλγόριθμο:

  1. Προσδιορισμός της συμβολοσειράς του πατημένου πλήκτρου
    • διαμορφώστε το σημειωματάριο χαμηλής τάξης της θύρας Β ως έξοδο και ορίστε το αρχείο καταγραφής. "0"
    • διαμορφώστε το υψηλό τετράδιο της θύρας Β ως είσοδο με τη σύνδεση αντιστάσεων έλξης
    • η γραμμή με το πατημένο κουμπί ορίζεται ως το ψηφίο της υψηλότερης τετραάδας με ημερολόγιο. "0"
  2. Καθορισμός της στήλης πατημένου πλήκτρου
    • διαμορφώστε το high notebook της θύρας Β ως έξοδο και ορίστε το αρχείο καταγραφής. "0"
    • διαμορφώστε το τετράδιο χαμηλής τάξης της θύρας Β ως είσοδο συνδέοντας αντιστάσεις έλξης
    • η στήλη με το πατημένο κουμπί ορίζεται ως το ψηφίο της τετραάδας χαμηλής τάξης με το ημερολόγιο. "0"

Σημείωση: Στο STK200, οι αντιστάσεις συνδέονται σε σειρά μεταξύ των ακροδεκτών σύνδεσης PORTB και των ακροδεκτών του μικροελεγκτή BP5, PB6 και PB7 (βλ. διάγραμμα STK200). Αυτό θα προκαλέσει προβλήματα εάν το πληκτρολόγιο είναι συνδεδεμένο στην υποδοχή PORTB.

Το σχήμα 6 απεικονίζει τη λειτουργία της υπορουτίνας για τον προσδιορισμό του πατημένου πλήκτρου. Ανάλογα με το πλήκτρο που πατάτε, προσδιορίζεται η διάρκεια του διαστήματος. Η ρουτίνα διακοπής χρησιμοποιεί αυτήν την τιμή για να υπολογίσει τις ρυθμίσεις PWM για τα δύο τονικά ημιτονικά κύματα DTM. Η διαδικασία χειρισμού διακοπών φαίνεται στα Σχήματα 7 και 8.

Αυτή η ρουτίνα υπολογίζει μια τιμή για σύγκριση με την έξοδο του χρονοδιακόπτη για την επόμενη περίοδο PWM. Η ρουτίνα διακοπής υπολογίζει πρώτα τη θέση της επόμενης τιμής δείγματος στον πίνακα αναζήτησης και διαβάζει την τιμή που είναι αποθηκευμένη εκεί.

Η θέση του δείγματος στον πίνακα αναζήτησης προσδιορίζεται από το πλάτος του παλμού και το πραγματικό πλάτος παλμού προσδιορίζεται από τη συχνότητα που δημιουργείται.

Η τελική τιμή που γράφεται στον καταχωρητή σύγκρισης χρονοδιακόπτη προσδιορίζεται χρησιμοποιώντας τον τύπο (7), ο οποίος λαμβάνει υπόψη τις τιμές δείγματος και των δύο συχνοτήτων DTMF.


Εικόνα 6 – Μπλοκ διάγραμμα του κύριου προγράμματος

Με την εισαγωγή του σύγχρονου ψηφιακό PBXΣτα τηλεφωνικά δίκτυα της Ρωσικής Ομοσπονδίας, εξαπλώνεται σταδιακά μια μέθοδος πολλαπλών συχνοτήτων μετάδοσης σημάτων κλήσης, που υποδηλώνεται με την αγγλική συντομογραφία DTMF (Dual-Tone Multiple-Frequency). Μερικές φορές ένας άλλος αγγλικός όρος χρησιμοποιείται για να ονομάσει αυτό το σύστημα μετάδοσης σήματος κλήσης - Touch-None (τονική κλήση). Αυτή η μέθοδος αναπτύχθηκε το 1960, αλλά η πραγματική της διάδοση ξεκίνησε τη δεκαετία του 80 με την εξάπλωση των ψηφιακών (ηλεκτρονικών) τηλεφωνικών κέντρων.

Με αυτή τη μέθοδο μετάδοσης σημάτων ελέγχου, κάθε ψηφιακό σήμα πολλαπλών συχνοτήτων αποτελείται από δύο τόνους σύμφωνα με τη Σύσταση ITU-T Q.23 "Τεχνικά χαρακτηριστικά τηλεφώνων αφής".

Οι συχνότητες DTMF δεν επιλέγονται αρμονικά. Αυτό σημαίνει ότι οι συχνότητες δεν έχουν ακέραιο διαιρέτη εκτός από το 1. Για παράδειγμα, οι συχνότητες 1200 και 1600 Hz είναι αρμονικές της συχνότητας 400 Hz (3x400=1200 και 4x400=1600), και οι συχνότητες 697 και 770 Hz είναι μη αρμονικές.

Κάθε σήμα περιέχει δύο συχνότητες: μία επιλεγμένη από την κάτω και η δεύτερη από την ανώτερη ομάδα συχνοτήτων.

Η αντιστοιχία μεταξύ των μεταδιδόμενων πληροφοριών και των συχνοτήτων δίνεται στον πίνακα στην πρόσοψη της εργαστηριακής εγκατάστασης.

Το επίπεδο μετάδοσης σε ένα πακέτο δύο συχνοτήτων, μετρημένο σε φορτίο 600 Ohms, είναι: για την ομάδα χαμηλότερης συχνότητας - μείον 6 dBmO ± 2 dB, για την ομάδα ανώτερης συχνότητας - μείον 3 dBmO ± 2 dB. Το επίπεδο συχνότητας της ανώτερης ομάδας συχνοτήτων στο συνολικό σήμα είναι 2 ±1 dB υψηλότερο από το επίπεδο συχνότητας της κατώτερης ομάδας. Το συνολικό επίπεδο όλων των στοιχείων συχνότητας υψηλότερης τάξης είναι τουλάχιστον 20 dB κάτω από το επίπεδο συχνότητας χαμηλότερης τάξης.

Οι συνθήκες υπό τις οποίες θα πρέπει να λαμβάνει χώρα κανονική λήψη σήματος είναι οι εξής: η παρουσία δύο συχνοτήτων στο σήμα, εκ των οποίων η μία επιλέγεται από την κάτω ομάδα και η άλλη από την ανώτερη. οι συχνότητες δεν διαφέρουν από τις ονομαστικές τους τιμές περισσότερο από 1,8%. το επίπεδο καθεμιάς από τις δύο συχνότητες κυμαίνεται από μείον 7 έως μείον 30 dBmO. η διαφορά μεταξύ των επιπέδων των δύο συχνοτήτων δεν υπερβαίνει τα 3 dB. η διάρκεια του σήματος συχνότητας είναι τουλάχιστον 40 ms.

Πριν ενεργοποιήσετε την εγκατάσταση, εκτελέστε τις ακόλουθες λειτουργίες:

Ρυθμίστε το διακόπτη S6 στην κάτω θέση.

Ρυθμίστε τον διακόπτη S13 στην επάνω θέση.

Ρυθμίστε τους διακόπτες των γεννητριών των ομάδων ανώτερης και χαμηλότερης συχνότητας στη θέση "Off".

Ρυθμίστε τον διακόπτη αναλογικού κλειδιού (AK) στη θέση «On».

Περιστρέψτε τα κουμπιά για τη ρύθμιση της τάσης εξόδου των γεννητριών και της αντίστασης R3 αριστερόστροφα μέχρι να σταματήσουν.

Προετοιμασία σήματος dtmf

1.1 Ενεργοποίηση εγκατάστασης.

1.2 Συνδέστε τον παλμογράφο στο σημείο δοκιμής KT3.

1.3 Ενεργοποιήστε τη γεννήτρια της ανώτερης ομάδας συχνοτήτων, πατώντας ένα από τα κουμπιά διακόπτη, επιλέξτε οποιαδήποτε από τις συχνότητες αυτής της ομάδας.

1.4 Περιστρέψτε το κουμπί ρύθμισης της τάσης εξόδου της γεννήτριας για να ρυθμίσετε το πλάτος του σήματος σε CT3 στα 0,5 Volt.

1.5 Αλλάξτε την είσοδο του παλμογράφου στο σημείο δοκιμής KT4. Επαναλάβετε τα βήματα 1.3, 1.4 για τη γεννήτρια της ομάδας χαμηλότερης συχνότητας, ρυθμίζοντας την τάση στο KT4 στα 0,5 V.

ΣΗΜΕΙΩΣΗ: Ως αποτέλεσμα των εργασιών που εκτελούνται, σήματα ίσου πλάτους από τις ομάδες ανώτερης και κατώτερης συχνότητας παρέχονται στην είσοδο του αθροιστή. Αφού ρυθμίσετε αυτά τα επίπεδα, κλειδώστε τα πόμολα για τη ρύθμιση της τάσης εξόδου των γεννητριών.

1.6 Αλλάξτε την είσοδο του παλμογράφου στο σημείο δοκιμής KT7. Περιστρέφοντας το κουμπί της αντίστασης (R3) για τη ρύθμιση της τάσης εξόδου του κλιματιστικού σήματος DTMF, ρυθμίστε την τάση στο CT7 στα 0,5 Volt.

ΣΗΜΕΙΩΣΗ: Ως αποτέλεσμα των εργασιών που εκτελούνται, παρέχεται ένα συνεχές δίτονο σήμα στην είσοδο του δέκτη και το σύμβολο που αντιστοιχεί στον συνδυασμό συχνοτήτων των γεννητριών της ανώτερης και κατώτερης ομάδας συχνότητας θα πρέπει να εμφανίζεται στην ένδειξη του λαμβανόμενου συμβόλου , σύμφωνα με τον πίνακα. Μια ένδειξη ενός ληφθέντος και αναγνωρισμένου σήματος είναι η παρουσία ενός σήματος στην έξοδο του δέκτη STD (λάμψη LED).

      Εναλλάσσοντας τις συχνότητες των ομάδων ανώτερης και κατώτερης συχνότητας, βεβαιωθείτε ότι οι συνδυασμοί αυτών των συχνοτήτων αντιστοιχούν στα λαμβανόμενα σύμβολα.