MCU: μάθετε για τις πιο σημαντικές οικογένειες μικροελεγκτών

μικροελεγκτές

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

Ωστόσο, Ο τομέας των μικροελεγκτών είναι αρκετά ευρύς., όπως συμβαίνει και με τους CPU ή τους μικροεπεξεργαστές, αφού όχι μόνο υπάρχουν πολλοί σχεδιαστές ή κατασκευαστές, καθώς και μοντέλα, αλλά υπάρχουν και πολλές διαφορετικές οικογένειες που πρέπει να γνωρίζετε. Έτσι, θα αφιερώσουμε αυτό το άρθρο σε αυτό ακριβώς, ώστε να ξέρετε ποιο μπορεί να σας ενδιαφέρει περισσότερο για τα έργα σας…

Τι είναι ένας μικροελεγκτής ή MCU;

Διάγραμμα MCU

Un μικροελεγκτής ή MCU (Μονάδα μικροελεγκτή) Είναι μια συμπαγής συσκευή που ενσωματώνει τις λειτουργίες ενός κεντρικού επεξεργαστή (CPU), της μνήμης και των περιφερειακών σε ένα μόνο τσιπ. Αυτή η συσκευή είναι το επίκεντρο πολλών ηλεκτρονικών συστημάτων και είναι θεμελιώδης στον τομέα των ενσωματωμένων ηλεκτρονικών. Εν ολίγοις, μια εξαιρετική εναλλακτική στα ενσύρματα ηλεκτρονικά, επιτρέποντας έτσι σε ένα μεμονωμένο τσιπ να εκτελεί πολλές λειτουργίες με ευελιξία, καθώς είναι προγραμματιζόμενο.

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

Μέρη μικροελεγκτών

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

  • CPU (κεντρική μονάδα επεξεργασίας): Η κεντρική μονάδα επεξεργασίας είναι ο εγκέφαλος του μικροελεγκτή και το πιο σημαντικό μέρος του. Αυτή η μονάδα είναι υπεύθυνη για τη χρήση των δεδομένων και των οδηγιών του προγράμματος για την ερμηνεία και την κατάλληλη επεξεργασία τους στις μονάδες εκτέλεσης για την απόκτηση των αναμενόμενων αποτελεσμάτων. Δηλαδή, η CPU εκτελεί όλες τις λειτουργίες υπολογισμού και λαμβάνει αποφάσεις με βάση τη λογική του προγράμματος. Η ταχύτητα και η απόδοση της CPU καθορίζουν σε μεγάλο βαθμό την απόδοση του μικροελεγκτή. Επιπλέον, έχουν επίσης συνήθως στοιχειώδη μέρη όπως συστήματα διακοπής, τα οποία επιτρέπουν στον μικροελεγκτή να ανταποκρίνεται έγκαιρα σε ορισμένα συμβάντα. Όταν συμβαίνει ένα συγκεκριμένο συμβάν, όπως μια είσοδος σήματος ή ένας χρονοδιακόπτης που φτάνει σε μια συγκεκριμένη τιμή, ο μικροελεγκτής μπορεί να διακόψει την τρέχουσα εργασία του για να ανταποκριθεί σε αυτό το συμβάν.
  • μνήμη: Συνήθως έχουν δύο τύπους μνήμης όπως RAM και flash. Η μνήμη RAM χρησιμοποιείται για την αποθήκευση προσωρινών δεδομένων, όπως οι οδηγίες που απαρτίζουν τα προγράμματα και τα δεδομένα (μεταβλητές, σταθερές,...) κατά την εκτέλεση του προγράμματος. Ενώ η μνήμη flash χρησιμοποιείται για την αποθήκευση του προγράμματος που πρόκειται να εκτελεστεί και είναι μη πτητική όπως η μνήμη RAM, οπότε όταν διακοπεί η τροφοδοσία ή απενεργοποιηθεί η συσκευή, το πρόγραμμα θα παραμείνει.
  • Περιφερειακά Είσοδος/Έξοδος (I/O): επιτρέπουν στον μικροελεγκτή να αλληλεπιδρά με τον έξω κόσμο. Αυτά μπορεί να περιλαμβάνουν ψηφιακές θύρες I/O, μετατροπείς αναλογικού σε ψηφιακό (ADC), μετατροπείς ψηφιακού σε αναλογικό (DAC), διεπαφές επικοινωνίας όπως UART, SPI και I2C, ελεγκτές ποικιλίας, χρονόμετρα, μετρητές, GPIO και οι υπολοιποι.

Σε τι διαφέρει από έναν μικροεπεξεργαστή ή μια CPU;

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

Ενώ η CPU ενσωματώνεται μόνο λειτουργικές μονάδες για τον έλεγχο και την ερμηνεία εντολών, καταχωρητών, καθώς και εντολών εκτέλεσης όπως το ALU, το FPU κ.λπ., και μπορούν να συνδυαστούν με άλλα βοηθητικά στοιχεία με πιο ευέλικτο τρόπο, οι μικροελεγκτές είναι κάπως πιο κλειστοί με την έννοια ότι ενσωματώνουν πολλά από τα μέρη που η CPU αφήνει έξω. Στην πραγματικότητα, ενώ η CPU είναι ο εγκέφαλος ενός υπολογιστή, η MCU μπορεί να θεωρηθεί πλήρης υπολογιστής, αφού περιλαμβάνει όλα τα βασικά μέρη σε ένα μόνο τσιπ.

Ωστόσο, μην συγχέετε τη μεγαλύτερη ενοποίηση με τους όρους του πολυπλοκότητα και απόδοση. Ενώ οι τρέχοντες μικροεπεξεργαστές είναι εξαιρετικά περίπλοκοι και με πολύ υψηλές επιδόσεις, οι τρέχοντες μικροελεγκτές έχουν συνήθως μια ενσωματωμένη CPU με πολύ χαμηλότερη και απλούστερη απόδοση. Στην πραγματικότητα, πολλοί από τους σημερινούς μικροελεγκτές μπορούν να έχουν απόδοση παρόμοια με τους μικροεπεξεργαστές πριν από δεκαετίες. Επιπλέον, όπως θα δούμε αργότερα, έχουμε ακόμη και μικροελεγκτές 8-bit ή 16-bit όπως οι CPU της δεκαετίας του '70.

Διαφορές σε σύγκριση με ένα SoC;

Δεδομένου ότι ο μικροελεγκτής ενσωματώνει πολλά στοιχεία στο ίδιο τσιπ, Επίσης συχνά συγχέεται με το SoC (System on a Chip)Δεν είναι όμως το ίδιο. Όπως συμβαίνει με το CPU έναντι του MCU, τα SoC ενσωματώνουν επίσης μια CPU με πολύ υψηλότερη απόδοση από τους περισσότερους τρέχοντες μικροελεγκτές. Επιπλέον, το SoC είναι ένα απείρως πιο περίπλοκο και προηγμένο σύστημα. Από την άλλη, το SoC συνήθως δεν ενσωματώνει κάποια από τα μέρη που είναι ενσωματωμένα σε μικροελεγκτή, αφού οι εφαρμογές για τις οποίες προορίζεται δεν το απαιτούν, όπως RAM και μνήμη flash, μετατροπείς ADC κ.λπ.

Λίγο de historia

Οι πρώιμοι μικροεπεξεργαστές πολλαπλών κυκλωμάτων, όπως ο AL1 από την Four-Phase Systems το 1969 και ο MP944 από την Garrett AiResearch το 1970, αναπτύχθηκαν με πολλαπλά τσιπ MOS LSI. Ο πρώτος μικροεπεξεργαστής ενός τσιπ ήταν ο Intel 4004, που κυκλοφόρησε το 1971. Αυτοί οι επεξεργαστές απαιτούσαν πολλά εξωτερικά τσιπ για την υλοποίηση ενός λειτουργικού συστήματος, το οποίο ήταν ακριβό. Ωστόσο, σχεδόν παράλληλα, αναπτύχθηκε αυτό που γνωρίζουμε σήμερα ως μικροελεγκτής. ΑΥΤΟΣ αποδίδεται στους μηχανικούς πληροφορικής, Gary Boone και Michael Cochran, η επιτυχημένη δημιουργία του πρώτου μικροελεγκτή το 1971, του TMS 1000, ο οποίος συνδύαζε μνήμη μόνο για ανάγνωση, μνήμη ανάγνωσης/εγγραφής, επεξεργαστή και ρολόι σε ένα μόνο τσιπ. Στην πραγματικότητα, αν και αυτή είναι μια άλλη ιστορία, προκάλεσε πόλεμο διπλωμάτων ευρεσιτεχνίας και μηνύσεις για την πατρότητα του μικροεπεξεργαστή...

Κατά τη δεκαετία του 1970, το Οι Ιάπωνες κατασκευαστές ηλεκτρονικών άρχισαν να παράγουν μικροελεγκτές για αυτοκίνητα. Σταδιακά έγιναν δημοφιλείς και ως απάντηση στην ύπαρξη του μονοτσίπ TMS 1000, η ​​Intel ανέπτυξε ένα σύστημα υπολογιστή σε ένα τσιπ βελτιστοποιημένο για εφαρμογές ελέγχου, το Intel 8048, το οποίο συνδύαζε RAM και ROM στο ίδιο τσιπ μαζί με μια CPU. Με το πέρασμα του χρόνου, οι μη ασταθείς μνήμες βελτιώθηκαν και πέρασαν από την εγγραφή στο εργοστάσιο με ένα μόνιμο πρόγραμμα όπως οι πρώτες ROM μέχρι την εισαγωγή του PROM ή του EEPROM του 1993, το οποίο επέτρεψε τη διαγραφή και τον επαναπρογραμματισμό του. με άλλο πρόγραμμα με απλό τρόπο και όσες φορές θέλετε.

Σιγά σιγά γεννήθηκαν εταιρείες γύρω από αυτό το είδος τσιπ, όπως π.χ Atmel, Microchip Technology και πολλά άλλα. Άλλες εταιρείες του κλάδου άρχισαν επίσης να διανέμουν τα δικά τους MCU, όπως Intel, Analog Devices, Cypress, AMD, ARM, Hitachi, EPSON, Motorola, Zilog, Infineon, Lattice, National Semiconductor, NEC, Panasonic, Renesas, Rockell, Sony , STMicroelectronics , Synopsis, Toshiba κ.λπ.

Σήμερα, οι μικροελεγκτές είναι φθηνοί και εύκολα προσβάσιμοι στους χομπίστες και σε ένα πλήθος διαφορετικών βιομηχανικών τομέων. Περαιτέρω, εκτιμάται ότι πωλούνται σχεδόν 5 δισεκατομμύρια μονάδες 8-bit παγκοσμίως, όντας το πιο χρησιμοποιούμενο αυτή τη στιγμή. Μπορείτε να τα βρείτε σε οικιακές συσκευές, οχήματα, υπολογιστές, τηλέφωνα, βιομηχανικές μηχανές και πολλά άλλα. Επιπλέον, έχουν καταφέρει να μικρογραφήσουν στο μέγιστο, δημιουργώντας μερικούς από τους μικρότερους υπολογιστές στον κόσμο, ακόμη και πολύ μικρότερους από έναν κόκκο αλατιού...

Οικογένειες ISA και μικροελεγκτών

MCU

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

μεταξύ των δημοφιλέστερες οικογένειες έχουμε τα εξής:

  • Παιδιά: είναι μια γενιά μαλακών πυρήνων για FPGA από την Altera, που τώρα απορροφάται από την Intel.
  • Blackfin: είναι μια οικογένεια μικροεπεξεργαστών 16/32 bit που αναπτύχθηκε, κατασκευάστηκε και διατίθεται στην αγορά από την Analog Devices. Οι επεξεργαστές διαθέτουν επίσης ενσωματωμένη λειτουργία επεξεργαστή ψηφιακού σήματος (DSP), που εκτελείται με πολλαπλασιασμό-συσσώρευση 16-bit (MAC).
  • TigerSHARC: σημαίνει Super Harvard Architecture Single-Chip Computer, επίσης από τις Αναλογικές Συσκευές. Σε αυτή την περίπτωση είναι ιδανικά για εφαρμογές που απαιτούν υψηλή υπολογιστική απόδοση με χαμηλή κατανάλωση ενέργειας. Αυτοί οι επεξεργαστές προσφέρουν μια μοναδική αρχιτεκτονική μνήμης που επιτρέπει την αποτελεσματική πρόσβαση σε δεδομένα και οδηγίες χωρίς την ποινή απόδοσης που σχετίζεται με τις αρχιτεκτονικές διαύλου Von Neumann.
  • Cortex-M- Οι μικροελεγκτές Cortex-M της ARM είναι μια δημοφιλής οικογένεια μικροελεγκτών 32 bit που είναι πολύ αποδοτικοί και προσφέρουν καλή απόδοση. Είναι ιδιαίτερα δημοφιλή σε βιομηχανικές και καταναλωτικές εφαρμογές και επί του παρόντος αντιπροσωπεύουν την πλειοψηφία των σύγχρονων τσιπ που πωλούνται από πολλές εταιρείες.
  • AVR32: Είναι μια αρχιτεκτονική μικροελεγκτή RISC 32-bit που παράγεται από την Atmel και μπορείτε να τη βρείτε σε πολλές πλακέτες ανάπτυξης, όπως το Arduino και τους κλώνους του.
  • RISC-V: Αυτό το ανοιχτό ISA στοχεύει να ξεπεράσει το ARM και σιγά σιγά άρχισε να αποκτά σημασία στον κόσμο των μικροελεγκτών, αφού είναι πολύ ευέλικτο και επιτρέπει τη χρήση του χωρίς να πληρώνει δικαιώματα.
  • ΣΜΕ- είναι μια οικογένεια μικροελεγκτών 8-bit που αναπτύχθηκαν από την Microchip Technology, γνωστοί για την προηγμένη αρχιτεκτονική RISC και είναι αρκετά δημοφιλείς στον κλάδο.
  • PowerQUICC: βασίζονται στην τεχνολογία Power Architecture της IBM και χρησιμοποιήθηκαν από τη Motorola (τώρα Freescale), υποστηρίζουν όλο το φάσμα του ενσωματωμένου εξοπλισμού δικτύου, βιομηχανικών και γενικών ενσωματωμένων εφαρμογών.
  • Επέκταση: Αυτά είναι τα MCU της Fujitsu και επικεντρώνονται σε αναλογικά και ψηφιακά προϊόντα και έχουν σχεδιαστεί για αποτελεσματικότητα και ισορροπημένη απόδοση.
  • 8051: Είναι ένας μικροελεγκτής 8-bit που αναπτύχθηκε από την Intel, αν και τώρα θα τον βρείτε κατασκευασμένο και από άλλες εταιρείες. Είναι ένας από τους πιο δημοφιλείς μικροελεγκτές και χρησιμοποιείται σε ένα ευρύ φάσμα εφαρμογών. Ο 8051 είναι ένας μικροελεγκτής CISC που βασίζεται στην αρχιτεκτονική του Χάρβαρντ.
  • TriCore: είναι ένας μικροελεγκτής που αναπτύχθηκε από την Infineon Technologies. Το TriCore ενώνει τα στοιχεία ενός πυρήνα επεξεργαστή RISC, ενός μικροελεγκτή και ενός DSP σε ένα μόνο τσιπ. Τότε ήταν μια επανάσταση.
  • MC-48 ή 8048: Είναι ένας μικροελεγκτής της σειράς Intel, με 64 byte RAM και πρόσβαση σε 4096 bytes εξωτερικής μνήμης προγράμματος.
  • mico8- είναι μια οικογένεια μικροελεγκτών 8-bit που υλοποιείται εξ ολοκλήρου σε μνήμη γενικής χρήσης και λογική για Lattice FPGA.
  • Προπέλα: Αρχιτεκτονική πολλαπλών πυρήνων 32 bit που αναπτύχθηκε από την Parallax Inc. Κάθε Propeller έχει 8 πανομοιότυπους επεξεργαστές 32 bit συνδεδεμένους σε έναν κοινό διανομέα.
  • Βασική σφραγίδα- είναι ένας μικροελεγκτής με έναν μικρό εξειδικευμένο διερμηνέα BASIC (PBASIC) ενσωματωμένο στη ROM. Κατασκευάζεται από την Parallax, Inc και ήταν ένα αρκετά δημοφιλές προϊόν για τους κατασκευαστές που ήθελαν να κάνουν πολλά έργα στο σπίτι πριν κυκλοφορήσει το Arduino.
  • SuperH: είναι μια αρχιτεκτονική συνόλου εντολών υπολογιστών RISC 32-bit που αναπτύχθηκε από την Hitachi και παράγεται επί του παρόντος από τη Renesas και επικεντρώνεται σε μικροελεγκτές για ενσωματωμένα συστήματα.
  • Tiva: είναι ένας μικροελεγκτής σειράς που αναπτύχθηκε από την Texas Instruments. Διαθέτει ενσωματωμένη συχνότητα ρολογιού επεξεργαστή έως 80MHz με μονάδα κινητής υποδιαστολής (FPU), με εξαιρετική απόδοση.
  • Microblaze: είναι ένα εξαιρετικά ενσωματωμένο σύστημα επεξεργαστή που προορίζεται για εφαρμογές ελεγκτών. Το MicroBlaze υλοποιείται εξ ολοκλήρου στη μνήμη και τη λογική γενικής χρήσης των FPGA της Xilinx (τώρα AMD), δηλαδή ενός softcore.
  • Πικομπλέιζ: παρόμοιο με το προηγούμενο, αλλά σε αυτή την περίπτωση είναι 8-bit και πιο απλό, για πιο ολοκληρωμένες εφαρμογές.
  • XCore: Είναι πολυπύρηνα MCU XMOS, 32 bit που είναι προγραμματισμένα σε περιβάλλον γλώσσας C και λειτουργούν ντετερμινιστικά και με χαμηλή καθυστέρηση. Είναι πολύ ολοκληρωμένα και μπορούν να εφαρμοστούν σε μορφή πλακιδίων.
  • Z8: είναι από τη Zilog και είναι συσκευές 8-bit που προσφέρουν ένα ευρύ φάσμα επιλογών απόδοσης και πόρων. Αυτοί οι μικροελεγκτές είναι ιδανικοί για εφαρμογές μεγάλου όγκου, ευαίσθητες στο κόστος, συμπεριλαμβανομένων προϊόντων καταναλωτών, αυτοκινήτων, ασφάλειας και HVAC.
  • Z180: Είναι άλλο ένα από τα δημοφιλή μέσα Zilog πριν από την κυκλοφορία του νέου eZ που έχουν ενημερώσει τις προηγούμενες σειρές. Περιλαμβάνει έναν επεξεργαστή 8 bit, συμβατό με τη μεγάλη βάση λογισμικού που είναι γραμμένη για το Z80. Η οικογένεια Z180 προσθέτει υψηλότερη απόδοση και ενσωματωμένα περιφερειακά χαρακτηριστικά, όπως γεννήτρια ρολογιού, μετρητές/χρονομετρητές 16 bit, ελεγκτής διακοπής, γεννήτριες κατάστασης αναμονής, σειριακές θύρες και ελεγκτή DMA.
  • STM: Αυτή η οικογένεια STMicroelectronics διαθέτει ορισμένες μονάδες MCU που βασίζονται στην αρχιτεκτονική αυτής της εταιρείας, αν και στα τελευταία μοντέλα έχει επιλεγεί, όπως σε πολλές άλλες περιπτώσεις, να ενσωματωθεί η σειρά ARM Cortex-M 32-bit. Προσφέρει προϊόντα που συνδυάζουν πολύ υψηλές επιδόσεις, δυνατότητες σε πραγματικό χρόνο, ψηφιακή επεξεργασία σήματος, λειτουργία χαμηλής ισχύος/χαμηλής τάσης και συνδεσιμότητα, διατηρώντας παράλληλα την πλήρη ενοποίηση και την ευκολία ανάπτυξης.

Υπάρχουν περισσότερα, αλλά αυτά είναι τα πιο σημαντικά…


Προσθήκη ως προτιμώμενης πηγής