Hallo! Könnt ihr euch noch errinnern? Im Thread Beitrag "MBED IDE PATA Ansteuerung" Hatte jemand gesagt, daß ich es niemals hinbekomme, den Cache auszuschalten... Scheint aber irgendiwe doch möglich zu sein :D Hier der Beweis, daß es doch geht: https://www.facebook.com/photo.php?v=10202463815024723&l=4936733557100756815 Ich kann hin und herfahren, alle möglichen Bewegungen. Vielleicht macht der Cache nur bei ganz kleinen Bewegungen Probleme. Ich bin mal gespannt. Ich frage mich, ob ich mit einem Arduino master und slave Geräte gleichzeitig ansprechen kann. Das wäre die ultimative Lösung. Hat jemand Erfahung, wie die beiden Geräte angesprochen werden? Ich habe kein Signal gefunden an der PATA IDE Schnittstelle, das die Geräte auswählt, nur das Cable select, aber das ist rein passiv auf GND gezogen oder schwebt in der Luft, also nicht steuerbar. Gruß, Martin http://www.gyurma.de
:
Bearbeitet durch User
Martin G. schrieb: > Ich habe kein > Signal gefunden an der PATA IDE Schnittstelle, das die Geräte auswählt, > nur das Cable select, aber das ist rein passiv auf GND gezogen oder > schwebt in der Luft, also nicht steuerbar. Da gibt es mehrere Möglichkeiten. Solange /IOWR und /IORD nicht aktiv sind, fühlt sich die Platte nicht angesprochen, wenn sie nicht per DMA Daten schaufelt (ist ja bei dir nicht der Fall). Ausserdem gibt es auf Pin 37 und 38 die beiden Select Signale /IDE_CS0 und /IDE_CS1. Solange diese inaktiv sind, ist die Platte auch taub. Es sollte also möglich sein, mit einigermassen kräftigen Bustreibern den Datenbus durch zu verbinden und nur die Select Signale getrennt zu deinem Kontroller zu führen. Übrigens schön, das das klappt. Wenn dein Projekt vorzeigereif ist, würde ich das gerne mal ansehen.
Matthias Sch. schrieb: > Ausserdem gibt es auf Pin 37 und 38 die beiden Select Signale /IDE_CS0 > und /IDE_CS1. Solange diese inaktiv sind, ist die Platte auch taub. > > Übrigens schön, das das klappt. Wenn dein Projekt vorzeigereif ist, > würde ich das gerne mal ansehen. Gerne. Werde ich dann mal hochladen, oder einen Artikel daraus schreiben. Die /CS1 und /CS0 sind nur zum Adressieren der einzelnen Registerbänke. Bin grade beim durchstöbern der http://www.t10.org/t13/project/d1321r3-ATA-ATAPI-5.pdf Beschreibung. Die Lösung hält sich ein Bisschen versteckt, aber nicht mehr lange. Wieso tut man sich sowas an? Die Adressierung der Geräte erfolgt im Head Register mit dem DEV bit. Aber Warum? Was hat das für Sinn, daß alle beide den Datentransfer mitmachen? War das möglich Daten zw. Device 0 und Device 1 über DMA zu transferieren???
Habe feststellen müssen, daß bei konstant vorgegebener Speed der Lesearm nicht mit konstanter Speed fährt, sondern an manchen Stellen für paar ° schneller geht. Hab aber keine Ahnung was der Hintergrund ist. Vielleicht ist es Zeit aufzugeben...
Der Hintergrund dürfte sein, dass die physikalische Organisation der Daten auf der Platten nichts mit der logischen Organisation mehr zu tun hat. Die CHS-Adressen werden von der Festplatte umgerechnet (LBA-Adressen sowieso). Äußere Zylinder sind länger, haben also mehr Sektoren (bei gegebener Datenrate bewegt sich der Kopf langsamer) und fehlerhafte Sektoren werden automatisch umgemappt. Du könntest mehr Glück mit sehr alten Festplatten (<< 500 MB) haben, bei denen die physikalische Aufteilung gleich der logischen ist (siehe Datenblatt). Aber die mögen in der Regel weder schräg noch kopfüber montiert werden.
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.