Pfad: home => avr DE => how-to => Typauswahl    (This page in English: Flag EN) Logo

Wie wähle ich den optimalen AVR-Typ aus?

Arduino-Besitzer brauchen hier schon mal gar nicht weiterlesen: die Antwort auf die Frage ist nicht 43, sondern in jedem Fall und immerzu ATmega328, egal was Du brauchst oder machen willst. Du bist dann hier schon fertig mit Lesen.

Alle anderen stehen hier vor einem echten Problem. Bevor Du Dich durch Microchip's unübersichtliche Webseite wühlen tust: hier gibt es ein viel einfacheres Tool zum Download: den Simulator avr_sim. Den gibt es fertig als ausführbare Windows- oder Linux-Version (beides in 64-Bit-Version) oder auch als Lazarus-Quellcode zum Selber-Kompilieren.

1 Starten des Device-Selektors

avr_sim Startbildschirm Nach dem Start von avr_sim kriegst Du dieses (oder ein ähnliches) Bild. Das Menue des Programmes ist bescheiden, es hat bloß zwei ganze Einträge. Und natürlich ist der Eintrag "Project" gut für Dich: beim Klicken erscheint das Untermenu, mit dem ersten Eintrag "New". Klickst Du darauf, kommt dieses Fenster:

Der Device-Selector im Neu-Menue Der hier markierte Knopf startet den Device-Selector. Und der sieht dann so aus:

Das Device-Selector-Fenster Das Fenster hat ganz viele Teilfenster:

2 Auswahl der Taktoptionen

Taktoptionen Nehmen wir nun mal an, wir wollten eine Uhr bauen. Dann brauchen wir für den AVR entweder einen externen Taktoszillator oder einen Quarz, denn der interne RC-Oszillator ist dafür nicht genau genug. Schon haben wir im Fenster "Required hardware properties" und hier bei den "Clock options" den Radioknopf "External oscillator" oder "External crystal" gedrückt. Das nimmt alle Typen aus der Liste in der Mitte, die keinen Betrieb mit einem Quarz können. Welche das sind, kriegt man mit "Show failed" und dem Knopf "Remove package messages" heraus:

Ungeeignete Typen Neben den Kriterien zeigt das Fenster alle diejenigen AVR-Typen an, die keine zwei XTAL-Pins haben.

Das ist schon mal ein sehr gutes Beispiel, wie schnell und einfach der Device-Selektor das herausgefunden hat, ohne dass man die mehr als 400 Device-Handbücher durchgenudelt hat. XTAL-Pins zugeordnet Bei allen Typen sind nun die Pins XTAL1 und XTAL2 dieser Funktion zugeordnet, nur diese Funktion erscheint und ab dem zweiten Buchstaben in Kleinbuchstaben.

3 Auswahl nach I/O-Pins

Gleich drei verschiedene Optionen ermöglichen es, Ein- und Ausgabe-Pins zuzuordnen:
  1. 8-Bit-I/O: Dies ordnet einen ganzen oder mehrere 8-Bit-Ports dieser Funktion zu, alle anderen möglichen Funktionen der zugeordneten Pins verschwinden dann von der Bildfläche.
  2. 4-Bit-I/O: Dies ordnet einen oder mehrere 4-Bit-Port zu, die entweder im unteren oder oberen Nibble des Ports liegen.
  3. 1-Bit-I/O: Dies ordnet einen oder mehrere 1-Bit-Ports zu.
Diese Zuordnung ist nicht so ganz trivial, insbesondere wenn einzelne Pins bereits anderen Funktionen zugeordnet sind und daher nicht verlegt werden können.

Original-Belegung 8-Bit-Port zugeordnet 4-Bit-Port zugeordnet 4-Bit-Port zugeordnet, unten 1-Bit-Port zugeordnet Die Bilder zeigen links die Originalbelegung des ATtiny24 ohne zugeordnete Funktionen und rechts mit einem 1-Bit-Port, zwei unterschiedliche Zuordnungen eines 4-Bit-Ports und einen 8-Bit-Port.

Die unterschiedliche Zuordnung des 4-Bit-Ports wurde provoziert, indem die drei ISP-Pins Mosi, Miso und Sck exklusiv diesem Zweck zugeordnet wurden. Das zwingt den Device-Selektor, den 4-Bit-Port zu den unteren vier Bits des PortA zu verlegen.

4 Auswahl nach externen Interrupts

Auswahl externer Interrupts Externe Interrupts zugeordnet Zwei Arten von externen Interrupts sind möglich: Ints und Pcints. Für beide kann die Anzahl vorgewählt werden.

Die Zuordnung von PCINTs erfolgt so, dass bei mehreren PCINT-Ports eine gleichmäßige Verteilung erfolgt, soweit das wegen anderer Zuordnungen noch möglich ist.

5 Weitere Funktionen

Es können noch weitere Funktionen ausgewählt und zugeordnet werden:

6 Kombinationen von allem

Kombinierte Auswahl Natürlich können alle genannten Funktionen gemeinsam ausgewählt und sie werden auch kombiniert ausgewertet. Hier mal eine Kombi aus:
  1. einem externen Int,
  2. exklusiven ISP-Pins,
  3. einem externen Quarz als Taktgeber,
  4. einem 8-Bit-Port, einem 4-Bit-Port und ganz vielen einzelnen I/O-Pins,
  5. einigen AD-Wandler-Anschlüssen,
  6. einem Analogvergleicher,
  7. einem 8-Bit-Timer/Counter mit Ausgabe auf A,
  8. einem UART mit RX und TX.
Wer das alles schneller platziert hat mit Papier und Belistift kann sich bei mir melden.

Viel Erfolg bei der Auswahl des persönlich optimal zugeschnittenen AVR-Typs. Mit der Möglichkeit, die Fenster in die Zwischenablage (Clipboard) zu kopieren, können die Auswahlen verewigt und beliebig weiterverarbeitet werden.

An den Seitenanfang, zur Leitseite

©2021 by http://www.avr-asm-tutorial.net