Mikrokontrolleur

Ein Mikrokontrolleur (hat manchmal µC, uC oder MCU abgekürzt), ist ein kleiner Computer auf einem einzelnen einheitlichen Stromkreis, der einen Verarbeiter-Kern, Gedächtnis und programmierbare Peripherie des Eingangs/Produktion enthält. Das Programm-Gedächtnis in der Form NOCH dem Blitz oder dem OTP ROM wird auch häufig auf dem Span, sowie einem normalerweise kleinen Betrag des RAM eingeschlossen. Mikrokontrolleure werden für eingebettete Anwendungen im Gegensatz zu den Mikroprozessoren entworfen, die in Personalcomputern oder anderen allgemeinen Zweck-Anwendungen verwendet sind.

Mikrokontrolleure werden in automatisch kontrollierten Produkten und Geräten, wie Kraftfahrzeugmotorregelsysteme, implantable medizinische Geräte, Fernbedienungen, Büromaschinen, Geräte, Macht-Werkzeuge, Spielsachen und andere eingebettete Systeme verwendet. Indem sie die Größe und Kosten im Vergleich zu einem Design reduzieren, das einen getrennten Mikroprozessor, Gedächtnis und Geräte des Eingangs/Produktion verwendet, machen Mikrokontrolleure es wirtschaftlich, um noch mehr Geräte und Prozesse digital zu kontrollieren. Mischsignalmikrokontrolleure sind üblich, das Integrieren analoger Bestandteile musste elektronische Nichtdigitalsysteme kontrollieren.

Einige Mikrokontrolleure können Vier-Bit-Wörter verwenden und an Uhr-Rate-Frequenzen mindestens 4 Kilohertz, für den niedrigen Macht-Verbrauch (milliwatts oder Mikrowatt) operieren. Sie werden allgemein in der Lage sein, Funktionalität zu behalten, während sie auf ein Ereignis wie eine Knopf-Presse oder andere Unterbrechung warten werden; Macht-Verbrauch, während er (Zentraleinheitsuhr und der grösste Teil der Peripherie von) schläft, kann gerade nanowatts sein, viele von ihnen gut angepasst für andauernde Batterieanwendungen machend. Andere Mikrokontrolleure können gegenüber der Leistung kritischen Rollen dienen, wo sie eventuell mehr wie ein Digitalsignalverarbeiter (DSP), mit höheren Uhr-Geschwindigkeiten und Macht-Verbrauch handeln müssen.

Geschichte

Der erste Einchipmikroprozessor war 4-Bit-Intel 4004 befreit 1971, mit Intel 8008 und anderen fähigeren Mikroprozessoren, die verfügbar im Laufe der nächsten mehreren Jahre werden. Jedoch haben beide Verarbeiter verlangt, dass Außenchips ein Arbeitssystem durchgeführt haben, Gesamtsystemkosten erhebend, und es unmöglich machend, Geräte wirtschaftlich zu computerisieren.

Die Smithsonian Einrichtung sagt, dass TI Ingenieure Gary Boone und Michael Cochran geschafft haben, den ersten Mikrokontrolleur 1971 zu schaffen. Das Ergebnis ihrer Arbeit war der TMS 1000, der kommerziell 1974 gegangen ist. Es hat ROM-Speicher, Lesen/Schreiben-Gedächtnis, Verarbeiter verbunden, und stempeln Sie ein Span ein, und wurde an eingebetteten Systemen ins Visier genommen.

Teilweise als Antwort auf die Existenz des Einchip-TMS 1000 hat Intel ein Computersystem auf einem Span entwickelt, der für Kontrollanwendungen, Intel 8048 mit kommerziellen Teilen optimiert ist, die sich zuerst 1977 einschiffen. Es hat RAM und ROM auf demselben Span verbunden. Dieser Span würde seinen Weg in mehr als eine Milliarde PC-Tastaturen und andere zahlreiche Anwendungen finden. Damals hat der Präsident von Intel, Luke J. Valenter, festgestellt, dass der Mikrokontrolleur einer der erfolgreichsten in der Geschichte der Gesellschaft war, und das Budget der Abteilung mehr als 25 % ausgebreitet hat.

Die meisten Mikrokontrolleure in dieser Zeit hatten zwei Varianten. Man hatte einen erasable EPROM Programm-Gedächtnis, das bedeutsam teurer war als die HIGH-SCHOOL-BALL-Variante, die nur einmal programmierbar war. Das Auslöschen des EPROM hat Aussetzung vom ultravioletten Licht durch einen durchsichtigen Quarzdeckel verlangt. Ehemalige Teile konnten in tiefer gekosteten undurchsichtigen Plastikpaketen gemacht werden.

1993 hat die Einführung des EEPROM Gedächtnisses Mikrokontrolleuren erlaubt (mit dem Mikrochip PIC16x84 beginnend)

, http://microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2018&mcparam=en013082

schnell ohne ein teures Paket, wie erforderlich, für EPROM elektrisch gelöscht zu werden, sowohl schnellen prototyping, als auch In der Systemprogrammierung erlaubend. Dasselbe Jahr hat Atmel den ersten Mikrokontrolleur vorgestellt, der Blitz-Gedächtnis verwendet. Andere Gesellschaften sind schnell Klage mit beiden Speichertypen gefolgt.

Kosten haben mit der Zeit mit den preiswertesten 8-Bit-Mikrokontrolleuren gestürzt, die für weniger als 0.25 $ in der Menge (Tausende) 2009 und ungefähr 32 Bit Mikrokontrolleure ungefähr 1 $ für ähnliche Mengen verfügbar sind.

Heutzutage sind Mikrokontrolleure preiswert und für Hobbyisten mit großen Online-Gemeinschaften um bestimmte Verarbeiter sogleich verfügbar.

In der Zukunft konnte MRAM in Mikrokontrolleuren potenziell verwendet werden, weil es unendliche Dauer hat und seine zusätzlichen Halbleiter-Oblate-Prozess-Kosten relativ niedrig sind.

Volumina

Ungefähr 55 % aller in der Welt verkauften Zentraleinheiten sind 8-Bit-Mikrokontrolleure und Mikroprozessoren. Gemäß Semico wurden mehr als vier Milliarden 8-Bit-Mikrokontrolleure 2006 verkauft.

Ein typisches Haus in einem entwickelten Land wird wahrscheinlich nur vier Mehrzweckmikroprozessoren, aber ungefähr drei Dutzende Mikrokontrolleure haben. Ein typisches Automobil des mittleren Bereichs hat nicht weniger als 30 oder mehr Mikrokontrolleure. Sie können auch in vielen elektrischen Geräten wie Waschmaschinen, Mikrowellengeräte und Telefone gefunden werden.

Eingebettetes Design

Ein Mikrokontrolleur kann als ein geschlossenes System mit einem Verarbeiter, Gedächtnis und Peripherie betrachtet werden und kann als ein eingebettetes System verwendet werden. Die Mehrheit von Mikrokontrolleuren im Gebrauch wird heute in anderer Maschinerie, wie Automobile, Telefone, Geräte und Peripherie für Computersysteme eingebettet. Während einige eingebettete Systeme sehr hoch entwickelt sind, haben viele minimale Voraussetzungen für das Gedächtnis und die Programm-Länge, ohne Betriebssystem und niedrige Softwarekompliziertheit. Typischer Eingang und Produktionsgeräte schließen Schalter, Relais, Solenoid, LEDs, kleine oder kundenspezifische FLÜSSIGKRISTALLANZEIGE-Displays, Radiofrequenzgeräte und Sensoren für Daten wie Temperatur, Feuchtigkeit, leichtes Niveau usw. ein. Eingebettete Systeme haben gewöhnlich keine Tastatur, Schirm, Platten, Drucker oder andere erkennbare Eingabe/Ausgabe-Geräte eines Personalcomputers, und können an menschlichen Wechselwirkungsgeräten jeder Art Mangel haben.

Unterbrechungen

Mikrokontrolleure müssen Echtzeit (voraussagbar, obwohl nicht notwendigerweise schnell) Antwort auf Ereignisse im eingebetteten System zur Verfügung stellen, das sie kontrollieren. Wenn bestimmte Ereignisse vorkommen, kann ein Unterbrechungssystem dem Verarbeiter Zeichen geben, um Verarbeitung der aktuellen Befehlsfolge aufzuheben und eine Unterbrechungsdienstroutine zu beginnen (ISR, oder "unterbrechen Dressierer"). Der ISR wird leisten jede Verarbeitung hat gestützt auf der Quelle der Unterbrechung vor dem Zurückbringen in die ursprüngliche Befehlsfolge verlangt. Mögliche Unterbrechungsquellen sind Gerät-Abhängiger, und schließen häufig Ereignisse wie eine innere Zeitmesser-Überschwemmung ein, ein Analogon zur Digitalkonvertierung, einer Logikniveau-Änderung auf einem Eingang solcher als von einem Knopf vollendend, der und auf einer Nachrichtenverbindung erhaltenen Daten wird drückt. Wo Macht-Verbrauch wichtig ist, weil in der Batterie Geräte bedient hat, können Unterbrechungen auch einen Mikrokontrolleur von einem niedrigen Macht-Schlaf-Staat aufwecken, wo der Verarbeiter, bis erforderlich, gehalten wird, um etwas durch ein peripherisches Ereignis zu tun.

Programme

Normalerweise müssen Mikrokontrolleur-Programme das verfügbare Programm-Gedächtnis auf dem Span einfügen, da es kostspielig sein würde, um ein System mit dem äußerlichen, erweiterbaren, Gedächtnis zur Verfügung zu stellen. Bearbeiter und Monteure werden verwendet, um höhere Programmiersprache und Assembler-Codes in einen Kompaktmaschinencode für die Lagerung im Gedächtnis des Mikrokontrolleurs umzuwandeln. Abhängig vom Gerät kann das Programm-Gedächtnis dauerhafter, ROM-Speicher sein, der nur an der Fabrik programmiert werden kann, oder Programm-Gedächtnis feldveränderlicher Blitz oder erasable ROM-Speicher sein kann.

Hersteller haben häufig spezielle Versionen ihrer Mikrokontrolleure erzeugt, um der Hardware und Softwareentwicklung des Zielsystems zu helfen. Ursprünglich haben diese EPROM Versionen eingeschlossen, die ein "Fenster" auf der Spitze des Geräts haben, durch das Programm-Gedächtnis durch das ultraviolette Licht gelöscht, bereit werden kann, um nach einer Programmierung ("Brandwunde") und Testzyklus wiederzuprogrammieren. Seit 1998 sind EPROM Versionen selten und sind durch EEPROM und Blitz ersetzt worden, die leichter sind zu verwenden (kann elektronisch gelöscht werden), und preiswerter, um zu verfertigen.

Andere Versionen können verfügbar sein, wo auf das ROM als ein Außengerät aber nicht als inneres Gedächtnis zugegriffen wird, jedoch werden diese immer seltener wegen der weit verbreiteten Verfügbarkeit von preiswerten Mikrokontrolleur-Programmierern.

Der Gebrauch von feldprogrammierbaren Geräten auf einem Mikrokontrolleur kann Feldaktualisierung des firmware erlauben oder späte Fabrikrevisionen zu Produkten erlauben, die gesammelt, aber noch nicht verladen worden sind. Programmierbares Gedächtnis reduziert auch die für die Aufstellung eines neuen Produktes erforderliche Durchlaufzeit.

Wo Hunderttausende von identischen Geräten erforderlich sind, kann das Verwenden von zur Zeit der Fertigung programmierten Teilen eine wirtschaftliche Auswahl sein. Diese "Maske programmiert" Teile ließen das Programm ebenso als die Logik des Spans zur gleichen Zeit aufstellen.

Ein anpassbarer Mikrokontrolleur vereinigt einen Block der Digitallogik, die personifiziert werden kann, um zusätzliche in einer Prozession gehende Fähigkeit, Peripherie und Schnittstellen zur Verfügung zu stellen, die an die Voraussetzungen der Anwendung angepasst werden. Zum Beispiel hat der AT91CAP von Atmel einen Block der Logik, die während des Herstellers gemäß Benutzeranforderungen kundengerecht angefertigt werden kann.

Andere Mikrokontrolleur-Eigenschaften

Mikrokontrolleure enthalten gewöhnlich von mehreren bis Dutzende von allgemeinen Zweck-Nadeln des Eingangs/Produktion (GPIO). GPIO Nadeln sind Software, die entweder zu einem Eingang oder zu einem Produktionsstaat konfigurierbar ist. Wenn GPIO-Nadeln zu einem Eingangsstaat konfiguriert werden, werden sie häufig verwendet, um Sensoren oder Außensignale zu lesen. Konfiguriert zum Produktionsstaat können GPIO Nadeln Außengeräte wie LEDs oder Motoren steuern.

Viele eingebettete Systeme müssen Sensoren lesen, die analoge Signale erzeugen. Das ist der Zweck des Konverters des Analogons-zu-digital (ADC). Da Verarbeiter gebaut werden, um Digitaldaten, d. h. 1s und 0s zu interpretieren und zu bearbeiten, sind sie nicht im Stande, irgendetwas mit den analogen Signalen zu tun, die daran durch ein Gerät gesandt werden können. So wird das Analogon zum Digitalkonverter verwendet, um die eingehenden Daten in eine Form umzuwandeln, die der Verarbeiter anerkennen kann. Weniger gemeinsames Merkmal auf einigen Mikrokontrolleuren ist ein zum Analogon digitaler Konverter (DAC), der den Verarbeiter Produktionsanalogsignalen oder Spannungspegeln erlaubt.

Zusätzlich zu den Konvertern schließen viele eingebettete Mikroprozessoren eine Vielfalt von Zeitmessern ebenso ein. Einer der allgemeinsten Typen von Zeitmessern ist Programmable Interval Timer (PIT). Eine GRUBE kann entweder von einem Wert bis Null, oder bis zur Kapazität des Registers der Zählung hinzählen, zur Null überfließend. Sobald es Null erreicht, sendet es eine Unterbrechung an den Verarbeiter, der anzeigt, dass es beendet hat zu zählen. Das ist für Geräte wie Thermostate nützlich, die regelmäßig die Temperatur um sie prüfen, um zu sehen, ob sie die Klimaanlage, die Heizung auf usw. einschalten müssen.

Ein hingebungsvoller Block von Pulse Width Modulation (PWM) macht es möglich für die Zentraleinheit, Macht-Konverter, widerspenstige Lasten, Motoren usw. zu kontrollieren, ohne viele Zentraleinheitsmittel in dichten Zeitmesser-Schleifen zu verwenden.

Universaler Asynchroner Empfänger/Sender (UART) Block macht es möglich, Daten über eine Serienlinie mit sehr wenig Last auf der Zentraleinheit zu erhalten und zu übersenden. Gewidmete Hardware auf dem Span schließt auch häufig Fähigkeiten ein, mit anderen Geräten (Chips) in Digitalformaten wie I²C und Serial Peripheral Interface (SPI) zu kommunizieren.

Höhere Integration

Mikrokontrolleure können keine Außenadresse oder Datenbus durchführen, weil sie RAM und nichtflüchtigen Speicher auf demselben Span wie die Zentraleinheit integrieren. Mit weniger Nadeln kann der Span in ein viel kleineres, preiswerteres Paket gelegt werden.

Wenn sie

das Gedächtnis und die andere Peripherie auf einem einzelnen Span integriert und sie weil prüft, vergrößert eine Einheit die Kosten dieses Spans, aber läuft häufig auf verminderte Nettokosten des eingebetteten Systems als Ganzes hinaus. Selbst wenn die Kosten einer Zentraleinheit, die Peripherie integriert hat, ein bisschen mehr sind als die Kosten einer Zentraleinheit und Außenperipherie, weniger Chips zu haben, erlaubt normalerweise eine kleinere und preiswertere Leiterplatte, und reduziert die Arbeit, die erforderlich ist, die Leiterplatte zu versammeln und zu prüfen.

Ein Mikrokontrolleur ist ein einzelner einheitlicher Stromkreis allgemein mit den folgenden Eigenschaften:

  • in einer Prozession gehende Haupteinheit - im Intervall von kleinen und einfachen 4-Bit-Verarbeitern zu komplizierten 32- oder 64-Bit-Verarbeitern
  • flüchtiges Gedächtnis (RAM) für die Datenlagerung
  • ROM, EPROM, EEPROM oder Blitz-Gedächtnis für das Programm und die Betriebsparameter-Lagerung
  • getrennter Eingang und Produktionsbit, Kontrolle oder Entdeckung der logischen Zustand eines individuellen Pakets erlaubend, befestigen
  • Serieneingang/Produktion wie Serienhäfen (UARTs)
  • andere Serienkommunikationsschnittstellen wie I²C, das Peripherische Serienschnittstelle- und Kontrolleur-Bereichsnetz für das System verbindet miteinander
  • Peripherie wie Zeitmesser, Ereignis-Schalter, PWM Generatoren und Aufpasser
  • Uhr-Generator - häufig ein Oszillator für einen Quarztiming-Kristall, Resonator oder RC-Stromkreis
  • viele schließen Konverter des Analogons-zu-digital ein, einige schließen zum Analogon digitale Konverter ein
  • im Stromkreis programmierend und bei Unterstützung die Fehler beseitigend

Diese Integration vermindert drastisch die Anzahl von Chips und den Betrag der Verdrahtung und des Leiterplatte-Raums, der erforderlich wäre, um gleichwertige Systeme mit getrennten Chips zu erzeugen. Außerdem, auf niedrigen Nadel-Geräten der Zählung insbesondere kann jede Nadel zu mehrerer innerer Peripherie mit der durch die Software ausgewählten Nadel-Funktion verbinden. Das erlaubt einem Teil, in einer breiteren Vielfalt von Anwendungen verwendet zu werden, als wenn Nadeln Funktionen gewidmet hatten. Mikrokontrolleure haben sich erwiesen, in eingebetteten Systemen seit ihrer Einführung in den 1970er Jahren hoch populär zu sein.

Einige Mikrokontrolleure verwenden eine Architektur von Harvard: Getrennte Speicherbusse für Instruktionen und Daten, Zugängen erlaubend, gleichzeitig stattzufinden. Wo eine Architektur von Harvard verwendet wird, können Instruktionswörter für den Verarbeiter eine verschiedene Bit-Größe sein als die Länge des inneren Gedächtnisses und der Register; zum Beispiel: 12-Bit-Instruktionen mit 8-Bit-Datenregistern verwendet.

Dessen Entscheidung peripherisch, um zu integrieren, häufig schwierig ist. Die Mikrokontrolleur-Verkäufer tauschen häufig Betriebsfrequenzen und Systemdesignflexibilität gegen Voraussetzungen der Zeit zum Markt von ihren Kunden und senken insgesamt Systemkosten. Hersteller müssen das Bedürfnis erwägen, die Span-Größe gegen die zusätzliche Funktionalität zu minimieren.

Mikrokontrolleur-Architekturen ändern sich weit. Einige Designs schließen Mehrzweckmikroprozessor-Kerne, mit einem oder mehr ROM, RAM oder auf das Paket integrierten Eingabe/Ausgabe-Funktionen ein. Andere Designs sind für Kontrollanwendungen gebauter Zweck. Ein Mikrokontrolleur-Befehlssatz hat gewöhnlich viele für mit dem Bit kluge Operationen beabsichtigte Instruktionen, um Kontrollprogramme kompakter zu machen. Zum Beispiel könnte ein allgemeiner Zweck-Verarbeiter mehrere Instruktionen verlangen, wenig in einem Register und Zweig zu prüfen, wenn das Bit gesetzt wird, wo ein Mikrokontrolleur eine einzelne Instruktion haben konnte, dass allgemein erforderliche Funktion zu bestimmen.

Mikrokontrolleure haben normalerweise kein Mathecoprozessor, so das Schwimmen der Punkt-Arithmetik wird durch die Software durchgeführt.

Programmierung von Umgebungen

Mikrokontrolleure wurden nur auf der Zusammenbau-Sprache ursprünglich programmiert, aber verschiedene Programmiersprachen auf höchster Ebene sind jetzt auch in der üblichen Anwendung, um Mikrokontrolleure ins Visier zu nehmen. Diese Sprachen werden entweder besonders zum Zweck oder Versionen von allgemeinen Zweck-Sprachen wie die C Programmiersprache entworfen. Bearbeiter für allgemeine Zweck-Sprachen werden normalerweise einige Beschränkungen sowie Erhöhungen haben, um die einzigartigen Eigenschaften von Mikrokontrolleuren besser zu unterstützen. Einige Mikrokontrolleure haben Umgebungen, um sich entwickelnden bestimmten Typen von Anwendungen zu helfen. Mikrokontrolleur-Verkäufer machen häufig Werkzeuge frei verfügbar, um es leichter zu machen, ihre Hardware anzunehmen.

Viele Mikrokontrolleure sind so gerissen, dass sie effektiv ihre eigenen Sonderdialekte von C wie SDCC für die 8051 verlangen, die verhindern, Standardwerkzeuge (wie Codebibliotheken oder statische Analyse-Werkzeuge) sogar für den Code zu verwenden, der zu Hardware-Eigenschaften ohne Beziehung ist. Dolmetscher werden häufig verwendet, um solche Marotten der niedrigen Stufe zu verbergen.

Dolmetscher firmware ist auch für einige Mikrokontrolleure verfügbar. Zum Beispiel, GRUNDLEGEND auf den frühen Mikrokontrolleuren Intel 8052; GRUNDLEGEND und HERVOR auf Zilog Z8 sowie einigen modernen Geräten. Normalerweise unterstützen diese Dolmetscher interaktive Programmierung.

Simulatoren sind für einige Mikrokontrolleure verfügbar. Diese erlauben einem Entwickler zu analysieren, was das Verhalten des Mikrokontrolleurs und ihres Programms darin bestehen sollte, wenn sie den wirklichen Teil verwendeten. Ein Simulator wird den inneren Verarbeiter-Staat und auch diese der Produktionen, sowie das Erlauben von Eingangssignale zeigen, erzeugt zu werden. Während einerseits die meisten Simulatoren davon beschränkt werden, unfähig zu sein, viel andere Hardware in einem System vorzutäuschen, können sie Bedingungen ausüben, die sonst hart sein können, sich nach Wunsch in der physischen Durchführung zu vermehren, und die schnellste Weise sein können, bei Problemen die Fehler zu beseitigen und sie zu analysieren.

Neue Mikrokontrolleure werden häufig mit dem Fehlersuchprogramm-Schaltsystem auf dem Span integriert, dass, wenn zugegriffen, durch einen integrierten Emulatoren über JTAG, erlauben Sie, vom firmware mit einem Testhilfeprogramm die Fehler zu beseitigen.

Typen von Mikrokontrolleuren

Bezüglich 2008 gibt es mehrere Dutzende Mikrokontrolleur-Architekturen und Verkäufer einschließlich:

  • ARM-Kernverarbeiter (von vielen Verkäufern)
  • Atmel AVR (8 Bit), AVR32 (32 Bit) und AT91SAM (32 Bit)
  • Der M8C Kern von Halbleiter der Zypresse, der in ihrem PSoC verwendet ist (Programmierbar auf dem Span System-)
  • Freescale ColdFire (32 Bit) und S08 (8 Bit)
  • Freescale 68HC11 (8 Bit)
  • Intel 8051
  • Infineon: 8, 16, 32-Bit-Mikrokontrolleure
  • MIPS
  • Mikrochip-Technologie-FOTO, (8-Bit-PIC16, PIC18, 16 Bit dsPIC33 / PIC24), (32-Bit-PIC32)
  • NXP Halbleiter LPC1000, LPC2000, LPC3000, LPC4000 (32 Bit), LPC900, LPC700 (8 Bit)
  • Parallaxe-Propeller
  • PowerPC ISE
  • Kaninchen 2000 (8 Bit)
  • Renesas RX, V850, Hitachi H8, Hitachi SuperH (32 Bit), M16C (16 Bit), RL78, R8C, 78K0/78K0R (8 Bit)
  • Silikonlaboratorien Pipelined 8 Bit 8051 Mikrokontrolleure und Mischsignal Arm-basierte 32-Bit-Mikrokontrolleure
  • STMicroelectronics STM8 (8 Bit), ST10 (16 Bit) und STM32 (32 Bit)
  • Instrumente von Texas TI MSP430 (16 Bit)
  • Toshiba TLCS-870 (8-bit/16-bit).

Viele andere bestehen, von denen einige in der sehr schmalen Reihe von Anwendungen verwendet werden oder mehr Anwendungsverarbeitern ähnlich sind als Mikrokontrolleure. Der Mikrokontrolleur-Markt, wird mit zahlreichen Verkäufern, Technologien und Märkten äußerst gebrochen. Bemerken Sie, dass viele Verkäufer verkaufen oder vielfache Architekturen verkauft haben.

Unterbrechungslatenz

Im Gegensatz zu Mehrzweckcomputern haben Mikrokontrolleure in eingebetteten Systemen verwendet häufig bemühen sich, Unterbrechungslatenz über den Instruktionsdurchfluss zu optimieren. Probleme schließen sowohl das Reduzieren der Latenz als auch Bilden davon ein, voraussagbarer sein (um Echtzeitkontrolle zu unterstützen).

Wenn ein elektronisches Gerät eine Unterbrechung verursacht, müssen die Zwischenergebnisse (Register) gespart werden, bevor die Software, die dafür verantwortlich ist, die Unterbrechung zu behandeln, laufen kann. Sie müssen auch wieder hergestellt werden, nachdem diese Software beendet wird. Wenn es mehr Register gibt, nehmen dieses Sparen und Wiederherstellung des Prozesses mehr Zeit, die Latenz vergrößernd. Weisen, solche Latenz des Zusammenhangs/wieder herstellen zu reduzieren, schließen ein relativ wenige Register in ihren in einer Prozession gehenden Haupteinheiten zu haben (unerwünscht, weil es den grössten Teil der Nichtunterbrechung verlangsamt, die wesentlich in einer Prozession geht), oder mindestens die Hardware nicht habend, sie alle sparen (das scheitert, wenn die Software dann durch das Sparen des Rests "manuell" ersetzen muss). Eine andere Technik ist mit ausgebenden Silikontoren auf "Schattenregistern" verbunden: Ein oder mehr Doppelregister verwendet nur durch die Unterbrechungssoftware, vielleicht einen hingebungsvollen Stapel unterstützend.

Andere Faktoren, die Unterbrechungslatenz betreffen, schließen ein:

  • Zyklen mussten aktuelle Zentraleinheitstätigkeiten vollenden. Um jene Kosten zu minimieren, neigen Mikrokontrolleure dazu, kurze Rohrleitungen (häufig drei Instruktionen oder weniger), kleine Pufferspeicher zu haben und sicherzustellen, dass längere Instruktionen continuable oder restartable sind. RISC Designgrundsätze stellen sicher, dass die meisten Instruktionen dieselbe Zahl von Zyklen nehmen, das Helfen vermeiden das Bedürfnis nach dem grössten Teil solcher Logik der Verlängerung/Wiederanfangs.
  • Die Länge jeder kritischen Abteilung, die unterbrochen werden muss. Der Zugang zu einer kritischen Abteilung beschränkt gleichzeitigen Datenstruktur-Zugang. Wenn auf eine Datenstruktur von einem Unterbrechungsdressierer zugegriffen werden muss, muss die kritische Abteilung diese Unterbrechung blockieren. Entsprechend wird Unterbrechungslatenz durch jedoch lange vergrößert, dass Unterbrechung blockiert wird. Wenn es hart Außeneinschränkungen auf die Systemlatenz gibt, brauchen Entwickler häufig Werkzeuge, um Unterbrechungslatenz zu messen und ausfindig zu machen, welche kritische Abteilungen Verlangsamungen verursachen.
  • Eine allgemeine Technik blockiert gerade alle Unterbrechungen für die Dauer der kritischen Abteilung. Das ist leicht durchzuführen, aber manchmal werden kritische Abteilungen unbequem lang.
  • Eine kompliziertere Technik blockiert gerade die Unterbrechungen, die Zugang zu dieser Datenstruktur auslösen können. Das basiert häufig auf Unterbrechungsprioritäten, die dazu neigen, gut zu den relevanten Systemdatenstrukturen nicht zu entsprechen. Entsprechend wird diese Technik größtenteils in sehr gezwungenen Umgebungen verwendet.
  • Verarbeiter können Hardware-Unterstützung für einige kritische Abteilungen haben. Beispiele schließen unterstützenden Atomzugang zu Bit oder Bytes innerhalb eines Wortes oder anderen Atomzugriffsprimitiven wie die LDREX/STREX exklusiven in der ARMv6 Architektur eingeführten Zugriffsprimitiven ein.
  • Unterbrechungsnisten. Einige Mikrokontrolleure erlauben höheren Vorzugsunterbrechungen, niedrigere Vorrang zu unterbrechen. Das erlaubt Software, Latenz durch das Geben zeitkritischen Unterbrechungen höheren Vorrangs zu führen (und so zu sinken, und voraussagbarere Latenz) als weniger - kritische.
  • Abzug-Rate. Wenn Unterbrechungen zurück zum Rücken vorkommen, können Mikrokontrolleure vermeiden, dass ein Extrazusammenhang Zyklus durch eine Form der Schwanz-Anruf-Optimierung/wieder herstellt spart.

Niedrigere Endmikrokontrolleure neigen dazu, weniger Unterbrechungslatenz-Steuerungen zu unterstützen, als höhere Ende.

Mikrokontrolleur hat Speichertechnologie eingebettet

Seit dem Erscheinen von Mikrokontrolleuren sind viele verschiedene Speichertechnologien verwendet worden. Fast alle Mikrokontrolleure haben mindestens zwei verschiedene Arten des Gedächtnisses, ein nichtflüchtiger Speicher, um firmware und einen gelesenen zu versorgen - schreibt Gedächtnis für vorläufige Daten.

Daten

Von den frühsten Mikrokontrolleuren zu heute wird Sechs-Transistoren-SRAM fast immer als das Lesen/Schreiben Arbeitsgedächtnis mit noch einigen Transistoren pro in der Register-Datei verwendetes Bit verwendet. MRAM konnte es potenziell ersetzen, weil es 4 bis 10mal dichter ist, der es mehr wirksame Kosten machen würde.

Zusätzlich zum SRAM haben einige Mikrokontrolleure auch inneren EEPROM für die Datenlagerung; und sogar, die keinen haben (oder nicht genug) werden häufig mit dem EEPROM Außenserienspan (wie die GRUNDLEGENDE Marke) oder Außenserienblitz-Speicherspan verbunden.

Einige neue Mikrokontrolleure, die 2003 beginnen, haben "selbstprogrammierbares" Blitz-Gedächtnis.

Firmware

Die frühsten Mikrokontrolleure haben Maske-ROM verwendet, um firmware zu versorgen. Spätere Mikrokontrolleure (wie die frühen Versionen von Freescale 68HC11 und frühe FOTO-Mikrokontrolleure) hatten Quarzfenster, die ultraviolettes Licht erlaubt haben in, den EPROM zu löschen.

Der Mikrochip PIC16C84, eingeführt 1993,

war der erste Mikrokontrolleur, um EEPROM zu verwenden, um firmware zu versorgen. In demselben Jahr hat Atmel den ersten Mikrokontrolleur vorgestellt, der verwendet NOCH Blitz-Gedächtnis, um firmware zu versorgen.

Siehe auch

Referenzen

Außenverbindungen


Merseburg / Marcel Proust
Impressum & Datenschutz