Problem mit AVR Studio und meinem Board

  • Hi,

    da hier anscheinend ein paar elektronik-Asse anwesend sind, stell ich die Frage hier mal:

    Ich bin ja derzeit dabei, mir das Programmieren von uC's beizubringen und habe da ein Problem mit dem ich nicht weiter komme.

    Ich verwende AVR-Studio 4 und mein ISP Adapter ist das AVRISP MKII von AVR. Dazu habe ich mir selber ein Probierboard gebaut mit einem AT8515 wobei die Ports B und D auf Eingänge geführt sind ( Taster Schalter Potis und Klemmen) und die Ports A und C auf Ausgänge geführt sind ( LED's einen Pizo und Klemmen).

    So, das Board funktioniert soweit, aber dennoch kann ich den uC nicht per AVR-Studio progarmmieren. Kommt immer ein "programin Failed". Der Adapter wurde erkannt, Takfrequenz für das Interface wurde auf 1/4 meines 8515 gestellt und ich hab schon viel versucht, weiss einer von euch Rat?

    Kennt evt. jemand ein Tutorial (DE^^) das beschreibt wie genau ich alles Einstellen muss, kenn mich ja (noch) nicht so recht mit dem Programm aus.

    Evt. noch ne Frage, ich weiss nicht ob mein ATMega mit dem inneren Quarz läuft oder ob der meinen externen 8MHz Quarz verwendet. Mit Ozi kann man das glaub ich nicht messen oder? Kann man das irgendwo einstellen? Hab gesagt bekommen das man das mit den Fuse-Bits einstellen kann, hab aber kP mit welchen. ;)

    • Offizieller Beitrag

    Sorry meinerseits. Mit AVR habe ich noch nicht arbeiten (müssen :D ). Bei Microchip und den PIC-Prozessoren hätte ich helfen können.

    Die Inbetriebnahme von einem Developer-Tool macht immer Probleme, das ist ganz normal.
    Überprüfe mal:
    - Pinning von dem Connector. Kein "Dreher" bei den Pins ? (Manche Pins werden von links nach rechts, manche bei doppelreihigen Leisten von oben nach unten gezählt)
    Wo nimmt das Programmiertool seine Betriebsspannung her? Aus dem DUT (=Demo-Schaltung von Dir) oder einem separatem Netzteil?
    - Stimmt die eingestellte Programmierspannung? Manche Prozessoren (z.B. die MSP von TexasInstruments) geben sich mit 3.0V zufrieden, andere wollen unbedingt die 3.3V haben.
    - Ist der richtige Prozessor eingestellt ? Es gibt bei manchen Prozessoren auch "Untergruppen". Ein zusätzlicher Buchstabe am Ende der Typbezeichnung kann manches ändern.
    - Muss man bei den AVR irgendwas einstellen, damit die für das Programmieren "scharfgeschaltet" werden? Also z.B. beim Reset-Eingang einen Widerstand auf High legen oder andere Sachen. => Handbuch wäre gut

    Wie gesagt, ich habe bisher erfolgreich vermeiden können, mit Atmel arbeiten zu müssen. Soweit ich weis, gibts aber im Forum vom http://www.roboternetz.de auch diverse Hinweise zu dem Atmel-Krempel.

  • Also Pins sind OK, dass hab ich schon 3 mal überprüft und mein AVRISP MKII merkt wenn da was falsch ist und dann blinkt das Ding Orange ;) <-- Nicht der Fall. Alles im grünen "Bereich" ( Sprich alle LEDs leuchten wie sie müssen ;) )

    Also das Interface nimmt sich die 5V aus dem USB- Port und direkt von meiner Platine, aber die Spannung ist "Sauber", dafür hab ich schon vorgesorgt ;)

    Also der AT8515 läuft von 4,5V-5,5V. Ich verwende für meine Platinen immer 5V. Und die liegen dort exakt an (+ Entstörkondensator an dem VCC- Beinchen)

    Kann bei AVR-Studio nur "ATMega8515" oder "AT90S8515" einstellen. ich habe meines Wissens aber nur einen AT8515 (-16PU, was denke irrelevant ist). ;)

    Das ich sonst noch was einstellen muss weiß ich wie gesagt nicht. ;) Fange mit dem Programm ja grad erst an, darum die Frage ob mir jemand das erklären kann oder ein Tutorial nur übers Flashen mit dem Interface auf Deutsch hat. :)


    Gruß

  • Update:

    Hat sich erledigt!

    Hab im Mikrokontoller.net-Forum n bissl gesucht und was gefunden. Hab meinen Programmierclock auf 125kHz gestellt und nun funzt es tadellos (zumindest auf diesem Rechner aus meinem Betrieb).
    Frag mich nur wieso? :? 125kHz sind nicht wirklich 1/4 von 8MHz :D

    Die Frage mit dem internen oder externen Quarz bleibt allerdings. Wollt ich schon gerne wissen!


    Gruß

    Einmal editiert, zuletzt von Replikator (25. März 2009 um 13:17)

    • Offizieller Beitrag
    Zitat

    Die Frage mit dem internen oder externen Quarz bleibt allerdings. Wollt ich schon gerne wissen!


    Wie gesagt, beim Atmel kann ich Dir das nicht sagen. Beim TexasInstruments ist das so, dass hier intern ein eigener Oszillator ist, den man beim Hochfahren (Initialisierungsroutine) auf die entsprechende Frequenz einstellen muss. Aber der Oszillator ist relativ ungenau. Daher kann man auch auf einen externen Oszillator umschalten. D.h.: Anlauf ist immer intern, dann die Initialisierungsroutine, hier dann umschalten auf extern.
    => Soweit mal mein Kenntnissstand. Ist aber nicht 100%, jeder Hersteller macht das ein bißchen anders.

    • Offizieller Beitrag

    Um zwischen externen und internem (bzw. dessen Frequenz) einzustellen musst du das Fuse-Bit programmieren. Wenn die Teile neu vom Hersteller kommen, steht der Takt immer auf intern, 1MHz.

    Beim ATMega8515 gibts zwei Fuse-Bytes (Low und High) und ein Lock Byte. Das Fuse Low byte enthält Bits CKSel3 bis 0 , das Fuse High byte enthält CKOPT, mit denen du den Takt einstellst. Wie es stehen muss für das was du willst steht im Datenblatt auf Seite 36:
    http://www.atmel.com/dyn/resources/…nts/doc2512.pdf
    Wie du die Fuse Bytes mit deinem Programmer programmierst weiß ich nicht. In der Software die ich verwende AVROSPII ist das schön beschrieben. Wo die Bits, die du brauchst, liegen steht im Datenblatt auf Seite 180. Eventuell musst du mit den ganzen anderen Einstellungen die man damit noch machen kann das ganze Byte ausrechen und reinschreiben.
    Aber Vorsicht : Wenn du deinen Takt z.B. aus versehen auf "Extenal Clock" stellst, dann läuft der Chp nicht. Um ihn wieder umzustellen musst du ihn wirklich mit einem externen Takt von einem Frequenzgenerator versorgen.
    Und dass die "Lock" Bits am Chip dauerhaften Schaden anrichten können, wenn man sie falsch setzt, sagt ja schon der Name .

    Du kannst übrigens mit dem Oszi einfach prüfen, wie das Teil steht. Nur wenn der externe Quarz benutzt ist, liegt die entsprechende Frequenz am Xout Pin an.

  • Ok, das bringt mich schonmal weiter, die Fuse's kann ich mit dem myAVR-Progtool bearbeiten. Und da steht das auch drin was was ist.
    Werde es Zuhause mal testen. Dank dir erstmal. Bei weiteren Fragen melde ich mich! ;)


    Gruß