mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SD-Card an sehr altem Rechner mit 6502 CPU (@1 Mhz) ?


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich haette mal eine etwas aussergewoehnliche Frage. Ich moechte eine 
SD-Card an einem sehr alten Rechner nutzen. Es handelt sich dabei um 
einen (Commodore) CBM 3001 (1Mhz Takt).
Dieser verfuegt ueber eine frei programmierbare 8bit-Schnittstelle mit 2 
Steuerleitungen.
Diese nennt sich wie z.B. beim alten Commodore 64 ebenfalls Userport und 
ist im Prinzip ein halber 6522 ( 
http://6502.org/documents/datasheets/mos/mos_6522.pdf ).

Ich moechte nun eine SD-Card moeglichst ohne zusaetzlichen Controller 
anklemmen. Wird das im "4 bit-mode" funktionieren ?
Geschwindigkeit ist in diesem Fall nicht so relevant, da diese sehr 
alten Computer-Veteranen sowieso nicht mehr als 32 kB Hauptspeicher 
haben. FAT16-Treiber oder ein natives Filesystem schreibe ich mit einem 
6502-Cross-ASM.

Michael

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möglich ist das auf jeden Fall im SPI-Modus. Wenn du dir die Infos für 
den 4-Bit-Modus besorgst, sollte das auch möglich sein. Denn der CBM3001 
ist auch nichts anderes als ein µC in groß.

Ich verstehe immer die Fragestellung von vielen Leuten nicht die so 
lauten "Funktioniert dies oder das ...". Es ist halt fast alles möglich, 
es kommt eben immer auf die Fähigkeiten des einzelnen an.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Card-Reader mit diesen µC arbeiten oft mit 8 Mhz. So ein alter 
6502-Rechner, ist z.B. gegen einen relativ aktuellen Atmel, eine echte 
Schnecke.
Das Lesen der Karte wird sich imo irgendwo im kHz-Bereich bewegen. Daher 
mache ich mir Gedanken ueber das Timing, da das Shiften der Bytes 
zusaetzlich viel Rechenzeit kostet.

Werde vorab ein paar Experimente machen.

Danke fuer die Antwort.

Michael

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael wrote:
> Die Card-Reader mit diesen µC arbeiten oft mit 8 Mhz.

Wie kommst du da drauf ? Viele der Kartenleser nutzen PLLs um mindestens 
mal 48MHz für USB zu erzeugen, und eventuell auch für den uC. Außerdem 
nutzen die uC auch DMA, nur so sind die USB Highspeed Geschwindigkeiten 
erst möglich. Die Datenrate bei SD und MMC Karten liegt im MHz Bereich. 
Ich schätze mal bei 1MHz Prozessortakt wird die Nutzdatenrate wird 
irgendwo im einstelligen kByte/s Bereich sein.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hast Du die komplette Belegung des Userports?

Ist das Schieberegistr des 6522 mit rausgeführt?

Sonst häng einen kleinen AVR dazwischen als "CardReader". Karte per SPI 
ran und zwischen AVR und Userport 8-Bit Parallel. Mußt Dir eben mit den 
restlichen Leitungen ein Mini-Protokoll für die 
Datenrichtungsumschaltung ausdenken.

Gruß aus Berlin
Michael

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@benedikt: Ich meinte verschiedene von mir gefundene Bastelloesungen auf 
PIC oder ATMEL-Basis. Zudem gibt es einen Card-Reader fuer den C64 : 
MMC64, der mit 8Mhz arbeitet.

@Michael U.: Die Belegung des Userport und weitere Unterlagen habe ich .

http://www.cbmhardware.de/cbmpet/cbm2001.php?Lang=...
http://www.cbmhardware.de/mosic/daten/cbmhardware_via.txt

Das mit dem Shift-Register muss ich mal testen. Der 6522 hatte einen Bug 
in diesem Bereich. Ich kann mich im Moment aber nicht an Details 
erinnern.

Das mit dem Atmel ist sicher technisch die geschickteste Loesung, leider 
dann aber auch mit etwas Aufwand im Nachbau verbunden. Ich hatte 
eigentlich eine sehr spartanische Hardware-Loesung gesucht. Sollte 
moeglichst jeder mit ein paar "Draehten" anklemmen koennen.

Ein paralleles Protokoll sollte kein zu grosses Problem sein. Etwas 
aehnliches habe ich schonmal gemacht ( 
http://www.cbmhardware.de/crossload/ ).

Danke fuer Eure Hilfe. Ich werde mal verschiedene Ansaetze versuchen. 
Vieleicht ergibt sich dann eine Loesung.

Michael





Autor: Sven Bayer (mainframeosx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum dieser aufwand! Gibt es doch schon, nennt sich C1541-III, ist eine 
MMC/SD Laufwerk was am I2C-Bus angeschlossen wird.

Gugst du Hier:

http://jderogee.tripod.com/project1541.htm

Gruss Sven

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Commodore hatte schon einen I2C Bus ?

Autor: Sven Bayer (mainframeosx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja natürlich, da war die Floppy Disk dran. Such mal mit Google den C64, 
da findeste 1000 von seiten. Ausgestorben ist der Computer noch lange 
nicht. Ich habe mir erst einen C64DTV zugelegt, zudem habe ich habe noch 
einen C128 , C64 II , Atari 800XL und einen Amiga 500 und Amiga 4000T.
Unter www.svenschwiecker.de ist mein Gemoddeter C64DTV zu besichtigen.

Sven

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der "CBM3001" ist aber kein "C64", sondern ein "aufgepeppter" PET2001 - 
der 3001 hat eine große Tastatur und dafür keinen Cassettenrecorder. Die 
Floppy des PET / CBM wurde "damals" über GPIB (IEExxx) und NICHT seriell 
angesteuert.

Gruß Otto

Autor: Sven Bayer (mainframeosx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Habs auch schon gelesen. Dann ist wohl eine Parallelport lösung das 
beste.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur mal so zum Stand der Dinge: Ich habe mich mal wegen dem 6522 und 
Shift-Register erkundigt. Das kann man besser schnell wieder vergessen.

Ich habe mich nun fuer eine 4bit-Loesung mit ATMEGA8 (da vorhanden) 
entschieden. 8 Bit geht leider nicht, da mir sonst eine Steuerleitung 
beim CBM fehlt.
Zwei werden fuer die Koordination des Datenflusses und ein dritte 
Leitung zum Signalisieren der Richtung verwendet.
Letztlich waere ich dann mit 4-5kB/s nicht unzufrieden. Aber bis dahin 
ist es noch ein Stueck Arbeit.

Michael




Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

wenn Du schon einen Controller nimmst, könntest
Du auch das IEE488 Interface verwenden und die
Karte dann über die "Floppy-Befehle" des CBM
ansprechen.

Gruß Otto

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.