NKC Forum
Registrieren | FAQ | Suche | Wer ist online? | Mitgliederliste | Heutige Beiträge | Kalender | Einloggen



Autor Thema: SD-Card
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 13. Januar 2008 14:22 (#1)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

ich hab mal wieder eine nette kleine Feierabendbastellei für meinem NKC gemacht.

Und zwar eine SD-Card an der IOE!

Als Vorlage habe ich die Beschreibung von Ulrich Radig verwendet, auch seine mmc.c Source habe ich kurz auf 68k Assembler portiert.

Was soll ich sagen, es läuft bisher fantastisch :)

Was fehlt noch? Nun, einen geeigneten Port finden (ich tendiere zu $ffffff10) da ich die IOE-Adresse nicht dauerhaft belegen will. Einbindung in die MTOOLS und last but not least: Einbindung in das Grundprogramm V7.1 :D

Nun was haltet ihr davon?

Ach ja, der Link zur Seite von Ulrich: hier

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 13. Januar 2008 17:37 (#2)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Jens,
wie wäre es mit Adresse $ffffff00, eine Hexio hat wohl keiner im System!?? Wären immerhin 3 Adressen frei...und die alte sasi Adresse braucht auch keiner mehr...evtl. ist diese Adresse leichter auszucodieren....
Gruß
Hans- Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 13. Januar 2008 17:40 (#3)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Was mir noch einfällt...
läuft diese Lösung denn beim 68000 und beim 68020??
Gruß
Hans- Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 13. Januar 2008 19:13 (#4)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

eigentlich sollte es keine Probleme an anderen Prozessoren (68000, 68020, Z80) geben, da ich das SPI Signal per Software mache und für "einfache" SD/MMC-Cards ist es bis 20MHz spezifiziert ist ;) Und das erreichen wir ja mit keinem der Systeme.

Die Adresse $ffffff00 währe auch gut, dann könnte man eine normale IOE nehmen. Bei einer eigenen Karte würde man dann allerdings auch mit einem Port für zwei SD-Cards auskommen ;)

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 14. Januar 2008 08:47 (#5)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Jens,
Port $FFFFFF00 lässt sich doch einfach mit einem 74LS30 codieren, oder?
Gruß
Hans- Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 14. Januar 2008 09:19 (#6)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

ne, der '30er würde nur bei $FF ne Null liefern, bei allen anderen Kombinationen ne Eins. Ausserdem muss man ja auch noch das /IORQ-Signal mit berücksichtigen.
Ich glaube der '688 ist da die bessere Wahl.
Dahinter dann 2 '32er-Gatter um das Ausgangssignal des '688ers mit /RD und /WR zu verodern und dann wie bei der IOE einen '245 (oder '244) als Eingang und einen '374 als Ausgang.

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Gelöscht
Gelöscht

ID # 63


  Erstellt am 14. Januar 2008 21:04 (#7)  |  Zitat Zitat
Hallo,

das SD-Card Interface gefällt mir gut :)
Ist genau das was ich auch machen wollte.
Allerdings wollte ich die Ansteuerung via FPGA machen (SPI-Interface in VHDL). Dadurch ist der Datendurchsatz sicherlich um ein vielfaches höher (20 MHz) als bei einer reinen Software-Lösung. Und diese Lösung würde dann auch bei allen CPUs, mit der gleichen hohen Geschwindigkeit funktionieren, egal wie schnell die CPU ist.

MfG.
Andreas

IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 14. Januar 2008 23:36 (#8)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Andi,
wäre doch eigendlich auch von den Pegeln her kein Problem!!
SD Karten laufen ja auch auf 3,3 V...
Du hast noch viel Arbeit...
Gruß
Hans- Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 15. Januar 2008 08:50 (#9)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

@ Andi: das mit dem SD-Card-Interface auf der FPGA-Karte gefällt mit auch :)
Wie Hans-Werner schon schreibt, können wir da ja auch auf die Pegelwandler verzichten.
Ich tippe mal, das für die FPGA-Lösung zwei IO-Ports nötig werden, einmal für das Datenregister und zum zweiten ein Steuerungsregister. Wie sieht es aus wenn man zwei SD-Karten betreiben will? Das möchte ich nämlich auf alle Fälle, einmal zum booten von z.B. JADOS und zum anderen für eine FAT16 formatierte Karte (MTOOLS).
Wenn da genaueres feststeht sag bescheid, dann baue ich die Unterstützung für die FPGA-SD auch mit ins GP ein.
Ach ja, am besten auf den Portadressen $ffffff00 ...

Übrigens wird mein 68008 auch an dem FPGA-SPI um einiges langsamer sein wie ein 68000, er könnte die Daten garnicht so schnell schaufel, wie die SD-Card sie liefert ;)

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Gelöscht
Gelöscht

ID # 63


  Erstellt am 15. Januar 2008 14:58 (#10)  |  Zitat Zitat
Hallo,

ja, das stimmt. Pegelwandler sind mit dem FPGA dann überflüssig.
Mehrere SD-Cards sind ebenfalls kein Problem. Jede Karte hat einen Card_select-Eingang (CS) mittels dem eine bestimmte Karte ausgewählt werden kann. Alle übrigen Leitungen können parallelgeschaltet werden.
Die Auswahl einer bestimmten Karte erfolgt dann über das Controlregister. Mit zwei (max. 4) Adressen kommt man auf jeden Fall aus.
Das stimmt. Ein langsamer Prozessor hat auch eine etwas langsamere Datenübertragung zur Folge, da die Daten langsamer abgeholt / abgeliefert werden. Der Unterschied ist aber bei weitem nicht so krass wie wenn alles (SPI-Protokoll) komplett in Software gemacht würde.
Ich werde das SPI-Interface mal in VHDL konzipieren und Dir dann Bescheid geben.


MfG.
Andreas

IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 15. Januar 2008 21:38 (#11)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Andi,
bastel das mal alles mit auf die Flo...
Gruß
Hans- Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 21. Januar 2008 13:10 (#12)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

mal 'n kleiner Zwischenbericht:

IO-Routinen für die SD-Cards hab ich in die neue Version des Grundprogramms integriert (incl. booten).

Das Identifizieren und Lesen von SD-(MMC-)Cards funktioniert einwandfrei :)

Nur das Schreiben macht mir noch Ärger :(
Ich hab z.Zt. leider noch keine Ahnung woran es liegen könnte :confused:
Das eigentliche Schreiben wird scheinbar ausgeführt, nur bleibt die Card "Busy".
Hat vielleicht einer von euch ne Idee?

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 26. Januar 2008 21:52 (#13)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

jetzt funzt es :D

Also, das schreiben auf die SD-Cards ist jetzt auch kein Problem mehr. Ich hatte bei einem AND-Befehl das # vergessen :mad: dadurch kam natürlich nur noch Müll herraus.

Mit dem neuen Grundprogramm klappt auch das Booten von SD-Card schon. Allerdings muss ich noch ein paar Kleinigkeiten überarbeiten.

Die Geschwindigkeit der IOE-/Softwarelösung ist allerdings nicht berauschend. Sie liegt etwa bei 1/3 gegenüber Diskettenzugriffen.

Der nächste Schritt ist die Hardwarelösung von Andreas mit ins GP zu integrieren, damit dürfte dann auch das Geschwindigkeitsproblem erledigt sein ;)

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Erstellt am 07. Februar 2008 00:00 (#14)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo,
habe die Schaltbilder für die SD Card online
http://schuetz.thtec.org/NKC/hardware/sd.html
Gruß
Hans- Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Beiträge: 889 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
DerInder
Fast schon Admin
Seitenadmins
***
ID # 2


  Erstellt am 07. Februar 2008 17:40 (#15)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

noch 'n kleiner Hinweis zu den Anschlussbildern auf der Seite von Hans-Werner:
Der IOE- und der EXT-Stecker sind von oben gezeichnet, genauso wie die SD-Card Anschlüsse. Nur die SD-Cards sind von unten zu betrachten.

Ach ja die IOE sollte auf Port $ffffff00 gejumpert sein, dort wird sie dann auch vom GP V7.10 unterstützt.

-----------------------
Gruß
-=jens=-

Beiträge: 912 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert



| https://hschuetz.selfhost.eu | Boardregeln | Datenschutzerklärung


Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts


Seite in 0,021476 Sekunden erstellt
18 Dateien verarbeitet
gzip Komprimierung eingeschaltet
1122,87 KiB Speichernutzung