noch was....
du könntest ja auch einen ALTERA nehmen und in VHDL Proggen. Hardwarenaher gehts fast nimmer. Sind auch recht schnell. Genaueres weis ich allerdings nicht.
Gruss sensor
Hi Felix G,
Schau mal hier, da gibts auch schon ein fertiges Layout, da du evtl. anpassen kannst.
http://home.cybervillage.de/heesch/ide.htm
Gruss sensor
noch was....
du könntest ja auch einen ALTERA nehmen und in VHDL Proggen. Hardwarenaher gehts fast nimmer. Sind auch recht schnell. Genaueres weis ich allerdings nicht.
Gruss sensor
Hi Felix,
mal ganz davon abgesehen das es beliebig viele fertige NAS-Kontroller gibt würde ich den Lösungsansatz an deiner Stelle entweder an einem USB/IDE- oder einem Parallel/IDE-Konverter suchen da diese das Handling der Platte und die Verwaltung des Filesystems (meistens FAT32) übernehmen. Einen µC mit einem PHY an der einen und USB/Parallel an der anderen Seite mit einem TCP/IP-Stack zu programmieren stellt schon eine sicherlich interessante aber auch sehr anspruchsvolle Aufgabe dar ( Zeitaufwand mit einem ATMEL ca. 150 - 200 Stunden ). Die Implementierung eines Filesystems ist selbst für absolute Profis eine Wahnsinnsaufgabe. Die Erstellung von NTFS hat über 400 Mannjahre gedauert.
Der einzige Lösungsansatz wäre die Disassemblierung von z.B. FreeDOS oder die Analyse von PTS-DOS um sich das Diskhandling anzusehen. Wenn Du möchtest kann ich Dir meine PTS-DOS Developer CD gerne zur Verfügung stellen. Allerdings stelle ich mir das Umassemblieren von X86 Code auf ATMEL ziemlich heftig vor.
Die oben erwähnten NAS-Kontroller haben üblicherweise einen X86 kompatiblen CPU-Core und setzen auf embedded-Linux bzw. embedded-NTServer auf.
Über die erforderliche Rechenleistung zur Erzielung des von Dir angedachten Datendurchsatzes möchte ich an dieser Stelle nicht philosophieren sondern nur anmerken das z.B. der früher in PC´s eingesetzte ISA-/EISA-Bus mit seinen 8/16MHz cycle zu langsam für 100Mb Ethernet war.
Gruß Hartmut
Hallo Felix
Ich denke das der Link von sensor der gangbare Weg ist. Wer schön über den Fortgang deiner Entwicklung auf dem laufenden gehalten zu werden.
MfG
Hellmut
@Sensor
erstmal danke für den Link...
was Altera betrifft, meinst du ein CPLD oder ein FPGA?
ich schätze mal ein CPLD reicht für nen IDE-Bus oder?
@Hartmut
NAS...
ich war wirklich geschockt als ich nach NAS controller gegoogelt habe,
und feststellen musste, daß es das was ich bauen möchte schon fertig auf einem kleinen Stück Silizium gibt.
Die haben mir meine Idee geklaut Bild hier
Aber da bin ich jetzt erst recht stur, und mache das ohne so ein Ding Bild hier
Was das Dateisystem betrifft...
mag sein, daß die Entwicklung von NTFS so lange gedauert hat,
aber ich will ja kein neues Dateisystem entwickeln sondern nur ein bestehendes implementieren.
Das dauert sicherlich auch seine Zeit, aber es ist schaffbar.
aber mal was anderes...
wäre es sehr viel schwerer einen PCI-Bus zu bauen anstatt einem IDE-Bus?
denn wenn nicht könnte ich auch einfach einen PCI Bus machen, und dann ein paar MB RAM und nen ATA-Controller dran hängen.
dann könnte ich die Platte z.B. auch im UDMA-Modus verwenden.
und wenn ich mich nicht irre heisst das ja nur, daß der ATA-Controller die Daten direkt von der Festplatte ins RAM schreibt.
das wäre praktisch, denn dann bräuchte ich mit meinem Dateisystem-µC nurnoch aufs RAM zugreifen.
@Hellmut
klar, wenn die Vorbereitungen (Literatur anschaffen etc.) abgeschlossen sind, und ich das tatsächlich versuche,
werde ich euch natürlich auch auf dem Laufenden halten (und mit Fragen löchern Bild hier )
So viele Treppen und so wenig Zeit!
Hi,
>was Altera betrifft, meinst du ein CPLD oder ein FPGA?
Ich kenne eigentlich nur den FPGA, allerdings bin ich da nicht der crack , hab fast noch nie was damit gemacht. VHDL ist nicht mein ding , obwohl es inzwischen schöne Grafische Prog. möglichkeiten gibt. Seh's halt bei den Kollegen...
Gruss sensor
Hi Felix,
einen PCI-Bus zu implementieren erachte ich als nicht notwendig denn auch ohne diesen kannst Du ja ne PCI-Netzwerkkarte und einen PCI-ATA-Controller benutzen. Du muß halt auf die Spannungen achten da die PCI-Bus Komponenten seit einigen Jahren üblicherweise mit 3V3 und nicht mehr mit 5V0 arbeiten. Und bei z.B. einem ATMEGA hast Du genügend Ports um beide Seiten bedienen zu können.
Gruß Hartmut
Hallo Hartmut,
meinst du ich soll den ATA-Controller direkt mit dem Ethernet-Controller verbinden, und den µC nur zum "steuern" der beiden Komponenten verwenden?
geht das denn überhaupt?
und wo soll ich dann das Dateisystem unterbringen?
ich mein...
prinzipiell muss ja zwischen ATA-Controller und Ethernet-Controller noch mein Mikrocontroller mit dem Dateisystem.
(eigentlich müsste sogar noch ein weiterer µC mit rein für die Netzwerkprotokolle etc.)
oder meinst du was ganz anderes und ich hab das nur falsch verstanden?
So viele Treppen und so wenig Zeit!
Was mir als einfachstes dazu einfällt, wäre einen kleinen ARM-7-TDMI zu nehmen, da gibts auch schöne mit integriertem Netzwerk-Controller und auf denen läuft auch uC-Linux, was bedeutet, dass du damit "nur" noch die Anbindung einer Festplatte realisieren musst, wobei es das glaub ich sogar auch schon gibt... Dann kannst du später einfach der FTP oder HTTP auf den Controller zugreifen.
Sowas ähnliches basteln wir im Embedded-Systems-Labor bei uns an der FH und das geht wirklich bequem...
Das schöne an dem Samsung-Chip ist, dass man direkt SD-Ram anschließen kann und sich keine Gedanken um den Refresh machen muss...
unter http://eiti.fh-pforzheim.de/labore/embsys/embsys.htm findest du noch ein paar Details zu dem ARM und zur Programierung.
Lesezeichen