Atmel AVR

Der AVR ist eine modifizierte Architektur von Harvard 8-Bit-RISC einzelner Span-Mikrokontrolleur, der von Atmel 1996 entwickelt wurde. Der AVR war eine der ersten Mikrokontrolleur-Familien, um Blitz-Gedächtnis auf dem Span für die Programm-Lagerung, im Vergleich mit dem ehemaligen programmierbaren ROM, EPROM oder EEPROM zu verwenden, der von anderen Mikrokontrolleuren zurzeit verwendet ist.

Kurze Geschichte

Die AVR Architektur wurde von zwei Studenten am norwegischen Institut für die Technologie (der N-TE) Alf-Egil Bogen und Vegard Wollan konzipiert.

Der ursprüngliche AVR MCU wurde in einem lokalen ASIC Haus in Trondheim, Norwegen genannt nordischen VLSI zurzeit, jetzt nordischen Halbleiter entwickelt, wo Bogen und Wollan als Studenten arbeiteten. Es war als ein μRISC (Mikro-RISC) bekannt und war als IP/building Silikonblock von nordischem VLSI verfügbar. Als die Technologie an Atmel von nordischem VLSI verkauft wurde, wurde die innere Architektur weiter von Bogen und Wollan an Atmel Norway, einer Tochtergesellschaft von Atmel entwickelt. Die Entwerfer haben nah mit Bearbeiter-Schriftstellern an IAR Systemen gearbeitet, um sicherzustellen, dass der Befehlssatz für effizientere Kompilation von höheren Programmiersprachen gesorgt hat. Atmel sagt, dass der Name AVR nicht ein Akronym ist und für nichts eintritt insbesondere. Die Schöpfer des AVR geben keine endgültige Antwort betreffs, wofür der Begriff "AVR" eintritt. Jedoch wird es allgemein akzeptiert, dass AVR für Alf (Egil Bogen) und Vegard (Wollan) 's Verarbeiter von Risc eintritt.

Bemerken Sie, dass der Gebrauch von "AVR" in diesem Artikel allgemein auf die RISC 8-Bit-Linie von Atmel AVR Mikrokontrolleure verweist.

Unter der ersten von der AVR Linie war der AT90S8515, der in einem 40-Nadeln-Paket des KURZEN BADES denselben pinout wie ein 8051 Mikrokontrolleur, einschließlich der gleichzeitig gesandten Außenadresse und des Datenbusses hat. Die Widersprüchlichkeit der Linie war entgegengesetzt (dass 8051 ein aktiv-hohes RÜCKSETZEN hat, während der AVR einen aktiv-niedrigen hat), aber anders als das war der pinout identisch.

Gerät-Übersicht

Der AVR ist eine modifizierte Architektur-Maschine von Harvard, wo Programm und Daten in getrennten physischen Speichersystemen versorgt werden, die in verschiedenen Adressräumen erscheinen, aber in der Lage seiend, Datensachen vom Programm-Gedächtnis mit speziellen Instruktionen zu lesen.

Grundlegende Familien

AVRs werden allgemein in fünf breite Gruppen eingeteilt:

  • tinyAVR — die ATtiny Reihe
  • 0.5-8 Kilobyte-Programm-Gedächtnis
  • 6 32 Nadel-Paket
  • Beschränkter peripherischer Satz
  • megaAVR — die ATmega Reihe
  • 4-256-Kilobyte-Programm-Gedächtnis
  • 28 100 Nadel-Paket
  • Verlängerter Befehlssatz (Multiplizieren Instruktionen und Instruktionen, um größere Programm-Erinnerungen zu behandeln)
  • Umfassender peripherischer Satz
  • XMEGA — die ATxmega Reihe
  • 16-384-Kilobyte-Programm-Gedächtnis
  • 44 64 100 Nadel-Paket (A4, A3, A1)
  • Verlängerte Leistungseigenschaften, wie DMA, "Ereignis-System" und Geheimschrift-Unterstützung.
  • Umfassender peripherischer Satz mit DACs
  • Anwendungsspezifischer AVR
  • megaAVRs mit Besonderheiten, die nicht auf den anderen Mitgliedern der AVR Familie, wie FLÜSSIGKRISTALLANZEIGE-Kontrolleur, USB-Kontrolleur gefunden sind, hat PWM vorgebracht, usw. KANN.
  • FPSLIC™ (AVR mit FPGA)
  • FPGA 5K zu 40K Toren
  • SRAM für den AVR Programm-Code, verschieden von ganzem anderem AVRs
  • AVR Kern kann an bis zu 50 MHz laufen
  • 32 Bit AVRs

:In 2006 Atmel hat Mikrokontrolleure befreit, die auf dem neuen, 32 Bit, der AVR32 Architektur gestützt sind. Sie schließen SIMD und DSP Instruktionen zusammen mit anderen in einer Prozession gehenden und Audiovideoeigenschaften ein. Diese 32-Bit-Familie von Geräten ist beabsichtigt, um sich mit gestützten Verarbeitern des ARMS zu bewerben. Der Befehlssatz ist anderen RISC Kernen ähnlich, aber ist mit dem ursprünglichen AVR oder einigen der verschiedenen ARM-Kerne nicht vereinbar.

Gerät-Architektur

Blitz, EEPROM und SRAM werden alle auf einen einzelnen Span integriert, das Bedürfnis nach dem Außengedächtnis in den meisten Anwendungen entfernend. Einige Geräte haben eine parallele Außenbusauswahl zu erlauben, zusätzliches Datengedächtnis oder mit dem Gedächtnis kartografisch dargestellte Geräte hinzuzufügen. Fast alle Geräte (außer den kleinsten Chips von TinyAVR) haben Serienschnittstellen, die verwendet werden können, um größeren Serien-EEPROMs oder Blitz-Chips zu verbinden.

Programm-Gedächtnis

Programm-Instruktionen werden im unvergänglichen Blitz-Gedächtnis versorgt. Obwohl die MCUs 8 Bit sind, nimmt jede Instruktion ein oder zwei 16-Bit-Wörter.

Die Größe des Programm-Gedächtnisses wird gewöhnlich im Namengeben des Geräts selbst angezeigt (z.B, die ATmega64x Linie hat 64 Kilobytes des Blitzes, während die ATmega32x Linie 32 Kilobytes hat).

Es gibt keine Bestimmung für das Programm-Gedächtnis außer Span; der ganze durch den AVR Kern durchgeführte Code muss im Blitz auf dem Span wohnen. Jedoch gilt diese Beschränkung für den AT94 FPSLIC AVR/FPGA Chips nicht.

Inneres Datengedächtnis

Der Datenadressraum besteht aus der Register-Datei, den Eingabe/Ausgabe-Registern und SRAM.

Innere Register

Die AVRs haben Register von 32 einzelnen Bytes und werden als RISC 8-Bit-Geräte klassifiziert.

In den meisten Varianten der AVR Architektur werden die Arbeitsregister darin kartografisch dargestellt, weil das erste 32 Gedächtnis (0000-001F) gefolgt von den 64 (0020-005F) Eingabe/Ausgabe-Registern richtet.

Wirkliche SRAM-Anfänge nach diesen Register-Abteilungen (richten 0060). (Bemerken Sie, dass sich die Eingabe/Ausgabe einschreibt, kann Raum auf einigen umfassenderen Geräten größer sein, in welchem Fall kartografisch dargestellte Eingabe/Ausgabe-Register des Gedächtnisses einen Teil des SRAM Adressraums besetzen werden.)

Wenn auch es getrennte Wenden-Schemas und optimierten opcodes für die Register-Datei und den Eingabe/Ausgabe-Register-Zugang gibt, können alle noch angeredet und manipuliert werden, als ob sie in SRAM waren.

In der XMEGA Variante wird die Arbeitsregister-Datei in den Datenadressraum nicht kartografisch dargestellt; als solcher ist es nicht möglich, einige der Arbeitsregister des XMEGA zu behandeln, als ob sie SRAM waren. Statt dessen werden die Eingabe/Ausgabe-Register in den Datenadressraum kartografisch dargestellt, der am wirklichen Anfang des Adressraums anfängt. Zusätzlich ist der Eingabe/Ausgabe-Registern gewidmete Datenmenge-Adressraum wesentlich zu (0000-0FFF) 4096 Bytes gewachsen. Als mit vorherigen Generationen, jedoch, können die schnellen Eingabe/Ausgabe-Manipulationsinstruktionen nur die ersten 64 Eingabe/Ausgabe-Register-Positionen (die ersten 32 Positionen für bitwise Instruktionen) erreichen. Im Anschluss an die Eingabe/Ausgabe-Register legt die XMEGA Reihe den 4096. anordne des Datenadressraums beiseite, der fakultativ verwendet werden kann, für den inneren EEPROM zum (1000-1FFF) Datenadressraum kartografisch darzustellen. Der wirkliche SRAM wird nach diesen Reihen gelegen, in 2000 anfangend.

EEPROM

Fast alle AVR Mikrokontrolleure haben inneren EEPROM für die halb dauernde Datenlagerung. Wie Blitz-Gedächtnis kann EEPROM seinen Inhalt aufrechterhalten, wenn elektrische Leistung entfernt wird.

In den meisten Varianten der AVR Architektur wird dieses innere EEPROM Gedächtnis in den addressable Speicherraum des MCU nicht kartografisch dargestellt. Darauf kann nur auf dieselbe Weise zugegriffen werden ein peripherisches Außengerät, ist mit speziellen Zeigestock-Registern und Lesen/Schreiben-Instruktionen, der EEPROM Zugang viel langsamer macht als anderer innerer RAM.

Jedoch, einige Geräte in SecureAVR (AT90SC) Familiengebrauch ein spezieller EEPROM, der zu den Daten oder dem Programm-Gedächtnis abhängig von der Konfiguration kartografisch darstellt. Die XMEGA Familie erlaubt auch dem EEPROM, in den Datenadressraum kartografisch dargestellt zu werden.

Da die Zahl dessen EEPROM schreibt, ist nicht unbegrenzt — Atmel gibt 100,000 Schreibzyklen in ihrem datasheets an — ein gut bestimmter EEPROM schreibt, dass Routine den Inhalt einer EEPROM-Adresse mit dem gewünschten Inhalt vergleichen und nur leisten sollte, ein wirklicher schreiben, ob der Inhalt geändert werden muss.

Programm-Ausführung

Die AVRs von Atmel haben eine zwei Bühne, einzelnes Niveau-Rohrleitungsdesign. Das bedeutet, dass die folgende Maschineninstruktion herbeigeholt wird, weil der aktuelle durchführt. Die meisten Instruktionen nehmen gerade einen oder zwei Uhr-Zyklen, AVRs relativ schnell unter den Acht-Bit-Mikrokontrolleuren machend.

Die AVR Verarbeiter wurden mit der effizienten Ausführung des kompilierten C-Codes im Sinn entworfen und haben mehrere eingebaute Zeigestöcke für die Aufgabe.

Befehlssatz

Der AVR Befehlssatz ist orthogonaler als diejenigen von den meisten Acht-Bit-Mikrokontrolleuren, insbesondere den 8051 Klonen und FOTO-Mikrokontrolleuren, mit denen sich AVR heute bewirbt. Jedoch ist es nicht völlig regelmäßig:

  • Zeigestock schreibt sich X, Y ein, und Z haben Wenden-Fähigkeiten, die von einander verschieden sind.
  • Register-Positionen R0 zu R15 haben verschiedene Wenden-Fähigkeiten als Register-Positionen R16 zu R31.
  • Eingabe/Ausgabe-Häfen 0 bis 31 haben verschiedene Wenden-Fähigkeiten als Eingabe/Ausgabe-Häfen 32 bis 63.
  • CLR betrifft Fahnen, während SER nicht tut, wenn auch sie Ergänzungsinstruktionen sind. CLR setzen alle Bit auf die Null, und SER setzt sie auf einen. (Bemerken Sie, dass CLR pseudo-op für EOR R, R ist; und SER ist für LDI R, $FF kurz. Matheoperationen wie EOR modifizieren Fahnen, während Bewegungen/Lasten/Läden/Zweige wie LDI nicht tun.)
  • Das Zugreifen auf Read-Only-Daten, die im Programm-Gedächtnis (Blitz) versorgt sind, verlangt spezielle LPM Instruktionen; der Blitz-Bus wird für das Instruktionsgedächtnis sonst vorbestellt.

Zusätzlich betreffen einige mit dem Span spezifische Unterschiede Codegeneration. Codezeigestöcke (einschließlich Rücksprungadressen auf dem Stapel) sind auf Chips mit bis zu 128 Kbytes des Blitz-Gedächtnisses zwei Bytes lang, aber auf größeren Chips drei Bytes lang; nicht alle Chips haben Hardware-Vermehrer; Chips mit mehr als 8 Kbytes des Blitzes haben Zweig und Anruf-Instruktionen mit längeren Reihen; und so weiter.

Der größtenteils regelmäßige Befehlssatz macht Programmierung davon mit C (oder sogar Ada) ziemlich aufrichtige Bearbeiter. GCC hat AVR-Unterstützung eine Zeit lang eingeschlossen, und diese Unterstützung wird weit verwendet. Tatsächlich hat Atmel Eingang von Hauptentwicklern von Bearbeitern für kleine Mikrokontrolleure gebeten, um die Befehlssatz-Eigenschaften zu bestimmen, die in einem Bearbeiter für höhere Programmiersprachen am nützlichsten waren.

MCU Geschwindigkeit

Die AVR Linie kann normalerweise Uhr-Geschwindigkeiten von 0-20 MHz mit einigen Geräten unterstützen, die 32 MHz erreichen. Tiefer verlangt angetriebene Operation gewöhnlich eine reduzierte Uhr-Geschwindigkeit. Alle neu (Winzig, Mega und Xmega, aber nicht die 90ER JAHRE) AVRs zeigen einen Oszillator auf dem Span, das Bedürfnis nach Außenuhren oder Resonator-Schaltsystem entfernend. Einige AVRs haben auch eine Systemuhr prescaler, der unten die Systemuhr durch bis zu 1024 teilen kann. Dieser prescaler kann durch die Software während der Durchlaufzeit wiederkonfiguriert werden, der Uhr-Geschwindigkeit erlaubend, optimiert zu werden.

Seit allen Operationen (Druckfehler ausschließend), auf Registern R0 - sind R31 einzelner Zyklus, der AVR kann bis zu 1 MIPS pro MHZ erreichen, d. h. ein 8-MHz-Verarbeiter kann bis zu 8 MIPS erreichen. Lasten und Läden, um 2 Zyklen zu nehmen, nimmt das Ausbreiten 2 Zyklen. Zweige im letzten "3-Byte-PC" Teile wie ATmega2560 sind ein Zyklus langsamer als auf vorherigen Geräten.

Entwicklung

AVRs haben einen großen folgenden erwarteten zu den freien und billigen Entwicklungswerkzeugen verfügbar, einschließlich preiswerter Entwicklungsausschüsse und freier Entwicklungssoftware. Die AVRs werden unter verschiedenen Namen verkauft, die denselben grundlegenden Kern, aber mit dem verschiedenen peripherisch und Speicherkombinationen teilen. Vereinbarkeit dazwischen steuert in jede Familie bei ist ziemlich gut, obwohl sich Eingabe/Ausgabe-Kontrolleur-Eigenschaften ändern können.

Sieh Außenverbindungen für Seiten in Zusammenhang mit der AVR Entwicklung.

Eigenschaften

Aktuelle AVRs bieten eine breite Reihe von Eigenschaften an:

  • Mehrfunktion, bidirektionale Mehrzweckeingabe/Ausgabe-Häfen mit dem konfigurierbaren, eingebauten ziehen Widerstände hoch
  • Vielfache innere Oszillatoren, einschließlich des RC-Oszillators ohne Außenteile
  • Innere, selbstprogrammierbare Instruktion lässt Gedächtnis bis zu 256 Kilobytes (384 Kilobytes auf XMega) aufblitzen
  • Programmierbare verwendende Reihe/parallele niedrige Stromspannung im System Eigentumsschnittstellen oder JTAG
  • Fakultative Stiefelcodeabteilung mit unabhängigen Schloss-Bit für den Schutz
  • Unterstützung des Beseitigens auf dem Span (OCD) durch JTAG oder debugWIRE auf den meisten Geräten
  • Die JTAG-Signale (TMS, TDI, TDO und TCK) werden auf GPIOs gleichzeitig gesandt. Diese Nadeln können konfiguriert werden, um als JTAG oder GPIO zu fungieren, je nachdem die Einstellung einer Sicherung gebissen hat, der über ISP oder HVSP programmiert werden kann. Standardmäßig kommen AVRs mit JTAG mit der ermöglichten JTAG-Schnittstelle.
  • debugWIRE verwendet die/-RÜCKSETZEN-Nadel als ein bidirektionaler Nachrichtenkanal, um auf Fehlersuchprogramm-Schaltsystem auf dem Span zuzugreifen. Es ist auf Geräten mit niedrigeren Nadel-Zählungen da, weil man nur eine Nadel verlangt.
  • Innere Daten EEPROM bis zu 4 Kilobytes
  • Innere SRAM bis zu 16 Kilobytes (32 Kilobytes auf XMega)
  • Kleiner endian Außen-64-Kilobyte-Datenraum auf bestimmten Modellen, einschließlich des Mega8515 und Mega162.
  • Der Außendatenraum wird mit dem inneren Datenraum überzogen, solch, dass der volle 64-Kilobyte-Adressraum auf dem Außenbus nicht erscheint. Zugänge, um z.B 0100 zu richten, werden auf inneren RAM, nicht den Außenbus zugreifen.
  • In bestimmten Mitgliedern der XMega Reihe ist der Außendatenraum erhöht worden, um sowohl SRAM als auch SDRAM zu unterstützen. Ebenso sind die Daten, Weisen richtend, ausgebreitet worden, um bis zu 16 Mb des Datengedächtnisses zu erlauben, direkt gerichtet zu werden.
  • AVRs unterstützen allgemein Durchführungscode vom Außengedächtnis nicht. Einige ASSPs das Verwenden des AVR Kerns unterstützen wirklich Außenprogramm-Gedächtnis.
  • 8-bit- und 16-Bit-Zeitmesser
  • PWM Produktion (haben einige Geräte einen erhöhten PWM peripherischen, der einen tot-maligen Generator einschließt)
  • Eingangsfestnahme
  • Analogon comparator
  • 10 oder 12 Bit A/D Konverter, mit Mehrfach-von bis zu 16 Kanälen
  • D/A 12-Bit-Konverter
  • Eine Vielfalt von Serienschnittstellen, einschließlich
  • I²C vereinbare Two-Wire Interface (TWI)
  • Gleichzeitige/asynchrone Serienperipherie (UART/USART) (verwendet mit RS-232, RS-485, und mehr)
  • Peripherischer Serienschnittstelle-Bus (SPI)
  • Universal Serial Interface (USI) für zwei oder gleichzeitige Drei-Leitungen-Daten überträgt
  • Spannungsabfall-Entdeckung
  • Aufpasser-Zeitmesser (WDT)
  • Vielfache Macht sparende Schlaf-Weisen
  • Die Beleuchtung und Motorkontrolle (PWM-spezifische) Kontrolleur-Modelle
  • KANN Kontrolleur-Unterstützung
  • USB-Kontrolleur unterstützt
  • Richtig Voll-Gang-(12 Mbit/s) Hardware & Mittelpunkt-Kontrolleur mit eingebettetem AVR.
  • Auch frei hat verfügbare niedrige Geschwindigkeit (1.5 Mbit/s) bitbanging Softwarewetteifer (VERBORGEN)
  • Kontrolleur von Ethernet unterstützt
  • FLÜSSIGKRISTALLANZEIGE-Kontrolleur unterstützt
  • Geräte der niedrigen Stromspannung, die unten zu 1.8 V (zu 0.7 V für Teile mit dem eingebauten Gleichstrom-Gleichstrom upconverter) funktionieren
  • PicoPower-Geräte
  • DMA Kontrolleure und "Ereignis-System" peripherische Kommunikation.
  • Schnelle Geheimschrift-Unterstützung für AES und DES

Programmierung von Schnittstellen

Es gibt viele Mittel, Programm-Code in einen AVR Span zu laden. Die Methoden, AVR Chips zu programmieren, ändern sich von der AVR Familie zur Familie.

ISP

Das Programmierverfahren der Programmierung im System (ISP) wird durch, plus einige das Herumspielen der Rücksetzen-Linie funktionell durchgeführt. So lange die SPI Nadeln des AVR mit nichts Störendem verbunden werden, kann der AVR Span verlötet auf einem PCB bleiben, während er wiederprogrammiert. Alles es ist erforderlich, ist ein 6-Nadeln-Stecker und Programmieradapter. Das ist die allgemeinste Weise, sich mit einem AVR zu entwickeln.

Der Atmel AVR ISP mkII Gerät steht zu einem USB-Hafen eines Computers in Verbindung und führt Programmierung im System mit der Software von Atmel durch.

AVRDUDE (AVR Downloader/UploaDEr) läuft auf Linux, FreeBSD, Windows und Mac OS X, und unterstützt eine Vielfalt der Programmierhardware im System, einschließlich Atmel AVR ISP mkII, Atmel JTAG EIS, älterer Serienhafen von Atmel hat Programmierer und verschiedene Dritt- und "Heimwerker"-Programmierer gestützt.

PDI

Die Programm- und Fehlersuchprogramm-Schnittstelle (PDI) ist Atmel Eigentumsschnittstelle für die Außenprogrammierung und das Beseitigen auf dem Span von XMEGA Geräten. Der PDI unterstützt Hochleistungsprogrammierung aller Räume des nichtflüchtigen Speichers (NVM); Blitz, EEPROM, Sicherungen, Schloss-Bit und die User Signature Row. Das wird durch das Zugreifen auf den XMEGA NVM Kontrolleur durch die PDI-Schnittstelle und die Durchführung von NVM Kontrolleur-Befehlen getan. Der PDI ist eine 2-Nadeln-Schnittstelle mit der Rücksetzen-Nadel für Uhr-Eingangs-(PDI_CLK) und einer hingebungsvollen Datennadel (PDI_DATA) für den Eingang und die Produktion.

Serien-Hochspannung

Hochspannung Serienprogrammierung (HVSP) ist größtenteils die Aushilfsweise auf kleinerem AVRs. Ein AVR 8-Nadeln-Paket verlässt viele einzigartige Signalkombinationen nicht, um den AVR in eine Programmierweise zu legen. Ein 12-Volt-Signal ist jedoch etwas, was der AVR nur während der Programmierung und nie während der normalen Operation sehen sollte.

Hochspannungsparallele

Hochspannungsparallele-Programmierung (HVPP) wird als der "Endferienort" betrachtet und kann die einzige Weise sein, AVR Chips mit schlechten Sicherungseinstellungen zu befestigen. Parallele Programmierung kann schneller und vorteilhaft sein, wenn sie viele AVR Geräte für den Produktionsgebrauch programmiert.

Bootloader

Die meisten AVR Modelle können ein bootloader Gebiet, 256 B zu 4 Kilobytes vorbestellen, wo Wiederprogrammcode wohnen kann. Am Rücksetzen läuft der bootloader zuerst, und tut etwas benutzerprogrammierten Entschluss, ob zum Wiederprogramm, oder zur Hauptanwendung springen. Der Code kann durch jede verfügbare Schnittstelle wiederprogrammieren, es konnte eine encrypted Dualzahl durch einen Adapter von Ethernet wie PXE lesen. Atmel hat Anwendungszeichen und Code, der vielen Busschnittstellen gehört.

ROM

Die AT90SC Reihen von AVRs sind mit einem Fabrikmaske-ROM aber nicht Blitz für das Programm-Gedächtnis verfügbar. Wegen der großen vordringlichen Kosten und minimalen Bestellmenge ist ein Maske-ROM nur für hohe Produktionsläufe rentabel.

aWire

aWire ist eine neue Ein-Leitung-Fehlersuchprogramm-Schnittstelle, die auf dem neuen UC3L AVR32 Geräte verfügbar ist.

Das Beseitigen bei Schnittstellen

Der AVR bietet mehrere Optionen für das Beseitigen an, größtenteils das Beseitigen auf dem Span einschließend, während der Span im Zielsystem ist.

debugWIRE

debugWIRE ist die Lösung von Atmel, um Fehlersuchprogramm-Fähigkeiten auf dem Span über eine einzelne Mikrokontrolleur-Nadel zur Verfügung zu stellen. Es ist für niedrigere Nadel-Teile der Zählung besonders nützlich, die die vier für JTAG erforderlichen "Ersatz"-Nadeln nicht zur Verfügung stellen können. Der JTAGICE mkII, mkIII und der AVR Drache unterstützen debugWIRE. debugWIRE wurde nach der ursprünglichen JTAGICE-Ausgabe entwickelt, und klont jetzt unterstützen es.

JTAG

JTAG stellt Zugang zur Beseitigen-Funktionalität auf dem Span zur Verfügung, während der Span im Zielsystem läuft. JTAG erlaubt, auf inneres Gedächtnis und Register zuzugreifen, Unterbrechungspunkte auf dem Code und einzeln gehende Ausführung veranlassend, Systemverhalten zu beobachten.

Atmel stellt eine Reihe von JTAG Adaptern für den AVR zur Verfügung:

  1. Der JTAGICE 3 ist das letzte Mitglied der JTAGICE Familie (JTAGICE mkIII). Es unterstützt JTAG, aWire, SPI und PDI-Schnittstellen.
  2. Der JTAGICE mkII ersetzt den JTAGICE und wird ähnlich bewertet. Der JTAGICE mkII verbindet zum PC über USB und den Unterstützungen sowohl JTAG als auch die neuere DebugWIRE-Schnittstelle. Zahlreiche 3.-Parteienklone des Atmel JTAGICE mkII Gerät haben angefangen sich einzuschiffen, nachdem Atmel das Nachrichtenprotokoll veröffentlicht hat.
  3. Der AVR Drache ist ein preisgünstiger (etwa 50 $) wechseln den JTAGICE mkII für bestimmte Zielteile aus. Der AVR Drache stellt im System Serienprogrammierung, Hochspannung Serienprogrammierung und parallele Programmierung, sowie JTAG oder debugWIRE Wetteifer für Teile mit 32 Kilobytes des Programm-Gedächtnisses oder weniger zur Verfügung. ATMEL hat die Beseitigen-Eigenschaft des AVR Drachen mit dem letzten firmware des AVR Studios 4 - AVR Studio 5 geändert, und jetzt unterstützt es Geräte mehr als 32 Kilobytes des Programm-Gedächtnisses.
  4. Der JTAGICE Adapter verbindet zum PC über einen Standardserienhafen. Der JTAGICE ist gewesen, obwohl er noch im AVR Studio und den anderen Werkzeugen unterstützt wird.

JTAG kann auch verwendet werden, um einen Test durchzuführen, der die elektrischen Verbindungen zwischen AVRs und anderem Grenzansehen fähige Chips in einem System prüft. Grenzansehen ist für ein Fließband gut passend; der Hobbyist ist wahrscheinlich von der Prüfung mit einem Vielfachmessgerät oder Oszilloskop besser.

Entwicklungswerkzeuge und Einschätzungsbastelsätze

Beamter Atmel AVR Entwicklungswerkzeuge und Einschätzungsbastelsätze enthält mehrere Starter-Bastelsätze und Beseitigen-Werkzeuge mit der Unterstützung für die meisten AVR Geräte:

STK600 Starter-Bastelsatz

Der STK600 Starter-Bastelsatz und das Entwicklungssystem sind eine Aktualisierung zum STK500. Der STK600 verwendet einen Grundvorstands-, einen Signalroutenplanungsausschuss und einen Zielausschuss.

Der Grundausschuss ist dem STK500 ähnlich, in dem er eine Macht-Versorgung, Uhr, Programmierung im System, einen RS-232 Hafen und eine DOSE (Kontrolleur-Bereichsnetz, ein Automobilstandard) Hafen über DB9 Stecker und Anteil-Nadeln für alle GPIO-Signale vom Zielgerät zur Verfügung stellt.

Die Zielausschüsse haben ZIF Steckdosen für KURZES BAD, SOIC, QFN oder QFP Pakete abhängig vom Ausschuss.

Der Signalroutenplanungsausschuss sitzt zwischen dem Grundausschuss und dem Zielausschuss und den Wegen die Signale zur richtigen Nadel auf dem Gerät-Ausschuss. Es gibt viele verschiedene Signalroutenplanungsausschüsse, die mit einem einzelnen Zielausschuss, abhängig davon verwendet werden konnten, welches Gerät in der ZIF Steckdose ist.

Der STK600 erlaubt im System, vom PC über USB zu programmieren, den RS-232 für den Zielmikrokontrolleur verfügbaren Hafen verlassend. Ein 4 Nadel-Kopfball auf dem STK600 etikettiert 'RS-232 Ersatzteil' kann jedes TTL Niveau USART Hafen auf dem Span zu einem MAX232 Span an Bord verbinden, um die Signale zu RS-232 Niveaus zu übersetzen. Die RS-232-Signale werden mit dem RX, TX, CTS und den RTS-Nadeln auf dem DB 9 Stecker verbunden.

STK500 Starter-Bastelsatz

Der STK500 Starter-Bastelsatz und das Entwicklungssystem zeigen ISP und Hochspannungsprogrammierung (HVP) für alle AVR Geräte entweder direkt oder durch Erweiterungsausschüsse. Der Ausschuss wird mit Steckdosen des KURZEN BADES für alle AVRs verfügbar in Paketen des KURZEN BADES ausgerüstet.

STK500 Vergrößerungsmodule:

Mehrere Vergrößerungsmodule sind für den STK500 Ausschuss verfügbar:

  • STK501 - Fügt Unterstützung für Mikrokontrolleure in TQFP 64-Nadeln-Paketen Hinzu.
  • STK502 - Fügt Unterstützung für die FLÜSSIGKRISTALLANZEIGE AVRs in TQFP 64-Nadeln-Paketen Hinzu.
  • STK503 - Fügt Unterstützung für Mikrokontrolleure in TQFP 100-Nadeln-Paketen Hinzu.
  • STK504 - Fügt Unterstützung für die FLÜSSIGKRISTALLANZEIGE AVRs in TQFP 100-Nadeln-Paketen Hinzu.
  • STK505 - Fügt Unterstützung für 14 und 20-Nadeln-AVRs Hinzu.
  • STK520 - Fügt Unterstützung für 14 und 20, und 32-Nadeln-Mikrokontrolleure vom AT90PWM und der ATmega Familie Hinzu.
  • STK524 - Fügt Unterstützung für die ATmega32M1/C1 32-Nadeln-CAN/LIN/Motor-Kontrollfamilie Hinzu.
  • STK525 - Fügt Unterstützung für die AT90USB Mikrokontrolleure in TQFP 64-Nadeln-Paketen Hinzu.
  • STK526 - Fügt Unterstützung für die AT90USB Mikrokontrolleure in TQFP 32-Nadeln-Paketen Hinzu

STK200 Starter-Bastelsatz

Der STK200 Starter-Bastelsatz und das Entwicklungssystem haben eine Steckdose des KURZEN BADES, die einen AVR veranstalten kann, steuern in 40, 20, oder 8-Nadeln-Paket bei. Der Ausschuss hat eine Uhr-Quelle, 8 Licht ausstrahlende Dioden, 8 Eingangsknöpfe, einen RS-232 Hafen, eine Steckdose für einen 32k SRAM und zahlreiche allgemeine Eingabe/Ausgabe. Der Span kann mit einem mit dem parallelen Hafen verbundenen Kopierschutzstecker programmiert werden.

AVR ISP und AVR ISP mkII

Der AVR ISP und AVR ISP mkII sind billige Werkzeuge, die den ganzen AVRs erlauben, über ICSP programmiert zu werden.

Der AVR ISP steht zu einem PC über einen Serienhafen in Verbindung, und zieht Macht vom Zielsystem. Der AVR ISP erlaubt, jeden des "Standards" ICSP pinouts, entweder der 10-Nadeln- oder 6-Nadeln-Stecker zu verwenden. Der AVR ISP ist unterbrochen, durch den AVR ISP mkII ersetzt worden.

Der AVR ISP mkII steht zu einem PC über USB in Verbindung, und zieht Macht von USB. Durch den lichtdurchlässigen Fall sichtbare LEDs zeigen den Staat der Zielmacht an.

AVR Drache

Der Atmel Drache ist ein billiges Werkzeug, das zu einem PC über USB in Verbindung steht. Der Drache kann den ganzen AVRs über JTAG, HVP, PDI oder ICSP programmieren. Der Drache erlaubt auch, des ganzen AVRs über JTAG, PDI oder DebugWire die Fehler zu beseitigen; eine vorherige Beschränkung zu Geräten mit 32 Kilobytes oder weniger Programm-Gedächtnis ist im AVR Studio 4.18 entfernt worden. Der Drache hat ein kleines Prototyp-Gebiet, das 8, 28, oder 40-Nadeln-AVR, einschließlich Verbindungen zur Macht und den programmierenden Nadeln anpassen kann. Es gibt kein Gebiet für jedes zusätzliche Schaltsystem, obwohl das durch ein Drittprodukt genannt den "Drache-Reiter" zur Verfügung gestellt werden kann.

JTAGICE mkI

Der JTAG im Stromkreis-Emulator (JTAGICE) das Beseitigen bei Werkzeug unterstützt Beseitigen auf dem Span (OCD) von AVRs mit einer JTAG-Schnittstelle. Der ursprüngliche JTAGICE mkI verwendet eine RS-232-Schnittstelle an einem PC, und kann nur AVR'S mit einer JTAG-Schnittstelle programmieren. Der JTAGICE mkI wird nicht mehr serienmäßig hergestellt, jedoch ist er durch den JTAGICE mkII ersetzt worden.

JTAGICE mkII

Der JTAGICE mkII das Beseitigen bei Werkzeug unterstützt Beseitigen auf dem Span (OCD) von AVRs mit SPI, JTAG, PDI und DebugWIRE-Schnittstellen. Die DebugWire-Schnittstelle ermöglicht, beim Verwenden nur einer Nadel (die Rücksetzen-Nadel) die Fehler zu beseitigen, das Beseitigen von Anwendungen erlaubend, die auf niedrigen Mikrokontrolleuren der Nadel-Zählung laufen.

Der JTAGICE mkII verbindet Verwenden-USB, aber es gibt eine abwechselnde Verbindung über den Serienhafen, der das Verwenden einer getrennten Macht-Versorgung verlangt. Zusätzlich zu JTAG unterstützt der mkII ISP, der (das Verwenden von 6-Nadeln- oder 10-Nadeln-Adaptern) programmiert. Sowohl USB als auch Serienverbindungen verwenden eine Variante des STK500 Protokolls.

Schmetterling-Demoausschuss

Der sehr populäre AVR Schmetterling-Demonstrationsausschuss ist ein geschlossener, batterieangetriebener Computer, der den Atmel AVR ATmega169V Mikrokontrolleur führt. Es wurde zur Angabe die AVR Familie, besonders eine neue eingebaute FLÜSSIGKRISTALLANZEIGE-Schnittstelle gebaut. Der Ausschuss schließt den FLÜSSIGKRISTALLANZEIGE-Schirm, den Steuerknüppel, den Sprecher, den Serienhafen, die Echtzeituhr (RTC), den Blitz-Speicherspan, und sowohl Temperatur als auch Stromspannungssensoren ein. Frühere Versionen des AVR Schmetterlings haben auch einen Photowiderstand von CdS enthalten; es ist auf nach dem Juni 2006 erzeugten Schmetterling-Vorstands-nicht da, um Gehorsam von RoHS zu erlauben. Der kleine Ausschuss hat eine Hemd-Nadel auf seinem Rücken, so kann er als ein Namensschild getragen werden.

Der AVR Schmetterling kommt vorgeladen mit der Software, um die Fähigkeiten zum Mikrokontrolleur zu demonstrieren. Fabrik firmware kann Ihren Namen scrollen, die Sensorlesungen zeigen, und die Zeit zeigen. Der AVR Schmetterling hat auch einen Piezosprecher, der verwendet werden kann, um Töne und Musik wieder hervorzubringen.

Der AVR Schmetterling demonstriert FLÜSSIGKRISTALLANZEIGE, die fährt, indem er einen 14-Segmente-, sechs alphanumerische Zeichenanzeige führt. Jedoch verbraucht die FLÜSSIGKRISTALLANZEIGE-Schnittstelle viele der Eingabe/Ausgabe-Nadeln.

Die ATmega169 Zentraleinheit des Schmetterlings ist zu Geschwindigkeiten bis zu 8 MHz fähig, jedoch ist es Fabrik, die durch die Software auf 2 MHz veranlasst ist, das Knopf-Batterieleben zu bewahren. Ein vorinstalliertes bootloader Programm erlaubt dem Ausschuss, über einen normalen RS-232 Serienstecker mit neuen Programmen wiederprogrammiert zu werden, dass Benutzer mit dem freien Atmel IDE Werkzeuge schreiben können.

AT90USBKey

Dieser kleine Ausschuss, ungefähr Hälfte der Größe einer Visitenkarte, wird an ein bisschen mehr als einem AVR Schmetterling bewertet. Es schließt einen AT90USB1287 mit USB On-Go (OTG) Unterstützung, 16 Mb von DataFlash, LEDs, einem kleinen Steuerknüppel und einem Temperatursensor ein. Der Ausschuss schließt Software ein, die ihn als ein USB-Massenspeichergerät handeln lässt (seine Dokumentation wird auf DataFlash verladen), ein USB-Steuerknüppel, und mehr. Um USB zu unterstützen, veranstalten Fähigkeit, er muss von einer Batterie bedient werden; aber wenn es als peripherischer USB läuft, braucht es nur die über USB zur Verfügung gestellte Macht.

Nur der JTAG Hafen verwendet herkömmliche 2.54 Mm pinout. Alle anderen AVR Eingabe/Ausgabe-Häfen verlangen kompaktere 1.27-Mm-Kopfbälle.

Der AVR Drache kann sowohl programmieren und die Fehler beseitigen, seitdem die 32-Kilobyte-Beschränkung im AVR Studio 4.18 entfernt wurde, und der JTAGICE mkII sowohl zur Programmierung als auch zum Beseitigen beim Verarbeiter fähig ist. Der Verarbeiter kann auch durch USB von Windows oder Gastgeber von Linux, mit USB "Gerät Firmware Aktualisierung" Protokolle programmiert werden. Schiffe von Atmel Eigentums-(Quellcode eingeschlossen, aber Vertrieb eingeschränkt) Beispiel-Programme und ein USB-Protokoll schobern mit dem Gerät auf.

LUFA ist eine kostenlose Drittsoftware (MIT Lizenz) USB-Protokoll-Stapel für den USBKey und anderen 8-Bit-USB AVRs.

Rabe-Radiobastelsatz

Der RABE-Bastelsatz unterstützt Radioentwicklung mit dem IEEE von Atmel 802.15.4 chipsets, für ZigBee und andere Radiostapel. Es ähnelt einem Paar des Radios mehr - starke Schmetterling-Karten plus ein drahtloser USBKey; und das Kosten über so viel (unter dem $US100). Alle diese Ausschüsse unterstützen JTAG-basierte Entwicklung.

Der Bastelsatz schließt zwei AVR Rabe-Vorstands-, jeden mit 2.4 GHz Sender-Empfänger ein, der IEEE 802.15.4 (und ein frei lizenzierter Stapel von ZigBee) unterstützt. Die Radios werden mit ATmega1284p Verarbeitern gesteuert, die durch die segmentierte durch einen ATmega3290p Verarbeiter gesteuerte FLÜSSIGKRISTALLANZEIGE-Anzeige einer Gewohnheit unterstützt werden. Rabe-Peripherie ähnelt dem Schmetterling: der Piezosprecher, DataFlash (größerer), äußerlicher EEPROM, Sensoren, 32-Kilohertz-Kristall für RTC, und so weiter. Diese sind für den Gebrauch im Entwickeln entfernter Sensorknoten beabsichtigt, um Relais zu kontrollieren, oder was auch immer erforderlich ist.

Der USB-Stock verwendet einen AT90USB1287 für Verbindungen zu einem USB-Gastgeber und zu den 2.4 GHz Radioverbindungen. Diese sind beabsichtigt, um die entfernten Knoten zu kontrollieren und zu kontrollieren, sich auf die Gastgeber-Macht aber nicht lokalen Batterien verlassend.

Drittprogrammierer

Ein großes Angebot an der Drittprogrammierung und dem Beseitigen bei Werkzeugen ist für den AVR verfügbar. Diese Geräte verwenden verschiedene Schnittstellen, einschließlich RS-232, PC-Parallele-Hafens und USB. AVR Missbildungen haben eine umfassende Liste.

Atmel AVR Gebrauch

AVRs sind in verschiedenen Automobilanwendungen wie Sicherheit, Sicherheit, powertrain und Unterhaltungssysteme verwendet worden. Atmel hat kürzlich eine neue Veröffentlichung "Atmel Automobilkompilation" gestartet, um Entwicklern mit Automobilanwendungen zu helfen. Etwas aktueller Gebrauch ist im BMW, Daimler-Chrysler und TRW.

Die Arduino physische Rechenplattform basiert auf einem ATmega328 Mikrokontrolleur (ATmega168 oder ATmega8 in älteren Vorstandsversionen als Diecimila). Der ATmega1280 und ATmega2560, mit mehr pinout und Speicherfähigkeiten, sind auch verwendet worden, um die Plattform von Arduino Mega zu entwickeln. Vorstands-von Arduino können mit seiner Sprache und IDE, oder mit herkömmlicheren Programmierumgebungen (C, Monteur, usw.), wie gerade standardisiert, und weit verfügbare AVR Plattformen verwendet werden.

USB-basierte AVRs sind in den Handkontrolleuren von Microsoft Xbox verwendet worden. Die Verbindung zwischen den Kontrolleuren und Xbox ist USB.

Zahlreiche Gesellschaften erzeugen AVR-basierte Mikrokontrolleur-Vorstands-, die für den Gebrauch durch Hobbyisten, Roboter-Baumeister, Experimentatoren und kleine Systementwickler beabsichtigt sind einschließlich: Cubloc, gnusb, BasicX, Eiche Micros, ZX Mikrokontrolleure und myAVR. Es gibt auch eine große Gemeinschaft von Arduino-vereinbaren Ausschüssen, die ähnliche Benutzer unterstützen. Wenige Hobbyisten ziehen es vor, ihre eigene Version des Ausschusses von Kratzer zu machen.

Elektrischer Schneider erzeugt den M3000 Motor- und Bewegungskontrollspan, einen Atmel AVR Kern und ein Fortgeschrittener Bewegungskontrolleur für den Gebrauch in einer Vielfalt von Bewegungsanwendungen vereinigend.

FPGA Klone

Mit der wachsenden Beliebtheit von FPGAs unter der offenen Quellgemeinschaft haben Leute angefangen, offene mit dem AVR Befehlssatz vereinbare Quellverarbeiter zu entwickeln. Die Website von OpenCores verzeichnet die folgenden Haupt-AVR-Klon-Projekte:

  • pAVR, der in VHDL geschrieben ist, wird das Schaffen des schnellsten und maximal gestalteten AVR Verarbeiters, durch das Einführen von Techniken gezielt, die nicht im ursprünglichen AVR Verarbeiter wie tieferer pipelining gefunden sind.
  • avr_core, der in VHDL geschrieben ist, ist ein Klon hat darauf gezielt, so nah zu sein, wie möglich am ATmega103.
  • Navré, der in Verilog geschrieben ist, führt alle Klassischen Kerninstruktionen durch und wird auf die hohe Leistung und den niedrigen Quellengebrauch gerichtet. Es unterstützt Unterbrechungen nicht.

Siehe auch

  • AVR32
  • Arduino

Weiterführende Literatur

  • Eingebettete C-Programmierung und der Atmel AVR; Richard H Barnett, Sarah Cox, Larry O'Cull; 560 Seiten; 2006; internationale Standardbuchnummer 978-1-4180-3959-2.
  • C, für Mikrokontrolleure Programmierend, die den AVR Bearbeiter von Schmetterling und WinAVR von ATMEL Zeigen; Joe Pardue; 300 Seiten; 2005; internationale Standardbuchnummer 978-0-9766822-0-2.
  • Atmel AVR Mikrokontrolleur-Zündvorrichtung: Programmierung und das Verbinden; Steven F Barrett, Daniel Pack, Mitchell Thornton; 194 Seiten; 2007; internationale Standardbuchnummer 978-1-59829-541-2.
  • Arduino: Ein Schneller Anfang-Führer; Maik Schmidt; 276 Seiten; 2011; internationale Standardbuchnummer 978-1-934356-66-1.

Links

Primäre Quellen


Nationale Medaille der Wissenschaft / AVR
Impressum & Datenschutz