Hallo Besucher, der Thread wurde 9,8k mal aufgerufen und enthält 32 Antworten

letzter Beitrag von Blubber am

SDRIVE Next Generation

  • Hi,


    nach ein paar Wochen Arbeit ist es nun endlich soweit, daß ich meine überarbeitete und erweiterte Version des SDRIVE's, das SD2IEC für den 8bit Atari, in der V02 (sdrive-ng-1.0) präsentieren kann. Hier ein paar Eckdaten, was sich getan hat:


    - SDcard detection and control generally enhanced
    - error detection(blinkcodes) for SDcard problems
    - SDHC support
    - FAT32 support
    - many code optimization
    - sdrive control program converted to XA


    Aufgrund dieser Erweiterungen passt das jetzt natürlich nicht mehr auf einen ATmega8, der war bereits randvoll, sondern muß durch einen ATmega32 oder größer ersetzt werden. Ich hab im Schaltplan die dazu veränderten Pins rot hinzugefügt. Sonst ist alles beim Alten geblieben. Die Beschaltung der SD-Karte ist übrigens nahezu identisch zum SD2IEC, es kann daher die Vorlage für dessen Lochrasteraufbau zum Großteil übernommen werden. Lediglich die 2 Anschlüsse für Card-Detect und -Lock sind abweichend.


    In meinem Prototypen habe ich bislang auf sämtliche Taster und Schalter, sowie die 4 Drive-LED's verzichtet, da ich darauf keinen so großen Wert lege. Der Code dazu wurde jedoch nicht verändert, müsste also nach wie vor funktionieren. Mir ist es wichtiger, daß man alles schön per Software steuern kann.


    Es sind natürlich noch weitere Features geplant, der Code benötigt jetzt gerade mal 9256bytes Flash, da ist also noch jede Menge Luft nach oben. Hiermit ist erst mal der Grundstock geschaffen, und die mir wichtigsten Features sind eingebaut, damit es überhaupt wieder zeitgemäß nutzbar ist. Ich plane erstmal eine rekursive Suchfunktion, die wohl aus Platzgründen bisher nur vorbereitet war, und ein Schnellstartprogramm zum Auswählen und Starten eines Images auf D1:, sowie den Ausbau der usability. Weitere Vorschläge hierzu nehme ich gerne entgegen.


    Würde mich freuen, wenn sich ein paar Betatester finden würden, die lust darauf haben, die Schaltung nachzubauen. Evtl. lässt sich ein altes SD2IEC auch ganz einfach dafür umbauen, falls da jemand was übrig hat. Der Austausch der MCU über einen Adaptersockel zum ATmega8 wäre sicher auch denkbar.


    Und wer lust hat, die Schaltung in ein professionelles Layout zu verwandeln, tut sich keinen Zwang an. Ich hab sowas jedoch nicht vor, und hab davon auch wenig Ahnung.


    Hier noch der Link zum Ursprungsprojekt, wem das alles hier noch nichts sagt.


    Klaus

  • Der Austausch der MCU über einen Adaptersockel zum ATmega8 wäre sicher auch denkbar.


    Warum hast du nicht einen zum ATmega8 pinkompatiblen ATmega328 verwendet? Der hat genauso viel Flash und RAM wie der ATmega32.

  • Weil ich gerade einen ATmega32 aus einem SD2IEC übrig hatte :)


    Aber ja, das ist eine super Idee, zumindest für jemand, der sein altes SDRIVE upgraden möchte. Ich werde den mal in meinen Build miteinbeziehen, das sollte ohne viel Anpassung möglich sein, da hier eh noch Defines für den ATmega8 existieren.


    Theoretisch würde im Moment ein ATmega168 sogar auch noch ausreichen, aber wenn dann möchte ich schon genügend Reserve haben, vorallem ist das 1K RAM auch so gut wie voll.

  • So, hier mal die Flash Files für den ATmega328. Da haben sich jedoch schon ein paar Dinge geändert in Bezug auf die USART-Register. Kann ich jetzt natürlich selber nicht testen, da muß ich mir erst noch selber so eine MCU besorgen. Vielleicht bestell ich dann gleich ein paar mehr, dann kann ich ggf. auf Anfrage gerne auch ein paar vorprogrammierte MCU's zum Testen abgeben.


    Dabei wäre es jedoch sinnvoll, wenn ich die noch mit einem Bootloader austatten könnte, damit man dann auch schnell auf Updates reagieren kann. Mal sehen, ob ich das demnächst noch hinbekomme...

  • Die Version 1.1 inkl. Bootloader ist nun released, und findet sich auf einer eigenen Webseite:


    http://www.kbrnet.de/projekte/sdrive-ng/index.html


    Dort werde ich auch alles weitere dann ablegen.


    Viel Spaß damit!


    PS: Wer einen vorprogrammierten ATmega328-DIP haben möchte, kann diesen von mir zum Selbstkostenpreis von 5,- EURO inkl. Versand beziehen. Ein paar hab ich noch da, first come, first serve -> PN

  • Hier mal noch ein paar Bilder von meinen Aufbauten. Es sollten eigentlich 4 gelbe LED's sein, hatte aber grad keine mehr da.


    Ich muß gestehen, daß ich bislang nichts weiter am Projekt gemacht habe, aber wenn das Interesse hier steigt, bekomme ich bestimmt auch wieder mehr Lust dazu 8)


    Zudem bin ich noch am Überlegen, ob ich den Schaltplan nicht noch etwas abändere, da der DO-Pin von der SD-Karte direkt auf den AVR geht, und dort über den internen 5V-Pullup versorgt wird. Das ist unschön, die sollte da eigentlich nur 3.3V sehen, aber dazu müsste man den internen Pullup dann in der Software abschalten, und dann wäre die nicht mehr kompatibel. Das SD2IEC macht es übrigens genauso falsch, daher kann das gar nicht so schlimm sein, es ist wohl noch keine SD-Karte dadurch gestorben...

  • Das SD2IEC macht es übrigens genauso falsch, daher kann das gar nicht so schlimm sein, es ist wohl noch keine SD-Karte dadurch gestorben...


    Das ist ja auch eigentlich für Schaltungen gedacht gewesen, die an der Stelle einen richtigen Pegelwandler verbaut haben (Shadowolfs erste Version) oder den AVR mit 3.3V versorgen (Shadowolfs zweite Version und das alte MMC2IEC).

  • jo, und ihr wollt deswegen wohl auch keine extra Firmware machen...


    Ich sage ja immer wieder, dass die direkte Verbindung des SD-Ausgangspins mit dem 5V-AVR-Eingangspin ausserhalb der Specs ist - wer nicht hören will muss halt fühlen. ;)


    Für eine Sonderfirmware für den Zweck wäre es eh zu spät, die bräuchte auch eine eigene Bootloaderkennung und würde von schon existierender Hardware da draussen mit diesem Fehler nicht geflasht werden. Generell ausschalten will ich den Pullup aber auch nicht, dann hängt der Eingang bei 3.3V-AVR-Schaltungen komplett in der Luft wenn die Karte inaktiv oder nicht eingelegt ist.

  • drum würd ich da ja am liebsten einen Pullup fest auf die 3,3V legen, und den Internen eben abschalten. Den Bootloader müsste ich dazu natürlich auch anpassen, wobei für diesen kurzen Moment könnte man den zusätzlichen Pullup wohl noch tollerieren.


    Oder man nimmt nicht nur einen zusätzlichen Pullup sondern auch noch einen FET mit in die Schaltung auf und baut für die Leitung einen richtigen Pegelwandler?

  • Um konsequent zu sein, müsste man das dann für die anderen Leitungen auch noch machen. Ich glaube, das übersteigt dann den Aufwand...


    Aber du hast schon recht, dann könnte man in der Software den Pullup aktiviert lassen, und es muß nicht gleich ein FET sein, ein BC548 tät's wohl auch.

  • Hallo kbr,


    hatte ja dein SDrive NG im Juni 2014 aufgebaut.Siehe Beiträge auf ABBUC. Seit dem nutze ich es regelmässig und kann nur sagen läuft Top. Meine SD Karte läuft immer noch seit Juni 14 ohne Probleme. Habe auch mal 16MB große ATRs erstellt. Habe dies zwar noch nicht ausgiebig getestet aber die ersten Tests verliefen ohne Probleme. Zur Zeit Baue ich die Platine in ein Gehäuse vom Micro Print ein.

  • Hi kbr,


    ich weiß ja nicht wie deine Motivation ist aber ich habe ein Problem. Suche einen weg auf dem Atari Disketten zu sichern am besten im ATR Format. Könnte man das SDRIVE nicht noch um eine Disketten Backup Programm erweitern. So das man die Disketten als ATR files auf SD bekommt.



    Viele Grüße
    Thomas

  • ich weiß ja nicht wie deine Motivation ist aber ich habe ein Problem. Suche einen weg auf dem Atari Disketten zu sichern am besten im ATR Format. Könnte man das SDRIVE nicht noch um eine Disketten Backup Programm erweitern. So das man die Disketten als ATR files auf SD bekommt.


    Könnte man sicherlich, der Aufwand wäre allerdings nicht ganz unerheblich. Erstmal müsste man dem sdrive beibringen Dateien zu erstellen. Das ist aber eine heikle Sache, da man hierfür Verzeichnis und FAT verändern muß, und wenn dabei was schief geht, ist ganz schnell das Filesystem zerstört. Da gibts zwar schon fertige Routinen dafür, müsste aber dennoch in den bestehenden Code eingepasst werden. Angedacht hatte ich sowas aber schon mal.


    Der 2. Knackpunkt ist dann die entsprechende Software für den Atari dazu zu schreiben. Eigentlich könnte man dafür ja jeden Trackkopierer benutzen, man bräuchte nur eine Funktion, um dann immer ein neues Image zu erstellen. Vielleicht könnte man das über eine Tastenkombination auf der Hardware lösen, und über einen Standard-Dateinamen mit Zähler, so macht es das SIO2SD nämlich auch.


    Dann würde der 2. Punkt wegfallen, ist dann vielleicht nicht ganz so komfortabel, wäre aber schnell und einfacher zu realisieren.


    Ich hab sowas bislang übrigens mit dem SIO2PC-Kabel gemacht und der Software ATARISIO vom Hias, das geht auch ganz komfortabel...