Εισαγωγή στην Αρχιτεκτονική Μικροελεγκτή με βάση το ARM7 LPC2148

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Η ARM (Advanced RISC Machine) κυκλοφόρησε αρκετούς επεξεργαστές που έχουν διαφορετικά χαρακτηριστικά, καθώς και τους διαφορετικούς πυρήνες για μια μεγάλη ποικιλία εφαρμογών. Ο πρώτος σχεδιασμός αρχιτεκτονικής ARM έχει επεξεργαστές 26-bit, αλλά τώρα έφτασε τους επεξεργαστές 64-bit. Η γενική επέκταση των προϊόντων ARM δεν μπορεί να κατηγοριοποιηθεί σε ορισμένες συγκεκριμένες πληροφορίες. Αλλά τα προϊόντα ARM μπορούν να γίνουν κατανοητά με βάση την αρχιτεκτονική του. Οι τυπικοί επεξεργαστές σειράς ARM που διατίθενται στην αγορά ξεκινούν από ARM7 έως ARM11. Αυτοί οι επεξεργαστές έχουν πολλές δυνατότητες, όπως cache, μνήμη Data Tightly Coupled, MPU, MMU, κ.λπ. Μερικές από τις ευρέως γνωστές σειρές επεξεργαστών ARM είναι ARM926EJ-S, ARM7TDMI και ARM11 MPCore. Αυτό το άρθρο προορίζεται ειδικά για μια επισκόπηση αρχιτεκτονικής μικροελεγκτή LPC2148 που βασίζεται σε ARM7, η οποία θα σας δώσει σύντομες πληροφορίες σχετικά με ο μικροελεγκτής αρχιτεκτονική.

Αρχιτεκτονική μικροελεγκτή LPC2148 βασισμένη σε ARM7

Το ARM7 είναι ένας γενικός σκοπός 32-bit μικροεπεξεργαστής , και προσφέρει μερικά από τα χαρακτηριστικά, όπως μικρή κατανάλωση ενέργειας και υψηλή απόδοση. Η αρχιτεκτονική ενός ARM εξαρτάται από το αρχές του RISC . Ο σχετικός μηχανισμός αποκωδικοποίησης, καθώς και το σύνολο οδηγιών RISC είναι πολύ εύκολο όταν συγκρίνουμε μικροπρογραμματισμένο CISC - Compompet Instruction Set Υπολογιστές.




Η μέθοδος Pipeline χρησιμοποιείται για την επεξεργασία όλων των μπλοκ στην αρχιτεκτονική. Σε γενικές γραμμές, εκτελείται ένα μόνο σύνολο εντολών, μετά μεταφράζεται ο απόγονος του, & 3rd- η οδηγία λαμβάνεται από τη μνήμη.

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



Αρχιτεκτονική με βάση τον μικροελεγκτή ARM7 (LPC2148)

Αρχιτεκτονική με βάση τον μικροελεγκτή ARM7 (LPC2148)

Διακοπή πηγών

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


Μνήμη προγράμματος Flash On-chip

Ο μικροελεγκτής LPC2141 / 42/44/46/48 περιλαμβάνει μνήμη flash όπως 32-kilobytes, kilobytes, 128-kilobytes, 256-kilobytes αντίστοιχα. Αυτή η μνήμη flash μπορεί να χρησιμοποιηθεί τόσο για αποθήκευση δεδομένων όσο και για κώδικα. Ο προγραμματισμός μνήμης flash μπορεί να γίνει στο σύστημα μέσω της σειριακής θύρας.

Η εφαρμογή προγράμματος μπορεί επίσης να διαγραφεί ενώ εκτελείται η εφαρμογή του προγράμματος, επιτρέποντας ευελιξία βελτιώσεων υλικολογισμικού πεδίου αποθήκευσης δεδομένων κ.λπ. Λόγω της επιλογής μιας αρχιτεκτονικής λύσης για ένα on-chip bootloader, η διαθέσιμη μνήμη για τους μικροελεγκτές LPC2141 / 42 / 44/46/48 είναι 32-kilobytes, kilobytes, 128-kilobytes, 256-kilobytes & 500-kilobytes. Η μνήμη flash αυτών των μικροελεγκτών προσφέρει 1.00.000 σβήσεις ανά κύκλο και διατήρηση δεδομένων για πολλά χρόνια.

Pin Connect Block

Αυτό το μπλοκ επιτρέπει σε επιλεγμένους πείρους του μικροελεγκτή LPC2148 που βασίζονται σε ARM7 για να έχει πολλές λειτουργίες. Οι πολυπλέκτες μπορεί να ελεγχθεί από τους καταχωρητές διαμόρφωσης για να επιτρέπεται η σύνδεση μεταξύ του πείρου καθώς και των περιφερειακών on-chip.

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

Μετά την αναδιάταξη όλων των ακίδων των θυρών (θύρα 0 & θύρα 1) ταξινομούνται ως i / p από τις δεδομένες εξαιρέσεις. Εάν επιτρέπεται το σφάλμα

Εάν επιτρέπεται το σφάλμα, οι ακίδες του JTAG θα μαντέψουν τη λειτουργικότητα του JTAG. Εάν επιτρέπεται ένα ίχνος, τότε οι καρφίτσες Trace θα μαντέψουν τη λειτουργικότητα του ίχνους. Οι πείροι που συνδέονται με τους πείρους I2C0 και I2C1 είναι ανοιχτοί.

GPIO - Παράλληλη είσοδος / έξοδος γενικού σκοπού

Οι καταχωρητές GPIO ελέγχουν τους πείρους της συσκευής που δεν συνδέονται με μια συγκεκριμένη περιφερειακή λειτουργία. Οι ακίδες της συσκευής μπορούν να τοποθετηθούν ως i / p [s ή o / ps. Τα μεμονωμένα μητρώα επιτρέπουν την ταυτόχρονη εκκαθάριση οποιουδήποτε αριθμού o / p. Η τιμή του καταχωρητή εξόδου μπορεί να διαβαστεί και η παρούσα κατάσταση των ακίδων της θύρας. Αυτοί οι μικροελεγκτές ξεκινούν μια επιταχυνόμενη λειτουργία σε συσκευές LPC200.

Οι καταχωρητές εισόδου / εξόδου γενικής χρήσης μετακινούνται στο δίαυλο επεξεργαστή που χρησιμοποιείται για τον καλύτερο δυνατό χρόνο εισόδου / εξόδου.

  • Αυτά τα μητρώα είναι διευθύνσιμα byte.
  • Η συνολική τιμή μιας θύρας μπορεί να είναι
  • Η πλήρης τιμή της θύρας μπορεί να γραφτεί με τη μόνη οδηγία

10-bit ADC (Αναλογικός σε Ψηφιακός Μετατροπέας)

Οι μικροελεγκτές όπως το LPC2141 ή το 42 περιλαμβάνουν δύο Μετατροπείς ADC και αυτά είναι μόνο 10-bit έχουν ένα & το LPC2144 / 46/48 έχει δύο ADC και αυτά είναι μόνο 10-bit ευθεία ADC's. Αν και το ADC0 περιλαμβάνει 6-κανάλια και το ADC1 έχει 8-κανάλια. Έτσι, ο αριθμός των προσβάσιμων ADC i / ps για LPC2141 ή 42 είναι 6 & 14 για LPC2141 ή 42.

10-bit DAC (ψηφιακός σε αναλογικός μετατροπέας)

Το DAC επιτρέπει σε αυτούς τους μικροελεγκτές να παράγουν ένα μεταβλητό αναλογικό o / p και VΠΡΟΣΦΟΡΑείναι η μέγιστη έξοδος του a ψηφιακό σε αναλογικό Τάση.

Ελεγκτής συσκευής-USB 2.0

Ο καθολικός σειριακός δίαυλος αποτελείται από 4 καλώδια και παρέχει υποστήριξη για επικοινωνία μεταξύ ορισμένων περιφερειακών και κεντρικών υπολογιστών. Αυτός ο ελεγκτής επιτρέπει το εύρος ζώνης USB για τη σύνδεση συσκευών χρησιμοποιώντας ένα πρωτόκολλο που βασίζεται στο διακριτικό.

Το δίαυλο υποστηρίζει την αποσύνδεση καυτού βύσματος και τη δυναμική συλλογή των συσκευών. Κάθε επικοινωνία ξεκινά μέσω του κεντρικού ελεγκτή. Αυτοί οι μικροελεγκτές έχουν σχεδιαστεί με έναν ελεγκτή συσκευών σειριακού διαύλου που επιτρέπει 12 Mbit / sec δεδομένα να αντικαθίστανται από έναν κεντρικό ελεγκτή USB.

UARTs

Αυτοί οι μικροελεγκτές περιλαμβάνουν δύο UART για τυπική μετάδοση και λήψη γραμμών δεδομένων. Σε αντίθεση με προηγούμενους μικροελεγκτές (LPC2000), τα UARTs σε μικροελεγκτές LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 ξεκινούν μια γεννήτρια μερικού ρυθμού baud που χρησιμοποιείται και για τα δύο UART, επιτρέποντας σε αυτούς τους τύπους μικροελεγκτών να επιτυγχάνουν τυπικούς ρυθμούς baud όπως 115200 από κάθε κρυσταλλική συχνότητα άνω των 2 MHz . Επιπλέον, οι λειτουργίες ελέγχου όπως το CTS / RTS εκτελούνται πλήρως στο υλικό.

Σειριακός ελεγκτής I / O του διαύλου I2C

Κάθε μικροελεγκτής από LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 περιλαμβάνει δύο I2C ελεγκτές διαύλου, και αυτό είναι αμφίδρομο. Ο έλεγχος μεταξύ IC μπορεί να γίνει με τη βοήθεια δύο καλωδίων, δηλαδή SCL και SDA. Εδώ τα SDA & SCL είναι σειριακά ρολόγια και σειριακά δεδομένα

Κάθε συσκευή αναγνωρίζεται από μια μεμονωμένη διεύθυνση. Εδώ, οι πομποί και οι δέκτες μπορούν να λειτουργήσουν με δύο τρόπους όπως η κύρια λειτουργία / η υποτελής λειτουργία. Αυτό είναι ένα λεωφορείο πολλαπλών πλοίων και μπορεί να διαχειριστεί από έναν ή περισσότερους πλοιάρχους λεωφορείων που συνδέονται με αυτό. Αυτοί οι μικροελεγκτές υποστηρίζουν ρυθμούς bit έως και 400 kbit / s.

Σειριακός ελεγκτής εισόδου / εξόδου SPI

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

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

Σειριακός ελεγκτής εισόδου / εξόδου SSP

Αυτοί οι μικροελεγκτές περιέχουν μονό SSP και αυτός ο ελεγκτής είναι σε θέση να επεξεργαστεί σε SPI, Microwire bus ή 4-wire SSI. Μπορεί να επικοινωνήσει με το λεωφορείο πολλών δασκάλων καθώς και σκλάβων

Αλλά, απλά ένας συγκεκριμένος πλοίαρχος, καθώς και ο σκλάβος, μπορεί να συνομιλεί στο λεωφορείο μέσω μιας καθορισμένης μετάδοσης δεδομένων. Αυτός ο μικροελεγκτής υποστηρίζει μεταφορές πλήρους διπλής όψης, με πλαίσια δεδομένων 4-16 bit που χρησιμοποιούνται για τη ροή δεδομένων από τον πλοίαρχο - τον σκλάβο καθώς και από τον σκλάβος-τον κύριο.

Χρονοδιακόπτες / μετρητές

Χρονόμετρα και μετρητές έχουν σχεδιαστεί για την καταμέτρηση των κύκλων PCLK (περιφερειακό ρολόι) και προαιρετικά παράγουν διακοπές που βασίζονται σε καταχωρητές 4 αγώνων.

Και περιλαμβάνει τέσσερα i / ps λήψης για να πιάσει την τιμή ενός χρονοδιακόπτη όταν αλλάζουν σήματα i / p. Θα μπορούσαν να επιλεγούν αρκετές ακίδες για να εκτελέσουν μια συγκεκριμένη σύλληψη. Αυτοί οι μικροελεγκτές μπορούν να υπολογίσουν τα εξωτερικά συμβάντα στις εισόδους σύλληψης εάν ο ελάχιστος εξωτερικός παλμός είναι ισοδύναμος. Σε αυτήν τη διάταξη, οι γραμμές λήψης αδράνειας μπορούν να επιλεγούν ως συνηθισμένες λήψεις χρονιστή i / ps.

Χρονόμετρο Watchdog

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

Ρολόι RTC σε πραγματικό χρόνο

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

Έλεγχος ισχύος

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

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

Αυτή η λειτουργία μπορεί να ολοκληρωθεί και η κοινή διαδικασία να επανεκκινηθεί από συγκεκριμένες διακοπές που μπορούν να λειτουργήσουν χωρίς ρολόγια. Επειδή η λειτουργία των chip είναι ισορροπημένη, η λειτουργία Power-down μειώνει τη χρήση ισχύος chip σχεδόν στο μηδέν.

PWM -Pulse Width Modulator

Τα PWM βασίζονται στο κανονικό χρονοδιακόπτη και έρχονται επίσης σε όλες τις λειτουργίες, αν και απλώς η λειτουργία διαμορφωτή πλάτους παλμού καθορίζεται στους μικροελεγκτές όπως το LPC2141 / 42/44/46/48.

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

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

Λεωφορείο VPB

Το διαχωριστικό VPB επιλύει τη σχέση μεταξύ του CCLK (ρολόι επεξεργαστή) και του PCLK (ρολόι που χρησιμοποιείται από περιφερειακές συσκευές). Αυτό το διαχωριστικό χρησιμοποιείται για δύο σκοπούς. Η πρώτη χρήση είναι η παροχή περιφερειακών από το προτιμώμενο PCLK χρησιμοποιώντας δίαυλο VPB έτσι ώστε να μπορούν να λειτουργούν με την επιλεγμένη ταχύτητα του επεξεργαστή ARM. Για να επιτευχθεί αυτό, αυτή η ταχύτητα διαύλου μπορεί να μειωθεί ο ρυθμός ρολογιού του επεξεργαστή από 1 from2 -1⁄ 4.

Επειδή αυτός ο δίαυλος πρέπει να λειτουργεί με ακρίβεια κατά την ενεργοποίηση, και η προεπιλεγμένη κατάσταση στο RST (επαναφορά) είναι το λεωφορείο να λειτουργεί στο 1/4 του ρυθμού ρολογιού του επεξεργαστή. Η δεύτερη χρήση αυτού είναι να επιτρέπεται η εξοικονόμηση ενέργειας κάθε φορά που μια εφαρμογή δεν χρειάζεται περιφερειακά για να λειτουργεί με τον πλήρη ρυθμό επεξεργαστή. Δεδομένου ότι το VPB-divider σχετίζεται με την έξοδο του PLL, αυτό παραμένει ενεργό σε κατάσταση αδράνειας.

Εξομοίωση & εντοπισμός σφαλμάτων

Ο μικροελεγκτής (LPC2141 / 42/44/46/48) διατηρεί την εξομοίωση και τον εντοπισμό σφαλμάτων μέσω της σειριακής θύρας-JTAG. Μια άδεια εντοπισμού θύρας εντοπισμού της εκτέλεσης του προγράμματος. Οι λειτουργίες ανίχνευσης και οι έννοιες εντοπισμού σφαλμάτων πολυπλέκονται με port1 και GPIOs.

Ασφάλεια κώδικα

Το χαρακτηριστικό ασφαλείας κώδικα αυτών των μικροελεγκτών LPC2141 / 42/44/46/48 επιτρέπει σε μια λειτουργία να ελέγχει εάν μπορεί να προστατευτεί ή να εντοπιστεί σφαλμάτων από την επιθεώρηση.

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