Ich habe einige Z53C8003 SCSI Interface ICs rumliegen, und kam daher auf die Idee mittels SCSI Daten von einem uC an den PC zu übertragen. Hardwaremäßig ist das ganze also kein Problem, von der Softwareseite auf dem uC warscheinlich auch nicht, aber wie sieht es auf der PC Seite aus ? Normale SCSI Laufwerke benötigen ja keinen zusätzlichen Treiber und werden direkt von DOS bzw. Windows unterstützt. Wie sieht es aber aus, wenn ich etwas eigenes an den Bus hänge, wie kann ich da die Daten übertragen ? Oder erstmal eine andere Frage: Lohnt sich der Aufwand überhaupt, oder ist das ganze viel zu kompliziert ?
Was die Komplexität im µC angeht - wenn der PC-Controller noch mit targets aus der SCSI-1 Ära klarkommt, dann ist das nicht so schlimm. Und er sollte es eigentlich. Alles was SCSI komplex macht ist optional, wie beispielsweise die message phase und disconnect/reconnect und dergleichen. Was bleibt ist dann minimales SCSI aus der CCS (pre-SCSI-1) Ära. Jedenfalls am Anfang. Optimieren kann man später. Allerdings ist so nicht mehr als ~3MB/sec rauszuholen - viel mehr wird der µC aber wohl auch nicht verkraften. Im PC wiederum ist das völlig harmlos. Per ASPI kommt man von Anwendungsebene her an alle Devices ran. Je nachdem wer den ASPI-Treiber liefert, kann damit ohenhin jeder beliebig unberechtigte Anwender jede vorhandene Festplatte löschen (mein Kenntnisstand anno WinNT4, Symbios vs Adaptec). Den ASPI-Treiber muss man evtl. nachinstallieren, der ist aber unabhängig vom Adapter-Treiber. Und wenn Du das target von der device class her als Band- oder Disk-Laufwerk tarnst (nur halt evtl. removable und not ready), sollte auch der Gerätemanager brav nicken. Wenn nicht, musst Du halt mit dem niedlichen Fragezeichen leben.
Es gibt vier Klassen von SCSI-Geräten: o SCSI disk (Festplatte) o SCSI CD-ROM o SCSI tape (Streamer) o SCSI generic (alles andere, z.B. Scanner) Für die ersten drei sollte das Betriebssystem die Treiber liefern. Für letztere mußt Du eigene Schreiben. Der Controller heißt übrigens Z53C80, kompatibel zum NCR53C80, und für diesen gibts Treiber als Source (Linux usw.).
hmm das ist eine gute idee mit scsi..an die hab ich noch garnicht gedacht... hat einer eine ahnung ob es diese chips noch gibt ..weil billige scsi controller gibts anscheinend (laut geizhals ;) wäre eine geile, einfache idee schnell daten in einen pc zu schaufeln... st hat zwar einen scsi controller aber der scheint mir 1. überladen und 2. schlecht dokumentiert zu sein.... wäre daran sehr interessiert..vor allem wenn man bedenkt, dass man damit ein grosses pc-speicherscope-problem in den griff bekommen könnte G 73
Hans: das Problem ist nur, daß man dann schon einen größeren Aufwand betreiben muß, um hohe Datenraten zu erreichen. Der NCR/Z53C80 schafft z.B. maximal 3MB/s. Aktuelle Controllerchips sind für Bastler kaum verfügbar, Datenblätter schon gar nicht.
gut dann steht man hier also auch vor dem gleichen problem wie bei allen anderen schnellen schnittstelen... entweder einfache hardware und langsam oder komplizierte hardware und dafür schnell... ich werd mich einfach mal mit vhdl bzw verilog beschäftigen müssen, damit ich dram an so einen netten arm dranbekomme um in den genuss von ethernet und fertiger api zu kommen.... 73
Wenn ich das richtig verstehe, ist SCSI z.B. im Vergleich zu USB recht einfach. Wenn ich es schaffe, dass der PC beim Booten den uC am SCSI Bus erkennt, dann weiß ich das ich auf dem richtigen Weg bin... Die Hardware muss relativ einfach sein, denn in dem Scanner aus dem ich das IC ausgebaut habe, war außer einem 8051 und dem Z53C80 nicht wirklich viel drin...
Moin, beim Lesen dieses Threads kam mir die Idee, vorhandene SCSI-Geräte (ZIP, Festplatten) über deren Schnittstelle als Speichermedium zu betreiben; sprich einen Host bauen, der irgendwelche Daten auf den Dingern abspeichern kann. Geht sowas? Ich hab mich noch nicht wirklich doll mit dem Thema beschäftigt, aber aus anderen Threads geht hervor, dass ATA(PI)-Sachen auf SCSI basieren. Gruß Rahul
Also andersrum als Benedict vorhat - µC als Host und diverse übrig gebliebene SCSI-Devices als Speichermedien? Das ist auch nicht schwierig. Wenn's einfach sein darf und kurze Kabel hat, dann ist dafür möglicherweise noch nicht einmal ein Host-Adapter notwendig, die Ports eines AVR könnten reichen. Der bringt's zwar nicht zur Treiberleistung für einen voll abgeschlossenen SCSI-Bus, aber für einen Meter oder so geht's m.E. auch mit dezenterem Abschluss. Und ein 16MHz AVR müsste auch die Arbitration-Phase in Software hinbekommen. Es gab mal einen Billigst-Adapter von Seagate, ST-01, der war nichts anderes als ein bischen Logik für die Arbitrierung sowie ein Parallel-Port mit Treibern für den SCSI-Bus. Für das Teil hatte ich mal einen OS/2-Treiber geschrieben. Bloss was ATAPI in dem Zusammenhang soll verstehe ich nicht. Richtig ist freilich, dass ATAPI letztlich nichts anderes ist, als SCSI-Kommandos über ATA.
Da hab ich wohl Software und Hardware durcheinandergebracht. Wohl wegen des Protokolls. Wie gesagt, wirklich beschäftigt habe ich mich noch nicht damit.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.