Aus RN-Wissen.de
Version vom 17. November 2005, 19:07 Uhr von PhpSupporter (Diskussion | Beiträge) (Die AVR-Pin-Bezeichnungen und deren Funktion)

Wechseln zu: Navigation, Suche
LiFePO4 Speicher Test

Atmel ist der u.a. der Hersteller der AVR-Controllerserie.

Beispiel eines Atmel Controllers

Es gibt eine ganze Serie von AVR-Controllern. Sie alle werden ähnlich programmiert bieten jedoch unterschiedliche Features (I/O Leitungem, Timer, PWM-Ports usw.) Es gibt inzwischen Entwicklungssysteme in den Sprachen Basic, C, Pascal und Assembler für diese Controller. AVR steht angeblich für Advanced Virtual RISC (in einem Paper von Alf Egin Bogen und Vegard Wollan)

  • 8 Bit Architektur ist für Hochsprachen (C) optimiert
  • Harvard-Architektur (getrennter Befehls- und Datenspeicher)
  • 32 Register, kein Akkumulator, 3 Pointerregister
  • In-System progammierbar - Das bedeutet der Controller kann sehr einfach über ein Programmierkabel (oft ISP-Kabel genannt ) das mit dem PC verbunden wird programmiert werden, auch dann wenn sich dieser in einer Schaltung befindet
  • JTAG (Debugerinterface)
  • AVR Typen (AT90, ATtiny, ATmega)
  • Viele Entwicklungsboards erhältlich, z.B. das Roboternetzboard RN-Control


Einige Pinbelegungen der pupulärsten Controller im Roboternetz

(in etwa nach Leistungsfähigkeit sortiert)

Die AVR-Pin-Bezeichnungen und deren Funktion

Die meisten Ports sind doppelt belegt und besitzen neben der normalen Port-Funktion noch eine Sonderfunktion. Die verschiedenen Pinbezeichnungen und Sonderfunktionen werden hier beschrieben:

PA 0 – 7 Port A - Ein 8 Bit breiter, bi-direktionaler I/O Port. Jeder Pin des Ports kann individuell als Eingang oder Ausgang konfiguriert werden.

PB 0 – 7 Port B - Ein 8 Bit breiter, bi-direktionaler I/O Port. Jeder Pin des Ports kann individuell als Eingang oder Ausgang konfiguriert werden.

PC 0 – 7 Port C - Ein 8 Bit breiter, bi-direktionaler I/O Port. Jeder Pin des Ports kann individuell als Eingang oder Ausgang konfiguriert werden.

PD 0 – 7 Port D - Ein 8 Bit breiter, bi-direktionaler I/O Port. Jeder Pin des Ports kann individuell als Eingang oder Ausgang konfiguriert werden.

XCK Externe Takt für UART. Wird nur in Sonderfällen für Baudrate benötigt. UART ("Universal Asynchronous Receiver and Transmitter"). Das ist die serielle Schnittstelle, die zur Datenübertragung zwischen Mikrocontroller und PC genutzt wird. Zur Übertragung werden zwei Pins am Controller benötigt: TXD und RXD. Über TXD ("Transmit Data") werden Daten gesendet, RXD ("Receive Data") dient zum Empfang.

T0 Timer Eingang. Timer kann gestartet, gestoppt oder getaktet werden

T1 Timer Eingang. Timer kann gestartet, gestoppt oder getaktet werden

AIN0 Erster Eingang des Analog Komperators. Mit AINT0 und AINT1 kann man zwei Spannungen miteinander vergleichen. Wenn die Spannung an AIN0 höher als bei AIN1 ist, liefert der Komparator "High", wenn umgekehrt ein "Low".

AINT 1 Zweiter Teil des Analog Komperators Mit AINT0 und AINT1 kann man zwei Spannungen miteinander vergleichen. Wenn die Spannung an AIN0 höher als bei AIN1 ist, liefert der Komparator "High", wenn umgekehrt ein "Low".

OC0 PWM bzw. Output Compare Ausgang des Timers 0

SS SPI-Interface – wird beneötigt um den richtigen Slave am Bus zu wählen

MOSI SPI-Interface – Datenausgang (bei Slave Eingang)

MISO SPI-Interface – Dateneingang (bei Slave Ausgang)

SCK SPI-Interface – Bustakt vom Controller

RESET Rücksetz Eingang. Ein log. 0 – Pegel an diesem Pin für die Dauer von mindestens zwei Zyklen des Systemtaktes bei aktivem Oszillator setzt den Controller zurück

VCC Betriebsspannung 5 V (2,7 Volt bis 6 V bei 8 Mhz, die nächsten AVRs sollen ab 1,8 Volt funktionieren )

GND Masse

XTAL1 Eingang des internen Oszillators zur Erzeugung des Systemtaktes bzw. Eingang für ein externes Taktsignal, wenn der interne Oszillator nicht verwendet werden soll

XTAL2 Ausgang des integrierten Oszillators zur Erzeugung des Systemtaktes

RXD Serielle Schnittstelle Eingang TTL-Pegel

TXD Serielle Schnittstelle Ausgang TTL-Pegel

INT0 Externe Interrupt

INT1 Externe Interrupt

INT2 Externer Interrupt 2

OC1A Ausgang für die Compare-Funktion des integrierten Zeitgeber- / Zählerbausteines Der erste PWM Ausgang des Timers1. Er wird oft zum Regeln der Bot-Motogeschwindigkeit benutzt.

OC1B Ausgang für die Compare-Funktion des integrierten Zeitgeber- / Zählerbausteines Der zweite PWM Ausgang des Timers1. Er wird oft zum Regeln der Bot-Motogeschwindigkeit benutzt.

ICP1 Eingang für die Capture-Funktion des integrierten Zeitgebers / Zählerbausteines

ADC0 bis ADC7 Eingänge des Analag nach Digital (AD) Wandlers. Spannungen können hier gemessen werden.

AREF Referenzspannung für Analog-Digitalwandler (wird meist auf 5 V gesetzt)

GND Masse

AVCC Analog Digital Wandler (siehe Beschaltungsskizze) Die Betriebsspannung für den AD Wandler. Die Pins AVCC, AGND und AREF sollten immer beschaltet werden, da es sonst es passieren kann, dass Port A nicht richtig funktioniert, selbst wenn man den AD Wandler nicht benutzt

TOSC1 TOSC1 und 2 sind Eingänge für den Asyncronen Modus von Timer2. Sie sind vorgesehen für den Anschluss eines externen Uhrenquarzes ( 32.768 kHz ). Damit lässen sich zum Beispiel sehr genaue 1 Sekunden Impulse für eine Uhr generien...

TOSC2 TOSC1 und 2 sind Eingänge für den Asyncronen Modus von Timer2. Sie sind vorgesehen für den Anschluss eines externen Uhrenquarzes ( 32.768 kHz ). Damit lässen sich zum Beispiel sehr genaue 1 Sekunden Impulse für eine Uhr generien...

TDI JTAG-Debug Interface

TDO JTAG-Debug Interface

TMS JTAG-Debug Interface

TCK JTAG-Debug Interface

SDA I2C-Schnittstelle (Bus aus 2 Leitungen) Datenleitung

SCL I2C-Schnittstelle (Bus aus 2 Leitungen) Clockleitung

OC2 PWM bzw. Output Compare Ausgang des Timers2

Siehe auch


Weblinks


LiFePO4 Speicher Test