Hallo Besucher, der Thread wurde 86k mal aufgerufen und enthält 226 Antworten

letzter Beitrag von szu am

mmc2iec simpel LarsP Eagle Dateien

  • Den externen Oszi braucht man dann nur zum programmieren des ICs oder?

    Nein, nur wenn man den noch ein zweites mal programmieren will.
    Du hast ja bereits die HEX drauf, d.h. wenn Du jetzt die Fuses korrekt setzt, dann wird alles gut.
    Wenn du den AVR aber jetzt auf externen Oszi setzt und ihn später nochmal beschreiben willst, benötigt dein Programmer ebenfalls einen externen Oszi. Daher ja auch der Tipp mit dem Bootloader, da muss man den AVR nur genau einmal beschreiben und Updates laufen ohne Programmierboard per SD-Karte.

    Zitat

    Ich hab z.Z. das Funk-AVR-Evaluationsboard vom Pollin zum programmieren und Peter Sieg´s MMC2IEC Platine.

    Frage: hast Du auf PeterSiegs Platine den Oszi eingebaut?


    Wenn ja, dann die SecurityBits/Fuses so setzen, wie in dem Bild ABER bei CKSEL3, CKSEL1, CKSEL0 die Haken wegnehmen.

  • Nein, hab ich nicht. Ich lass die drei Fuses nochmal angehakt, damit ich den nochmal programmieren kann, wenn´s sein muss.

    Wie gesagt, der Bootloader spart die Arbeit.


    Okay, wenn du also keinen externen Oszillator auf der MMC2IEC Platine hast, dann genau wie in dem Bild setzen.


    Denn dann hast du genau "99.3.1 Die Fuses und Security Bits für ATmega32 ohne Bootloader mit internem Taktgeber (MMC2IEC)"

  • Vielen Dank. Die Fuses habe ich gesetzt und ich kann sogar noch auf den Atmel zugreifen. Leider bekomme ich immernoch den gleichen Fehler. An der DIN-Buchse angeschlossen sind die Kabel wie in einem vorherigen Thread angegeben. Eingangsspannung ist 4,5V vom Steckernetzteil (wird aber sowieso auf 3,0 V geregelt).
    Ich verwende z.Z. die 0.6.7-m32-larsp version.


    An was könnte es noch liegen? Auch nach dem Setzen der Fuses hat die grüne LED beim Start kurz geblinkt.
    Auf der SD-Karte hab ich als Dateisystem FAT16 und auch nur eine .d64 Datei.

  • Auch nach dem Setzen der Fuses hat die grüne LED beim Start kurz geblinkt.

    Das ist auch ein gutes Zeichen.
    Ohne dein Kabel in der Hand zu haben wird es natürlich schwer, jetzt weitergehende Diagnosen zu treffen.


    Aber ich würde mal empfehlen, die Masseleitung des MMC2IEC mit der Masseleitung des C64 zu verbinden, z.B. über das serielle Kabel (wie ich in diesem Post erwähnte).

  • So, ich habe die Platine mal an die Stromversorgung des C=64 angeschlossen.


    SV2 (Aufschrift 0 unten) steckt auf A-1 des Kasettenports (GND)
    SV2 (Autschrift 5 unten) steckt auf B-1 des Kasettenports (+5V)
    SV2 (Aufschrift 3 unten) ist nicht angeschlossen


    Beim 6-poligen Serial DIN Stecker steckt (unverändert)
    5 auf DATA
    4 auf CLK
    3 auf ATN


    Auf 8/9 und auf JP2 habe ich keine Kurzschlussbrücke drauf und
    DSK-C und DSK-2 (?) sind nicht bestückt und dementsprechend auch nicht geschlossen.


    Habe ich da irgendeinen Fehler drin? Ich bekomme immernoch den gleichen Fehler.
    Warum heißt der Eingang eigentlich SV2 und nicht SV1?


    //edit:
    -Grüne LED blinkt kurz beim Einschalten
    -Tapeport habe ich vorhin mit Propanol gereinigt
    -Normale 5,25" Disketten mit Oceanic-irgendwas-Laufwerk funktionieren ohne Probleme am Serial Port
    -Fuses sind gestern so gesetzt worden, wie im vorherigen Post geschireben
    -Dateisystem der SD-Karte ist FAT; Speicherplatz: 512MB
    -SD Karte funktioniert in Digitalkamera und im PC ohne Probleme


    -Firmware ist 0.6.7a-larsp-m32; Geflasht habe ich mit der HEX-File über mein Pollin-AVR Board; Anschluss per ISP und seriellen Port am PC
    -Verwendet wird ein normaler AtMega32

  • Hast du die Kontakte/Lötstellen am SD Slot ebenfalls geprüft (bevor die weiteren Bauteile aufgelötet wurden)?.
    Hmm. Kann man den Fehlerkanal auslesen, direkt nach dem Einschalten, oder kommt dann schon die Fehlermeldung?
    Wenn direkt nach dem Einschalten und schon beim Auslesen des Fehlerkanal, die Fehlermeldung kommt, muß es im
    Bereich der 3 IEC Leitungen liegen.. wenn Fehlerkanel geht und die Firmwareversion anzeigt, heißt das: IEC = OK und
    es liegt evtl. am SD Slot..


    Ich gehe davon aus, das der AVR korrekt geflasht ist und auch JTAGEN nicht mehr angehakt ist! (LarsP Layout!)


    Alle Prüfungen am losen Gerät, ohne Strom:
    Liegt Card Detect an Masse, wenn eine Karte im Slot ist?


    Peter

  • Hast du die Kontakte/Lötstellen am SD Slot ebenfalls geprüft (bevor die weiteren Bauteile aufgelötet wurden)?.
    Hmm. Kann man den Fehlerkanal auslesen, direkt nach dem Einschalten, oder kommt dann schon die Fehlermeldung?
    Wenn direkt nach dem Einschalten und schon beim Auslesen des Fehlerkanal, die Fehlermeldung kommt, muß es im
    Bereich der 3 IEC Leitungen liegen.. wenn Fehlerkanel geht und die Firmwareversion anzeigt, heißt das: IEC = OK und
    es liegt evtl. am SD Slot..


    Welcher Fehlerkanal? Wie spricht man den an?
    Ich bekomme selbst bei LOAD"*",8 bereits den ?DEVICE NOT PRESENT ERROR.

  • Hab mir gerade das Layout von dem Ding angeschaut...


    Das ist aber mal nen Zufallsgenerator vom Feinsten.
    Die Versorgung hat Signalstärke, Blockkondensatoren ? Masse??
    Das Layout zielt darauf ab möglichst viel von der verseuchten Umgebung
    (Monitor, Handy, Rechner aufzunehmen).


    @ Peter: der Autorouter tut nichts anderes als die Signale miteinander zu verbinden.
    Und dem Autorouter ist es wurst ob das Resultat störanfällig ist.
    Du kannst dem Autorouter einige Parameter mitgeben, die helfen z.B. die Versorgungsleiterbahnen der Chips
    in einer definierten Stärke auszuführen.
    Aber das war es schon mit dem Auto..!


    Das ist kein Scherz, es werden sogar bestimmte Teile der heutigen PC-Mainboards noch von Hand geroutet um diese Störsicher zu machen.

  • JMP$FCE2: Das glaube ich dir ja.. aber glaube mir nach +50 Geräten und keinem einzigen Problem, selbst bei noch einfacheren Lochrasteraufbau.. sollten man einsehen, das es so funktioniert. Und ich bin mir SEHR sicher, das das nicht
    das Problem ist, was hier noch vorliegt..


    Zitat

    Das ist aber mal nen Zufallsgenerator vom Feinsten.


    Man kanns auch übertreiben!


    1x 100nf als Abblockkondensator ist übrigens drin.


    Peter

  • Ich habe meine Platine immernoch nicht zum Laufen gebracht. Mittlerweile greife ich GND und +5V vom User Port des Commodore ab. Auch habe ich das Kabel von 3-fach Steckverbinder zu DIN-Buchse nochmals gelötet. Die Verbindung sollte also bestehen.


    Vielleicht stimmt auch einfach etwas mit meiner Software nicht? Ich verwende keinen Bootloader. Verwendete Firmware ist diese.
    Gesetzte FUSES:


    1 = gesetzt; 0 = ungesetzt



    Ich flashe den AtMega mit PonyProg und der .hex-File, die bei der Firmware mitgeliefert ist.


    Habe ich evtl. hier einen Fehler?

  • Ich habe meine Platine immernoch nicht zum Laufen gebracht. Mittlerweile greife ich GND und +5V vom User Port des Commodore ab. Auch habe ich das Kabel von 3-fach Steckverbinder zu DIN-Buchse nochmals gelötet. Die Verbindung sollte also bestehen.


    Ist ausser dem MMC2IEC noch irgendwas anderes am seriellen Port angeschlossen? Auch ausgeschaltete Geräte erwähnen!


    Die Fuses kommentiere ich jetzt mal nicht weil ich keine Lust habe erst zu raten wie 0/1 dem Zustand zuzuordnen ist und die danach umzurechnen.

  • Zitat

    1 = gesetzt; 0 = ungesetzt


    Nein, es gibt keine anderen am Serial- bzw. am Kassettenport angeschlossenen Geräte. Ein Diskettenlaufwerk funktioniert aber einwandfrei am Serial-Port.


    Ich habe jetzt mal den AtMega 644 mit einem Bootloader geflasht und auf die sd2iec Version 0.8.1 upgedated. Ich werde am Wochenende mal das große Messen anfangen, vielleicht stellt sich dann etwas heraus.


    //edit: In diesem Thread wird ja beschrieben, wie die Fuses bei einem AtMega 644 zu setzen sind. Allerdings gibt es kein BODLEVEL0 bzw. BODLEVEL1 sondern nur BOD0LEVEL und BOD1LEVEL. Ist das dasselbe? Habe die Fuses mal gesetzt, der Atmega reagiert noch.

  • Hi. Die angegebenen Fuses (oben) sind aus meiner Sicht korrekt für ATmega32 LarsP OHNE Quarz!
    Mit Quarzaktivierung sollten es Low=0xAF und High=0xD9 sein.
    Wie das in PonyProg aussieht kannst du dir hier ansehen : http://www.engbedded.com/fusecalc/


    High bleibt so und bei Low ist dann nur noch BODEN und SUT0 angehakt.
    Allerdings muß das mmc2iec auch ersteinmal so funktionieren! Quarz wird für Turboload/FC3 benötigt..
    (Aber kein FC3 einstecken, solange der Quarz nicht aktiviert ist!)


    Unseen: Was gibt die Firmware eigendlich zurück, wenn Card Detect nicht auf GND liegt?


    @Blu-Ray: Wichtig: Sicherstellen, das Card Detect auf GND geht, wenn eine SD Karte eingesteckt ist!


    Peter

  • Unseen: Was gibt die Firmware eigendlich zurück, wenn Card Detect nicht auf GND liegt?


    Kommt darauf an was man macht, meist wird "74,DRIVE NOT READY,00,00" daraus.

  • Also einen Quarz habe ich bereits draufgelötet (8 MHz). Müsste die Platine auch mit den oben stehenden FUSES funktionieren?


    Zitat

    (Aber kein FC3 einstecken, solange der Quarz nicht aktiviert ist!)


    Was ist ein FC3?


    Zitat

    High bleibt so und bei Low ist dann nur noch BODEN und SUT0 angehakt.


    BODEN gibts bei meinen AtMega 644 Settings gar nicht, nur die BOD*LEVEL.
    Stimmt die Konfiguration abgesehen von BODEN so?



    Unseen: Was gibt die Firmware eigendlich zurück, wenn Card Detect nicht auf GND liegt?



    Kommt darauf an was man macht, meist wird "74,DRIVE NOT READY,00,00" daraus.


    Ich bekomme selbst bei LOAD"*",8,1 einen ?DEVICE NOT PRESENT ERROR. Wo ist der Card Detect?


    Teste ich evtl. falsch, ob die SD Extension verfügbar ist? Ich lade z.Z. nur mit LOAD "*",8,1. Muss ich vorher noch mit OPEN eine Art Initialisierungsdatei laden?

  • Irgendwie verliere ich langsam den Faden.. stand nicht irgendwo weiter oben, das du einen ATmega32 drauf hast..??
    Meine Angaben beziehen sich aud den ATmega32.. die Fuses für den 644 müßten auf Antabaka's Seite stehen..
    Ich setze den 644 nicht ein.. kann also nichts dazu sagen..


    Ein FC3 ist das Final Cartridge III - da du die Abkürzung nicht kennst, wirst du es wohl auch nicht (dran) haben..


    Für Card Detect schon mal in den Schaltplan/Bild des bestückten Boards.. doch, bevor du fragts, das gibts alles hier
    im Forum!!


    Nun, es deutet alles darauf hin das mind. 1 der 3 IEC Leitungen zw. C64 und AVR Pin eine Unterbrechung hat oder einen
    Kurzschluß zw. 2 IEC Leitungen..


    Wenn du das zweifelsfrei durchgemessen hast. habe ich keine Ideen mehr! Dann am besten auf einem nächsten
    Treffen (DoReCo) oder CC mal von jemandem prüfen lassen.. oder mir zusenden - aber mit ATmega32! - dann
    schau ich mir das mal an..


    Peter

  • Hi. Ich habe es jetzt hinbekommen. Die Platine läuft!
    Mein Problem war, dass die Pins am DIN-Stecker nicht nummeriert waren und die Kabel spiegelverkehrt angelötet wurden. Die 2 Seiten von mir können ja in einen anderen Thread verschoben oder direkt gelöscht werden.


    Ich danke trotzdem allen für ihre Mühe.
    PeterSieg: Ich habe gestern zusammen mit einem Bekannten die Eagle-Files mal "ausgemistet" ;-) Also die Beschriftungen der Bauteile so verschoben, dass man sie auch noch lesen kann.
    Viel Spaß damit.