IDE-Schnittstelle
-
- Interessierter
- Beiträge: 29
- Registriert: Dienstag 26. Februar 2002, 06:40
Hi Renegade,
nun, inwiefern Firewire wirtschaftlich ist kann ich im Moment nicht beurteilen... USB siehts im Moment gleichermaßen gut wie schlecht aus.
Gut, weil ich heute meine ausstehende Lieferung erhalten habe, das bedeutet im Klartext ich hab genug Controller sowie alle benötigten zusätzlichen Komponenten hier neben mir liegen.
Schlecht, weil es nach wie vor einige Unklarheiten in Bezug auf die Verfügbarkeit bzw. Erzeugung der benötigten Signale gibt - zumindest von meiner Seite.
Wenns nach mir geht hängts jetzt aktuell nur noch an einem abschließenden Wissens-/Erfahrungsaustausch.
Mal sehen was sich jetzt also noch ergibt...
nun, inwiefern Firewire wirtschaftlich ist kann ich im Moment nicht beurteilen... USB siehts im Moment gleichermaßen gut wie schlecht aus.
Gut, weil ich heute meine ausstehende Lieferung erhalten habe, das bedeutet im Klartext ich hab genug Controller sowie alle benötigten zusätzlichen Komponenten hier neben mir liegen.
Schlecht, weil es nach wie vor einige Unklarheiten in Bezug auf die Verfügbarkeit bzw. Erzeugung der benötigten Signale gibt - zumindest von meiner Seite.
Wenns nach mir geht hängts jetzt aktuell nur noch an einem abschließenden Wissens-/Erfahrungsaustausch.
Mal sehen was sich jetzt also noch ergibt...
-
- Neugieriger
- Beiträge: 4
- Registriert: Sonntag 23. Juni 2002, 00:41
Firewire ist im eNX schon mit drin. Ist aber ein BGA-Gehäuse (zumindestens in der Sagem bei mir). Keine Ahnung ob man an die nötigen Pins rankommt, wenn überhaupt jemand weiß wo die liegen. Firewire-Treiber für Linux gibt's ja schon (wahrscheinlich aber nicht die passenden). Wäre jedenfalls cool wenn es ginge, Firewire-HD eh schon vorhanden.Renegade hat geschrieben:
USB und FireWire hab ich hier im Board schonmal gehört, wie siehts damit nu eigentlich aus?
Gruß t0n3r
P.S.
Quelle: http://web.archive.org/web/199812050347 ... ettop.html
-
- Contributor
- Beiträge: 103
- Registriert: Donnerstag 27. September 2001, 00:00
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 18. November 2002, 10:41
Jetzt muss ich doch nochmal meinen Senf dazu loswerden. Ich hab schon mehrere Festplatteninterfaces mit microcontroller (atmel/8051) gebastelt, und eigentlich ist das kein großes ding. Das IDE-Interface ist ziemlich simpel. Das Problem dabei ist eigentlich nur das ganze auch einigermassen flott hinzubekommen. Und Sinn macht es ja auch nur wenn es schneller ist als der larme 10MBit/s Netzwerkport.
Meiner Meinung nach macht es am meisten Sinn wenn man einen cpld, etwas ram und einen Microcontroller kombiniert. Damit könnte man dann einen Memory Mapped Zugriff machen. Der Microcontroller könnte dann die Festplatte steuern und die Daten ins Ram schaufeln. Die dbox müsste sich die dann nur noch abholen und den Microcontroller sagen welche sie als nächstes haben will.
Die idee die Address- und Datenleitungen mit etwas logic zu einen IDE interface zu mappen wird zwar funktionieren, aber die CPU unheimlich belasten. Die CPU müsste ja dann jedes einzelne Byte einzeln von der Platte abholen. Macht also wenig Sinn.
Zu der idee mit dem FPGA. Find ich prinzipiell klasse, aber da kennen sich nur wenige mit aus. Und ich denke das echt warscheinlich auch teuerer wird. Zumal es ja schon echt kompliziert wird wenn man einen FPGA haben will der nen bisschen Platz hat und lötbar sein soll.
Vieleicht macht es sinn wenn man mal nen gemeinsamen hardware entwurf macht und zusammen dran entwickelt. Ich hab jetzt (glaub ich) zwei leute gesehen die so ein Ding basteln oder es zumindest vorhaben. Und ne Menge leute die von den einzelnen Bereichen ahnung haben.
Ach und noch ein schöner Link:
http://www.pjrc.com/
Die haben auch mit einen FPGA einen Memory Map IDE Controller gebaut. Zwar für einen 8051 aber das Prinzip ist ja dasselbe.
cu axel
Meiner Meinung nach macht es am meisten Sinn wenn man einen cpld, etwas ram und einen Microcontroller kombiniert. Damit könnte man dann einen Memory Mapped Zugriff machen. Der Microcontroller könnte dann die Festplatte steuern und die Daten ins Ram schaufeln. Die dbox müsste sich die dann nur noch abholen und den Microcontroller sagen welche sie als nächstes haben will.
Die idee die Address- und Datenleitungen mit etwas logic zu einen IDE interface zu mappen wird zwar funktionieren, aber die CPU unheimlich belasten. Die CPU müsste ja dann jedes einzelne Byte einzeln von der Platte abholen. Macht also wenig Sinn.
Zu der idee mit dem FPGA. Find ich prinzipiell klasse, aber da kennen sich nur wenige mit aus. Und ich denke das echt warscheinlich auch teuerer wird. Zumal es ja schon echt kompliziert wird wenn man einen FPGA haben will der nen bisschen Platz hat und lötbar sein soll.
Vieleicht macht es sinn wenn man mal nen gemeinsamen hardware entwurf macht und zusammen dran entwickelt. Ich hab jetzt (glaub ich) zwei leute gesehen die so ein Ding basteln oder es zumindest vorhaben. Und ne Menge leute die von den einzelnen Bereichen ahnung haben.
Ach und noch ein schöner Link:
http://www.pjrc.com/
Die haben auch mit einen FPGA einen Memory Map IDE Controller gebaut. Zwar für einen 8051 aber das Prinzip ist ja dasselbe.
cu axel
-
- Interessierter
- Beiträge: 32
- Registriert: Dienstag 3. September 2002, 17:22
Hallo,
Wie kommt man denn darauf, dass so ein Primitiv-Interface Performance-Probleme macht? Ich meine, wenn wir mal annehmen, dass ein Stream mit 4 MBits/s laeuft, dann reden wir bei 16bit-Zugriffen von einer Zugriffs-Frequenz von 0.25 MHz. Eine CPU, die mit 66 MHz laeuft, sollte damit doch kein Problem haben, selbst wenn ein Zugriff mehrere Takt-Zyklen benoetigen sollte, oder?
Also, lasst Euch nicht aufhalten!
Problematisch wird es vielleicht dann, wenn die CPU ziemlich viel Zeit mit dem anderen Ende (d.h. mit der Datenquelle) verbraucht und dann noch der IDE-Zugriff sehr langsam geht, d.h. viele Takt-Zyklen braucht. Dann koennte sich evtl. ein Controller lohnen, der ein schnelles Interface zur CPU hat und das langsame IDE-Interface bedient. Denn die CPU kann dann in der Zwischenzeit ja anderes erledigen und braucht nicht den ganzen Zugriff abzuwarten. Aber das ist alles Spekukation, Versuch macht kluch!
Erich
Wie kommt man denn darauf, dass so ein Primitiv-Interface Performance-Probleme macht? Ich meine, wenn wir mal annehmen, dass ein Stream mit 4 MBits/s laeuft, dann reden wir bei 16bit-Zugriffen von einer Zugriffs-Frequenz von 0.25 MHz. Eine CPU, die mit 66 MHz laeuft, sollte damit doch kein Problem haben, selbst wenn ein Zugriff mehrere Takt-Zyklen benoetigen sollte, oder?
Also, lasst Euch nicht aufhalten!
Problematisch wird es vielleicht dann, wenn die CPU ziemlich viel Zeit mit dem anderen Ende (d.h. mit der Datenquelle) verbraucht und dann noch der IDE-Zugriff sehr langsam geht, d.h. viele Takt-Zyklen braucht. Dann koennte sich evtl. ein Controller lohnen, der ein schnelles Interface zur CPU hat und das langsame IDE-Interface bedient. Denn die CPU kann dann in der Zwischenzeit ja anderes erledigen und braucht nicht den ganzen Zugriff abzuwarten. Aber das ist alles Spekukation, Versuch macht kluch!
Erich
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Tuxboxer
- Beiträge: 6119
- Registriert: Mittwoch 3. April 2002, 00:32
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 18. November 2002, 10:41
-
- Interessierter
- Beiträge: 64
- Registriert: Donnerstag 21. März 2002, 09:44
Wie sieht es denn Alternativ mit dem Ding hier aus:
http://www.bcl.de/home.asp?status=de_home
Ist von Beck ein Webserver in einem kleinem schwarzen Kasten, an den man auch ne Festplatte anschliessen kann. Ist ein 486 drauf. Wenn man Linux portieren könnte und dort irgend eine Grab-Anwendung schreibt wäre das doch vollkommen ausreichend. Zur Not müsste man auch nur nen Treiber schreiben, der die Daten irgendwie übers Netz an den Webserver und die dort angeschlossene FP weitergibt.
GRuß, No,....
http://www.bcl.de/home.asp?status=de_home
Ist von Beck ein Webserver in einem kleinem schwarzen Kasten, an den man auch ne Festplatte anschliessen kann. Ist ein 486 drauf. Wenn man Linux portieren könnte und dort irgend eine Grab-Anwendung schreibt wäre das doch vollkommen ausreichend. Zur Not müsste man auch nur nen Treiber schreiben, der die Daten irgendwie übers Netz an den Webserver und die dort angeschlossene FP weitergibt.
GRuß, No,....
-
- Einsteiger
- Beiträge: 344
- Registriert: Freitag 22. März 2002, 18:36
...und was soll das bringen? Wenn Du wieder übers Netz gehst kannst Du auch glech einen PC mit dem 10MBit Flaschenhals hinstellen. Wer hat denn keinen 486 mehr in der Schrottkiste ;-)
Leider kann ich auch nix produktieves zu dem Thema beisteuern aber ne HD in der Box will ich haben
sat24
Leider kann ich auch nix produktieves zu dem Thema beisteuern aber ne HD in der Box will ich haben
sat24
Philips 2xi 600enx AlexW0609
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 18. November 2002, 10:41
@Liontamer: Jetzt kann ich doch noch mal was produktives loswerden.
Ich hab mir mal deinen Entwurf angesehen. Ich glaub du könntest es dir auch etwas einfacher machen mit den cs signalen. Und ich bin mir nicht sicher ob du nicht sogar einen Fehler in der Schaltung hast. Hier ein Auszug aus deinen Post:
D0....D7; D8....D15 - /WR; /RD
D0 bis D15 führe ich über 2 sogenannte "level shifter" (74LVC4245A) auf die Pins 3 bis 18 der IDE-Schnittstelle.
/WR und /RD generiere ich über 2 Inverter mit Schmitt-trigger (74HC14) aus der RD/WR Leitung der CPU. Über diese 2 Inverter steuere ich auch die Datenrichtung der beiden level shifter.
Schaltest du die beiden level shifter , /RD und /WR in abhängigkeit von der /CS2 Leitung? Sonst würde die Festplatte ja bei jeden Speicherzugriff angesprochen.
A0....A2; /CS0 /CS1
Die Adressleitungen A0 bis A2 führe ich jeweils über 2 Inverter mit Schmitt-trigger (74HC14) zur Spannungsanpassung auf Pins 35, 33, 36 der IDE-Schnittstelle.
Mit Hilfe von /CS2 (Liegt am Speichererweiterungsslot an) und A3 generiere ich über eine Logik die benötigten /CS0 und /CS1.
Die Logik funktioniert folgendermaßen:
/CS0 und /CS1 kannst du auch wie normale Adressleitungen behandeln. Sprich A3 -> /CS0 und A4 -> /CS1. Das spart warscheinlich etwas logic und den Rest kann dann auch der Treiber machen. So hab ich das jedenfalls immer gemacht.
Wenn ich das Datenblatt der CPU richtig verstanden habe kommt da auch kein DRAM-Refresh in die Quere, wenn man dem Memory Controller der CPU sagt das der Speicherbereich, der an /CS2 liegt SRAM ist. Aber da hätte ich doch mal gerne ne Bestätigung von den Entwicklern.
Ach und ne etwas neuere Festplatte kommt auch mit 3,3Volt zurecht. Wird aber warscheinlich mit 5Volt antworten.
Ich hoffe ich konnte nen bisschen helfen, ich helf auch wohl bei der Treiber entwicklung.[/b]
Ich hab mir mal deinen Entwurf angesehen. Ich glaub du könntest es dir auch etwas einfacher machen mit den cs signalen. Und ich bin mir nicht sicher ob du nicht sogar einen Fehler in der Schaltung hast. Hier ein Auszug aus deinen Post:
D0....D7; D8....D15 - /WR; /RD
D0 bis D15 führe ich über 2 sogenannte "level shifter" (74LVC4245A) auf die Pins 3 bis 18 der IDE-Schnittstelle.
/WR und /RD generiere ich über 2 Inverter mit Schmitt-trigger (74HC14) aus der RD/WR Leitung der CPU. Über diese 2 Inverter steuere ich auch die Datenrichtung der beiden level shifter.
Schaltest du die beiden level shifter , /RD und /WR in abhängigkeit von der /CS2 Leitung? Sonst würde die Festplatte ja bei jeden Speicherzugriff angesprochen.
A0....A2; /CS0 /CS1
Die Adressleitungen A0 bis A2 führe ich jeweils über 2 Inverter mit Schmitt-trigger (74HC14) zur Spannungsanpassung auf Pins 35, 33, 36 der IDE-Schnittstelle.
Mit Hilfe von /CS2 (Liegt am Speichererweiterungsslot an) und A3 generiere ich über eine Logik die benötigten /CS0 und /CS1.
Die Logik funktioniert folgendermaßen:
/CS0 und /CS1 kannst du auch wie normale Adressleitungen behandeln. Sprich A3 -> /CS0 und A4 -> /CS1. Das spart warscheinlich etwas logic und den Rest kann dann auch der Treiber machen. So hab ich das jedenfalls immer gemacht.
Wenn ich das Datenblatt der CPU richtig verstanden habe kommt da auch kein DRAM-Refresh in die Quere, wenn man dem Memory Controller der CPU sagt das der Speicherbereich, der an /CS2 liegt SRAM ist. Aber da hätte ich doch mal gerne ne Bestätigung von den Entwicklern.
Ach und ne etwas neuere Festplatte kommt auch mit 3,3Volt zurecht. Wird aber warscheinlich mit 5Volt antworten.
Ich hoffe ich konnte nen bisschen helfen, ich helf auch wohl bei der Treiber entwicklung.[/b]
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
@AlexH
Mit der Schaltung bin ich eigentlich fast fertig. Ich komme nur mangels Zeit immer nuch Stückchenweise vorran. Eigentlich muß ich nur noch die Stromversorgung 5V und 3,3V zu den IC es führen.
Der Levelshifter hat einen Eingang "Output enable". Den wollte ich eigentlich dauerhaft auf GND setzen. Wenn ich diesen jetzt mit der 1. CS verbinde sollte das funktionieren, richtig?
Ich bau die Schaltung also jetzt ohne Logik für die beiden CS und nehme A3 und A4 dafür. Dann spar ich mir sogar einen ganzen IC.
Danke für deine Hinweise!
Ich werde mal versuchen, einen Plan der Schaltung zu erstellen. Ich kann ihn dann nur leider nicht online stellen, weil ich kein Webspace hab. Könnte mir dabei dann jemand behilflich sein? (wenn der Plan dann mal fertig ist)
Ich hab noch keine echte Quelle für die Stecker. Ich bin mir nichteinmal sicher, welcher Stecker für die Nokia-Boxen die richtigen sind. Laut Zweiblum sollen ja die AMP 0,5mm Fine Mate connector 80pol die richtigen sein und auch passen.@Liontamer: Hast du eigentlich schon die Stecker für die Nokia bestellt? Oder kannst du mal die Quelle für die Stecker Preisgeben? Ich würd auch mal gerne anfangen zu basteln.
Wie weit bist du denn mit der Schaltung?
Mit der Schaltung bin ich eigentlich fast fertig. Ich komme nur mangels Zeit immer nuch Stückchenweise vorran. Eigentlich muß ich nur noch die Stromversorgung 5V und 3,3V zu den IC es führen.
Ach du Schreck! Nein, das hab ich vernachlässigt. Bzw. garnicht gewußt.Schaltest du die beiden level shifter , /RD und /WR in abhängigkeit von der /CS2 Leitung? Sonst würde die Festplatte ja bei jeden Speicherzugriff angesprochen.
Der Levelshifter hat einen Eingang "Output enable". Den wollte ich eigentlich dauerhaft auf GND setzen. Wenn ich diesen jetzt mit der 1. CS verbinde sollte das funktionieren, richtig?
Ok, das dachte ich mir auch schon. Weil bisher aber noch keine Wiedersprüche kamen, hab ich das mit der Logik gebastelt./CS0 und /CS1 kannst du auch wie normale Adressleitungen behandeln. Sprich A3 -> /CS0 und A4 -> /CS1. Das spart warscheinlich etwas logic und den Rest kann dann auch der Treiber machen. So hab ich das jedenfalls immer gemacht.
Ich bau die Schaltung also jetzt ohne Logik für die beiden CS und nehme A3 und A4 dafür. Dann spar ich mir sogar einen ganzen IC.
Danke für deine Hinweise!
Ich werde mal versuchen, einen Plan der Schaltung zu erstellen. Ich kann ihn dann nur leider nicht online stellen, weil ich kein Webspace hab. Könnte mir dabei dann jemand behilflich sein? (wenn der Plan dann mal fertig ist)
-
- Interessierter
- Beiträge: 64
- Registriert: Donnerstag 21. März 2002, 09:44
Der Webserver ist im DIL32 Gehäuse - 22 x 44 x 9,5mm cm groß, ließe sich meines erachtens also hervorragend IN die Box integrieren. Zusätzlich wär dann bestimmt auch noch platz für die Platte. Alles in allem wäre eine designte Platine meines erachtens klein genug um sie in die Box zu integrieren und somit direkt in die Hardware-Architektur.
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 18. November 2002, 10:41
@liontamer: Webspace ist kein Problem. Ich kann dir wohl nen ftp-zugang für nen unterordner auf meiner homepage einrichten. Die Daten schick ich dir dann per PM.
Zu dem /CS
Ach du Schreck! Nein, das hab ich vernachlässigt. Bzw. garnicht gewußt.
Der Levelshifter hat einen Eingang "Output enable". Den wollte ich eigentlich dauerhaft auf GND setzen. Wenn ich diesen jetzt mit der 1. CS verbinde sollte das funktionieren, richtig?
Ich denke wenn du den Output enable mit dem /CS2 von der Box verbindest sollte das kein Problem sein. Wichtig ist auch das die /rd und /wr Leitungen der Festplatte auch nur geschaltet werden wenn /CS2 low ist. Aber sollte mit ein bisschen logic kein Problem sein.
Ich hab mir das mit dem cpld nochmal durch den Kopf gehen lassen. So viel bringt das auch nicht. Man könnte lediglich die 16Bit zugriffe zu 32Bit umsetzen. Aber das kann man ja später noch machen wenn man eine Schaltung mit Treiber am laufen hat. Da halte ich deinen Ansatz für ganz gut. Bin schon dabei mir die Teile zu besorgen, möchte aber ungern alles direkt in die Box löten. Ich werde es warscheinlich aber trotzdem mit nem cpld machen und deine Schaltung damit simulieren. Dann kann ich Änderungen in der Schaltung zum testen des Treiber ohne Löten machen.
Ich hab mir gestern noch ein wenig den Kernelsource für die IDE-Schnittstelle angeschaut. Wenn ich das richtig blicke müsste man einen komplett neuen Treiber schreiben. So wie ich das sehe ist die ide.c nur für x86 architektur. Hab aber auch nur nen kurzen blick reingeworfen.
cu axel
Zu dem /CS
Ach du Schreck! Nein, das hab ich vernachlässigt. Bzw. garnicht gewußt.
Der Levelshifter hat einen Eingang "Output enable". Den wollte ich eigentlich dauerhaft auf GND setzen. Wenn ich diesen jetzt mit der 1. CS verbinde sollte das funktionieren, richtig?
Ich denke wenn du den Output enable mit dem /CS2 von der Box verbindest sollte das kein Problem sein. Wichtig ist auch das die /rd und /wr Leitungen der Festplatte auch nur geschaltet werden wenn /CS2 low ist. Aber sollte mit ein bisschen logic kein Problem sein.
Ich hab mir das mit dem cpld nochmal durch den Kopf gehen lassen. So viel bringt das auch nicht. Man könnte lediglich die 16Bit zugriffe zu 32Bit umsetzen. Aber das kann man ja später noch machen wenn man eine Schaltung mit Treiber am laufen hat. Da halte ich deinen Ansatz für ganz gut. Bin schon dabei mir die Teile zu besorgen, möchte aber ungern alles direkt in die Box löten. Ich werde es warscheinlich aber trotzdem mit nem cpld machen und deine Schaltung damit simulieren. Dann kann ich Änderungen in der Schaltung zum testen des Treiber ohne Löten machen.
Ich hab mir gestern noch ein wenig den Kernelsource für die IDE-Schnittstelle angeschaut. Wenn ich das richtig blicke müsste man einen komplett neuen Treiber schreiben. So wie ich das sehe ist die ide.c nur für x86 architektur. Hab aber auch nur nen kurzen blick reingeworfen.
cu axel
-
- Interessierter
- Beiträge: 47
- Registriert: Dienstag 28. August 2001, 00:00
@NoDoubts
Ggf. wird man ein externes Netzteil benötigen, ich fürchte eine Platte kann das interne nicht mehr ab. In der Consumer Elektronik wird leider nur selten überdimensioniert. Thermische Probleme könntees auch geben, so das ich bislang von einer externen Platte ausgehe.
@liontamer
kannst du mir bitte dein Schaltbild zumailen?
Gruss
scotty
Ggf. wird man ein externes Netzteil benötigen, ich fürchte eine Platte kann das interne nicht mehr ab. In der Consumer Elektronik wird leider nur selten überdimensioniert. Thermische Probleme könntees auch geben, so das ich bislang von einer externen Platte ausgehe.
@liontamer
kannst du mir bitte dein Schaltbild zumailen?
Gruss
scotty
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
Also:
Thema Webspace ist nun wirklich kein Problem mehr! Ich hab schon per PN 2 Möglichkeiten angeboten bekommen. (Vielen Dank an DaPapst und chkdesign)
Zum Schaltbild: Ich hab immernoch keine Schltbild zusammen bekommen. Ich denke, ich werd meine Skizzen nochmal sauber abzeichnen und dann einscannen. Ist einfacher, als das am PC zu zeichnen.
@alexh
Ich mach das mit den beiden CS doch so:
Für CS1 nehme ich A3
Für CS2 nehme ich A4
(Muß ich A3 und A4 invertieren, oder nicht?)
CS2 der Box nutze ich also garnicht mehr.
Der Eingang "Output enable" kann die Ein- und Ausgänge des IC es hochohmig isolieren. Sprich bei deaktivierten OE ist die Festplatte "abgetrennt". Somit dürfte es auch kein Problem sein, die Leitungen /RD und /WR unabhängig von CS1 (A3) zu schalten, oder?
Thema Webspace ist nun wirklich kein Problem mehr! Ich hab schon per PN 2 Möglichkeiten angeboten bekommen. (Vielen Dank an DaPapst und chkdesign)
Zum Schaltbild: Ich hab immernoch keine Schltbild zusammen bekommen. Ich denke, ich werd meine Skizzen nochmal sauber abzeichnen und dann einscannen. Ist einfacher, als das am PC zu zeichnen.
@alexh
Ich mach das mit den beiden CS doch so:
Für CS1 nehme ich A3
Für CS2 nehme ich A4
(Muß ich A3 und A4 invertieren, oder nicht?)
CS2 der Box nutze ich also garnicht mehr.
Der Eingang "Output enable" kann die Ein- und Ausgänge des IC es hochohmig isolieren. Sprich bei deaktivierten OE ist die Festplatte "abgetrennt". Somit dürfte es auch kein Problem sein, die Leitungen /RD und /WR unabhängig von CS1 (A3) zu schalten, oder?
-
- Interessierter
- Beiträge: 47
- Registriert: Dienstag 28. August 2001, 00:00
Moin!
Ich denke man kann die Adressleitungen nicht als CS nehmen, da die Adressen ja auch noch an die RAM's auf der Platte geführt werden. Du hättest jedesmal ein CS, wenn diese RAMs angesprochen werden. Es wird zwar weder /RD noch /WR aktiv, aber ich könnte mit Probleme vorstellen. Sollte man vorher evtl. nochmal anschauen/prüfen.
Gruss
scotty
Ich denke man kann die Adressleitungen nicht als CS nehmen, da die Adressen ja auch noch an die RAM's auf der Platte geführt werden. Du hättest jedesmal ein CS, wenn diese RAMs angesprochen werden. Es wird zwar weder /RD noch /WR aktiv, aber ich könnte mit Probleme vorstellen. Sollte man vorher evtl. nochmal anschauen/prüfen.
Gruss
scotty
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 18. November 2002, 10:41
Genau so.
Und die /RD und /WR Leitungen in abhängigkeit von der /CS2 Leitung der Box. Also etwa so:
Ich glaub ich mach mal nen Schaltplan. So ist das Scheiße, nicht das wir die ganze Zeit aneinander vorbeireden und nichts läuft.
Und die /RD und /WR Leitungen in abhängigkeit von der /CS2 Leitung der Box. Also etwa so:
Code: Alles auswählen
/RD (von deinen inverter) or /CS2 (von der Box) = /RD Leitung der Festplatte
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 18. November 2002, 10:41
@liontamer: so oder so ähnlich
http://axel-h.de/dbox2/ide_dbox.jpg
http://axel-h.de/dbox2/ide.sch (cadsoft eagle datei)
Ist mal so auf die Schnelle gemacht. Sind aber 74HC245 drin deine Version kannte das Programm nicht. Werf mal nen Blick drauf und gib mir mal die Infos zur vervollständigung.
cu axel
http://axel-h.de/dbox2/ide_dbox.jpg
http://axel-h.de/dbox2/ide.sch (cadsoft eagle datei)
Ist mal so auf die Schnelle gemacht. Sind aber 74HC245 drin deine Version kannte das Programm nicht. Werf mal nen Blick drauf und gib mir mal die Infos zur vervollständigung.
cu axel
-
- Interessierter
- Beiträge: 47
- Registriert: Dienstag 28. August 2001, 00:00
Jepp, IMHO sieh die Schaltung gut aus, aber A3 &A4 sollten noch mit CS2 der DBOX verodert werden, bevor sie zum ATAPI gehen. Die Gatter sind ja eh noch frei (IC4C & IC4D).
Für den Interrupt von der Platte muss noch ein Gatter vorgesehen werden, sonst kommt der mit 5V Pegel an, was ungut wäre...
Z.B. noch zwei 74Hc14 Inverter. Die Bauteile sollten alle mit 3.3V gespeisst werden -> dadurch wird das Kabellänge kritisch.
Der Pegelwandler den Liotamer erwähnt hat, hat das Prob nicht, benötigt aber 3.3 & 5V
gruss
scotty
Für den Interrupt von der Platte muss noch ein Gatter vorgesehen werden, sonst kommt der mit 5V Pegel an, was ungut wäre...
Z.B. noch zwei 74Hc14 Inverter. Die Bauteile sollten alle mit 3.3V gespeisst werden -> dadurch wird das Kabellänge kritisch.
Der Pegelwandler den Liotamer erwähnt hat, hat das Prob nicht, benötigt aber 3.3 & 5V
gruss
scotty
-
- Neugieriger
- Beiträge: 10
- Registriert: Montag 18. November 2002, 10:41
Moin,
Ändere ich. Ging mir auch nur ums Prinzip mit den /RD und /WR Leitung der Platte. Das mit den Interrupt, gut das du das erwähnst, hab ich garnicht mehr dran gedacht. Ich werd mal wieder etwas sammeln und den aktuellen Schaltplan Samstag abend online stellen (ist mir jetzt zu früh ).
Neuere Festplatten haben da IMHO keine Probleme mit. Hab mal in der CT gelesen das neuere Boards auch mit 3,3V arbeiten. Ich halte die Pegelwandler auch für die bessere Lösung, waren halt nur nicht im EAGLE drin. Ändere ich auch.
Was hälst du davon die A0-A2, /CS0, /CS1 mit nen Leitungstreiber zu versehen? Dann haben die etwas mehr dampf. Ohne hatte ich in meinen ATMEL-Schaltungen öfter Probleme. Ich hab aber auch immer mit ner alten 850MB Platte getestet. Neuere liefen auch ohne.
Müssen wir eigentlich die Datenleitungen verdrehen wie in der Amiga-Schaltung ein paar Posts weiter vorne (BigEndian/LittleEndian oder so)? Da müsste doch einer von den Entwicklern bescheidt wissen inwiefern die Motorola-Architektur von der Intel abweicht. Kurz wo sitzt beim Motorola das MSB und das LSB?
Ist schon jemand mit der Software weitergekommen? So wie da jetzt mein aktueller Stand ist bräuchten wir einen ppcboot patch da der die Speicherbänke konfiguriet ( ? in der dbox.c, wenn ichs richtig gesehen hab ? ) oder kann man das noch später machen wenn der Kernel läuft?
Mit dem IDE-Treiber hab ich scheiße erzählt, man kann anscheinend den bestehen anpassen. Es gibt auch schon einen für den mpc8xx. Ich bin aber immer noch nicht aus diesen code schlaugeworden. Bin aber dran. Hat da jemand infos?
cu axel
@liontamer: ich hoffe du must nicht ganz so viel umlöten. Meine Box steht auch seit ein paar Tagen offen hier auf den Schreibtisch und wartet auf den Lötkolben. Hast du nen Datenblatt von den Pegelwandler zur Hand? Sonst müsste ich suchen.
Code: Alles auswählen
Jepp, IMHO sieh die Schaltung gut aus, aber A3 &A4 sollten noch mit CS2 der DBOX verodert werden, bevor sie zum ATAPI gehen. Die Gatter sind ja eh noch frei (IC4C & IC4D).
Für den Interrupt von der Platte muss noch ein Gatter vorgesehen werden, sonst kommt der mit 5V Pegel an, was ungut wäre...
Code: Alles auswählen
Die Bauteile sollten alle mit 3.3V gespeisst werden -> dadurch wird das Kabellänge kritisch.
Was hälst du davon die A0-A2, /CS0, /CS1 mit nen Leitungstreiber zu versehen? Dann haben die etwas mehr dampf. Ohne hatte ich in meinen ATMEL-Schaltungen öfter Probleme. Ich hab aber auch immer mit ner alten 850MB Platte getestet. Neuere liefen auch ohne.
Müssen wir eigentlich die Datenleitungen verdrehen wie in der Amiga-Schaltung ein paar Posts weiter vorne (BigEndian/LittleEndian oder so)? Da müsste doch einer von den Entwicklern bescheidt wissen inwiefern die Motorola-Architektur von der Intel abweicht. Kurz wo sitzt beim Motorola das MSB und das LSB?
Ist schon jemand mit der Software weitergekommen? So wie da jetzt mein aktueller Stand ist bräuchten wir einen ppcboot patch da der die Speicherbänke konfiguriet ( ? in der dbox.c, wenn ichs richtig gesehen hab ? ) oder kann man das noch später machen wenn der Kernel läuft?
Mit dem IDE-Treiber hab ich scheiße erzählt, man kann anscheinend den bestehen anpassen. Es gibt auch schon einen für den mpc8xx. Ich bin aber immer noch nicht aus diesen code schlaugeworden. Bin aber dran. Hat da jemand infos?
cu axel
@liontamer: ich hoffe du must nicht ganz so viel umlöten. Meine Box steht auch seit ein paar Tagen offen hier auf den Schreibtisch und wartet auf den Lötkolben. Hast du nen Datenblatt von den Pegelwandler zur Hand? Sonst müsste ich suchen.
-
- Tuxboxer
- Beiträge: 6119
- Registriert: Mittwoch 3. April 2002, 00:32
-
- Interessierter
- Beiträge: 47
- Registriert: Dienstag 28. August 2001, 00:00
Diese 'echten' Pegelwandler gibts auch in 16Bit breite. Teilenummer muss ich in der Firma nachschlagen (Montag).
Die Adressleitungen über Treiber zu schicken ist prinzipiell eine gute Idde. Zum einen wg. Störungen zum anderen hat die Platte an die /CS Eingängen PullUps (nach 5V). Bei sehr empfindlichen Teilen könnten die schon schaden (ist aber sehr sehr unwahrscheinlich, da die ziemlich hochohmig sind).
gruss
scotty
Nachtrag:
der 16Bit Typ heisst: 74LVC164245 ist aber wohl nur sehr schwer zu bekommen Muster kann ich vermutlich besorgen. Nur wenn es dann eh keiner nachbauen kann ist es witzlos
Little/Big Endian:
Ich denke die Datenleitungen müssen nicht getauscht werden, sicher bin iach mir aber auch nicht. Wenn's nicht klappt kann man das auch in SW machen. Revision2 hat dann getauschte...
Zum Thema Treiber:
erstmal sollten wir die 'normalen' Atapi Register auslesen können, den Treiber können wir dann immer noch anpassen. IMHO
Die Adressleitungen über Treiber zu schicken ist prinzipiell eine gute Idde. Zum einen wg. Störungen zum anderen hat die Platte an die /CS Eingängen PullUps (nach 5V). Bei sehr empfindlichen Teilen könnten die schon schaden (ist aber sehr sehr unwahrscheinlich, da die ziemlich hochohmig sind).
gruss
scotty
Nachtrag:
der 16Bit Typ heisst: 74LVC164245 ist aber wohl nur sehr schwer zu bekommen Muster kann ich vermutlich besorgen. Nur wenn es dann eh keiner nachbauen kann ist es witzlos
Little/Big Endian:
Ich denke die Datenleitungen müssen nicht getauscht werden, sicher bin iach mir aber auch nicht. Wenn's nicht klappt kann man das auch in SW machen. Revision2 hat dann getauschte...
Zum Thema Treiber:
erstmal sollten wir die 'normalen' Atapi Register auslesen können, den Treiber können wir dann immer noch anpassen. IMHO