• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Atmel AVR Programmierung - Schnittstellenproblem

Hase.Siegfried

Geocacher
Hallo, liebe Elekro-Cacher!

Diese Idee mit einem Reaktivlicht fand ich klasse, und ich bin natürlich auch auf die entsprechenden Threads hier im Forum gestoßen. Witzig finde ich die Idee mit dem AVR. Nun muss man sagen, dass ich kein Elektronik-Fachmann bin, ich habe mich da nie richtig rangetraut. Trotzdem verstehe ich das eine oder andere, schließlich bin ich auch Physiker (wie man weiß, können die alles, aber nix richtig) - und Grundlagen der Analog- und Digitalelektronik kenne ich noch vom Studium her. Sehr reizvoll finde ich dabei auch die Idee, den Schnittstellenadapter selber zu bauen: über die parallele Schnittstelle mit zwei Widerständen. Und da tun sich ein paar Fragen auf:

1. Im "Kochbuch" sowie im Thread http://www.geoclub.de/ftopic5753-0-asc-60.html stehen zwei solche Beschreibungen, jedoch ist die Pin-Numerierung unterschiedlich... Zur Klarstellung: Normalerweise ist die Darstellung in Zeichnungen doch so, dass man von vorn auf die Pins draufschaut, oder? Oder ist das im Kochbuch kein Stecker, sondern die zugehörige Buchse?
Bei http://s-huehn.de/elektronik/avr-prog/avr-prog.htm werden sogar ganz andere Pins und andere Widerstände verwendet.
Hängt das nun damit zusammen, dass die Software darauf abgestimmt sein muss, welche Pins belegt werden?

2. Wenn ich ein Netzgerät für den Betrieb an die Schaltung anklemme, bekommt mein Rechner möglicherweise ein Problem (z.B. spontane Rauchwolkenentwicklung von der Hauptplatine)? Oder muss ich nur darauf achten, dass GND der Schaltung mit GND des Rechners verbunden wird (eben über die Schnittstelle)?

3. Beim großen C gibt es keinen ATtiny13(V), wohl aber einen ATtiny13-20PU. Kann man letzteren an Stelle des ersteren verwenden?

Gruß,

Hase.Siegfried
 

Millhouse

Geocacher
Hase.Siegfried schrieb:
1. Im "Kochbuch" sowie im Thread http://www.geoclub.de/ftopic5753-0-asc-60.html stehen zwei solche Beschreibungen, jedoch ist die Pin-Numerierung unterschiedlich...
Wenn du genau hinschaust, wirst du feststellen, das die Pinbelegung eigentlich identisch ist:

SCK = Pin2
Reset = Pin3
MISO = Pin11
MOSI = Pin9

Der einzige Unterschied ist, woher die Spannungsversorgung kommt. Bei der einen Schaltung werden die Datenleitung der Druckerschnittstelle als Spannungsversorgung missbraucht, bei der anderen Variante wird eine Batterie benutzt. Die Pinbelegung bei DB25 Steckern/Buchsen ist übrigens meistens ganz klein ins Plastik der Stecker/Buchsen eingeprägt. Ist also kein Problem die richtigen Pinne zu finden. Es kann aber sein, das es Programmieradapter gibt, die andere Pinne verwenden, dann muss natürlich auch eine andere Programmiersoftware verwendet werden. Oder die Bestehende anders konfiguriert werden. Ob du einen Stecker oder eine Buchse brauchst, findest du raus, indem du dir einfach mal die Rückseite deines PCs anschaust. Meiner hat keine LPT Schnittstelle mehr ...

Hase.Siegfried schrieb:
2. Wenn ich ein Netzgerät für den Betrieb an die Schaltung anklemme, bekommt mein Rechner möglicherweise ein Problem (z.B. spontane Rauchwolkenentwicklung von der Hauptplatine)? Oder muss ich nur darauf achten, dass GND der Schaltung mit GND des Rechners verbunden wird (eben über die Schnittstelle)?
Das ist halt der Nachteil der Einfachstadapter. Da sind keine Bauteile drin, die deine Schaltung oder deinen PC vor Schaden schützen. Dafür ist es aber billig.

Hase.Siegfried schrieb:
3. Beim großen C gibt es keinen ATtiny13(V), wohl aber einen ATtiny13-20PU. Kann man letzteren an Stelle des ersteren verwenden?
Ich würde die Teile bei der Angelika (Reichelt) oder woanders kaufen und nicht beim großen C. Unterschiede der Chips:

• Operating Voltage:
– 1.8 - 5.5V for ATtiny13V
– 2.7 - 5.5V for ATtiny13
• Speed Grade
– ATtiny13V: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V
– ATtiny13: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
• Industrial Temperature Range
• Low Power Consumption
– Active Mode:
1 MHz, 1.8V: 240µA
– Power-down Mode:
< 0.1µA at 1.8V

Grundsätzlich ist es aber so, das sich Atmel nicht die Mühe macht unterschiedliche Chips für die verschiedenen Varianten eines Mikrocontrollers zu produzieren. Sondern es werden einfach die produzierten Chips nach unterschiedlichen Kriterien sortiert/getestet. Der ATtiny13-20PU ist für 20Mhz getestet. Sind aber trotzdem jeweils der "gleiche" Chip. Es kann aber sein (da nicht getestet), das der ATtiny13-20PU nicht bei niedrigen Betriebsspannungen funktioniert. Das ist aber sehr unwahrscheinlich. Wenn ich den ATtiny13-20PU in meiner Bastelkiste schon hätte, so würde ich diesen ohne zu Zögern verwenden. Ansonsten würde ich aber lieber den V - Typ kaufen.
 
OP
Hase.Siegfried

Hase.Siegfried

Geocacher
Danke für die schnelle Antwort!

Ja, ich habe wohl gesehen, dass die Pins gleich numeriert waren - dass die Zahlen aber auch auf dem Stecker selbst stehen, hatte ich nicht mehr so präsent - ist halt doch schon 14 Jahre her...
Wobei mir noch zwei Fragen gekommen sind:

1. Muss ich für die Verwendung der parallelen Schnittstelle (die ist bei meinem Rechner frei) eigentlich noch einen Treiber oder so installieren? Ich habe da irgendwo gelesen, dass XP da rumzicken könnte...

2. Im BIOS kann ich die parallele Schnittstelle auf folgende Optionen setzen:
a) normal
b) bidirektional
c) ECP
d) EPP
Was ist die richtige Einstellung?

Gruß,

Hase.Siegfried
 

Millhouse

Geocacher
Hase.Siegfried schrieb:
1. Muss ich für die Verwendung der parallelen Schnittstelle (die ist bei meinem Rechner frei) eigentlich noch einen Treiber oder so installieren? Ich habe da irgendwo gelesen, dass XP da rumzicken könnte...
XP zickt da nicht rum, sondern verbietet, wie so ziemlich jedes einigermaßen vernünftiges Multitaskting Betriebssystem, den direkten Zugriff von (User)Programmen auf die (System)Hardware.

Man muss also bei XP,NT,Vista einen Treiber installieren, der als Vermittler zwischen der Usersoftware und der Hardware fungiert. Da diese Treiber aber meistens im Betriebssystemkern angesiedelt sind und somit mit erhöhten Rechten laufen, können diese auch eine Sicherheitslücke darstellen oder dein System "instabiler" machen.

Üblicherweise findest du bei der Doku deiner Programmiersoftware entsprechende Hinweise zur Installation und/oder Verwendung der Treiber. Manchmal kann die Programmiersoftware auch automatisch die richtigen Treiber beim ersten Aufruf im System installieren.

Ein beliebter Treiber, der z.B. von AVRDUDE und anderer Software verwendet wird, ist giveio.sys. Diese Treiber sind aber immer bei der Software dabei, die du zum Programmieren verwenden willst. Auch bei Twinavr ist ein ähnlicher Treiber dabei. Ob Bascom auch entsprechende Treiber hat weiß ich leider nicht.

Die Einstellung im Bios ist meiner Erfahrung nach nicht so wichtig. Aber wenn es bei ECP+EPP nicht richtig funktioniert, kann man ja auf normal/bidirektional umstellen. Die Erweiterten Modi der Parallelschnittstelle sind nur für spezielle (meistens Drucker) Treiber wichtig. Die Treiber für die Programmieradapter sorgen einfach dafür, das man die LPT-Hardware wie einst unter DOS unter z.B. der Adresse $378 ansprechen kann, ohne das dies vom Betriebssystem abgefangen wird und auf eine virtuelle Hardware umgeleitet wird.

Eine Alternative wäre es einen USB Programmer (USBprog, AVR ISP mkII, oä) zu bauen/kaufen.
 
OP
Hase.Siegfried

Hase.Siegfried

Geocacher
:oops: Ist natürlich richtig - dass XP den Hardwarezugriff durch Programme unterbindet, ist ja auch gut so. Ich bin davon ausgegangen, dass eine Software, die unter XP auf die Hardware zugreift, entsprechende Treiber bereithält und sich das Betriebssystem daher nicht beschweren würde.

Das mit dem USB-Programmer hatte ich auch schon überlegt, aber selberbauen ist da schon wieder recht aufwendig, und kaufen ist eben teurer. Bei Reichelt gibt es da wohl einen, der geeignet wäre... Kostet aber um die 40 Steine...

Ich denke, ich mache es so, dass ich erstmal die parallele Version an einem alten Rechner probiere, und wenn ich mich da sicher fühle, kanns ja dabei bleiben. Ein USB-Gerät kann ich dann immer noch kaufen. Letztendlich will ich mir ja auch erstmal anschauen, in welche für mich neue Welt ich da eigentlich reinkomme! :D
 

Digitali

Geocacher
Hallo,

dieses Programmierkabel an der Parallen mit den "paar Widerstaenden" macht unter Umstaenden div. Probleme. Erspare Dir dieses! Kaufe Dir ein vernuenftiges ISP-Programmierdongle: http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&products_id=41
Das habe ich hier schon seit fast 2 Jahren im Einsatz und hat bisher fehlerfrei funktioniert. Und es ist mit 13,40 Euro schon so billig, das es sich nicht wirklich lohnt hier zum Loetkolben zu greifen. Meinen ersten Programmierdongle habe ich zwar auch selbst zusammengeloetet, aber er war identisch mit dem Innenleben des im Link erwaehnten.
Ich lese es in div. AVR-Foren immer wieder, das viele Anfaenger hier zu dieser Sparversion greifen und sich dann spaeterhin aergern das hier und da die Uebertragung nicht einwandfrei funktioniert, oder es zu anderen Problemen kommt.

Mit freundlichen Gruessen
Digitali
 
Oben