-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: AVR's programmieren (über ~4m)

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2006
    Alter
    28
    Beiträge
    110

    AVR's programmieren (über ~4m)

    Anzeige

    Hallo!

    Ich möchte ein paar verschiedene AVR's über etwa 4m Entfernung programmieren können. Der serielle Port ist dafür wohl weniger geeignet (Keine Ahnung, aber es soll auch möglichst immer funktionieren).
    Schön wäre ein USB Programmer. Leider kenne ich mich nicht so gut aus. Gibt es da Übertragungsprobleme?

    Wie wäre es damit:
    http://www.myavr.de/shop/article.php?artDataID=131

    Brauch ich da sonst noch was? Oder einfach mit einem AVR verbinden und losprogrammieren?
    Aber mit welchem Programm eigentlich? Ich habe AVRStudio, aber welche "Platform" müsste ich da wählen (Ich möchte nur C/C++ programmieren)?

    Und was haltet ihr davon:
    http://www.mikroe.com/en/compilers/mikroc/avr/

    Wäre es mir wert. Ne tolle IDE denke ich. Hmm...

    Danke schonmal!
    MfG

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.02.2009
    Beiträge
    195
    Wenn du die 4m auf der USB Seite überbrückst und nicht auf der ISP Seite würde das gehn.

    http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab

    Mit dem Lab kannst du für 2,5x weniger Geld einges mehr machen.

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Als Software wäre das freie Paket WINAVR sinnvoll. Das ist im wesentlichen GCC unter Windows, um AVR code zu Erzeugen. Da ist ein eigener Editor mit dabei, aber man kann es auch in AVRStudio einbinden.


    Mit echten seriellen Programmieren wie STK500 sollte es auch über 5 m keine Probleme geben.

    Edit:
    Die "Platform" im Projekt von AVRStudio wird in der Regel AVRsimulator sein. Wenn man einen extra Hardware für JATG hat, dann ggf. auch die.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2006
    Alter
    28
    Beiträge
    110
    Aha, danke erstmal!
    WinAVR habe ich schon installiert.

    Wie ist das mit dem USB AVR-Lab? Ich brauche sonst nichts? Einfach die der Firmware entsprechenden Platform im AVRStudio wählen und schon kann ich programmieren?

    Gern hätte ich auch einen externen Takt beim Programmieren, aber das sollte kein Problem sein, oder? Einfach ein Board mit ein paar IC-Fassungen und nem Oszillator aufbauen.

    Danke!
    MfG

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Hi,

    Zitat Zitat von Händler
    ... Wie ist das mit dem USB AVR-Lab? Ich brauche sonst nichts? ...
    IM PRINZIP brauchst Du nicht mehr. Stimmt natürlich nicht: ein Kabel USBA-USBB vom PC zum USB AVR Lab und ein (Flachband-)Kabel mit 2x5-poliger Wannenstecker-Buchse - Wannensteckerbuchse zum 10poligen ISP Wannenstecker mit üblicher Pinbelegung. Wenn Du einen 6-poligen ISP Stecker hast brauchst Du einen Adapter. Das Lab wird als STK500 konfiguriert, ans Target angeschlossen und dann brauche ich im AVRStudio nur noch das STK500 als Programmer zu wählen, den passenden Controller anklicken und einen geeigneten Programmiertakt - meist läuft bei mir 3 MHz, ich habe meist 20 MHz am Controller.

    Zitat Zitat von Händler
    ... Gern hätte ich auch einen externen Takt beim Programmieren ...
    Irgendwo in den Treibern zum USB AVR Lab habe ich einen "Takt" gelesen - das steht glaube ich auch in der Beschreibung. Hab ich aber noch nicht ausprobiert.

    Zitat Zitat von Händler
    ... Einfach ein Board mit ein paar IC-Fassungen und nem Oszillator aufbauen ...
    Genau. Für meine selbstgebauten (potthässlichen) FLash+EXperimentierplatinen habe ich für verschiedene Controller jeweils ein Programm, das im Prinzip für eine 36 kHz-InfrarotLED gemacht ist. Das hat sich bei mir für solche Fälle schon bewährt.
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2006
    Alter
    28
    Beiträge
    110
    Aha, mhm..

    Schon klar, ISP Kabel brauch ich halt noch.

    Programmiertakt? Ist der egal?
    Ein ISP Anschluss speist keinen Takt ein, oder? Wenn doch, dann brauche ich auch keinen Oszillator mehr, außer ich möchte gleich ein Programmier/Experimentierboard in einem.

    Öh, meinst du die Taktgenerator-Firmware?

    Danke!
    MfG

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Hi,

    Zitat Zitat von Händler
    ... Programmiertakt? Ist der egal ...
    Der Programmiertakt - also die Übertragungsgeschwindigkeit, steht irgendwo in der Dokumentation - soll max. 1/4 des Prozessortaktes sein.

    Zitat Zitat von Händler
    ... Wenn doch, dann brauche ich auch keinen Oszillator mehr, außer ich möchte gleich ein Programmier/Experimentierboard in einem ...
    Die Atmelcontroller kommen fabrikfrisch mit internem Takt - können also so ohne Oszillator oder Quarz betrieben werden. Die Programmierdaten werden in den Controller "hineingetaktet" - je nach Einstellung eben schneller oder langsamer.

    Zitat Zitat von Händler
    ... Öh, meinst du die Taktgenerator-Firmware? ...
    Genau die hatte ich gemeint.
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2006
    Alter
    28
    Beiträge
    110
    Ich verstehe nicht.

    Der Programmiertakt wird im AVRStudio bzw. dem Adapter eingestellt? Welcher Prozessortakt? Der Interne? Mein alter Parallelprogrammierer aus zwei 74xx244's hatte für's programmieren einen 4MHz Oszillator. Wie ist das jetzt mit ISP?

    Ich möchte die AVR's meistens mit externem Takt betreiben, daher muss ich sie wohl auch mit externem Takt programmieren. Oder?

    Und was hat es mit der Taktgenerator-Firmware auf sich? Speist der ISP nun einen Takt ein? Oder braucht man die Firmware? Oder brauche ich einen externen Oszillator? Oder...

    Ich hab echt keine Ahnung

  9. #9
    Benutzer Stammmitglied Avatar von Johnes
    Registriert seit
    07.12.2007
    Ort
    Neu Wu
    Beiträge
    44
    Der µC benötig einen Takt. Dieser kann, wenn der Atmel frisch aus dem Werk kommt, der interne Oscillator mit z.B 1MHz sein.

    Wenn du später aber einen externen Takt nutzen möchtest, musst du die FuseBits entsprechend ändern. Daher sollte der MCU gleich mit externem Takt aus dem Quarz/Oscillator verbunden werden. So umgehst du später Probleme, wenn der externe Takt gewählt ist und du das Programm ändern möchtest. (Und z.B. dafür den MCU aus der Schaltung mit dem Quarz/Osc. entnehmen musst. Ohne Taktgenerator läuft der MCU nicht mehr und kann auch nicht ohne MCU-Takt programmiert werden.)

    Der Programmiertakt wird vom Programmer (z.B. USBASP) erzeugt und wird zusätzlich an den Programmierkanal (SCK) des MCU angelegt. Dieser Programmier-Takt sollte nicht größer als 1/4 des Taktes sein, mit dem der MCU z.B. vom Quarz versorgt wird. Wenn der MCU also mit 1 MHz arbeitet, sollte der Programmer also maximal einen Takt von 250kHz zum programmieren erzeugen.

    In der Regel sind am Programmer zwei Einstellungen möglich "Fast" und "Slow". Meist entspricht "Fast" 250kHz. "Slow" ist an meinem Programmer 50kHz. Mit der Einstellung "Slow" konnte ich deine erforderlichen 4m schon mehrfach mit meinem USB-Programmer überbrücken.

    Ich habe mir den USBASP selber gebaut und den MCU (Mega über einen aus wenigen Dioden und Widerständen bestehenden Programmer und dem AVRDUDE geschossen. Dann den M8 in die Schaltung eingesetzt und schon konnten die nächsten Schaltungen mit dem AVRDUDE über USB programmiert werden.

    Die Schaltung ist einfach nachbaubar und die Software für den MCU auf dem Programmer, gibt es kostenlos.

    Der 4-MHz Quarz an deinem alten Programmer war für den MCU auf dem Programmer! Der MCU erzeugte dann durch die Firmware auf dem Programmer-MCU einen weiteren Takt, den ISP/(SCK) Takt, den die Zielhardware (MCU) in deiner Schaltung benötigte.

    MfG

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2006
    Alter
    28
    Beiträge
    110
    Zitat Zitat von Johnes
    Der Programmiertakt wird vom Programmer (z.B. USBASP) erzeugt und wird zusätzlich an den Programmierkanal (SCK) des MCU angelegt. Dieser Programmier-Takt sollte nicht größer als 1/4 des Taktes sein, mit dem der MCU z.B. vom Quarz versorgt wird. Wenn der MCU also mit 1 MHz arbeitet, sollte der Programmer also maximal einen Takt von 250kHz zum programmieren erzeugen.
    Mhm, warum hat der Programmiertakt etwas mit dem Betriebstakt zu tun? Das verstehe ich nicht. Durch verschiedene Programmiertakte verändern sich doch nicht die geflashten Daten. Oder meinst du jetzt den internen Takt der MCU?

    Zitat Zitat von Johnes
    Ich habe mir den USBASP selber gebaut und den MCU (Mega über einen aus wenigen Dioden und Widerständen bestehenden Programmer und dem AVRDUDE geschossen. Dann den M8 in die Schaltung eingesetzt und schon konnten die nächsten Schaltungen mit dem AVRDUDE über USB programmiert werden.

    Die Schaltung ist einfach nachbaubar und die Software für den MCU auf dem Programmer, gibt es kostenlos.
    Ok, hab mich aber für "USB AVR Lab" entschieden.

    Zitat Zitat von Johnes
    Der 4-MHz Quarz an deinem alten Programmer war für den MCU auf dem Programmer! Der MCU erzeugte dann durch die Firmware auf dem Programmer-MCU einen weiteren Takt, den ISP/(SCK) Takt, den die Zielhardware (MCU) in deiner Schaltung benötigte.
    Programmer-MCU? Hab grad nachgesehen; mein alter Programmer besteht aus einem einzigen 74xx244 Chip und paar Widerständen/Dioden. Der externe Oszi wurde wohl zum Programmieren UND Experimentieren benutzt.

    MfG

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •