- Σημαντικοί παράγοντες που πρέπει να λάβετε υπόψη κατά την επιλογή ενός MCU
- 1. Εφαρμογή
- 2. Επιλέξτε Αρχιτεκτονική μικροελεγκτή
- 3. Μέγεθος bit
- 4. Διεπαφές για επικοινωνία
- 5. Τάση λειτουργίας
- 6. Αριθμός καρφιτσών εισόδου / εξόδου
- 7. Απαιτήσεις μνήμης
- 8. Μέγεθος συσκευασίας
- 9. Κατανάλωση ισχύος
- 10. Υποστήριξη για μικροελεγκτή
Ένας μικροελεγκτής είναι ουσιαστικά ένας μικρός υπολογιστής σε ένα τσιπ, όπως οποιοσδήποτε υπολογιστής, έχει μνήμη και συνήθως προγραμματίζεται σε ενσωματωμένα συστήματα για τη λήψη εισόδων, την εκτέλεση υπολογισμών και την παραγωγή εξόδου. Σε αντίθεση με έναν επεξεργαστή, ενσωματώνει τη μνήμη, την CPU, I / O και άλλα περιφερειακά σε ένα μόνο τσιπ, όπως φαίνεται στην παρακάτω διάταξη.
Η επιλογή του σωστού μικροελεγκτή για ένα έργο είναι πάντα μια περίπλοκη απόφαση που πρέπει να ληφθεί επειδή είναι η καρδιά του έργου και η επιτυχία ή η αποτυχία του συστήματος εξαρτάται από αυτό.
Υπάρχουν χιλιάδες διαφορετικοί τύποι μικροελεγκτών, καθένας με μοναδικό χαρακτηριστικό ή ανταγωνιστικό πλεονέκτημα από τον παράγοντα φόρμας, το μέγεθος του πακέτου, τη χωρητικότητα της μνήμης RAM και ROM που τα καθιστά κατάλληλα για ορισμένες εφαρμογές και ακατάλληλα για ορισμένες εφαρμογές. Έτσι συχνά, για να αποφευχθεί ο πονοκέφαλος που έρχεται με την επιλογή του σωστού, οι σχεδιαστές επιλέγουν μικροελεγκτές που είναι εξοικειωμένοι, οι οποίοι κατά καιρούς, ακόμη και δεν ικανοποιούν πραγματικά τις απαιτήσεις του έργου. Το σημερινό άρθρο θα ρίξει μια ματιά σε ορισμένους από τους σημαντικούς παράγοντες που πρέπει να εξετάσουμε κατά την επιλογή ενός μικροελεγκτή, όπως η Αρχιτεκτονική, η μνήμη, οι διασυνδέσεις και το I / O real estate μεταξύ άλλων.
Σημαντικοί παράγοντες που πρέπει να λάβετε υπόψη κατά την επιλογή ενός MCU
Τα παρακάτω είναι μερικοί από τους σημαντικούς παράγοντες που πρέπει να εξετάσετε κατά την επιλογή ενός μικροελεγκτή, όπως η Αρχιτεκτονική, η μνήμη, οι διασυνδέσεις και το I / O real estate μεταξύ άλλων.
1. Εφαρμογή
Το πρώτο πράγμα που πρέπει να κάνετε πριν επιλέξετε έναν μικροελεγκτή για οποιοδήποτε έργο είναι να αναπτύξετε μια βαθιά κατανόηση της εργασίας για την οποία πρέπει να αναπτυχθεί η λύση που βασίζεται στον μικροελεγκτή. Ένα φύλλο τεχνικής προδιαγραφής αναπτύσσεται πάντα κατά τη διάρκεια αυτής της διαδικασίας και θα βοηθήσει στον προσδιορισμό των συγκεκριμένων χαρακτηριστικών που ο μικροελεγκτής θα χρησιμοποιηθεί για το έργο. Ένα καλό παράδειγμα του τρόπου με τον οποίο η εφαρμογή / χρήση της συσκευής καθορίζει τον μικροελεγκτή που θα χρησιμοποιηθεί παρουσιάζεται όταν ένας μικροελεγκτής με μονάδα κινητής υποδιαστολής υιοθετείται για το σχεδιασμό μιας συσκευής που θα χρησιμοποιηθεί για την εκτέλεση λειτουργιών που περιλαμβάνουν πολλούς δεκαδικούς αριθμούς.
2. Επιλέξτε Αρχιτεκτονική μικροελεγκτή
Η Αρχιτεκτονική ενός μικροελεγκτή αναφέρεται στον τρόπο δομής του μικροελεγκτή εσωτερικά. Υπάρχουν δύο μεγάλες αρχιτεκτονικές που χρησιμοποιούνται για το σχεδιασμό μικροελεγκτών.
- Αρχιτεκτονική Von Neumann
- Αρχιτεκτονική του Χάρβαρντ
Η αρχιτεκτονική von Neumann διαθέτει τη χρήση του ίδιου διαύλου για τη μετάδοση δεδομένων και τη λήψη σετ εντολών από τη μνήμη. Επομένως, η μεταφορά δεδομένων και η λήψη εντολών δεν μπορούν να πραγματοποιηθούν ταυτόχρονα και συνήθως προγραμματίζονται. Η αρχιτεκτονική του Χάρβαρντ, από την άλλη πλευρά, διαθέτει τη χρήση ξεχωριστών λεωφορείων για τη μετάδοση δεδομένων και τη λήψη οδηγιών.
Κάθε μία από αυτές τις αρχιτεκτονικές έρχεται με το δικό της πλεονέκτημα και μειονέκτημα. Η αρχιτεκτονική του Χάρβαρντ, για παράδειγμα, είναι υπολογιστές RISC (Σετ μειωμένων οδηγιών) και έτσι μπορούν να εκτελέσουν περισσότερες οδηγίες με χαμηλότερους κύκλους από τους υπολογιστές CISC (Complex Instruction Set) που βασίζονται στην αρχιτεκτονική von Neumann. Ένα σημαντικό πλεονέκτημα των μικροελεγκτών που βασίζονται στο Χάρβαρντ (RISC) είναι το γεγονός ότι η ύπαρξη διαφορετικών διαύλων για σύνολο δεδομένων και οδηγιών επιτρέπει τον διαχωρισμό της πρόσβασης στη μνήμη και των λειτουργιών της μονάδας αριθμητικής και λογικής (ALU). Αυτό μειώνει την ποσότητα υπολογιστικής ισχύος που απαιτείται από τον μικροελεγκτή και οδηγεί σε μειωμένο κόστος, χαμηλή κατανάλωση ενέργειας και απαγωγή θερμότητας που τα καθιστά ιδανικά για το σχεδιασμό συσκευών που λειτουργούν με μπαταρία. Πολλοί ARM,Οι μικροελεγκτές AVR και PIC βασίζονται στην αρχιτεκτονική του Χάρβαρντ. Παράδειγμα μικροελεγκτών που χρησιμοποιούν την αρχιτεκτονική Von Neumann περιλαμβάνουν μεταξύ άλλων 8051, zilog Z80
3. Μέγεθος bit
Ένας μικροελεγκτής μπορεί να είναι είτε 8bits, 16bits, 32bits και 64bits που είναι το τρέχον μέγιστο μέγεθος bit που κατέχει ένας μικροελεγκτής. Το μέγεθος bit ενός μικροελεγκτή αντιπροσωπεύει το μέγεθος μιας «λέξης» που χρησιμοποιείται στο σύνολο εντολών του μικροελεγκτή. Αυτό σημαίνει ότι σε έναν μικροελεγκτή 8-bit, η αναπαράσταση κάθε εντολής, διεύθυνσης, μεταβλητής ή καταχωρητή διαρκεί 8-bit. Μία από τις βασικές επιπτώσεις του μεγέθους bit είναι η χωρητικότητα μνήμης του μικροελεγκτή. Σε έναν μικροελεγκτή 8-bit, για παράδειγμα, υπάρχουν 255 μοναδικές θέσεις μνήμης όπως υπαγορεύονται από το μέγεθος bit, ενώ σε έναν μικροελεγκτή 32-bit, υπάρχουν 4.294.967.295 μοναδικές θέσεις μνήμης, που σημαίνει ότι όσο υψηλότερο είναι το μέγεθος bit, τόσο υψηλότερος είναι ο αριθμός των μοναδικών διαθέσιμες θέσεις μνήμης για χρήση στον μικροελεγκτή. Ωστόσο, οι κατασκευαστές αυτές τις μέρες,αναπτύσσουν τρόπους για να παρέχουν πρόσβαση σε περισσότερη θέση μνήμης σε μικρότερους μικροελεγκτές μεγέθους bit μέσω τηλεειδοποίησης και διεύθυνσης, έτσι ώστε ο μικροελεγκτής 8bits να γίνεται 16bits διευθυνσιοδοτούμενος, αλλά αυτό τείνει να περιπλέκει τον προγραμματισμό για τον ενσωματωμένο προγραμματιστή λογισμικού.
Η επίδραση του μεγέθους bit είναι πιθανώς πιο σημαντική κατά την ανάπτυξη του υλικολογισμικού για τον μικροελεγκτή ειδικά για αριθμητικές λειτουργίες. Οι διάφοροι τύποι δεδομένων έχουν διαφορετικό μέγεθος μνήμης για διαφορετικό μέγεθος bit μικροελεγκτή. Για παράδειγμα, η χρήση μιας μεταβλητής που δηλώνεται ως ακυρωμένος χωρίς υπογραφή που λόγω του τύπου δεδομένων θα απαιτήσει 16 bit μνήμης, σε κωδικούς που θα εκτελεστούν σε έναν μικροελεγκτή 8bit θα οδηγήσει στην απώλεια του πιο σημαντικού byte στα δεδομένα που κατά καιρούς μπορεί να είναι πολύ σημαντικό για την επίτευξη της εργασίας για την οποία σχεδιάστηκε η συσκευή στην οποία πρόκειται να χρησιμοποιηθεί ο μικροελεγκτής.
Είναι επομένως σημαντικό να επιλέξετε έναν μικροελεγκτή με μέγεθος bit που να ταιριάζει με αυτό των προς επεξεργασία δεδομένων.
Είναι μάλλον σημαντικό να σημειωθεί ότι οι περισσότερες εφαρμογές αυτές τις μέρες κυμαίνονται μεταξύ 32 bit και 16 bit μικροελεγκτών λόγω των τεχνολογικών εξελίξεων που ενσωματώνονται σε αυτά τα τσιπ.
4. Διεπαφές για επικοινωνία
Η επικοινωνία μεταξύ του μικροελεγκτή και ορισμένων από τους αισθητήρες και ενεργοποιητές που θα χρησιμοποιηθούν για το έργο ενδέχεται να απαιτεί τη χρήση διεπαφής μεταξύ του μικροελεγκτή και του αισθητήρα ή του ενεργοποιητή για τη διευκόλυνση των επικοινωνιών. Για παράδειγμα, για να συνδέσετε έναν αναλογικό αισθητήρα σε έναν μικροελεγκτή, απαιτείται ο μικροελεγκτής να έχει αρκετό ADC (αναλογικός σε ψηφιακό μετατροπέα) ή όπως ανέφερα προηγουμένως, η μεταβολή της ταχύτητας ενός κινητήρα DC μπορεί να απαιτεί τη χρήση διεπαφής PWM στον μικροελεγκτή. Επομένως, θα είναι σημαντικό να επιβεβαιώσετε ότι ο μικροελεγκτής που θα επιλεγεί έχει αρκετές από τις απαιτούμενες διεπαφές, συμπεριλαμβανομένων των UART, SPI, I2C μεταξύ άλλων.
5. Τάση λειτουργίας
Η τάση λειτουργίας είναι το επίπεδο τάσης στο οποίο έχει σχεδιαστεί ένα σύστημα για λειτουργία. Είναι επίσης το επίπεδο τάσης με το οποίο σχετίζονται ορισμένα χαρακτηριστικά του συστήματος. Στο σχεδιασμό υλικού, η τάση λειτουργίας κατά καιρούς καθορίζει το λογικό επίπεδο στο οποίο ο μικροελεγκτής επικοινωνεί με άλλα στοιχεία που αποτελούν το σύστημα.
Το επίπεδο τάσης 5V και 3.3V είναι η πιο δημοφιλής τάση λειτουργίας που χρησιμοποιείται για μικροελεγκτές και πρέπει να ληφθεί απόφαση σχετικά με το ποιο από αυτά τα επίπεδα τάσης θα χρησιμοποιηθεί κατά τη διαδικασία ανάπτυξης της τεχνικής προδιαγραφής της συσκευής. Η χρήση μικροελεγκτή με τάση λειτουργίας 3.3V στο σχεδιασμό μιας συσκευής όπου τα περισσότερα από τα εξωτερικά εξαρτήματα, αισθητήρες και ενεργοποιητές θα λειτουργούν σε επίπεδο τάσης 5V δεν θα είναι μια πολύ έξυπνη απόφαση, καθώς θα χρειαστεί να εφαρμοστεί λογικό επίπεδο μετατοπιστές ή μετατροπείς για να επιτρέψουν την ανταλλαγή δεδομένων μεταξύ του μικροελεγκτή και των άλλων στοιχείων και αυτό θα αυξήσει άσκοπα το κόστος κατασκευής και το συνολικό κόστος της συσκευής.
6. Αριθμός καρφιτσών εισόδου / εξόδου
Ο αριθμός των θυρών εισόδου / εξόδου γενικής ή ειδικής χρήσης και (ή) ακίδων που διαθέτει ένας μικροελεγκτής είναι ένας από τους σημαντικότερους παράγοντες που επηρεάζουν την επιλογή του μικροελεγκτή.
Εάν ένας μικροελεγκτής είχε όλες τις άλλες δυνατότητες που αναφέρονται σε αυτό το άρθρο, αλλά δεν έχει αρκετές καρφίτσες IO όπως απαιτείται από το έργο, δεν μπορεί να χρησιμοποιηθεί. Είναι σημαντικό ο μικροελεγκτής να έχει αρκετές ακίδες PWM, για παράδειγμα, για τον έλεγχο του αριθμού των κινητήρων DC των οποίων η ταχύτητα θα ποικίλλει από τη συσκευή. Ενώ ο αριθμός των θυρών εισόδου / εξόδου σε έναν μικροελεγκτή μπορεί να επεκταθεί με τη χρήση καταχωρητών αλλαγής ταχυτήτων, δεν μπορεί να χρησιμοποιηθεί για κάθε είδους εφαρμογές και αυξάνει το κόστος των συσκευών στις οποίες χρησιμοποιείται. Επομένως, είναι καλύτερο να διασφαλιστεί ότι ο μικροελεγκτής που θα επιλεγεί για το σχεδιασμό έχει τον απαιτούμενο αριθμό θυρών I / O γενικού και ειδικού σκοπού για το έργο.
Ένα άλλο βασικό πράγμα που πρέπει να θυμάστε κατά τον καθορισμό του ποσού των καρφιτσών I / O γενικού ή ειδικού σκοπού που απαιτούνται για ένα έργο, είναι η μελλοντική βελτίωση που μπορεί να γίνει στη συσκευή και πώς αυτές οι βελτιώσεις μπορούν να επηρεάσουν τον αριθμό των καρφιτσών I / O απαιτείται.
7. Απαιτήσεις μνήμης
Υπάρχουν διάφοροι τύποι μνήμης που σχετίζονται με έναν μικροελεγκτή που είναι σχεδιαστές που πρέπει να προσέχουν κατά την επιλογή. Τα πιο σημαντικά είναι η RAM, ROM και EEPROM Το ποσό κάθε μίας από αυτές τις αναμνήσεις που απαιτούνται μπορεί να είναι δύσκολο να εκτιμηθεί έως ότου χρησιμοποιηθεί, αλλά κρίνοντας την ποσότητα εργασίας που απαιτείται από τον μικροελεγκτή, μπορούν να γίνουν προβλέψεις. Αυτές οι συσκευές μνήμης που αναφέρονται παραπάνω αποτελούν τη μνήμη δεδομένων και προγραμμάτων του μικροελεγκτή.
Η μνήμη προγράμματος του μικροελεγκτή αποθηκεύει το υλικολογισμικό για τον μικροελεγκτή, οπότε όταν αποσυνδέεται η τροφοδοσία από τον μικροελεγκτή, το υλικολογισμικό δεν χάνεται. Το μέγεθος της απαιτούμενης μνήμης προγράμματος εξαρτάται από την ποσότητα δεδομένων όπως βιβλιοθήκες, πίνακες, δυαδικά αρχεία για εικόνες κ.λπ. που χρειάζονται για να λειτουργεί σωστά το υλικολογισμικό.
Η μνήμη δεδομένων από την άλλη πλευρά χρησιμοποιείται κατά το χρόνο εκτέλεσης Όλες οι μεταβλητές και τα δεδομένα που παράγονται ως αποτέλεσμα της επεξεργασίας μεταξύ άλλων δραστηριοτήτων κατά τη διάρκεια του χρόνου αποθήκευσης αποθηκεύονται σε αυτήν τη μνήμη. Έτσι, η πολυπλοκότητα των υπολογισμών που θα προκύψει κατά τη διάρκεια του χρόνου εκτέλεσης μπορεί να χρησιμοποιηθεί για την εκτίμηση της ποσότητας μνήμης δεδομένων που απαιτείται για τον μικροελεγκτή.
8. Μέγεθος συσκευασίας
Το μέγεθος του πακέτου αναφέρεται στον παράγοντα μορφής του μικροελεγκτή. Οι μικροελεγκτές γενικά έρχονται σε πακέτα που κυμαίνονται από QFP, TSSOP, SOIC έως SSOP και το κανονικό πακέτο DIP που καθιστά εύκολη την τοποθέτηση σε breadboard για πρωτότυπο. Είναι σημαντικό να προγραμματίσετε πριν από την κατασκευή και να σκεφτείτε ποιο πακέτο θα είναι καλύτερο.
9. Κατανάλωση ισχύος
Αυτός είναι ένας από τους πιο σημαντικούς παράγοντες που πρέπει να λάβετε υπόψη κατά την επιλογή ενός μικροελεγκτή, ειδικά όταν πρόκειται να αναπτυχθεί σε μια εφαρμογή με μπαταρία, όπως συσκευές IoT όπου είναι επιθυμητό ο μικροελεγκτής να είναι όσο το δυνατόν χαμηλότερης ισχύος. Το δελτίο δεδομένων των περισσότερων μικροελεγκτών περιέχει πληροφορίες σχετικά με διάφορες τεχνικές υλικού και (ή) λογισμικού που μπορούν να χρησιμοποιηθούν για την ελαχιστοποίηση της ποσότητας ισχύος που καταναλώνει ο μικροελεγκτής σε διαφορετικούς τρόπους. Βεβαιωθείτε ότι ο μικροελεγκτής που επιλέγετε ικανοποιεί τις απαιτήσεις ισχύος για το έργο σας.
10. Υποστήριξη για μικροελεγκτή
Είναι σημαντικό ο μικροελεγκτής με τον οποίο επιλέγετε να εργαστείτε να έχει αρκετή υποστήριξη, όπως: δείγματα κώδικα, σχέδια αναφοράς και, ει δυνατόν, μια μεγάλη κοινότητα στο διαδίκτυο. Η εργασία με έναν μικροελεγκτή για πρώτη φορά μπορεί να έχει διαφορετικές προκλήσεις και η πρόσβαση σε αυτούς τους πόρους θα σας βοηθήσει να τα ξεπεράσετε γρήγορα. Ενώ χρησιμοποιείτε τους τελευταίους μικροελεγκτές λόγω των εντυπωσιακών νέων δυνατοτήτων που συνοδεύει είναι καλό, συνιστάται να διασφαλίσετε ότι ο μικροελεγκτής υπάρχει για τουλάχιστον 3-4 μήνες για να εξασφαλίσετε τα περισσότερα από τα πρώτα προβλήματα που μπορεί να σχετίζονται με τον μικροελεγκτή θα είχε επιλυθεί δεδομένου ότι διάφοροι πελάτες θα είχαν κάνει πολλές δοκιμές του μικροελεγκτή με διαφορετικές εφαρμογές.
Είναι επίσης σημαντικό να επιλέξετε έναν μικροελεγκτή με ένα καλό κιτ αξιολόγησης, ώστε να μπορείτε να ξεκινήσετε γρήγορα τη δημιουργία πρωτοτύπου και να δοκιμάσετε εύκολα τις δυνατότητες. Τα κιτ αξιολόγησης είναι ένας καλός τρόπος για να αποκτήσετε εμπειρία, να εξοικειωθείτε με την αλυσίδα εργαλείων που χρησιμοποιείται για την ανάπτυξη και να εξοικονομήσετε χρόνο κατά την ανάπτυξη της συσκευής.
Η επιλογή του σωστού μικροελεγκτή για ένα έργο, θα συνεχίσει να αποτελεί πρόβλημα, κάθε σχεδιαστής υλικού θα πρέπει να λύσει και ενώ υπάρχουν λίγοι περισσότεροι παράγοντες που μπορούν να επηρεάσουν την επιλογή του μικροελεγκτή, αυτοί οι παράγοντες που αναφέρονται παραπάνω είναι οι πιο σημαντικοί.