Πίνακας περιεχομένων:

Ρολόι και γεννήτρια παλμών Esp8266: 3 βήματα
Ρολόι και γεννήτρια παλμών Esp8266: 3 βήματα

Βίντεο: Ρολόι και γεννήτρια παλμών Esp8266: 3 βήματα

Βίντεο: Ρολόι και γεννήτρια παλμών Esp8266: 3 βήματα
Βίντεο: Μετάδοση σε Κανάλια Περιορισμένου Εύρους Ζώνης 2024, Ιούλιος
Anonim
Ρολόι και γεννήτρια παλμών Esp8266
Ρολόι και γεννήτρια παλμών Esp8266

Αυτό το εκπαιδευτικό είναι για ένα απλό κομμάτι εξοπλισμού δοκιμής. ρολόι και γεννήτρια παλμών.

Χρησιμοποιεί τη διεπαφή υλικού i2S σε ένα esp8266 για να δημιουργήσει ένα ρολόι δοκιμής ή μια ακολουθία παλμών. Αυτό διευκολύνει τη συναρμολόγηση καθώς δεν απαιτείται ειδικό υλικό για ένα βασικό σύστημα.

  • Δημιουργία ρολογιού από 2Hz έως 20MHz
  • Μπορεί να χρησιμοποιηθεί οποιαδήποτε συχνότητα
  • Αναζητά την καλύτερη αντιστοίχιση διαχωριστών ρολογιού και μήκος bit από το βασικό ρολόι 160MHz
  • Τυπικά καλύτερα από 0,1% ταιριάζουν για συχνότητες <100KHz
  • Επισήμανση επιλογής αναλογίας χώρου
  • Η ανοχή αντιστοίχισης συχνότητας μπορεί να χαλαρώσει για καλύτερο χειρισμό χώρου
  • Δημιουργία παλμών με βάση τους ορισμούς στα αρχεία
  • Web -based GUI που επιτρέπει τον έλεγχο από υπολογιστή, τηλέφωνο, tablet
  • Διαχείριση Wi -Fi για εύκολη αρχική ρύθμιση δρομολογητή
  • Ενημέρωση λογισμικού OTA
  • Χρησιμοποιεί ειδική βιβλιοθήκη I2s (i2sTXcircular) δίνοντας ευέλικτο έλεγχο

Βήμα 1: Υλικό

Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα

Έφτιαξα το δικό μου σε ένα τρισδιάστατο τυπωμένο περίβλημα που κρατούσε μια μπαταρία 18650 με φορτιστή USB, διακόπτη on/off, βύσμα κεφαλίδας 3 ακίδων για το σήμα εξόδου.

Το περίβλημα διαθέτει μια στενή υποδοχή για τη συγκράτηση των ηλεκτρονικών συσκευών δίπλα στην μπαταρία.

Το σήμα βγαίνει από τον ακροδέκτη GPIO3 (RX). Αυτό μπορεί να χρησιμοποιηθεί απευθείας, αλλά για υψηλότερη ικανότητα κίνησης επέλεξα να συμπεριλάβω ένα μικρό buffer χρησιμοποιώντας ένα 74LVC2G34. Παραλλήλισα τα δύο buffer σε αυτήν τη συσκευή για να προσφέρω ακόμα μεγαλύτερη ικανότητα οδήγησης.

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

Βήμα 2: Λογισμικό

Για να δημιουργήσετε και να ρυθμίσετε το λογισμικό, χρησιμοποιήστε τον κώδικα στη διεύθυνση

  • Εγκατάσταση i2sTX κυκλική βιβλιοθήκη (περιλαμβάνεται)
  • Εγκατάσταση βιβλιοθήκης BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Προσθήκη βιβλιοθήκης WifiManager
  • Επεξεργασία κωδικών πρόσβασης στο BaseConfig.h
  • Μεταγλώττιση και μεταφόρτωση σε περιβάλλον Arduino
  • Ρυθμίστε τη διαχείριση δικτύου wifi συνδέοντας το AP και περιηγηθείτε στο 192.168.4.1
  • μεταφορτώστε βασικό σύνολο αρχείων από το φάκελο δεδομένων χρησιμοποιώντας το STA ip/upload
  • μπορούν να γίνουν περαιτέρω μεταφορτώσεις χρησιμοποιώντας ip/edit - η κανονική διεπαφή είναι στο ip/

Πως δουλεύει

Η κυκλική βιβλιοθήκη i2sTX επιτρέπει τη δημιουργία μιας κυκλικής αλυσίδας buffer, τα οποία στη συνέχεια εξάγονται αυτόματα από το υλικό i2S στο esp8266 χρησιμοποιώντας DMA, έτσι ώστε να μην χρησιμοποιείται κανένα λογισμικό από την αρχή.

Το βασικό ρολόι της συσκευής είναι 160MHz το οποίο διαιρείται με ένα ζευγάρι διαχωριστικά. Το σήμα εξόδου καθορίζεται στη συνέχεια από τα δεδομένα που τοποθετούνται στα buffer, τα οποία εξάγονται από το διαιρεμένο ρολόι. Επιλέγοντας τους δύο διαιρέτες και χρησιμοποιώντας δυνητικά πολλαπλά δυαδικά ψηφία δεδομένων για να αντιπροσωπεύουν κάθε παλμό, τότε μια συχνότητα μπορεί να προσεγγιστεί αρκετά στενά. Επιτρέπει επίσης την αλλαγή του κύκλου λειτουργίας (λόγος σήματος/χώρου των παλμών ρολογιού).

Ο κώδικας javascript του προγράμματος περιήγησης προσπαθεί να βελτιστοποιήσει την επιλογή των παραμέτρων για να ταιριάξει με κάθε επιλεγμένη συχνότητα.

Παρόλο που ο κύριος σκοπός είναι η δημιουργία ρολογιών, είναι επίσης δυνατό να παραχθούν πιο πολύπλοκα παλμοί με τρένο τοποθετώντας έναν ορισμό σε ένα παλμικό αρχείο το οποίο στη συνέχεια ελέγχει τα δεδομένα που θα δημιουργηθούν και θα τεθούν στο κυκλικό buffer. Λεπτομέρειες περιλαμβάνονται στα παραδείγματα παλμών που περιλαμβάνονται.

Βήμα 3: Λειτουργία

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

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

Κάνοντας κλικ στη γραμμή Advanced μπορείτε να δείτε περισσότερες λεπτομέρειες.

Το ρολόι bit δείχνει το υπο-πολλαπλάσιο των 160MHz που χρησιμοποιείται.

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

Τα Div1 και Div2 δείχνουν τους δύο διαιρέτες που έχουν επιλεγεί για να παράγουν το πλησιέστερο ρολόι δυαδικών ψηφίων.

Κανονικά, τα δύο διαχωριστικά επιλέγονται για να δώσουν την πλησιέστερη αντιστοίχιση στην επιλεγμένη συχνότητα και να μεγιστοποιήσουν τον αριθμό των δυαδικών ψηφίων που χρησιμοποιούνται, κάτι που βοηθά στην παροχή περισσότερης ευελιξίας στο να επιτρέπονται διαφορετικοί κύκλοι λειτουργίας. Ωστόσο, μερικές φορές ο καλύτερος αγώνας οδηγεί σε χαμηλό αριθμό bit αφήνοντας λίγο χώρο για αλλαγή κύκλου εργασίας. Αλλάζοντας την τιμή % ανοχής, τα διαχωριστικά θα επιλεγούν για να δώσουν μια συχνότητα εντός αυτής της ανοχής, αλλά με δυνητικά περισσότερα bit δεδομένων που θα χρησιμοποιηθούν. Δοκιμάστε για παράδειγμα να ορίσετε την ανοχή στο 0,5 ή 1.

Μπορείτε επίσης να ορίσετε τον αριθμό Bits ανά λέξη για τον έλεγχο της επιλογής των παραμέτρων. 0 (προεπιλογή) σημαίνει επιλογή οποιωνδήποτε δυαδικών ψηφίων ανά λέξη. Ένας μόνο αριθμός (π.χ. 24) σημαίνει μόνο την επιλογή παραμέτρων που ταιριάζουν με αυτό. Μπορείτε επίσης να βάλετε ένα εύρος (π.χ. 24, 31). Αυτό λειτουργεί μόνο για στόχο Hz άνω των 10KHz, κάτω από αυτήν την κλιμάκωση θα ισχύσει έτσι ώστε ο αριθμός να πολλαπλασιαστεί.

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

Για λειτουργία παλμών επιλέξτε τους παλμούς TAB. Αυτό δείχνει τα διαθέσιμα αρχεία παλμών και ένα κουμπί δίπλα σε κάθε ένα το οποίο θα παράγει ένα παλμικό τραίνο με βάση τον ορισμό του. Μπορείτε να δείτε τα περιεχόμενα του αρχείου κάνοντας κλικ στον σύνδεσμό του. Μπορούν να μεταφορτωθούν περισσότερα παλμικά αρχεία χρησιμοποιώντας το πρόγραμμα περιήγησης ip/edit. Θα πρέπει να ξεκινούν με το όνομα παλμός.

Συνιστάται: