PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche PIN's können als I/O verwendet werden beim Atmega32U4?



AVRprogger91
27.11.2016, 02:37
Hallo Leute,

ich bin neu hier im Forum und habe da eine für mich Wichtige frage an euch.
Es geht um den Atmega32U4 µC.

Soweit ich das aus dem Datenblatt heraus lesen konnte, hat dieser 12ADC channels und 26 I/O Lines.
"26 I/O Lines" -> bedeutet für mich, das er 26 I/O PIN's hat mit denen ich etwas einlesen oder schalten kann.
Habe ich das so richtig verstanden?


MfG

oberallgeier
27.11.2016, 09:30
Hallo und willkommen im Forum.

.. Atmega32U4 .. Soweit ich das aus dem Datenblatt heraus lesen konnte, hat dieser 12ADC channels und 26 I/O Liness ..Nein, NICHT "und". Er hat 26 I/Os, DAVON sind 12 (unter anderem) nutzbar als ADCs, nach Vollbelegung mit 12 ADCs bleiben noch vierzehn Pinne übrig für anderweitige Nutzung. Zu den 26 I/Os mit teils alternativen Anschluss-/Konfigurationsmöglicheiten kommen noch 18 "weitere" Anschlüsse dazu. Damit sind die 44 Gesamtpinne des ICs vollständig. Die "weiteren" 18 festen Anschlussmöglichkeiten sind:

2 x Vcc
4 x GND
1 x /RESET
1 x UVcc
1 x UGnd
2 x AVCC
1 x AREF
1 x XTAL1
1 x XTAL2
1 x D-
1 x D+
1 x UCap
1 X VBus


.. Atmega32U4 .. "26 I/O Lines" -> .. 26 I/O PIN's hat mit denen ich etwas einlesen oder schalten kann ..Aber genauso hast Du es ja hier auch aufgeschrieben. Wenn ich alle im Datenblatt unter Features gelisteten Anschlüsse zusammenzähle, komme ich locker auf über dreißig, vielleicht gar vierzig Anschluss>>möglichkeiten<<. Davon sind aber etliche entweder-oder, es gibt eben unterschiedliche aber alternative Möglichkeiten die Anschlüsse zu konfigurieren bzw. zu nutzen.

Bei mir steht gaaanz oben im Mainmodul meiner Programme immer die Konfiguration der Pinne z.B. in dieser Form (hier NICHT Atmega32U4)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// === Grundlegende Initialisierungen der Hardware, Portdefinition -
// PCINT8, XCK0, T0, PB0 1 40 PA0, ADC0, PCINT0
// PCINT9, CLKO, T1, PB1 2 39 PA1, ADC1, PCINT1
// PCINT10, INT2, AIN0, PB2 3 38 PA2, ADC2, PCINT2
// PCINT11, OC0A, AIN1, PB3 4 37 PA3, ADC3, PCINT3
// PCINT12, OC0B, /SS, PB4 5 36 PA4, ADC4, PCINT4
// PCINT13, ICP3, MOSI, PB5 6 35 PA5, ADC5, PCINT5
// PCINT14, OC3A, MISO, PB6 7 34 PA6, ADC6, PCINT6
// PCINT15, OC3B, SCK, PB7 8 33 PA7, ADC7, PCINT7
// /RESET 9 32 AREF
// Vcc 10 31 GND
// GND 11 30 AVcc
// XTAL2 12 29 PC7, TOSC2, PCINT23
// XTAL1 13 28 PC6, TOSC1, PCINT22
// PCINT24, RXD0, T3, PD0 14 27 PC5, TDI, PCINT21
// PCINT25, TXD0, PD1 15 26 PC4, TDO, PCINT20
// PCINT26, RXD1, INT0, PD2 16 25 PC3, TMS, PCINT19
// PCINT27, TXD1, INT1, PD3 17 24 PC2, TCK, PCINT18
// PCINT28, XCK1, OC1B, PD4 18 23 PC1, SDA, PCINT17
// PCINT29, OC1A, PD5 19 22 PC0, SCL, PCINT16
// PCINT30, OC2B, ICP PD6 20 21 PD7, OC2A, PCINT31
// ================================================== =
// ####>>>> Initialisierung der Anschlüsse für R5M auf mega1284: <<<<####
// ( PB0 1 A A 40 PA0 (CN 11-1 -Audi-Busy)
// CN_12 ( PB1 2 A A 39 PA1 (CN 11-3 -Audi-Clock)
// PORTB ( PB2 3 A A 38 PA2 (CN 11-5 -Audi-Data)
// (CIR od. / PB3 4 A? E 37 PA3 (CN 11-4 -Audi)
// LCD ... \ PB4 5 A A 36 PA4, Servo10
// siehe ( MOSI, PB5 6 A A 35 PA5, Servo9
// unten ( MISO, PB6 7 A A 34 PA6, Servo8
// TasteC=3 ( SCK, PB7 8 EU A 33 PA7, Servo7
// Taste /RES, /RESET 9 32 AREF ref Vcc, aktuell
// Vcc 10 31 GND
// GND 11 30 AVcc
// XTAL2 12 A 29 PC7, Servo6
// XTAL1 13 A 28 PC6, Servo5
// RXD0, PD0 14 EU A 27 PC5, Servo4
// TXD0, PD1 15 EU A 26 PC4, Servo3
// RXD1, PD2 16 EU A 25 PC3, Servo2
// TXD1, PD3 17 A A 24 PC2, Servo1
// L1g PD4 18 A E 23 PC1, SDA
// L1r PD5 19 A E 22 PC0, SCL
// TasteA=1, PD6 20 EU EU 21 PD7, TasteB=2, PCINT31, (Sound)
// - - - - - - - - - - - - - - -
// ####>>>> PB3 ist evtl. Source für IR-DME-LED !! = CIR-LED
// - - - - - - - - - - - - - - -
// ####>>>> Initialisierung/Anschlüsse von PORT B für LCD DEM 16x2
// data bit 4 PB0 0 A WS Pin1 |
// data bit 5 PB1 1 A Pin2 | -- Der 10-polige Wannenstecker
// data bit 6 PB2 2 A Pin3 | ist an die Belegung wie beim
// data bit 7 SCK, PB3 3 A Pin4 | Transistortester angepasst
// RS line PB4 RS Pin5 | es kommen noch
// ENABLE line MOSI, PB5 EN1 Pin6 | Pin 9 GND und
// R/W (offen) MISO, PB6 R/W Pin7 | Pin 10 Vcc dazu
// NC (TasteC) SCK, PB7 NC Pin8 |___________________________
// GND Pin9
// Vcc Pn10 | Anmerkg: ENABLE line !
// - - - - - - - - - - - - - - -
// Ports+Pins als Ein- (0) od Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
// A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp
DDRA = 0b11110110; // PA0..2 WTV Bsy/Clk/Dto, PA3=Eingang f Sharp
PORTA = 0b00000001; // und Port/Pull Ups (1) aktivieren
//
DDRB = 0b01111111; // siehe aktuell oben, PB0..6: LCD (oder sonstiges)
PORTB = 0b10000000; // und Port/Pull Ups (1) aktivieren
//
DDRC = 0b11110111; // PC0..7 (mega1284), PC0 + PC1 = I2C
PORTC = 0b00000000; // bis auf i2c : Servoausgänge, OHNE Pullup !!
//
DDRD = 0b00111100; // -> siehe Schaltplan m1284_DIL-II_x19_as-build
PORTD = 0b11000011; // Pull Ups aktivieren, NICHT bei extINT0/~1

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -später kommen evtl. noch Nutzungen/Initialisierungen von Timern, PWMs oä dazu.

Anmerkung: ich finde es bestens, dass Du VOR Benutzung des Controllers das Datenblatt aufmerksam studierst und begreifen willst.

AVRprogger91
27.11.2016, 19:41
Ich hab mich da etwas verschrieben.
Natürlich meinte ich 26 I/O-Pins ohne die 12 ADC's, außer man nutzt Sie nicht als ADC's.

Eine frage hätte ich da noch.
Ich möchte den Atmega32U4 mit dem AVR Dragon Board programmieren.
Nun finde ich aber keinen IC-Sockel für diesen µC.
Ich möchte ihn nicht direkt auf die Platine auflöten, falls er beim Proggen oder was auch immer kaputt geht.
Ich möchte ihn gerne in einen IC-Sockel stecken und gleich auswechseln können.

Gibt es da einen passenden Sockel?

MfG & Danke!

- - - Aktualisiert - - -

Ich hab mich da etwas verschrieben.
Natürlich meinte ich 26 I/O-Pins ohne die 12 ADC's, außer man nutzt Sie nicht als ADC's.

Eine frage hätte ich da noch.
Ich möchte den Atmega32U4 mit dem AVR Dragon Board programmieren.
Nun finde ich aber keinen IC-Sockel für diesen µC.
Ich möchte ihn nicht direkt auf die Platine auflöten, falls er beim Proggen oder was auch immer kaputt geht.
Ich möchte ihn gerne in einen IC-Sockel stecken und gleich auswechseln können.

Gibt es da einen passenden Sockel?

MfG & Danke!

oberallgeier
28.11.2016, 00:12
Ich hab mich da etwas verschrieben .. Natürlich meinte ich 26 I/O-Pins ohne die 12 ADC's, außer man nutzt Sie nicht als ADC's ..Schon ok.


.. möchte den Atmega32U4 mit dem AVR Dragon Board programmieren .. finde .. keinen IC-Sockel .. Gibt es da einen passenden Sockel?Sockel für die Bauformen VQFN und TQFP hatte ich noch nie benutzt. Die AVRs sind auch deutlich resistenter gegen Elektro(statik)schäden als ich bisher fürchtete. Ich habe meine TQFPs direkt gelötet mit ner kleinen Lötspitze (https://www.reichelt.de/?ARTICLE=63435&PROVID=2788&wt_mc=amc141526782519998&gclid=CNnd_NKFytACFZMK0wod_1QMXQ) - 0,8 mm - das geht prächtig, siehe hier (https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu?p=629876&viewfull=1#post629876) (unten rechts). Die VQFN (mega328.) hatte ich mit Heißluft gelötet (https://www.reichelt.de/?ARTICLE=90914&PROVID=2788&wt_mc=amc141526782519998&gclid=CNW1vbGGytACFdaRGwodIp0H3g). Ausserdem - mal ehrlich: irgendwann müssen die doch in ne Platine eingelötet werden *ggg*. Natürlich gibts da eine etwas rauhbeinige Methode - siehe hier - aber das ist eben auch kein Sockel (http://elm-chan.org/works/ltc/rp/ltc02.jpeg).

Jedenfalls viel Erfolg.

oberallgeier
28.11.2016, 13:13
.. Gibt es da einen passenden Sockel? ..Tut mir leid, dass ich keine klare Antwort geschrieben hatte. Es gibt natürlich Adapter - wie für fast alles!

Zum Löten eines TQFP44 (http://de.rs-online.com/web/p/products/8971509/?grossPrice=Y&cm_mmc=DE-PLA-_-google-_-PLA_DE_DE_Leiterplatten-Prototyping-_-Leiterplatten&mkwid=sDJ04PbKo_dc|pcrid|94257866119|pkw||pmt||prd |8971509&gclid=CNyW3560y9ACFeX0cgodbsgEPA), Kontakte werden auf ein Quadrat von Stiftleisten geleitet.
Noch einer zum Löten (http://www.digitale-elektronik.de/shopsystem/product_info.php?products_id=652&osCsid=907818f8faf93e99e3cd5a24f1ed3b82), ähnlich wie oben.
Klemmbar - aber (http://www.ebay.de/itm/like/172399352607?lpid=106&chn=ps&ul_noapp=true) mechanisch natürlich ein Klotz.
Speziell für den 32U4 (https://guloshop.de/shop/Mikrocontroller/ATmega32U4-USB-DIP-Teilbausatz::62.html?XTCsid=sff4b47hfb8c86hbfvuci3 l713) nach DIP"Konsole"
und so weiter (https://www.google.de/search?q=adapter+tqfp44&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=DR08WPSwO9Gv8weV553oDA) und so fort.

AVRprogger91
16.12.2016, 16:30
Danke für die Hilfe!

Peter(TOO)
16.12.2016, 20:15
Eine frage hätte ich da noch.
Ich möchte den Atmega32U4 mit dem AVR Dragon Board programmieren.
Nun finde ich aber keinen IC-Sockel für diesen µC.
Ich möchte ihn nicht direkt auf die Platine auflöten, falls er beim Proggen oder was auch immer kaputt geht.
Ich möchte ihn gerne in einen IC-Sockel stecken und gleich auswechseln können.

Gibt es da einen passenden Sockel?

Eigentlich nicht wirklich!

Man muss unterscheiden zwischen Programmier- und Produktions-Sockeln.

Die Programmier-Sockel sind für Programmier-Geräte gedacht, das sind die Klötze. Sie sind für tausende Steckzyklen ausgelegt und sollen ohne Werkzeug einfach zu bedienen sein. Entsprechend ist auch der Preis.

Produktions-Sockel sollten günstig sein, wenig Platz beanspruchen und müssen nur 10-100 Wechsel garantiert überstehen. Zudem darf die Montage auch Werkzeug benötigen. Solche IC-Sockel gibt es nur vereinzelt, da heute dafür kein Markt mehr besteht. Moderne ICs lassen sich direkt in der Schaltung programmieren. Ein weiteres Problem der Sockel ist die zusätzliche Kapazität zwischen den Pins. Durch die kleinen Abstände, 0.5mm Raster zu 2.54mm Raster frühe, werden die Kapazitäten grösser.

Bleiben also noch die Adapter, ein kleiner Print mit Steckern im 2.54mm Raster auf welcher der Chip aufgelötet wird.

MfG Peter(TOO)