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

Παλαιόσκοπος διπλού ίχνους: 11 βήματα (με εικόνες)
Παλαιόσκοπος διπλού ίχνους: 11 βήματα (με εικόνες)

Βίντεο: Παλαιόσκοπος διπλού ίχνους: 11 βήματα (με εικόνες)

Βίντεο: Παλαιόσκοπος διπλού ίχνους: 11 βήματα (με εικόνες)
Βίντεο: Консультант от бога Tg: cadrolikk 2024, Ιούλιος
Anonim
Παλιοσκόπιο διπλού ίχνους
Παλιοσκόπιο διπλού ίχνους

Όταν έφτιαξα τον προηγούμενο μίνι παλμογράφο μου, ήθελα να δω πόσο καλά θα μπορούσα να κάνω τον μικρότερο ARM μικροελεγκτή μου έναν STM32F030 (F030) και έκανε καλή δουλειά.

Σε ένα από τα σχόλια προτάθηκε ότι ένα "Μπλε χάπι" με STM32F103 (F103) μπορεί να είναι καλύτερο, μικρότερο από τον πίνακα ανάπτυξης με το F030 και ενδεχομένως ακόμη φθηνότερο. Αλλά για το μίνι παλμογράφο δεν χρησιμοποίησα την πλακέτα ανάπτυξης αλλά το F030 σε μια ακόμη μικρότερη πλακέτα SMD-DIP, οπότε εκεί ένα μπλε χάπι σίγουρα δεν θα ήταν μικρότερο και αμφιβάλλω ότι θα ήταν και φθηνότερο.

Ο κωδικός είναι τώρα διαθέσιμος στο Gitlab:

gitlab.com/WilkoL/dual-trace-oscilloscope

Προμήθειες

Λίστα μερών: - πλαστικό κουτί - διάτρητη σανίδα (πρωτότυπη πλάκα διπλής όψης 8x12cm) - Μπλε χάπι - οθόνη ST7735s TFT - μπαταρία ιόντων λιθίου - HT7333 3.3V ρυθμιστής χαμηλής εγκατάλειψης - MCP6L92 dual opamp - TSSOP8 έως DIP8 σανίδα - κρύσταλλο 12 MHz (δεν απαιτείται) - περιστροφικός κωδικοποιητής συν κουμπί (2x) - powerwitch - ακροδέκτες μπανάνας (4x) - πλακέτα φορτιστή ιόντων λιθίου - αρκετές αντιστάσεις και πυκνωτές - νάιλον αποστάτες, παξιμάδια και βίδες

Εργαλεία:

- σταθμός συγκόλλησης - συγκόλληση 0,7mm - λίγο σύρμα - κοπτικό πλευρά - γυαλιά και λούπα - τρυπάνι - πολύμετρο - παλμογράφος - STLink -V2

Λογισμικό:

- STM32IDE - STM32CubeMX - Βοηθητικό πρόγραμμα STLink - Βιβλιοθήκη LowLayer - προσαρμοσμένη βιβλιοθήκη για ST7735s - Σημειωματάριο ++ - Kicad

Βήμα 1: Διαλειτουργική ή ταυτόχρονη λειτουργία

Διαλειτουργική ή ταυτόχρονη λειτουργία
Διαλειτουργική ή ταυτόχρονη λειτουργία
Διαλειτουργική ή ταυτόχρονη λειτουργία
Διαλειτουργική ή ταυτόχρονη λειτουργία

Μπλε χάπι

Αλλά η ιδέα ήταν εκεί και ήξερα ότι το F103 διαθέτει δύο ADC! Τι κι αν χρησιμοποιούσα αυτά τα δύο ADC μαζί σε λειτουργία "interleave", κάτι που έχω κάνει στο παρελθόν με το STM32F407 (F407). Η ταχύτητα δειγματοληψίας θα διπλασιαστεί. Συνδυάστε το με έναν ταχύτερο μικροελεγκτή και θα είναι ένας μεγάλος διάδοχος του μίνι παλμογράφου.

Λειτουργία interleave Παραδόξως τα ADC στο F103 είναι λιγότερο προηγμένα από αυτά στο F030 (και το F407), δεν μπορείτε να επιλέξετε την ανάλυση. Το πιο σημαντικό είναι ότι δεν μπορείτε επίσης να αλλάξετε το χρονοδιάγραμμα μεταξύ των δύο ADC. Τώρα, όταν χρησιμοποιείτε τη λειτουργία interleave συνήθως θέλετε τη δειγματοληψία όσο το δυνατόν γρηγορότερα με το συντομότερο χρονικό διάστημα μεταξύ οποιωνδήποτε δειγμάτων, αλλά με έναν παλμογράφο είναι απαραίτητο να αλλάξετε το χρονοδιάγραμμα. Maybeσως μπορεί ακόμα να γίνει, δεν είμαι επαγγελματίας σχεδιαστής παλμογράφων, αλλά έβαλα το σχέδιο να χρησιμοποιήσω τη λειτουργία interleave-mode.

Ταυτόχρονη λειτουργία

Αλλά, έχοντας δύο ADC δίνει πολλές περισσότερες επιλογές, τα δύο ADC μπορούν επίσης να ρυθμιστούν σε λειτουργία "κανονικής ταυτόχρονης". Τι θα λέγατε για έναν διπλό παλμογράφο ιχνών;

Έχοντας αποφασίσει να προσπαθήσω να φτιάξω έναν παλμογράφο διπλού ίχνους, ήθελα επίσης να έχω μεταβλητή ευαισθησία εισόδου, μια επιλογή που δεν είχα στο μίνι παλμογράφο. Αυτό σημαίνει εξασθενητή (και ενισχυτή) στις εισόδους. Και ίσως ήθελα ακόμα περισσότερο; Έφτιαξα λοιπόν μια μικρή λίστα με «ωραία».

ΕΠΙΘΥΜΙΑ ΛΙΣΤΑ

δύο κανάλια

μεταβλητή ευαισθησία και στα δύο κανάλια

ενεργοποίηση και στα δύο κανάλια

μεταβλητό επίπεδο ενεργοποίησης και στα δύο κανάλια

μεταβλητή μετατόπιση

μονή ισχύ μπαταρίας

χωράει στο ίδιο κουτί με το μίνι παλμογράφο

Βήμα 2: Πρωτοτυπία

Πρωτοτυπία
Πρωτοτυπία
Πρωτοτυπία
Πρωτοτυπία

Ως συνήθως, ξεκίνησα αυτό το έργο σε ένα breadboard. (Βλέπε εικόνα) Και πριν κολλήσω τα πάντα στον πίνακα, προσπαθώ να μάθω αν και πώς θα ταιριάζει στο επιλεγμένο πλαίσιο έργου. Ταιριάζει, αλλά μόνο. Ορισμένα μέρη είναι κρυμμένα κάτω από την οθόνη, άλλα κάτω από το μπλε χάπι. Και πάλι, όπως για τα περισσότερα από τα έργα μου, αυτό είναι ένα μόνο έργο και δεν θα σχεδιάσω ένα PCB γι 'αυτό.

Βήμα 3: Εξασθενητές

Εξασθενητές
Εξασθενητές

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

Μετά σκέφτηκα "αναλογικούς διακόπτες", με αυτούς που μπορώ να φτιάξω μόνος μου ένα ψηφιακό ποτενσιόμετρο. Στη συλλογή ανταλλακτικών μου βρήκα το CD4066 με τέσσερις αναλογικούς διακόπτες. Η ιδέα είναι να γίνει η αντίσταση ανάδρασης μιας μεταβλητής opamp μετακινώντας και βγάζοντας αντιστάσεις παράλληλα με την αντίσταση ανάδρασης.

Λειτουργεί πολύ καλά, αλλά έχοντας μόλις 4 διακόπτες στο 4066 και έχοντας 2 κανάλια δεν ήταν δυνατό να γίνουν περισσότερα από τρία επίπεδα ευαισθησίας. Επέλεξα 500mV, 1V και 2V ανά διαίρεση καθώς αυτά είναι τα επίπεδα τάσης που χρησιμοποιώ περισσότερο. Η οθόνη χωρίζεται σε 6 τμήματα, έτσι ώστε να είναι για τα εύρη -1,5V έως +1,5V, -3V έως +3V και -6V έως 6V.

Με το "εικονικό έδαφος" μπορείτε να μετακινήσετε αυτά τα εύρη πάνω-κάτω, ώστε ακόμη και 0v έως +12V να είναι δυνατά.

Βήμα 4: Εικονικό έδαφος

Εικονικό έδαφος
Εικονικό έδαφος
Εικονικό έδαφος
Εικονικό έδαφος

Επειδή το παλμογράφο χρησιμοποιεί μια ενιαία ράγα ισχύος (3.3V), τα opamps χρειάζονται ένα εικονικό επίπεδο εδάφους, διαφορετικά δεν θα λειτουργήσουν. Αυτό το εικονικό επίπεδο εδάφους γίνεται με το PWM σε ένα κανάλι εξόδου του TIM4, ο κύκλος λειτουργίας του αλλάζει από μόλις λίγα τοις εκατό σε σχεδόν εκατό τοις εκατό. Ένα φίλτρο χαμηλής διέλευσης με αντίσταση 1k και πυκνωτή 10uF το μετατρέπει σε τάση (σχεδόν) 0V έως (σχεδόν) 3.3V. Η συχνότητα του τετραγωνικού κύματος είναι λίγο κάτω από 100kHz, οπότε το απλό φίλτρο χαμηλής διέλευσης είναι αρκετά καλό.

Σχεδόν αργά στο κτίριο αυτού του παλμογράφου κατάλαβα ότι δεν μπορείτε να έχετε δύο ξεχωριστές αντισταθμίσεις για τα κανάλια. Αυτό οφείλεται στο γεγονός ότι με ένα μόνο τροφοδοτικό η στάθμη εισόδου-εδάφους πρέπει να είναι ξεχωριστή από την πραγματική στάθμη εδάφους των opamps. Και τα δύο κανάλια κινούνται με τον ίδιο τρόπο όπως αλλάζετε τη ρύθμιση GND.

Βήμα 5: Περιστροφικοί κωδικοποιητές και εντοπισμός σφαλμάτων

Περιστροφικοί κωδικοποιητές και εντοπισμός σφαλμάτων
Περιστροφικοί κωδικοποιητές και εντοπισμός σφαλμάτων
Περιστροφικοί κωδικοποιητές και εντοπισμός σφαλμάτων
Περιστροφικοί κωδικοποιητές και εντοπισμός σφαλμάτων

Στο μίνι παλμογράφο χρησιμοποίησα μόνο έναν περιστροφικό κωδικοποιητή για όλες τις λειτουργίες. Αυτό θα έκανε ένα διπλό παλμογράφο πολύ δύσκολο στη χρήση, οπότε εδώ χρειάζομαι δύο. Ο ένας κωδικοποιητής για τους εξασθενητές και το εικονικό επίπεδο εδάφους και ο άλλος κωδικοποιητής για τη χρονική βάση και την ενεργοποίηση. Δυστυχώς, όπως και στο άλλο μου έργο, αυτοί οι περιστροφικοί κωδικοποιητές είναι πολύ "θορυβώδεις". Είναι τόσο κακοί που απλά δεν θα μπορούσαν να λειτουργήσουν με χρονοδιακόπτες σε "κωδικοποιητή", τον τυπικό τρόπο ανάγνωσής τους. Έπρεπε να κάνω έναν μηχανισμό αποσύνδεσης με χρονοδιακόπτη TIM2, ελέγχοντας τους κωδικοποιητές κάθε 100us. Αυτός ο χρονοδιακόπτης ξεκινά με τη σειρά του (μόνο) όταν υπάρχει κάποια δραστηριότητα στους κωδικοποιητές, αυτό ελέγχεται με τη λειτουργία EXTI στις θύρες εισόδου. Τώρα οι κωδικοποιητές λειτουργούν καλά.

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

Βήμα 6: Οθόνη και χρονική βάση

Οθόνη και Timebase
Οθόνη και Timebase

Η οθόνη έχει ανάλυση 160 x 128 εικονοστοιχεία, οπότε χρειάζονται 160 δείγματα για ένα screenfull, κατάφερα να επιταχύνω τους ADC για να κάνω 1,6 εκατομμύρια δείγματα ανά δευτερόλεπτο και αυτό, με τον υπερ -υπερφορτωμένο μικροελεγκτή (περισσότερα για αυτό αργότερα), δίνει ελάχιστη χρονική βάση 20us ανά διαίρεση (100us ανά οθόνη). Έτσι μια κυματομορφή 10kHz θα γεμίσει ολόκληρη την οθόνη.

Αυτό είναι μόνο δύο φορές πιο γρήγορα από ένα μίνι παλμογράφο που έφτιαξα πριν. Λοιπόν, τώρα είναι με δύο κανάλια:-).

Όπως είπαμε, η οθόνη έχει πλάτος 160 pixel, οπότε χρειάζονται μόνο 160 τιμές ανά οθόνη. Αλλά όλα τα ρυθμιστικά στην πραγματικότητα περιέχουν 320 δείγματα. Έτσι, το DMA αποθηκεύει 320 τιμές πριν ενεργοποιήσει μια πλήρη διακοπή μετάδοσης (TC). Αυτό συμβαίνει επειδή η ενεργοποίηση γίνεται στο λογισμικό. Η δειγματοληψία ξεκινά σε μια τυχαία στιγμή, επομένως είναι πολύ απίθανο η πρώτη τιμή στο buffer να είναι το σημείο όπου πρέπει να είναι το σημείο ενεργοποίησης.

Επομένως, το σημείο ενεργοποίησης εντοπίζεται διαβάζοντας το trace_x_buffer, εάν η τιμή είναι στην επιθυμητή τιμή ενεργοποίησης en εάν η προηγούμενη τιμή είναι ακριβώς κάτω από αυτό, το σημείο_ ενεργοποίησης βρίσκεται. Αυτό λειτουργεί αρκετά καλά, αλλά χρειάζεστε μεγαλύτερο buffer από το πραγματικό μέγεθος οθόνης.

Αυτός είναι και ο λόγος που ο ρυθμός ανανέωσης στις χαμηλότερες ρυθμίσεις χρονικής βάσης είναι πιο αργός από όσο θα περίμενε κανείς. Όταν χρησιμοποιείτε τη ρύθμιση 200ms/div, μια οθόνη γεμάτη δεδομένα είναι 1 δευτερόλεπτο, αλλά επειδή πραγματοποιείται διπλός αριθμός μετατροπών, αυτό διαρκεί 2 δευτερόλεπτα. Στις ταχύτερες ρυθμίσεις χρονικής βάσης δεν θα το παρατηρήσετε τόσο πολύ.

Το TIM3 χρησιμοποιείται για τη δημιουργία της χρονικής βάσης. Ενεργοποιεί τα ADC με την ταχύτητα που απαιτείται από την επιλεγμένη ρύθμιση ώρας. Το ρολόι του TIM3 είναι 120MHz (βλέπε OVERCLOCKING), ο μέγιστος αριθμός στον οποίο μετρά (ARR) καθορίζει τον τρόπο με τον οποίο υπερχειλίζει ή, στη γλώσσα ST ενημερώνεται. Μέσω του TRGO αυτοί οι παλμοί ενημέρωσης ενεργοποιούν τα ADC. Η χαμηλότερη συχνότητα που παράγει είναι 160 Hz, η υψηλότερη είναι 1,6MHz.

Βήμα 7: ADC και DMA

ADC και DMA
ADC και DMA

Οι δύο ADC μετατρέπουν την τάση στις εισόδους τους ταυτόχρονα, αποθηκεύουν αυτές τις δύο τιμές των 12 bit σε μία μόνο μεταβλητή 32bit. Έτσι, το DMA έχει μόνο μία μεταβλητή ανά (διπλή) μετατροπή σε μεταφορά.

Για να χρησιμοποιήσετε αυτές τις τιμές, είναι επομένως απαραίτητο να τις χωρίσετε στις δύο τιμές, ώστε να μπορούν να χρησιμοποιηθούν για την εμφάνιση των δύο ιχνών. Όπως είπαμε, τα ADC στο F103 δεν μπορούν να ρυθμιστούν σε άλλες αναλύσεις πέραν των 12 bit. Είναι πάντα σε λειτουργία 12 bit και έτσι οι μετατροπές λαμβάνουν πάντα τον ίδιο αριθμό παλμών ρολογιού. Ακόμα, με το overclocking των ADC, μπορούν να γίνουν 1,6 δείγματα MS ανά δευτερόλεπτο (βλ. Extra: Overclocking).

Η αναφορά των ADC είναι Vdd, η ράγα 3.3V. Για να το μετατρέψω σε πιο βολικές τιμές (ανά διαίρεση) έχω υπολογίσει τις τιμές των εξασθενητών, επειδή δεν έχω τις ακριβείς τιμές αντίστασης που προκύπτουν από αυτούς τους υπολογισμούς, γίνονται ορισμένες διορθώσεις στο λογισμικό.

Σε αυτό το έργο χρησιμοποιώ το DMA σε "κανονική λειτουργία". Σε αυτήν τη λειτουργία, το DMA σταματά τη μεταφορά δεδομένων (από de ADC στη μνήμη) όταν μεταφέρεται ο αριθμός των λέξεων (ή μισών λέξεων ή byte). Στην άλλη δυνατή λειτουργία, "κυκλική λειτουργία" το DMA επαναρυθμίζεται και συνεχίζει τη μεταφορά δεδομένων χωρίς διακοπή. Αυτό δεν λειτούργησε με το F103, είναι τόσο γρήγορο που αντικαθιστά τα δεδομένα στο adc_buffer πριν μπορέσει να το διαβάσει το υπόλοιπο πρόγραμμα. Τώρα λοιπόν η διαδικασία έχει ως εξής:

- ρυθμίστε το DMA στον αριθμό των δεδομένων που θα μεταφερθούν και ενεργοποιήστε το DMA

- ξεκινήστε την ενεργοποίηση των ADC, αυτά θα ζητήσουν μεταφορές DMA μετά από κάθε (διπλή) μετατροπή

- μετά τη μεταφορά του καθορισμένου αριθμού μετατροπών, το DMA σταματά

- επίσης να σταματήσει αμέσως η ενεργοποίηση των ADC

- κάνει όλες τις απαραίτητες χειρισμούς στα δεδομένα στη μνήμη

- εμφάνιση ιχνών στην οθόνη

- ξεκινήστε ξανά τη διαδικασία

Βήμα 8: Διεπαφή χρήστη

Διεπαφή χρήστη
Διεπαφή χρήστη

Μια οθόνη 160 x 128 pixel δεν είναι πολύ μεγάλη και θέλω να τη χρησιμοποιήσω όσο το δυνατόν περισσότερο. Έτσι, δεν υπάρχει μέρος του που να προορίζεται για τις τρέχουσες ρυθμίσεις. Στις τελευταίες σειρές εμφανίζεται η κάθετη ευαισθησία, η χρονική βάση, το επίπεδο σκανδάλης και το κανάλι σκανδάλης, αλλά όταν τα σήματα είναι αρκετά μεγάλα, θα εμφανίζονται στην ίδια περιοχή. Η επιλογή που είναι ενεργή εμφανίζεται με κίτρινο χρώμα, η υπόλοιπη με λευκό χρώμα.

Βήμα 9: Δημιουργία και πιθανές βελτιώσεις

Δόμηση και πιθανές βελτιώσεις
Δόμηση και πιθανές βελτιώσεις
Δόμηση και πιθανές βελτιώσεις
Δόμηση και πιθανές βελτιώσεις
Δόμηση και πιθανές βελτιώσεις
Δόμηση και πιθανές βελτιώσεις
Δόμηση και πιθανές βελτιώσεις
Δόμηση και πιθανές βελτιώσεις

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

Το κουτί του έργου είναι πολύ μικρό για να χωρέσει τα πάντα με άνεση, αυτό έχει ως αποτέλεσμα να χρειαστεί να τοποθετήσετε εξαρτήματα κάτω από το μπλε χάπι. Για να γίνει αυτό δυνατό, το μπλε χάπι δεν θα μπορούσε να κολληθεί απευθείας στον "κεντρικό πίνακα". Και επειδή αυτό το έκανε πολύ ψηλά, έπρεπε να αφαιρέσω πολλά μέρη από το μπλε χάπι, όπως τα άλματα για την επιλογή BOOT0 και BOOT1 (πράγματα που δεν χρησιμοποιώ ποτέ ούτως ή άλλως) και έπρεπε ακόμη να μετακινήσω το κρύσταλλο από την κορυφή στο κάτω μέρος το pcb

Έκανα τη ζωή πιο δύσκολη χρησιμοποιώντας συνδετήρες μπανάνας αντί για συνδέσμους BNC ή SMA, αυτό σήμαινε ότι ένα μεγάλο μέρος της σανίδας ήταν μια «περιοχή που δεν έπρεπε», για να το καταλάβω αυτό, έβαλα καπτόν ταινία πάνω της για να αποτρέψω τον εαυτό μου από την τοποθέτηση εξαρτημάτων σε αυτό.

Ένα άλλο πρόβλημα με την τοποθέτηση όλων σε ένα τόσο μικρό κουτί έργου είναι ότι τα αναλογικά και ψηφιακά κυκλώματα είναι πολύ κοντά μεταξύ τους. Μπορείτε να δείτε ότι υπάρχει πολύς θόρυβος ορατός και στα δύο ίχνη. Αυτό δεν το είχα καν στο ψωμί! Μετακινώντας τα καλώδια τροφοδοσίας για αναλογικά και ψηφιακά κυκλώματα όσο το δυνατόν πιο μακριά, έγινε μια μικρή βελτίωση, αλλά όχι αρκετή για να μου αρέσει. Η μείωση όλων των τιμών αντίστασης στα αναλογικά κυκλώματα ακόμη περισσότερο από ό, τι εγώ (η αντίσταση εισόδου είναι 100kOhm αντί 1MOhm) δεν βοήθησε. Υποψιάζομαι ότι η ενεργοποίηση της ταχύτερης ρύθμισης χρονικής βάσης (20us/div), η οποία δεν είναι μεγάλη, θα βελτιωθεί επίσης με λιγότερο θόρυβο στα σήματα.

Εάν κάνετε αυτό το σχέδιο σε ένα "πραγματικό" pcb, με όλα τα μέρη smd και ξεχωριστά στρώματα για αναλογικό, ψηφιακό και ισχύ (αυτό είναι 4 επίπεδα!) Πιθανότατα θα λειτουργήσει πολύ καλά. Θα είναι πολύ μικρότερο, δεν θα χρησιμοποιήσει ένα πλήρες μπλε χάπι αλλά μόνο το F103 και αυτό θα επιτρέψει την παροχή ξεχωριστού (καθαρού) αναλογικού Vdda για τους ADC.

Ως τελευταία πινελιά αποφάσισα να ψεκάσω το κουτί μαύρο, κάνει μια αλλαγή από όλα τα μπεζ κουτιά που έχει.

Βήμα 10: Ο κώδικας και ένα σύντομο βίντεο

Βήμα 11: EXTRA: Overclocking

ΕΞΤΡΑ: Overclocking
ΕΞΤΡΑ: Overclocking

Όπως ακριβώς έκανα με το F03, ήθελα να δω πόσο καλά μπορεί να γίνει overclocking ενός F103. Οι προδιαγραφές για αυτόν τον μικροελεγκτή ισχυρίζονται ότι η μέγιστη ταχύτητα ρολογιού δεν πρέπει να υπερβαίνει τα 72MHz (που φυσικά είναι ήδη ταχύτερη από το F030), αλλά είχα διαβάσει σε πολλά ιστολόγια ότι το overclocking ήταν εύκολο, οπότε γιατί όχι;

Το Blue Pill παρέχεται με κρύσταλλο 8MHz, το PLL το πολλαπλασιάζει με συντελεστή 9 έως 72MHz. Το PLL μπορεί να αυξηθεί έως και 16 δίνοντας ένα ρολόι 128MHz. Αυτό δεν ήταν καθόλου πρόβλημα για το Blue Pill μου, στην πραγματικότητα, όλα τα Blue Pills μου λειτουργούν χωρίς κανένα πρόβλημα στα 128MHz.

Τώρα όμως ήθελα να μάθω ποιο είναι το πραγματικό όριο. Έτσι αφαίρεσα τον κρύσταλλο 8MHz και τον αντικατέστησα με έναν από τους 12MHz. Και πάλι αύξησα τον πολλαπλασιαστή PLL μέχρι που ο μικροελεγκτής τελικά εγκατέλειψε. Wasταν στα 168MHz! Στα 156MHz εξακολουθούσε να λειτουργεί καλά. Το άφησα να λειτουργεί με αυτήν την ταχύτητα για ώρες και δεν το είδα ποτέ να συντρίβεται. Σε αυτό το παλμογράφο καταλήξαμε στα 120MHz, μια ταχύτητα που μπορεί να επιλεγεί με ένα κρύσταλλο 12MHz και PLL στα 10, καθώς και με ένα κρύσταλλο 8 MHz και το PLL στις 15. (βλ. SystemClock_Config στο main.c)

Τα ADC τώρα λειτουργούν επίσης γρηγορότερα, τα έχω στα 30MHz (αντί για 14), εξακολουθούσαν να λειτουργούν καλά στα 60MHz, η STMicroelectronics κάνει ωραίο υλικό!

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

Αλλά καθώς δεν χρησιμοποιώ τον μικροελεγκτή στους -40 Κελσίου, +85 Κελσίου, σε μόλις 2,0 Volt ή 3,6 Volt νομίζω ότι είναι ασφαλές να το overclock. ΜΗΝ το κάνετε αυτό όταν σκοπεύετε να πουλήσετε μια συσκευή με τους μικροελεγκτές τους, ποτέ δεν γνωρίζετε πού θα χρησιμοποιηθούν.

Συνιστάται: