Atmel AVRs - Minimalbeschaltung und Erklärung der wichtigsten Pins

ISP-Programmieranschluß und die Fallen

Hallo,

hier kommt dann was über den ISP-Anschluß ... (wenn Zeit ist ;) )
und wo man drauf achten muß.

Gruß
Dino
 
Hio Dino,

Da hab ich ja mal wieder voll ins Wespennest getreten und ne Menge Staub
aufgewirbelt mit meinem Vref :p
Irgendwie komisch das es bis jetzt in zig Beispielen falsch drin steht ... :confused:

oh, das ist schon ok. Ich/ Wir sind ja froh, wenn uns Fehler aufgezeigt werden. Das spart dann später Verzweiflung und blöde Fragen:rolleyes:

Ich weiss ja selbst, dass ich mir die Atmels in Kürze richtig vornehmen muss, zumal ich die ADC dann auch nutzen möchte. Die ganze Bastelei drumherum hat ja bald ein Ende. Doch im Moment muss sich alles auf das einfache Schalten der Pins beschränken.

Unter einer Minimalbeschaltung verstehe ich 4.7K und 47µ für Reset, 100n an VCC/ GND und AREF/AGND (die 10µH an AVCC könnten noch weggelassen werden), Taster "auf Masse ziehen" mit 10K an +5V und eine LED mit 1K oder 1K5 an +5V. Das mache ich mal "fliegend" zwischendurch auf dem Steckbrett, wenn ich zwei oder drei Atmel gleichzeitig benutzen möchte.


Grüsse,

Michael
 
Spielereien mit Quarz und Kondensatoren ...

Hallo,

ich hab mal ein wenig mit den Quarzgrößen und den beiden Kondensatooren
gespielt. Mal ein paar Werte ausprobiert. Dabei kam dann folgendes raus ...

6MHz Quarz mit 2x 22pF => Läuft natürlich :)
6MHz Quarz mit 2x 330pF => Läuft auch noch :p
16MHz Quarz mit 2x 22pF => Läuft natürlich auch :D
16MHz Quarz mit 2x 100pF => läuft grade noch :rolleyes:
16MHz Quarz mit 2x 220pF => Läuft nicht mehr :eek:
16MHz Quarz mit 2x 330pF => Da geht sowieso nix mehr :D :p

Hier mal Bilder von den laufenden Versionen ...
6MHz_2x330pF.JPG 16MHz_2x100pF.JPG
links mit 6MHz und 2x 330pF und rechts mit 16MHz und 2x 100pF.

Also wenn man sich mit den Werten vertut dann darf man sich nicht
wundern wenn der Oszillator steht. Es gibt auch sehr kleine Baugrößen bei
den Kondensatoren die trotzdem viel Kapazität haben.

Gruß
Dino
 
Hi,

Nimmt denn überhaupt jemand C's mit anderen Werten? Jetzt bitte keine Spezial- Sonderfälle anführen!
als nächstes werde ich mal verschiedene Ohmsche und Kapazitive Lasten an
den Pins des ISP-Anschlusses testen. Dann werden wir sehen wieviel so ein
normaler Parallelport-Progger oder der AVRISPmk2 so verkraften bevor die
Kommunikation mit dem Atmel zusammenbricht :D

Gruß
Dino
 
Wehe, Du erzählst uns danach, dass die 22p Blödsinn sind...:rolleyes:
 
Maximale Belastungen am ISP-Port ...

Ich hab mal zwei verschiedene ISP-Progger ein wenig gequält ...

Der Reset hat im Normalzustand einen 22k nach Vcc und 100nF nach GND
Die Pins MISO/MOSI/SCK (ISP-Port) sind ohne Bauteile direkt am Progger.
Beim AVRISPmk2 hab ich mit einem 5V-Netzteil und beim Parallelprogger über
USB-Port mit 5V versorgt.


Mein selbstgebauter Parallelport-Progger mit 74F245 mit 2,5m ISP-Kabel unter PonyProg:
maximale Kapazität am Reset nach GND : 1000µF (ca 5sec Reset) :eek: (mehr wollte ich nicht)
kleinster Widerstand von Reset nach Vcc : 220 Ohm (kleiner wollte ich nicht)
kleinster Widerstand von SCK/MISO/MOSI nach GND oder Vcc : 220 Ohm (kleiner wollte ich nicht)


Atmel AVRIPSmkII mit AVR-Studio:
maximale Kapazität am Reset nach GND : 4,7µF (bei 10µF funktioniert nix mehr)
kleinster Widerstand von Reset nach Vcc : 3,3k Ohm (2k sind zu klein)
kleinster Widerstand von SCK/MISO/MOSI nach GND oder Vcc : 220 Ohm (kleiner wollte ich nicht)


und damit haben wir hier mal belastbare Werte für den ISP-Anschluß und was
so ein Progger noch akzeptiert bevor er streikt. Das soll aber nicht heißen
das man die Werte wirklich ausreizen darf.
Es kann trotzdem sein das es
auf einmal nicht mehr funktioniert. Also wählt die Bauteilwerte mit Verstand!

Zum testen ob es noch läuft hab ich jedesmal beim Mega8 die Fuses ausgelesen.

Also gelten folgende Empfehlungen von mir ...
- 47nF bis 470nF von Reset nach GND
- 10k Ohm bis 47k Ohm von Reset nach Vcc
- größer als 560 Ohm an den ISP-Pins MISO/MOSI/SCK. Besser sind mehr als 1k Ohm.


Gruß
Dino
 
Hi,

gut, gut. Aber 2.5m Proggerkabel - ich hatte bei 800mm schon Bedenken...
Im Programmer habe ich übrigens einen 74HCT244 - da stellt sich die Frage nach Experimenten mit R's ja nicht.

So, und nun geht's an die Hauptplatine meines Testers. Äh - hast Du gegen ein 4200µF "Einschalt- Kondensator" irgendetwas einzuwenden?


Grüsse,

Michael
 
Hi Michael,

gut, gut. Aber 2.5m Proggerkabel - ich hatte bei 800mm schon Bedenken...
Im Programmer habe ich übrigens einen 74HCT244 - da stellt sich die Frage nach Experimenten mit R's ja nicht.
mein 74F245 müßte ziemlich identisch mit den Werten sein. Es hat mich echt
gewundert was so ein Parallel-Progger verkraftet. Das hätte ich nie gedacht.
Ich hätte dem AVRISPmk2 eigentlich die kraftvollere Verbindung zugetraut.
Ich glaube das liegt an der Geschwindigkeit und der Erkennung von Fehlern
beim Programmierablauf das der AVRISPmk2 da etwas zickiger ist. Es ist schon
ein Unterschied ob man jedes Bit einzeln reinwürfelt oder ob man es mit 4MHz
ISP-Takt in den Atmel blasen kann :D

Nach den Ergebnissen würde ich nen Parallelport-Progger als absolut
Einsteigerfreundlich ansehen. Er verzeiht mehr Fehler, hat aber den
Nachteil das man sich evtl den Parallelport am PC schrotten kann.

So, und nun geht's an die Hauptplatine meines Testers. Äh - hast Du gegen ein 4200µF "Einschalt- Kondensator" irgendetwas einzuwenden?
Gibt nen schönen Stromstoß ;) Rums ! :rolleyes:
Meinst du als Siebelko im Netzteil ? Sollte kein Thema sein. Ich hab hier auch
noch 10.000µF-Typen rumfliegen. Sogar schaltfest mit 80V :p

Gruß
Dino
 
Nach den Ergebnissen würde ich nen Parallelport-Progger als absolut
Einsteigerfreundlich ansehen. Er verzeiht mehr Fehler, hat aber den
Nachteil das man sich evtl den Parallelport am PC schrotten kann.
Deswegen auch die Wahl des IC's anstelle einer Minimalbeschaltung...
Gibt nen schönen Stromstoß ;) Rums ! :rolleyes:
Meinst du als Siebelko im Netzteil ? Sollte kein Thema sein. Ich hab hier auch
noch 10.000µF-Typen rumfliegen. Sogar schaltfest mit 80V :p

Nein, vor den 78ern. Der Tip war sogar von Dir, glaube ich..."Je fetter desto besser" oder so. Dieser grosse C ist ja eigentlich überflüssig, da ich ein Labornetzteil verwende. Nur für den Fall der Verwendung einer anderen Spannungsquelle.... Ich hätte auch noch einen 2200µ da.


Grüsse,

Michael
 
Nein, vor den 78ern. Der Tip war sogar von Dir, glaube ich..."Je fetter desto besser" oder so. Dieser grosse C ist ja eigentlich überflüssig, da ich ein Labornetzteil verwende. Nur für den Fall der Verwendung einer anderen Spannungsquelle.... Ich hätte auch noch einen 2200µ da.
Die Elkos werden ja gemütlich über den Trafo geladen. Das wird schon klappen.
Ich nehm ja auch lieber zu viele / zu große Elkos in der ersten Siebung direkt
nach dem Gleichrichter. :D Ich gestehe ... ich bin ein Siebungsfanatiker :rolleyes:

Gruß
Dino
 
Danke für diesen Beitrag. Dino du bist der Beste!
Und jetzt bloß nicht aufhören, immer fleißig weiter machen! ;)
 
Hi Dino,
Ich gestehe ... ich bin ein Siebungsfanatiker :rolleyes:
nun, da trete ich in Deine Fußstapfen - jeder der 78er soll einen kleinen 4.7µ Elko sowie einen 330nF Folien-C an Vin und einen 100nF Keramik-C an Vout erhalten :D:D
Ach ja - und eine Überspannungsschutzdiode. Der Kasten kostet bis jetzt schon gut Euro 90....


Grüsse,

Michael
 
Die Pinbelegung des ISP-Ports ...

und noch ein wenig Info ...

Es gibt zwei verschiedene Größenund Belegungen des ISP-Anschlusses die
sehr weit verbreitet und ungefähr gleich stark vertreten sind. Der 6pin- und
der 10pin-ISP-Anschluß. Die Belegung ist folgende ...

Code:
[FONT="Courier New"]
6 poliger ISP ...
        __    
       |  |  
MISO 1 >oo| 2  VTG
SCK  3 |oo| 4 MOSI
RST  5 |oo| 6  GND
       |__|    
[/FONT]
Code:
[FONT="Courier New"]
10 poliger ISP ...
        __    
       |  |  
MOSI 1 >oo| 2  VTG
LED  3 |oo| 4  GND
RST  5 |oo| 6  GND
SCK  7 |oo| 8  GND
MISO 9 |oo| 10 GND
       |__|    
[/FONT]
Der Pfeil > kennzeichnet dabei den Pfeil auf dem Pfostenstecker der beim
Gehäuse an Pin 1 zu sehen ist. An der Seite des Steckers sollte auch die
farbig markierte Ader des Flachbandkabels liegen.

Die Signale sind folgende ...

LED - das ist eine uralte Signalader für eine LED auf dem Zielsystem die einem
den Programmiervorgang signalisiert. Kann freigelassen werden.

GND - Das erklärt sich wohl von selbst -> GND, 0V, Masse, ...

VTG - Voltage (Vcc) - die Betriebsspannung des Zielsystems. Manche Progger
werden über diese Leitung mit Betriebsspannung versorgt, manche Progger
versorgen hierüber das Zielsystem mit Spannung und manche Progger messen
die Betriebsspannung des Zielsystems um ihre Pegel richtig einzustellen.

RST - Der Reset-Pin des Atmels. Der wird während des Programmiervorgangs
auf GND gehalten.

SCK - Der Datentakt mit dem die Datenbits vom Progger zum Atmel und vom
Atmel zum Progger getaktet werden. Das ist der ISP-Takt, den man am
AVRISPmkII einstellen kann. Er sollte weniger als 1/4 des CPU-Taktes sein.

MISO - Master In Slave Out - Der Progger ist der Master und der Atmel der
Slave. Über diese Leitung liest also der Progger Daten aus dem Atmel. Bei
64pin und 100pin Gehäusen heißt dieser Pin PDO (Programming Data Out)
und ist an anderer Stelle am Atmel zu finden.


MOSI - Master Out Slave In - Die umgekehrte Richtung. Über diese Leitung
sendet der Progger seine Daten zum Atmel. Bei 64pin und 100pin Gehäusen
heißt dieser Pin PDI (Programming Data In) und ist an anderer Stelle am
Atmel zu finden.


Wenn man an diese Pins eigene Hardware (Pheripherie) anschließt dann sollte
man folgendes beachten ...

- Die Hardware sollte durch Signale auf diesen Leitungen keine Schäden
verursachen können. Also keine Motortreiber hier anschließen und wundern
warum der Motor sich auf einmal beim Programmieren bewegt. Auch keine
Relaistreiber, ... Also nichts was etwas zerstören könnte oder Amok laufen
kann.

- Keine Hardware anschließen die diese Signale auf einen festen Pegel zieht.
Also zB keine Ausgänge von Treiberbausteinen, DCF77-Empfänger, Taster, ...

Wie man genau vorzugehen hat steht auch in den PDF-Dateien die im ersten
Beitrag in diesem Thema zu finden sind. Aber für die schnellen Leser ...
Die eigene Hardware wird über 1k Ohm Widerstände, die IN REIHE in die
Signalleitung geschaltet werden angeschlossen. Der ISP-Port kommt dagegen
DIREKT an die Pins des Atmels. Damit kann der Progger die Signale der
Pheripherie überschreiben und sie stören nicht mehr.

Außerdem sollte man auf eine saubere Betriebsspannung (ohne Störungen) in
der richtigen Höhe achten damit die Pegel am Atmel zu denen an den Treibern
des Proggers und zu denen des PC-Ports passen. Das ist vor allem bei einem
Parallelport-Progger sehr wichtig. Also eine sauber stabilisierte Spannung mit
+5V verwenden. Selbst ein Batterie- oder Akku-Pack könnte dabei Probleme
verursachen wenn die Spannung zB nur bei 4,8V liegt.

Hier ist ein Schaltplan für einen kleinen Adapter für den ISP-Anschluß zu finden.

Gruß
Dino
 
Hi Dino,

jeder der 78er soll einen kleinen 4.7µ Elko sowie einen 330nF Folien-C an Vin und einen 100nF Keramik-C an Vout erhalten :D:D
Ach ja - und eine Überspannungsschutzdiode.

eine Nacht drüber geschlafen - alles Blödsinn. Kommando zurück, keine ELKO's. Die 78er werden in Reihe geschaltet (Labornetzteil 24V out direkt und -> 15V bis 5V). Somit erhält nur der Erste 78er einen 330n (Vin) und einen 100n (Vout). Dafür an jedem verwendeten IC jeweils einen 100n, kleine ELKO's nach Bedarf verteilt.

:offtopic:

Grüsse,

Michael
 
Scheint so als ob diese FAQ auch fertig ist ...

Hallo zusammen,

so wie es aussieht ist diese FAQ auch fertig.

Ich hab die Versorgungspins erklärt, die Taktquellen und den Programmierport.
Das sind wohl die wichtigsten Dinge die einem Anfänger das Leben schwer
machen können. Wer noch Infos oder Fragen zu den Pins des Atmels hat kann
sie ja hier reinschreiben ;)

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)