FOTO-Mikrokontrolleur

FOTO ist eine Familie von modifizierten durch die Mikrochip-Technologie gemachten Architektur-Mikrokontrolleuren von Harvard, ist auf den von der Mikroelektronik-Abteilung des allgemeinen Instrumentes ursprünglich entwickelten PIC1650 zurückzuführen gewesen. Der Name FOTO hat sich am Anfang auf den "Peripherischen Schnittstelle-Kontrolleur" bezogen.

FILME sind sowohl bei Industrieentwicklern als auch bei Hobbyisten gleich wegen ihrer niedrigen Kosten, breiter Verfügbarkeit, großer Benutzerbasis, umfassender Sammlung von Anwendungszeichen, Verfügbarkeit von niedrigen Kosten oder freien Entwicklungswerkzeugen, und Serienprogrammierung (und Wiederprogrammierung mit dem Blitz-Gedächtnis) Fähigkeit populär.

Mikrochip hat auf dem September 2011 die Sendung seines zehnmillionsten FOTO-Verarbeiters bekannt gegeben.

Kernarchitektur

Die FOTO-Architektur wird durch seine vielfachen Attribute charakterisiert:

  • Getrennter Code und Datenräume (Architektur von Harvard) für Geräte außer PIC32, der eine Architektur von Von Neumann hat.
  • Eine kleine Anzahl von festen Länge-Instruktionen
  • Die meisten Instruktionen sind einzelne Zyklus-Ausführung (2 Uhr-Zyklen oder 4 Uhr-Zyklen in 8-Bit-Modellen) mit einem Verzögerungszyklus auf Zweigen, und lässt aus
  • Ein Akkumulator (W0), dessen Gebrauch (als Quelle operand) einbezogen wird (d. h. wird im opcode nicht verschlüsselt)
  • Alle RAM-Positionen fungieren als Register sowohl als die Quelle als auch als der Bestimmungsort der Mathematik und anderen
functions.http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf
  • Ein Hardware-Stapel, um Rücksprungadressen zu versorgen
  • Ein ziemlich kleiner Betrag des addressable Datenraums (normalerweise 256 Bytes), erweitert durch das Bankwesen
  • Datenraum hat Zentraleinheit, Hafen und peripherische Register kartografisch dargestellt
  • Der Programm-Schalter wird auch in den Datenraum und writable kartografisch dargestellt (das wird verwendet, um indirekte Sprünge durchzuführen).

Es gibt keine Unterscheidung zwischen Speicherraum und Register-Raum, weil der RAM dem Job sowohl des Gedächtnisses als auch der Register dient, und der RAM gewöhnlich gerade die Register-Datei oder einfach als die Register genannt wird.

Datenraum (RAM)

FILME haben eine Reihe von Registern, die als allgemeiner Zweck-RAM fungieren. Spezielle Zweck-Kontrollregister für Hardware-Mittel auf dem Span werden auch in den Datenraum kartografisch dargestellt. Die Adressierbarkeit des Gedächtnisses ändert sich, je nachdem Gerät-Reihe und alle FOTO-Geräte einen Bankverkehrsmechanismus haben, das Wenden an das zusätzliche Gedächtnis zu erweitern. Spätere Reihen von Geräten zeigen Bewegungsinstruktionen, die den ganzen addressable Raum bedecken können, der der ausgewählten Bank unabhängig ist. In früheren Geräten musste jede Register-Bewegung über den Akkumulator erreicht werden.

Um das indirekte Wenden eine "Datei ausgesuchtes Register" (FSR) durchzuführen, und "wird indirektes Register" (INDF) verwendet. Eine Register-Zahl wird dem FSR geschrieben, nach dem davon liest oder INDF schreibt, wird wirklich dazu sein, oder vom Register hat zu durch FSR hingewiesen. Spätere Geräte haben dieses Konzept mit post - und prä-Zunahme/Verminderung für die größere Leistungsfähigkeit im Zugreifen auf folgend versorgte Daten erweitert. Das erlaubt auch FSR, fast wie ein Stapel-Zeigestock (SP) behandelt zu werden.

Außendatengedächtnis ist nicht direkt addressable außer in einigen hohen Nadel-Geräten des Punkts der Klagebegründung PIC18.

Coderaum

Der Coderaum wird allgemein als ROM, EPROM oder Blitz-ROM durchgeführt. Im Allgemeinen ist Außencodegedächtnis nicht direkt addressable wegen des Mangels an einer Außenspeicherschnittstelle. Die Ausnahmen sind PIC17 und wählen hohe Nadel-Geräte des Punkts der Klagebegründung PIC18 aus.

Wortgröße

Der ganze FILME-Griff (und Adresse) Daten in 8-Bit-Klötzen. Jedoch ist die Einheit der Adressierbarkeit des Coderaums nicht allgemein dasselbe als der Datenraum. Zum Beispiel haben FILME in der Grundlinie (PIC12) und (PIC16) Familien des mittleren Bereichs Programm-Gedächtnis addressable in demselben wordsize wie die Instruktionsbreite, d. h. 12 oder 14 Bit beziehungsweise. Im Gegensatz, in der PIC18 Reihe, wird das Programm-Gedächtnis in 8-Bit-Zunahme (Bytes) gerichtet, der sich von der Instruktionsbreite von 16 Bit unterscheidet.

Um klar zu sein, wird die Programm-Speicherkapazität gewöhnlich in der Zahl (einzelnes Wort) Instruktionen, aber nicht in Bytes festgesetzt.

Stapel

FILME haben einen Hardware-Anruf-Stapel, der verwendet wird, um Rücksprungadressen zu sparen. Der Hardware-Stapel ist nicht auf früheren Geräten zugängliche Software, aber das hat sich mit den 18 Reihe-Geräten geändert.

Die Hardware-Unterstützung für einen allgemeinen Zweck-Parameter-Stapel fehlte in der frühen Reihe, aber dem, das außerordentlich in den 18 Reihen verbessert ist, die 18 zu hohen Sprachbearbeitern freundlichere Reihe-Architektur machend.

Befehlssatz

Instruktionen eines FOTOS ändern sich aus ungefähr 35 Instruktionen für die FILME des niedrigen Endes zu mehr als 80 Instruktionen für die FILME des hohen Endes. Der Befehlssatz schließt Instruktionen ein, eine Vielfalt von Operationen auf Registern direkt, dem Akkumulator und einer wörtlichen Konstante oder dem Akkumulator und einem Register, sowie für die bedingte Ausführung und das Programm-Ausbreiten durchzuführen.

Einige Operationen, wie Bit-Einstellung und Prüfung, können auf jedem numerierten Register durchgeführt werden, aber bi-operand arithmetische Operationen sind immer mit W (der Akkumulator) verbunden, das Ergebnis zurück entweder W oder dem anderen Operand-Register schreibend. Um eine Konstante zu laden, ist es notwendig, es in W zu laden, bevor es in ein anderes Register bewegt werden kann. Auf den älteren Kernen mussten alle Register-Bewegungen W durchführen, aber das hat auf dem "hohen Ende" Kerne geändert.

FOTO-Kerne haben Hopser-Instruktionen, die für die bedingte Ausführung und das Ausbreiten verwendet werden. Die Hopser-Instruktionen sind 'Hopser, wenn Bohrersatz' und 'Hopser, wenn Bit nicht untergegangen ist'. Weil Kerne vor PIC18 nur vorbehaltlose Zweiginstruktionen hatten, werden bedingte Sprünge durch einen bedingten Hopser (mit der entgegengesetzten Bedingung) gefolgt von einem vorbehaltlosen Zweig durchgeführt. Hopser sind auch des Dienstprogrammes für die bedingte Ausführung jeder unmittelbaren einzelnen folgenden Instruktion.

Die 18 Reihen haben Schattenregister durchgeführt, die mehrere wichtige Register während einer Unterbrechung sparen, Hardware-Unterstützung zur Verfügung stellend, um Verarbeiter-Staat automatisch zu sparen, wenn sie Unterbrechungen bedienen.

Im Allgemeinen fallen FOTO-Instruktionen in 5 Klassen:

  1. Operation auf dem Arbeitsregister (WREG) mit ("wörtlichem") unmittelbarem 8-Bit-operand. Z.B (bewegen sich wörtlich zu WREG), (UND wörtlich mit WREG). Eine dem FOTO eigenartige Instruktion, ist Last, die in WREG und Rückkehr unmittelbar ist, die mit geschätzten Zweigen verwendet wird, um Nachschlagetabellen zu erzeugen.
  2. Operation mit WREG und mit einem Inhaltsverzeichnis versehenem Register. Das Ergebnis kann irgendeinem das Arbeitsregister (z.B) geschrieben werden.. oder das ausgewählte Register (z.B)..
  3. Bit-Operationen. Diese nehmen eine Register-Zahl und wenig Zahl, und führen eine von 4 Handlungen durch: Satz oder klar ein bisschen, und Test und Hopser darauf ist untergegangen/geklärt. Die Letzteren werden verwendet, um bedingte Zweige durchzuführen. Die üblichen ALU Status-Fahnen sind in einem numerierten Register verfügbar, so tragen Operationen wie "Zweig darauf klar", sind möglich.
  4. Kontrollübertragungen. Anders als die vorher erwähnten Hopser-Instruktionen gibt es nur zwei: und.
  5. Einige verschiedene Null-Operand-Instruktionen, wie Rückkehr vom Unterprogramm, und in Weise der niedrigen Macht einzugehen.

Leistung

Die architektonischen Entscheidungen werden bei der Maximierung des Verhältnisses der Geschwindigkeit zu den Kosten geleitet. Die FOTO-Architektur war unter den ersten Skalarzentraleinheitsdesigns, und ist noch unter dem einfachsten und preiswertesten. Die Architektur von Harvard - in dem Instruktionen und Daten aus getrennten Quellen kommen - vereinfacht Timing und Mikroschaltkreis-Design außerordentlich, und diese Zulageuhr-Geschwindigkeit, Preis und Macht-Verbrauch.

Dem FOTO-Befehlssatz wird der Durchführung von schnellen Nachschlagetabellen im Programm-Raum angepasst. Solche lookups nehmen eine Instruktion und zwei Instruktionszyklen. Viele Funktionen können auf diese Weise modelliert werden. Optimierung wird durch den relativ großen Programm-Raum des FOTOS (z.B 4096 × 14-Bit-Wörter auf 16F690) und durch das Design des Befehlssatzes erleichtert, der eingebettete Konstanten berücksichtigt. Zum Beispiel kann ein Zweiginstruktionsziel durch W mit einem Inhaltsverzeichnis versehen werden, und einen "RETLW" durchführen, der tut, wie es genannt wird - kehren mit dem Druckfehler in W zurück.

Unterbrechungslatenz ist an drei Instruktionszyklen unveränderlich. Außenunterbrechungen müssen mit dem vier Uhr-Instruktionszyklus synchronisiert werden, sonst kann es einen Instruktionszyklus-Bammel geben. Innere Unterbrechungen werden bereits synchronisiert. Die unveränderliche Unterbrechungslatenz erlaubt FILMEN, Unterbrechung gesteuert zu erreichen, niedrig sind nervös, Folgen zeitlich festlegend. Ein Beispiel davon ist ein synchronisierter Videopulsgenerator. Das ist in den neuesten FOTO-Modellen nicht mehr wahr, weil sie eine gleichzeitige Unterbrechungslatenz von drei oder vier Zyklen haben.

Vorteile

Die FOTO-Architekturen sind im Vorteil:

  • Kleiner Befehlssatz, um zu erfahren
  • RISC Architektur
  • Gebaut im Oszillator mit selectable Geschwindigkeiten
  • Leichtes Zugang-Niveau, in der Stromkreis-Programmierung plus im Stromkreis, bei PICKit Einheiten die Fehler beseitigend, die von Microchip.com für weniger als 50 $ verfügbar
sind
  • Billige Mikrokontrolleure
  • Die breite Reihe von Schnittstellen einschließlich I²C, SPI, USB, USART, A/D, programmierbaren comparators, PWM, LINS, KANN PSP und Ethernet

Beschränkungen

Die FOTO-Architekturen haben diese Beschränkungen:

  • Ein Akkumulator
  • Schaltung der Register-Bank ist erforderlich, auf den kompletten RAM von vielen Geräten zuzugreifen
  • Operationen und Register sind nicht orthogonal; einige Instruktionen können RAM und/oder unmittelbare Konstanten richten, während andere nur den Akkumulator verwenden können

Die folgenden Stapel-Beschränkungen sind in der PIC18 Reihe gerichtet worden, aber gelten noch für frühere Kerne:

  • Der Hardware-Anruf-Stapel ist nicht addressable, so kann Vorkaufsaufgabenumschaltung nicht durchgeführt werden
  • Softwaredurchgeführte Stapel sind nicht effizient, so ist es schwierig, einspringenden Code zu erzeugen und lokale Variablen zu unterstützen

Mit dem paginierten Programm-Gedächtnis gibt es Zwei-Seite-Größen, um sich zu sorgen, über: ein für den ANRUF und GOTO und einen anderen für geschätzten GOTO (normalerweise verwendet für den Tisch lookups). Zum Beispiel, auf PIC16, RUFEN SIE, und GOTO haben 11 Bit des Wendens, so ist die Seitengröße 2048 Instruktionswörter. Für geschätzten GOTOs, wo Sie zu PCL beitragen, ist die Seitengröße 256 Instruktionswörter. In beiden Fällen werden die oberen Adressbit durch das PCLATH-Register zur Verfügung gestellt. Dieses Register muss jedes Mal Kontrollübertragungen zwischen Seiten geändert werden. PCLATH muss auch von jedem Unterbrechungsdressierer bewahrt werden.

Bearbeiter-Entwicklung

Während mehrere kommerzielle Bearbeiter 2008 verfügbar sind, hat Mikrochip ihre eigenen C Bearbeiter, C18 und C30, für die Linie 18F 24F und 30/33F Verarbeiter veröffentlicht.

Das leichte, um RISC Befehlssatz des FOTO-Zusammenbau-Sprachcodes zu erfahren, kann den gesamten Fluss schwierig machen umzufassen. Der vernünftige Gebrauch von einfachen Makros kann die Lesbarkeit der FOTO-Zusammenbau-Sprache vergrößern. Zum Beispiel hat der ursprüngliche Parallaxe-FOTO-Monteur ("KONVULSION") Makros, die W verbergen und das FOTO wie eine Zweiadressmaschine aussehen lassen. Es hat Makroinstruktionen wie "" (bewegen Sie die Daten von der Adresse, um b zu richten), und "" (fügen Daten von der Adresse zu Daten in der Adresse b hinzu). Es verbirgt sich auch die Hopser-Instruktionen, indem Sie drei operand Zweig Makroinstruktionen solcher als "" zur Verfügung stellen (vergleichen Sie sich mit b und Sprung zu dest, wenn sie nicht gleich sind).

Familienkern architektonische Unterschiede

PICmiro Chips haben eine Architektur von Harvard, und Instruktionswörter sind ungewöhnliche Größen. Ursprünglich haben 12-Bit-Instruktionen 5 Adressbit eingeschlossen, um das Gedächtnis operand, und 9 Bit brach Bestimmungsörter anzugeben. Spätere Revisionen haben opcode Bit hinzugefügt, zusätzliche Adressbit erlaubend.

Grundlinie-Kerngeräte (12 Bit)

Diese Geräte zeigen ein 12 Bit breites Codegedächtnis, eine 32-Byte-Register-Datei, und ein winziges zwei Niveau nennt tief Stapel. Sie werden durch die PIC10 Reihe, sowie durch einen PIC12 und PIC16 Geräte vertreten. Grundlinie-Geräte sind im 6-Nadeln-für 40-Nadeln-Pakete verfügbar.

Allgemein sind die ersten 7 bis 9 Bytes der Register-Datei Register des speziellen Zwecks, und die restlichen Bytes sind allgemeiner Zweck-RAM. Zeigestöcke werden mit einem Register-Paar durchgeführt: Nach dem Schreiben einer Adresse zum FSR (Datei ausgesuchtes Register) der INDF (indirekter f) wird Register ein Deckname für das gerichtete Register.

Wenn bei einer Bank hinterlegter RAM durchgeführt wird, wird die Bankzahl durch die hohen 3 Bit des FSR ausgewählt. Das betrifft Register Nummern 16-31; Register 0-15 sind global und durch die Bankauswahl-Bit nicht betroffen.

Wegen des sehr beschränkten Register-Raums (5 Bit) wurden 4 selten gelesene Register Adressen nicht zugeteilt, aber durch spezielle Instruktionen geschrieben (und).

Der ROM-Adressraum ist 512 Wörter (12 Bit jeder), der zu 2048 Wörtern durch das Bankwesen erweitert werden kann. und Instruktionen geben die niedrigen 9 Bit der neuen Codeposition an; zusätzliche Bit der hohen Ordnung werden vom Statusregister genommen. Bemerken Sie, dass eine ANRUF-Instruktion nur 8 Bit der Adresse einschließt, und nur Adressen in der ersten Hälfte jeder 512-Wörter-Seite angeben kann.

Nachschlagetabellen werden mit einem geschätzten (Anweisung zum PCL-Register) in einen Tisch von Instruktionen durchgeführt.

Der Befehlssatz ist wie folgt. Register-Zahlen werden "f" genannt, während Konstanten "k" genannt werden. Bit Nummern (0-7) wird durch "b" ausgewählt. Der "d" hat gebissen wählt den Bestimmungsort aus: 0 zeigt W an, während 1 anzeigt, dass das Ergebnis Quellregister-f zurückgeschrieben wird. Der C und die Z Status-Fahnen können gestützt auf dem Ergebnis gesetzt werden; sonst werden sie unmodifiziert. Tragen Sie bei und machen Sie Abstriche (aber nicht rotieren) Instruktionen, die untergehen, setzen C auch den Gleichstrom (Ziffer tragen) Fahne, das Tragen vom Bit 3 zum Bit 4, der für die BCD Arithmetik nützlich ist.

Drittklone (13 Bit)

ELAN Microelectronics Corp. macht eine Reihe von PICmicro ähnlichen Mikrokontrolleuren mit einem 13-Bit-Instruktionswort. Die Instruktionen sind mit dem 14-Bit-Befehlssatz des mittleren Bereichs, aber beschränkten auf eine 6-Bit-Register-Adresse (16 Register des speziellen Zwecks und 48 Bytes des RAM) und 10 Bit (1024 Wort) Programm-Raum größtenteils vereinbar.

Die 7 mit dem Akkumulator unmittelbaren Instruktionen werden hinsichtlich des 14-Bit-PICmicro umnummeriert, um 3 opcode Bit aber nicht 4 einzubauen, aber sie sind alle dort, sowie eine zusätzliche Softwareunterbrechungsinstruktion.

Es gibt einige zusätzliche verschiedene Instruktionen, und es gibt einige Änderungen zur Fachsprache (das PICmicro AUSWAHL-Register wird das KONTROLL-Register genannt; die PICmicro TRIS Register werden Eingabe/Ausgabe-Kontrollregister genannt), aber die Entsprechungen sind offensichtlich.

*: Derselbe opcode wie 12-Bit-FOTO

+: Instruktion, die zum EM78 Befehlssatz ohne FOTO gleichwertiger einzigartig

ist

Kerngeräte des mittleren Bereichs (14 Bit)

Diese Geräte zeigen ein 14 Bit breites Codegedächtnis, und ein verbessertes 8 Niveau nennt tief Stapel. Der Befehlssatz unterscheidet sich sehr wenig von den Grundlinie-Geräten, aber die 2 zusätzlichen opcode Bit erlauben 128 Registern und 2048 Wörtern des Codes, direkt gerichtet zu werden. Es gibt einige zusätzliche verschiedene Instruktionen und zwei zusätzliche wörtliche 8-Bit-Instruktionen, trägt bei und macht Abstriche. Der Kern des mittleren Bereichs ist in der Mehrheit von etikettiertem PIC12 und PIC16 von Geräten verfügbar.

Die ersten 32 Bytes des Register-Raums werden Registern des speziellen Zwecks zugeteilt; die restlichen 96 Bytes werden für den Mehrzweck-RAM verwendet. Wenn bei einer Bank hinterlegter RAM verwendet wird, sind die hohen 16 Register (0x70-0x7F) global, wie einige der wichtigsten Register des speziellen Zwecks einschließlich des Statusregisters sind, das die RAM-Bankauswahl-Bit hält. (Die anderen globalen Register sind FSR und INDF, die niedrigen 8 Bit des Programms entgegnen PCL, der PC laden hoch Register PCLATH vor, und die Master-Unterbrechungskontrolle schreibt INTCON ein.)

Die PCLATH schreiben Bedarf-Instruktionsadressbit der hohen Ordnung ein, wenn die 8 Bit, die durch ein Schreiben dem PCL-Register oder die 11 Bit geliefert sind, die durch a oder Instruktion geliefert sind, nicht genügend sind, um den verfügbaren ROM-Raum zu richten.

Erhöhte Kerngeräte Des mittleren Bereichs (14 Bit)

Erhöhte Kerngeräte Des mittleren Bereichs führen einen tieferen Hardware-Stapel, zusätzliche Rücksetzen-Methoden, 14 zusätzliche Instruktionen und Programmiersprache-Optimierungen 'von C' ein.insbesondere. Es gibt zwei

PIC17 beenden hoch Kerngeräte (16 Bit)

Die 17 Reihen sind nie populär geworden und sind durch die PIC18 Architektur ersetzt worden. Es wird für neue Designs nicht empfohlen, und Verfügbarkeit kann beschränkt werden.

Verbesserungen über frühere Kerne sind 16 Bit breiter opcodes (viele neue Instruktionen erlaubend), und ein 16 Niveau nennt tief Stapel. PIC17 Geräte wurden in Paketen von 40 bis 68 Nadeln erzeugt.

Die 17 Reihen haben mehrere wichtige neue Eigenschaften eingeführt:

  • ein Gedächtnis hat Akkumulator kartografisch dargestellt
  • lesen Sie Zugang, um Gedächtnis zu codieren (Tisch liest)
  • direktes Register, um Bewegungen einzuschreiben (mussten vorherige Kerne Register durch den Akkumulator bewegen)
  • ein Außenprogramm-Gedächtnis verbindet, um den Coderaum auszubreiten
  • 8 Bit × 8-Bit-Hardware-Vermehrer
  • ein zweites indirektes Register-Paar
  • das Wenden der Autozunahme/Verminderung, das von Kontrollbit in einem Statusregister (ALUSTA) kontrolliert ist

PIC18 beenden hoch Kerngeräte (16 Bit)

Mikrochip hat die PIC18 Architektur 2000 eingeführt. http://mdubuc.freeshell.org/Sdcc/ Verschieden von den 17 Reihen hat es sich erwiesen, mit einer Vielzahl von Gerät-Varianten jetzt in der Fertigung sehr populär zu sein. Im Gegensatz zu früheren Geräten, die meistens im Zusammenbau programmiert wurden, ist C die vorherrschende Entwicklungssprache http://www.microchipc.com/sourcecode/geworden.

Die 18 Reihen erben die meisten Eigenschaften und Instruktionen der 17 Reihen, während sie mehrere wichtige neue Eigenschaften hinzufügen:

  • rufen Sie Stapel ist 21 Bit breit und (31 Niveaus tief) viel tiefer
  • der Anruf-Stapel kann gelesen und (TOSU:TOSH:TOSL Register) geschrieben werden
  • bedingte Zweiginstruktionen
  • mit einem Inhaltsverzeichnis versehene Wenden-Weise (PLUSW)
  • das Verlängern des FSR schreiben sich zu 12 Bit, das Erlauben von sie ein, den kompletten Datenadressraum geradlinig zu richten
  • die Hinzufügung eines anderen FSR-Registers (das Holen der Zahl bis zu 3)

Der RAM-Raum ist 12 Bit, das gerichtete Verwenden eines 4-Bit-Bankauswahl-Registers und eines 8-Bit-Ausgleichs in jeder Instruktion. Ein zusätzliches "Zugriffs"-Bit in jeder Instruktion wählt zwischen der Bank 0 (a=0) und der Bank aus, die durch den BSR (a=1) ausgewählt ist.

Ein 1-Niveau-Stapel ist auch für den STATUS, WREG und die BSR-Register verfügbar. Sie werden auf jeder Unterbrechung gespart, und können auf der Rückkehr wieder hergestellt werden. Wenn Unterbrechungen arbeitsunfähig sind, können sie auch auf dem Unterprogramm-Anruf/Rückkehr durch das Setzen des S-Bit (das Befestigen", SCHNELL" zur Instruktion) verwendet werden.

Die Auto-Eigenschaft der Zunahme/Verminderung wurde durch das Entfernen der Kontrollbit und das Hinzufügen vier neuer indirekter Register pro FSR verbessert. Abhängig von dem auf indirektes Dateiregister zugegriffen wird, ist es zur Postverminderung, Postzunahme oder Vorzunahme FSR möglich; oder bilden Sie die wirksame Adresse, indem Sie W zu FSR beitragen.

In fortgeschritteneren PIC18 Geräten ist eine "verlängerte Weise" verfügbar, der das Wenden noch günstiger zum kompilierten Code macht:

  • eine neue Ausgleich-Wenden-Weise; einige Adressen, die hinsichtlich der Zugriffsbank waren, werden jetzt hinsichtlich des FSR2 Register interpretiert
  • die Hinzufügung mehrerer neuer Instruktionen, die bemerkenswert sind, für die FSR-Register zu manipulieren.

Diese Änderungen wurden in erster Linie Besserung der Leistungsfähigkeit gezielt Daten schobern Durchführung auf. Wenn FSR2 entweder als der Stapel-Zeigestock oder als Rahmenzeigestock verwendet wird, können Stapel-Sachen — das Erlauben effizienteren einspringenden Codes leicht mit einem Inhaltsverzeichnis versehen werden. Der MPLAB des Mikrochips C18 C Bearbeiter beschließt, FSR2 als ein Rahmenzeigestock zu verwenden.

PIC24 und dsPIC 16-Bit-Mikrokontrolleure

2001 hat Mikrochip die dsPIC Reihe von Chips eingeführt, die in Massenproduktion gegen Ende 2004 eingegangen sind. Sie sind die ersten von Natur aus 16 Bit Mikrokontrolleure des Mikrochips. PIC24 Geräte werden als allgemeine Zweck-Mikrokontrolleure entworfen. DsPIC-Geräte schließen Digitalsignalverarbeitungsfähigkeiten außerdem ein.

Architektonisch, obwohl sie den FOTO-Namen teilen, sind sie von den 8-Bit-FILMEN sehr verschieden. Die bemerkenswertesten Unterschiede sind:

  • sie zeigen eine Reihe 16 Arbeitsregister (W0-W15)
  • sie unterstützen völlig einen Stapel im RAM, und haben keinen Hardware-Stapel
  • Bankschaltung ist nicht erforderlich, auf RAM zuzugreifen, oder spezielle Funktion schreibt ein
auf
  • im Programm-Gedächtnis versorgte Daten kann direkt mit einer Eigenschaft genannt die Programm-Raumsichtbarkeit zugegriffen werden
  • Unterbrechungsquellen können verschiedenen Dressierern zugeteilt werden, die einen Unterbrechungsvektor-Tisch verwenden

Einige Eigenschaften sind:

  • Hardware MAC (multiplizieren - wächst an)
  • Barrel, das sich bewegt
  • Bit-Umkehrung
  • (16×16) - hat Multiplikation des einzelnen Zyklus und andere DSP Operationen gebissen
  • Hardware teilt sich helfen (19 Zyklen dafür teilen sich 16/32-bit)
  • Hardware-Unterstützung für die Schleife, die mit einem Inhaltsverzeichnis versieht
  • Direkter Speicherzugang

dsPICs kann in C das Verwenden des C30 Bearbeiters des Mikrochips programmiert werden, der eine Variante von gcc ist.

PIC32 32-Bit-Mikrokontrolleure

Im November 2007 hat Mikrochip die neue PIC32MX Familie von 32-Bit-Mikrokontrolleuren vorgestellt.

Die anfängliche Gerät-Aufstellung basiert auf dem Industriestandard MIPS32 M4K Corehttp://www.mips.com/products/processors/32-64-bit-cores/mips32-m4k/. Das Gerät kann mit dem Mikrochip MPLAB C Bearbeiter für PIC32 MCUs, eine Variante des GCC Bearbeiters programmiert werden. Die ersten 18 Modelle zurzeit in der Produktion (PIC32MX3xx und PIC32MX4xx) sind Nadel, um vereinbar denselben Peripherie-Satz mit der PIC24FxxGA0xx Familie von (16-Bit-)-Geräten zu befestigen und zu teilen, die den Gebrauch von allgemeinen Bibliotheken, Software und Hardware-Werkzeugen erlauben.

Die PIC32 Architektur bringt mehrere neue Eigenschaften zur Mikrochip-Mappe, einschließlich:

  • Die höchste Ausführungsgeschwindigkeit 80 MIPS (120 + Dhrystone)
  • Das größte Blitz-Gedächtnis:
  • Eine Instruktion pro Uhr-Zyklus-Ausführung
  • Der erste versteckte Verarbeiter
  • Erlaubt Ausführung vom RAM
  • Volle Geschwindigkeitsgastgeber-Rolle / Doppelrolle und OTG USB-Fähigkeiten
  • Voller JTAG und 2 Leitungsprogrammierung und das Beseitigen
  • Echtzeitspur

Gerät-Varianten und Hardware-Eigenschaften

FOTO-Geräte zeigen allgemein:

  • Schlaf-Weise (Macht-Ersparnisse).
  • Aufpasser-Zeitmesser.
  • Verschiedene Kristall- oder RC-Oszillator-Konfigurationen oder eine Außenuhr.

Varianten

Innerhalb einer Reihe gibt es noch viele Gerät-Varianten abhängig davon, welche Hardware-Mittel der Span zeigt.

  • Allgemeine Zweck-Eingabe/Ausgabe-Nadeln.
  • Innere Uhr-Oszillatoren.
  • Am 8/16/32 Bit-Zeitmesser.
  • Inneres EEPROM Gedächtnis.
  • Gleichzeitige/asynchrone Serienschnittstelle USART.
  • MSSP, der für I²C und SPI Kommunikationen peripherisch ist.
  • Gewinnen Sie/vergleichen und PWM Module.
  • Konverter des Analogons-zu-digital (bis zu ~1.0 MHz).
  • USB, Ethernet, KANN, Unterstützung verbindend.
  • Außenspeicherschnittstelle.
  • RF einheitliche analoge Vorderenden (PIC16F639 und rfPIC).
  • KEELOQ, die peripherische Codeverschlüsselung Rollen (verschlüsseln)/decodieren)
  • Und noch viele.

Tendenzen

Die erste Generation von FILMEN mit der EPROM Lagerung wird fast durch Chips mit dem Blitz-Gedächtnis völlig ersetzt. Ebenfalls ist der ursprüngliche 12-Bit-Befehlssatz des PIC1650 und seiner direkten Nachkommen durch 14-bit- und 16-Bit-Befehlssätze ersetzt worden. Mikrochip verkauft noch OTP (eine Zeit programmierbar), und mit Fenster versehene (UV-erasable) Versionen von einigen seiner EPROM haben FILME für die Vermächtnis-Unterstützung oder Volumen-Ordnungen gestützt. Die Mikrochip-Website verzeichnet FILME, die nicht elektrisch erasable als OTP sind. UV erasable mit Fenster versehene Versionen dieser Chips kann bestellt werden.

Geschichte

Das ursprüngliche FOTO wurde gebaut, um mit der neuen 16-Bit-Zentraleinheit des allgemeinen Instrumentes, dem CP1600 verwendet zu werden. Während allgemein eine gute Zentraleinheit, der CP1600 schlechte Eingabe/Ausgabe-Leistung hatte, und das 8-Bit-FOTO 1975 entwickelt wurde, um Leistung des gesamten Systems durch das Abladen von Eingabe/Ausgabe-Aufgaben von der Zentraleinheit zu verbessern. Das FOTO hat einfachen im ROM versorgten Mikrocode verwendet, um seine Aufgaben durchzuführen, und obwohl der Begriff zurzeit nicht gebraucht wurde, teilt es einige gemeinsame Merkmale mit RISC Designs.

1985 hat Allgemeines Instrument von ihrer Mikroelektronik-Abteilung und dem neuen Eigentumsrecht annulliert fast alles gesponnen - der zu diesem Zeitpunkt größtenteils veraltet war. Das FOTO wurde jedoch mit innerem EPROM befördert, um einen programmierbaren Kanalkontrolleur zu erzeugen, und heute ist eine riesige Vielfalt von FILMEN mit der verschiedenen Peripherie an Bord verfügbar (Seriennachrichtenmodule, UARTs, Motorkontrollkerne, usw.) und Programm-Gedächtnis von 256 Wörtern bis 64k Wörter und mehr (ist ein "Wort" eine Zusammenbau-Sprachinstruktion, sich von 12, 14 oder 16 Bit abhängig vom spezifischen FOTO Mikrofamilie ändernd).

FOTO und PICmicro sind eingetragene Warenzeichen der Mikrochip-Technologie. Es wird allgemein gedacht, dass FOTO für Peripherischen Schnittstelle-Kontrolleur eintritt, obwohl das ursprüngliche Akronym der allgemeinen Instrumente für den anfänglichen PIC1640 und die PIC1650 Geräte "Programmierbarer Schnittstelle-Kontrolleur" war. Das Akronym wurde durch den "Programmierbaren Intelligenten Computer" schnell ersetzt.

Der Mikrochip 16C84 (PIC16x84), eingeführt 1993,

war die erste Mikrochip-Zentraleinheit mit dem EEPROM Gedächtnis auf dem Span.

Das elektrisch erasable Gedächtnis hat es weniger kosten lassen als Zentraleinheiten, die verlangt haben, dass ein Quarz "Fenster löscht", um EPROM zu löschen.

FOTO-Klone

Dritthersteller machen vereinbare Produkte, zum Beispiel die Parallaxe SX

Entwicklungswerkzeuge

Mikrochip stellt einen freeware IDE Paket genannt MPLAB zur Verfügung, der einen Monteur, linker, Softwaresimulator und Testhilfeprogramm einschließt. Sie verkaufen auch C Bearbeiter für den PIC18 und dsPIC, die sauber mit MPLAB integrieren. Freie Studentenversionen der C Bearbeiter sind auch mit allen Eigenschaften verfügbar. Aber für die freien Versionen werden Optimierungen nach 60 Tagen arbeitsunfähig sein.

Mehrere Dritte machen Bearbeiter der c Sprache für FILME, von denen viele zu MPLAB integrieren und/oder ihren eigenen IDE zeigen. Ein völlig gestalteter Bearbeiter für die PICBASIC Sprache, um FOTO-Mikrokontrolleure zu programmieren, ist von meLabs, Inc verfügbar.

Entwicklungswerkzeuge sind für die FOTO-Familie unter dem GPL oder der anderen kostenlosen Software oder den offenen Quelllizenzen verfügbar.

Gerät-Programmierer

Geräte haben gerufen "Programmierer" werden traditionell verwendet, um Programm-Code ins Ziel-FOTO die Meisten FILME zu bekommen, dass Mikrochip zurzeit Eigenschaft ICSP (im Stromkreis Serienprogrammierung) und/oder LVP (Niedrige Stromspannungsprogrammierung) Fähigkeiten verkauft, dem FOTO erlaubend, programmiert zu werden, während es im Zielstromkreis sitzt. ICSP Programmierung wird mit zwei Nadeln, Uhr und Daten durchgeführt, während eine Hochspannung (12V) auf der Vpp/MCLR-Nadel da ist. Niedrige Stromspannungsprogrammierung verzichtet auf die Hochspannung, aber bestellt exklusiven Gebrauch einer Eingabe/Ausgabe-Nadel vor und kann deshalb arbeitsunfähig sein, um die Nadel für anderen Gebrauch wieder zu erlangen (einmal arbeitsunfähig es kann nur mit der Hochspannungsprogrammierung wiederermöglicht werden).

Es gibt viele Programmierer für FOTO-Mikrokontrolleure im Intervall von den äußerst einfachen Designs, die sich auf ICSP verlassen, um direktes Download des Codes von einem Gastgeber-Computer intelligenten Programmierern zu erlauben, die das Gerät an mehreren Versorgungsstromspannungen nachprüfen können. Viele dieser komplizierten Programmierer verwenden ein vorprogrammiertes FOTO selbst, um die Programmierbefehle an das FOTO zu senden, das programmiert werden soll. Der intelligente Typ des Programmierers ist erforderlich, um frühere FOTO-Modelle zu programmieren (größtenteils Typ EPROM), die Programmierung im Stromkreis nicht unterstützen.

Viele vom höheren Endblitz, den basierte FILME auch selbstprogrammieren können (schreiben ihrem eigenen Programm-Gedächtnis). Demoausschüsse sind mit einer kleinen bootloader programmierten Fabrik verfügbar, der verwendet werden kann, um Benutzerprogramme über eine Schnittstelle wie RS-232 oder USB zu laden, so das Bedürfnis nach einem Programmierer-Gerät begegnend. Wechselweise gibt es bootloader firmware verfügbar, den der Benutzer auf das FOTO mit ICSP laden kann. Die Vorteile eines bootloader über ICSP sind die weiten höheren Programmiergeschwindigkeiten, unmittelbare Programm-Ausführung im Anschluss an die Programmierung und die Fähigkeit, beim Verwenden desselben Kabels sowohl die Fehler zu beseitigen als auch es zu programmieren.

Programmierer/Testhilfeprogramme sind direkt vom Mikrochip verfügbar. Drittprogrammierer erstrecken sich aus Plänen, Ihr eigenes zu Selbstzusammenbau-Bastelsätzen zu bauen, und haben völlig ready-go Einheiten geprüft. Einige sind einfache Designs, die verlangen, dass ein PC die auf niedriger Stufe Programmiernachrichtenübermittlung tut (diese stehen normalerweise zum parallelen oder Serienhafen in Verbindung und bestehen aus einigen einfachen Bestandteilen), während andere die Programmierlogik in sie einbauen ließen (diese verwenden normalerweise eine Serienverbindung oder USB-Verbindung, sind gewöhnlich schneller, und werden häufig mit FILMEN selbst für die Kontrolle gebaut).

Das Beseitigen

Softwarewetteifer

Kommerzielle und freie Emulatoren bestehen für die FOTO-Familienverarbeiter.

Das Beseitigen im Stromkreis

Spätere Muster-FILME zeigen einen ICD (im Stromkreis die Fehler beseitigend) Schnittstelle, die in den Zentraleinheitskern eingebaut ist. ICD Testhilfeprogramme (MPLAB ICD2 und anderer Dritter) können mit dieser Schnittstelle mit drei Linien kommunizieren. Dieses preiswerte und einfache Beseitigen-System kommt an einem Preis jedoch, nämlich beschränkte Unterbrechungspunkt-Zählung (1 auf älteren Filmen 3 auf neueren FILMEN), Verlust von einem IO (mit Ausnahme von einer Oberfläche besteigen 44-Nadeln-FILME, die Linien gewidmet haben, um die Fehler zu beseitigen), und der Verlust von einigen Eigenschaften des Spans. Für kleine FILME, wo der Verlust von durch diese Methode verursachtem IO unannehmbar sein würde, werden spezielle Kopfbälle gemacht, die mit FILMEN ausgerüstet werden, die Extranadeln spezifisch für das Beseitigen haben.

Integrierte Emulatoren

Mikrochip bietet drei volle in Stromkreis-Emulatoren an: Der MPLAB ICE2000 (parallele Schnittstelle, ein USB-Konverter ist verfügbar); der neuere MPLAB ICE4000 (Verbindung des USB 2.0); und am meisten kürzlich, das ECHTE EIS. Alle diese EIS-Werkzeuge können mit dem MPLAB IDE für das volle Quellniveau-Beseitigen des Codes verwendet werden, der auf dem Ziel läuft.

Der ICE2000 verlangt Emulator-Module, und die Testhardware muss eine Steckdose zur Verfügung stellen, die entweder ein Emulator-Modul oder ein Produktionsgerät nehmen kann.

Das ECHTE EIS steht direkt zu Produktionsgeräten in Verbindung, die Wetteifer im Stromkreis durch den PGC/PGD unterstützen, der Schnittstelle, oder durch eine hohe Geschwindigkeitsverbindung programmiert, die noch zwei Nadeln verwendet. Gemäß dem Mikrochip unterstützt es "meiste" Blitz-basiertes FOTO, PIC24 und dsPIC Verarbeiter.

Der ICE4000 wird auf der Website des Mikrochips nicht mehr direkt angekündigt, und die Kaufseite stellt fest, dass es für neue Designs nicht empfohlen wird.

PICKit 2 offene Quellstruktur und Klone

PICKit 2 ist ein interessanter FOTO-Programmierer vom Mikrochip gewesen. Es kann alle FILME programmieren und bei den meisten FILMEN die Fehler beseitigen (bezüglich des Mais 2009, nur die PIC32 Familie wird für MPLAB nicht unterstützt, der die Fehler beseitigt). Seit seinen ersten Ausgaben ist der ganze Softwarequellcode (firmware, PC-Anwendung) und schematische Hardware für das Publikum offen. Das macht es relativ leicht für einen Endbenutzer, den Programmierer für den Gebrauch mit Nichtwindows Betriebssystem wie Linux oder Mac OS zu modifizieren. Inzwischen schafft es auch viel HEIMWERKEN-Interesse und Klone. Diese offene Quellstruktur bringt viele Eigenschaften zum PICKit 2 Gemeinschaft wie Programmer-Go, das UART Werkzeug und das Logikwerkzeug, die durch PICKit 2 Benutzer beigetragen worden sind. Benutzer haben auch solche Eigenschaften zum PICKit 2 als 4 Mb Programmer-go Fähigkeit, USB-Stromkreise des Dollars/Zunahme, Typ-Stecker RJ12 und andere hinzugefügt.

Teil-Zahl-Nachsilben

Der F in einem Namen zeigt allgemein das PICmicro-Gebrauch-Blitz-Gedächtnis an und kann elektronisch gelöscht werden. Umgekehrt bedeutet ein C allgemein, dass er nur durch das Herausstellen des Sterbens zum ultravioletten Licht gelöscht werden kann (der nur möglich ist, wenn ein mit Fenster versehener Paket-Stil verwendet wird). Eine Ausnahme zu dieser Regel ist der PIC16C84, der EEPROM verwendet und deshalb elektrisch erasable ist.

Ein L im Namen zeigt an, dass der Teil an einer niedrigeren Stromspannung häufig mit festgesetzten Frequenzgrenzen laufen wird.

Teile bestimmt spezifisch für die niedrige Stromspannungsoperation, innerhalb einer strengen Reihe 3 - 3.6 Volt, werden mit einem J in der Teil-Zahl gekennzeichnet. Diese Teile sind auch einzigartig tolerante Eingabe/Ausgabe, weil sie bis zu 5V als Eingänge akzeptieren werden.

Siehe auch

  • PIC16x84
  • Atmel AVR
  • Arduino
  • GRUNDLEGENDES Atom
  • GRUNDLEGENDE Marke
  • Dwengo
  • OOPic
  • PICAXE
  • TI MSP430
  • Maximite

Links


Orgie (Band) / Gros Morne Nationalpark
Impressum & Datenschutz