Aus RN-Wissen.de
Version vom 17. November 2005, 19:12 Uhr von PhpSupporter (Diskussion | Beiträge) (Einige Pinbelegungen der pupulärsten Controller im Roboternetz)

Wechseln zu: Navigation, Suche
Rasenmaehroboter 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