Auswahl des Prozessors

  • Als Microcontroller wird ein 8bit AVR Microchip Chip (ehemals ATMEL AVR) empfohlen. Auf diesem Chipsatz wurde in Microcontrollertechnik aufgebaut. Im Elektronik-Lager stehen einige ATmega32x8 zur Verfügung.
  • In den grundlegenden 1×1 MexlePlatinen (MmC1x1 328_1.x, MmC1x1 328_2.x, MmC1x1 32U4) sind ATmega32xx verbaut, welche prinzipiell mit 5 V oder 3,3 V betrieben werden können. Die gesamte Schaltung sollte aber auf 3,3 V ausgelegt werden. Damit ist die Verwendung aktueller Sensoren möglich.
  • Für die Auswahl eines Chips für Zusatzplatinen ist auf der Herstellerseiten von AVR eine übersichtliche Tabellen zu finden. Für ATtiny104, ATmega88, ATmega32xx ist Prototypen-Equipment vorhanden.
    • Die Chip-Varianten mit „U“ haben dabei direkt eine Möglichkeit einen USB-Anschluss direkt zu nutzen

Um den geeigneten Microcontroller für ein eigenes Projekt herauszusuchen sollten folgende Fragen geklärt werden:

  • Wie viel Speicher wird benötigt?
    • Wie groß wird das Programm? Werden größere Librarys eingebunden?
      🡆 Wie groß muss der Flash-Speicher sein (in diesem wird der Code gespeichert)
    • Wie viele Variablen und Konstanten beinhaltet das Programm und wie groß sind diese (Arrays? int8, int32, float?)?
      🡆 Wie groß muss das RAM sein? (Konstanten können alternativ auch im Flash liegen)
    • Sollen Werte permanent gespeichert werden? Wie viele?
      🡆 Wie groß muss das EEPROM sein?
  • Welcher Prozessortakt wird benötigt?
    • Wie schnell muss der Mikrocontroller mit wie vielen Daten reagieren? Muss z.B. für eine Regelungsschleife Daten schnell aufgenommen, verarbeitet oder ausgegeben werden?
    • Können ggf. Funktionalitäten einem Timer/Counter übergeben werden?
    • Soll der Takt intern erzeugt werden, oder soll ein externer Quarz verwendet werden?
  • Welche Interfaces werden benötigt?
    • Welche digitalen Schnittstellen (I2C, SPI, USB, USART, PWM) werden benötigt?
    • Wie schnell und genau müssen wieviele Analogwerte aufgenommen werden?
    • Wie schnell und genau müssen wieviele Analogwerte ausgegeben werden?
    • Welche und wie viele der genannten Schnittstellen werden gleichzeitig benötigt? 🡆 Pin Count
  • Welche Infrastruktur im Controller wird benötigt?
    • Soll auf ein oder mehrere Ereignisse (Timer, Benutzereingabe etc.) asynchron reagiert werden? 🡆 Interrupts
    • Wird viel mit Gleitkommawerten gerechnet? 🡆 Controller mit FPU (z.B. PIC)
  • Welche Infrastruktur um den Controller ist zu erwarten?
    • Temperaturbereich
    • Leistungsaufnahme
    • Spannungsniveau
  • Welche nicht-elektronischen Randbedingungen sind zu beachten?
    • Kosten und Liefersituation
    • Wissensbasis und Verbreitung
    • Handling bei der Produktion (Chipgehäuse, Verpackung, ..)
    • Preprogrammed lieferbar?