- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: ISP-Dongel, wo ist der Sinn?

  1. #1
    dasisch
    Gast

    ISP-Dongel, wo ist der Sinn?

    Anzeige

    Praxistest und DIY Projekte
    Hi Leutz,

    bin gerade dabei, meine Jahresarbeit fürs Abi über Mikrocontroller fertig zu stellen und dabei bin ich auf eine Wissenslücke meinerseits gestoßen: Klar brauchen wir alle einen ISP-Adapter, um unsere AVRs zu programmieren, aber wo liegt der Sinn eines solchen Adapters?

    Wenn mir jemand die Frage beantworten könnte, wäre superklasse!

    Viele Grüße,
    Sven

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    06.02.2006
    Alter
    59
    Beiträge
    30
    Wasn das für Frage... Natürlich liegt der Sinn darin, den AVR zu programmieren.

  3. #3
    dasisch
    Gast
    Ja, sehr gute Antwort... Wenn ich Daten über die serielle Schnittstelle versende, nutze ich beispielsweise einen MAX232, da Controller und PC-Schnittstelle mit unterschiedlichen Spannungen arbeiten.
    Beim ISP-Adapter gibt es unterschiedliche Varianten: Mit "schützendem" Dongel oder einfach nur mit Dioden - die Auswahl an Anleitungen im Internet ist da ja groß.

    Ich muss wissen, welche Funktion der ISP-Adapter beim Programmieren hat. Kann mir diese Frage jemand beantworten?

    Gruß,
    Sven

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der ISP Adapter ist dazu da, um das Programm von PC in den Flash Speicher des Controllers zu übertragen. Daneben kann man auch das EEPROM und die Fuses (Taktquelle, usw.) einstellen. Die Daten werden über 4 Leitungen + GND (und meistens noch Vcc) seriell mit Logicpegel, je nach Vcc der Schaltung übertragen. Da die PCs keine entsprechente Schnittstelle haben, braucht mein die Adapter, die zum Teil auch nur ein bischen Schutz für den PC und den passenden Stecker bieten.

    Je nach Controller kann man mit einem Bootloader Programm im Controller auch einen Teil des Controllers (z.B. keine Fuses) über eine andere Schanittstelle, z.B. Serielle der USB programmieren. Um erst mal das Bootloader Programm draufzukriegen braucht man aber erst einmal einen ISP Adapter (oder einen anderen Programmieren). Je nach Chip gibt es noch andere Programmiermöglichkeiten (JTAG,Debugwire, Hochvolt), die man aber für den Anfang nicht braucht.

  5. #5
    dasisch
    Gast
    okay, vielen dank für die Antwort! Leider wusste ich das alles nur schon... Kannst du bitte noch einmal auf deinen unten gequoteten Satz etwas genauer eingehen?
    Da die PCs keine entsprechente Schnittstelle haben, braucht mein die Adapter,
    Welche Schnittstelle genau hat der Rechner nicht, die der Adapter bereit stellt? Wie gesagt, es gibt ja auch Möglichkeiten, den µC direkt mit dem Parallelanschluss über ein paar Dioden anzuschließen. Insofern frage ich mich: Welche Rolle spielen der Adapter (Spannungswandel etc.) bzw. die Dioden?

    Viele Grüße,
    Sven

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Hier beschreibt ATMEL, wie der Programmer funktioniert:
    http://atmel.com/dyn/resources/prod_...ts/doc0943.pdf
    Das ist die ApplicationsNote AVR910, die Grundlage für die gleichnahmigen Adapter.

    AVR109 beschreibt die SelfProgramming-Funktion der AVRs und AVR911 ist ein OpenSource-Programm dazu.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.112
    Der Punkt ist doch, dass die parallele Schnittstelle am PC einfacher zu programmieren ist, als die Serielle. Denn man kann einfach Bits in gewünschter Reihenfolge setzen oder nicht. Bei der Seriellen muss man nicht nur die Pegel ändern, sondern auch das gesamte Protokoll, mit Stopbits usw. Das ist wesentlich komplizierter.
    Das alles ist notwendig, weil der PC keine ISP-Schnittstelle hat, oder besser gesagt keine SPI, die zu einer ISP umfunktioniert werden kann.
    Die Geschichte mit den Diode ist meines Wissens nach nicht nur weniger sicher für den Rechner sondern auch weniger kompatibel zu "Standard-Programmiersoftware" Schließlich haben sich einige Leute auf diese Schnittstelle "geeinigt" und ihre Programme dafür geschrieben. Letztendlich macht es kaum einen Unterschied, ob ich ein paar Dioden oder ein IC auf eine Platine löte.
    Besser?
    Gruß

  8. #8
    dasisch
    Gast
    Alles klar! Das hat mir sehr gut weitergeholfen! Vielen Dank! Ich werde mir jetzt gerade mal das Teil von Atmel anschauen und wenn ich nicht weiterkommen sollte, dann melde ich mich nochmal.

    Eine Frage stelle ich trotzdem nochmal: In dem ISP-Adapter aus dem Wiki ist ein Bus-Treiber (74HC244N) verbaut. Was genau ist ein Bus-Treiber und welche Funktion hat der in diesem Adapter?

    Vielleicht weiß dazu noch jemand eine Antwort

    Viele Grüße,
    Sven

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.01.2005
    Ort
    Tokyo
    Alter
    65
    Beiträge
    242
    Hi,
    Ein Bus Treiber verstärkt letztendlich die Ströme eines TTL Eingangspegels. Er soll einfach nur dafür sorgen, daß der TTL Pegel auch garamntiert eingehalten wird. Es gibt heutzutage auch Druckerschnittstellen, die nur mit 3,3V arbeiten. In diesem Fall wird auch der Pegel etwas erhöht.
    Du muss auch unterscheiden: Es gibt einfache Programmeradapter, die lediglich einige Anschlüsse des Druckerports ausnutzen und daraus per SW die entsprechenden Programmierimpulsfolgen auf den AVR geben.
    Warum sich die Leute hier im Forum ständig mit diesen Billig Dingern rumärgern, hat mir noch nie so richtig eingeleuchtet. Da Windows kein Echtzeitbetriebsystem ist, wundert mich sowieso, daß dies überhaupt funktioniert.
    Die "richtigen" Programmieradapter basieren eben auf das Atmel doc AVR910. Hier werden die Programmierimpulse vom eingebauten 90S1200 erzeugt. Dabei werden nur die entsprechenden Datenbytes seriell vom PC über die Leitung geschoben. Dieser Adapter kostet nur einige Pennys mehr

    Gruß
    pctoaster

  10. #10
    dasisch
    Gast
    Okidoki, dann kann ich das jetzt auch beschreiben Ich danke euch allen nochmals für die Mühe!

    Viele Grüße,
    Sven

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiTime Speicher und Akkus