(→Die Atmel AVR-Pin Bezeichnungen) |
(→Die AVR-Pin-Bezeichnungen und deren Funktion) |
||
Zeile 25: | Zeile 25: | ||
Die meisten Ports sind doppelt belegt und besitzen neben der normalen Port-Funktion noch eine Sonderfunktion. Die verschiedenen Pinbezeichnungen und Sonderfunktionen werden hier beschrieben: | 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. | 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. | 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. | 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. | 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. | 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. | 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 | Timer Eingang. Timer kann gestartet, gestoppt oder getaktet werden | ||
− | + | T1 | |
Timer Eingang. Timer kann gestartet, gestoppt oder getaktet werden | Timer Eingang. Timer kann gestartet, gestoppt oder getaktet werden | ||
− | + | AIN0 | |
Erster Eingang des Analog Komperators. | 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". | 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 | 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". | 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 | PWM bzw. Output Compare Ausgang des Timers 0 | ||
− | + | SS | |
SPI-Interface – wird beneötigt um den richtigen Slave am Bus zu wählen | SPI-Interface – wird beneötigt um den richtigen Slave am Bus zu wählen | ||
− | + | MOSI | |
SPI-Interface – Datenausgang (bei Slave Eingang) | SPI-Interface – Datenausgang (bei Slave Eingang) | ||
− | + | MISO | |
SPI-Interface – Dateneingang (bei Slave Ausgang) | SPI-Interface – Dateneingang (bei Slave Ausgang) | ||
− | + | SCK | |
SPI-Interface – Bustakt vom Controller | 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 | 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 | Betriebsspannung 5 V | ||
(2,7 Volt bis 6 V bei 8 Mhz, die nächsten AVRs sollen ab 1,8 Volt funktionieren ) | (2,7 Volt bis 6 V bei 8 Mhz, die nächsten AVRs sollen ab 1,8 Volt funktionieren ) | ||
− | + | GND | |
Masse | 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 | 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 | Ausgang des integrierten Oszillators zur Erzeugung des Systemtaktes | ||
− | + | RXD | |
Serielle Schnittstelle Eingang TTL-Pegel | Serielle Schnittstelle Eingang TTL-Pegel | ||
− | + | TXD | |
Serielle Schnittstelle Ausgang TTL-Pegel | Serielle Schnittstelle Ausgang TTL-Pegel | ||
− | + | INT0 | |
Externe Interrupt | Externe Interrupt | ||
− | + | INT1 | |
Externe Interrupt | Externe Interrupt | ||
− | + | INT2 | |
Externer Interrupt 2 | Externer Interrupt 2 | ||
− | + | OC1A | |
Ausgang für die Compare-Funktion des integrierten Zeitgeber- / Zählerbausteines | 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. | 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 | 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. | 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 | 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. | 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) | Referenzspannung für Analog-Digitalwandler (wird meist auf 5 V gesetzt) | ||
− | + | GND | |
Masse | Masse | ||
− | + | AVCC | |
Analog Digital Wandler (siehe Beschaltungsskizze) | 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 | 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... | 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... | 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 | JTAG-Debug Interface | ||
− | + | TDO | |
JTAG-Debug Interface | JTAG-Debug Interface | ||
− | + | TMS | |
JTAG-Debug Interface | JTAG-Debug Interface | ||
− | + | TCK | |
JTAG-Debug Interface | JTAG-Debug Interface | ||
− | + | SDA | |
I2C-Schnittstelle (Bus aus 2 Leitungen) Datenleitung | I2C-Schnittstelle (Bus aus 2 Leitungen) Datenleitung | ||
− | + | SCL | |
I2C-Schnittstelle (Bus aus 2 Leitungen) Clockleitung | I2C-Schnittstelle (Bus aus 2 Leitungen) Clockleitung | ||
− | + | OC2 | |
PWM bzw. Output Compare Ausgang des Timers2 | PWM bzw. Output Compare Ausgang des Timers2 | ||
Version vom 17. November 2005, 19:07 Uhr
Atmel ist der u.a. der Hersteller der AVR-Controllerserie.
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
Inhaltsverzeichnis
Einige Pinbelegungen der pupulärsten Controller im Roboternetz
(in etwa nach Leistungsfähigkeit sortiert)
- AT90S2313
- Atmel Controller Mega8
- Atmel Controller Mega48 Mega88 Mega168
- Atmel Controller Mega16 und Mega32
- Atmel Controller Mega128 - SMD-Chip
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
- AVR-ISP Programmierkabel - Bauanleitung für die AVR Controller Programmierkabel
- RN-Control - Eines der beliebtestet AVR-Boards im Roboternetz
- Bascom - Sehr gutes Basic-Entwicklungssystem
- Bascom - Erstes Programm in den AVR Controller übertragen