Hallo, ich möchte mich mit der AVR Programmierung beschäftigen. Leider bin ich ein totaler Anfänger auf diesem Gebiet. Ich habe zwar zahlreiche Foren und Seiten besucht und gelesen, aber das verwirrt mich alles noch mehr. Nun habe ich einige Fragen: Welchen selbstbau Programmer soll ich am besten verwenden? Er sollte möglichst viele AVR-Typen brennen können und über usb anschliesbar sein.(usb wäre nett, ist aber nicht zwingend erforderlich) Desweiteren möchte ich gene die möglichkeit haben, verstellte fusebits zu re-seten.(tiny13 und mega8) Dann habe ich noch Fragen zu dem High-Voltage Programming. Wie geht das eihentlich genau ? Beim ISP Programming habe ich ja die kontakte: MISO,VCC,SCK,MOSI,RESET,GND an 5V. Sind das beim High-Voltage Programming die gleichen kontakte bloß mit 12V statt 5V? Oder verstehe ich da was falsch ? Ich steig da nicht mehr durch ! Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann immer den maximal takt für den AVR nehmen ? oder kann der auch geringer sein? Wie arbeite ich eigentlich mit den ein- und ausgängen ? Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf geschaltet und kann dann weiter damit arbeiten oder ? Und kann der eingang dann auch werte einlesen, also den wert eines widerstandes abfragen oder wie geht das? z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen? Möglicherweise sind das dumme fragen... aber ich sehe vor lauter bäume den wald nicht mehr ! wahrscheinlich endet das mit einem aha,klar ! aber bis dahin... ich bitte um antworten. gruß NeTwOrXx
Zunächst kann ich dir nur: http://www.mikrocontroller.net/articles/AVR-Tutorial als Lektüre empfehlen. Fangen wir dann mal oben an: >Welchen selbstbau Programmer soll ich am besten verwenden? Ich habe den sog. USBprog 3.1 nachgebaut, siehe http://www.ixbat.de/index.php?page_id=135 Der kann allerdings kein High-Voltage-Programming, unterstützt dafür aber meines Wissens alle AVRs. Die kompletten Teile inkl. Gehäuse kosteten 18€ bei Rei... >Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann >immer den maximal takt für den AVR nehmen ? oder kann der auch geringer >sein? Der externe Takt kann auch geringer sein, er ist im Prinzip frei wählbar. >Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf geschaltet und >kann dann weiter damit arbeiten oder ? Wenn wir davon ausgehen, dass du den AVR mit 5V Betriebsspannung versorgst bekommst du (nahezu) 5V aus einem Ausgang heraus der auf "1" gesetzt ist. Setzt du den Ausgang auf "0" liegen dort (nahezu) 0V an. Du kannst mit diesen 5V auch weiterarbeiten, allerdings musst du auf den Strom achten, den du entnimmst. Es gibt da einen maximal Strom pro PIN, siehe Datenblatt. >Und kann der eingang dann auch werte einlesen, also den wert eines >widerstandes abfragen oder wie geht das? >z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen? Mit Eingängen kann man Spannungen einlesen. Es gibt dafür zwei verschiedene Arten von Eingängen: Analoge und Digitale. Digitale Eingänge erkennen jede Spannung ab einem bestimmten Schwellwert als "1", diese Schwelle kann z.B. bei 4V liegen (siehe Datenblatt). Analoge Eingänge bieten die Möglichkeit den Wert der anliegenden Spannung auszulesen, z.B. das Signal deines Temp-Sensors. Ich hoffe das war dir eine kleine Hilfe, wie gesagt, das oben erwähnte Tutorial ist sehr zu empfehlen. Schöne Grüße, Alex
Ok. DANKE erstmal ! Das ist schon mal sehr hilfreich. Aber wie ist das mit der Pinbelegung bei dem HV Programming ? Weiß das jemand ? Gruß NeTwOrXx
Datenblatt: Memory Programming -> Parallel Programming Da ist alles ausführlichst erklärt.
> Welchen selbstbau Programmer soll ich am besten verwenden? Keinen. Das ist ernst gemeint. Der Frust, der sich aufbaut, wenn man einen blöden Selbstbau-Programmer nicht zum laufen bekommt, ist groß. Eigentlich will man mit den AVRs spielen, aber statt dessen quält man sich mit dem doofen Programmer, der Software usw. rum. Ich würde den Selbstbau nur erfahrenen Elektronik-Hobbyisten oder Profis empfehlen. Nicht, weil der Selbstbau so schwer ist (die meisten Programmer sind eigentlich leicht zu bauen), sondern weil der Anfänger, wenn was schief geht, sich nicht helfen kann und nur Frust schiebt, statt Spaß mit den AVRs zu haben. > Er sollte möglichst viele AVR-Typen brennen können und über usb > anschliesbar sein.(usb wäre nett, ist aber nicht zwingend erforderlich) Z.B. der original Dragon von AVR. > Dann habe ich noch Fragen zu dem High-Voltage Programming. > > Wie geht das eihentlich genau ? Schon im Datenblatt und den Application Notes nachgesehen? Auch dieser Tipp ist ernst gemeint. Anfänger meiden die Datenblätter und Application Notes gerne wie der Teufel das Weihwasser. Dabei sind sie der beste Freund des Entwicklers. > Ich steig da nicht mehr durch ! Falsche Einstellung, und für mich die Bestätigung, das du mit einem gekauften Programmer besser dran bist, als mit einem Selbstbau. Wenn du schon bei so einer AVR-Funktion die Panik bekommst ... > Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann > immer den maximal takt für den AVR nehmen ? oder kann der auch geringer > sein? Was steht im Datenblatt? Da steht die Antwort, wirklich! > Wie arbeite ich eigentlich mit den ein- und ausgängen ? > Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf > geschaltet und kann dann weiter damit arbeiten oder ? Was steht im Datenblatt? > Und kann der eingang dann auch werte einlesen, also den wert eines > widerstandes abfragen oder wie geht das? > z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen? Was steht im Datenblatt? > Möglicherweise sind das dumme fragen... Nein, es sind die Fragen von jemandem, der mir nicht gewillt oder in der Lage erscheint sich ernsthaft mit dem Thema auseinanderzusetzen und statt dessen mit dem goldenen Löffel gefüttert werden möchte. Lesen, lesen, lesen, und ein bisschen Durchhaltevermögen zeigen.
Hätte er sich nicht vorher gelesen, würden seine Fragen anders gestellt sein. Patrick, tu' dir selber den Gefallen und nimm ein aktuelles Datenblatt eines AVR's (z.B. ATmega16) in die Hand und suche nach Antworten für deine Fragen. Zu 90% wirst du dort fündig, mit ein wenig Recherche und Brain 2.0 sind weitere 9% möglich. Und für den Rest gibt es Foren wie dieses wo man dir hilft wenn du aufzeigst was du schon versucht hast (Datenblatt, G**gle, SuFu hier im Forum, Artikel hier auf der Seite) und es dennoch nicht klappt.
Hallo, nochmals danke für die Hinweise. (-: Und teils auch Tritte in den Po. )-: Aber was solls... Ich bin jedenfalls für ernstgemeinte und sachlich formulierte Antworten sehr dankbar ! Das Thema ansich ist ja schon sehr umfangreich. Da kann man schon mal in die falsche Richtung rennen. Gerade als Anfänger ! Des weiteren kommt es mir so vor, als müßte ich mich dafür entschuldigen, das ich es gewagt habe zu fragen. Warum nur...? Also wenn sich hier im Forum jemand genervt fühlt, weil er immer die gleichen Antworten geben "muß" ist es ja jedem selbst überlassen dieses dann auch zu tun. Ist es denn nicht erstrebenswert, freundlich miteinander umzugehen ? In diesem Sinne... gruß NeTwOrXx
Also für den Einstieg kann ich auch nur empfehlen, einen Progger zu kaufen. Aber eher nicht den Dragon sondern vielleicht erstmal nur einen AVR-ISP MK2, die gibt es wenigstens bei Reichelt. Mit den original Proggern von Atmel kann man auch sicher sein, dass die mit dem AVR-Studio spielen. Wofür man High-Voltage Programming braucht ist mir auch nicht klar. Wenn man mal die Fuses falsch setzt hat und der Stein nicht mehr ansprechbar ist, dann nimmt man halt einen neuen - wenn das zu teuer wird, macht man ernsthaft was falsch. Und wenn man sich mit dem Thema vertraut gemacht hat kann man die Controller auch irgendwann wiederbeleben.
>Wenn man mal die Fuses falsch setzt hat und der Stein nicht mehr >ansprechbar ist, dann nimmt man halt einen neuen - wenn das zu teuer >wird, macht man ernsthaft was falsch. Dumm nur, wenn es sich bei dem "Stein" um einen TQFP- oder MLF-Typ handelt, der dann bereits mit diverser anderer Hardware auf einem Board verlötet ist... Ich finde so generell kann man nicht sagen, dass HV-Programming sinnlos ist. Ich brauchte es zwar persönlich auch nicht nicht, aber es hat schon eine Daseinsberechtigung...
Wenn es sich bei dem Stein um einen TQFP oder gar MLF Typ handelt wird das HV-Programming doch ohnehin schwer, oder etwa nicht? Und sinnlos habe ich nicht geschrieben. :-)
Vom AVR Dragon würde ich dir abraten, aus eigener Erfahrung. Er hat zwar sehr viele Features (HV-Programming, JTAG, DebugWire) und ist nicht sehr teuer, aber erstens muss man noch viel herumlöten um alle Funktionen komfortabel nutzen zu können, und zweitens ist der Dragon sehr schlecht gegen falsche Verpolung usw. geschützt. Für Anfänger eher nicht zu empfehlen. Nimm lieber den schon angesprochenen USBprog (kann man auch fast fertig aufebaut für ca 32 Euro kaufen) oder gleich das STK500 von Atmel. Ist zwar doppelt so teuer aber stabil und bewährt. Grüsse, Michael
Ich habe mir zum Anfang ein STK500 geleistet. Kostet momentan 79€, glaube ich. Ich habe die Investition bis heute nicht bereut, viele Grundfunktionen von Schaltungen progge ich immer noch darauf. Vorteile: es unterstützt Parallel-, ISP und HV-Programmierung, Es kann auch als ISP für externe Zielsysteme verwendet werden, hat Taster und Lampen drauf, wird vom AVR-Studio unterstützt und hat eine prima Bedienungsanleitung dabei. Auch kann man Zusatzmodule wie das STK501 dazukaufen, für SMD-µC. Ich habe mir noch einen AVRISP MK-II mit USB für 'vor-Ort-Programmierung' mit Laptop zugelegt.
>Ich finde so generell kann man nicht sagen, dass HV-Programming sinnlos
ist.
Zumindest im Hobbybereich ist das sinnlos.
Ich hab mehrere Designs gemacht und auch zusammen mit dem Programmierer
per Telefon und Email die Programme entwickelt und getestet. Zusätzlich
sind pro Woche etwa 50 Boards zu programmieren.
Noch nie hätte ich einen HV-Programmer gebraucht. Dessen Sinn liegt IMO
in der Programmierung von grossen Stückzahlen auf einem externen
Programmer VOR dem Einlöten bzw. Bestücken.
Was ich gebraucht hab, ist der Quarzoszillator, um verfuste Chips
wiederzubeleben. Jeder zerschiesst sich mal durch seine eigene
Dussligkeit die Fuses.
Am Dragon muss man garnicht herumlöten, wenn man den nur für ISP und JTAG benutzt. Als Nachteil vom Dragon fällt mir jetzt nur ein, dass der ohne Gehäuse kommt. Aber der passt perfekt in Audio-Kassetten-Hüllen. :-) Edit: schlecht gegen Verpolung geschützt? Kann ich nicht bestätigen, schon oft genug verpolt. :-) Könnte aber auch daran liegen, dass ich die Atmel ISP-Belegung verwende. Und wenn man bei der den Stecker verdreht, vertauscht man eben nicht VCC und GND. Und soweit ich weiss gibt es doch vom Dragon gar keinen Schaltplan? Woher also die Aussage, dass der schlecht geschützt sei?
Hi Patrick, lass Dich nich unterkriegen. Ich antworte mal unabhaengig von den anderen Posts. Patrick L. r. wrote: > Hallo, > > ich möchte mich mit der AVR Programmierung beschäftigen. > Leider bin ich ein totaler Anfänger auf diesem Gebiet. > > Ich habe zwar zahlreiche Foren und Seiten besucht und gelesen, > aber das verwirrt mich alles noch mehr. Was genau verwirrt Dich denn? > > Nun habe ich einige Fragen: > > Welchen selbstbau Programmer soll ich am besten verwenden? Muss ich ebenfalls sagen: keinen. Kauf Dir das STK500, damit bist Du gut bedient. Gibt es z.B. bei Reichelt. > Er sollte möglichst viele AVR-Typen brennen können und über usb > anschliesbar sein.(usb wäre nett, ist aber nicht zwingend erforderlich) Ist RS232, kann aber per Adapter auch auf USB gebracht werden, wenn es sein muss. > Desweiteren möchte ich gene die möglichkeit haben, verstellte fusebits > zu re-seten.(tiny13 und mega8) Kann es alles. > > Dann habe ich noch Fragen zu dem High-Voltage Programming. > > Wie geht das eihentlich genau ? > Beim ISP Programming habe ich ja die kontakte: > MISO,VCC,SCK,MOSI,RESET,GND > an 5V. > Sind das beim High-Voltage Programming die gleichen kontakte bloß mit > 12V statt 5V? Oder verstehe ich da was falsch ? Ich steig da nicht mehr > durch ! Schau im Handbuch nach, wird dort beschrieben. Wenn Du mehr wissen willst, zieh Dir das entsprechende Datenblatt herein, da sind diese Dinge detailgetreu beschrieben. > > Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann > immer den maximal takt für den AVR nehmen ? oder kann der auch geringer > sein? Du kannst ihn im gesamten Bereich "stufenlos" einstellen. Extrem schnelle Aenderungen des Taktes koennen die MCU allerdings aus dem Tritt bringen, siehe ebenfalls Datenblatt. > Wie arbeite ich eigentlich mit den ein- und ausgängen ? > Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf geschaltet und > kann dann weiter damit arbeiten oder ? Wie meinst Du das? > Und kann der eingang dann auch werte einlesen, also den wert eines > widerstandes abfragen oder wie geht das? > z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen? Die Portpins sind als Ein- oder Ausgaenge konfigurierbar und unterstuetzen auch Tristate-Logik. Siehe auch hier mal im Tutorial und am besten auch im Datenblatt nach, die Sachen sind wichtig. > Möglicherweise sind das dumme fragen... > aber ich sehe vor lauter bäume den wald nicht mehr ! > wahrscheinlich endet das mit einem aha,klar ! > aber bis dahin... Keine Angst, das sind ganz normale Fragen. > ich bitte um antworten. > > gruß > NeTwOrXx Lieber Gruss, Michael
Ich verwende den Dragon auch oft, um per debugwire zu programmieren. Da braucht man dann nur noch eine Leitung (bzw. inklusive Masse zwei). Man muß sich auch keine Gedanken mehr machen, die Schaltung so zu bauen, daß die ISP-Leitungen noch tun. Nebenbei kann man über dieselbe Leitung dann auch noch gleich debuggen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.