Forum: Mikrocontroller und Digitale Elektronik Digitaler Spiegelservo mit Arduino Mega, PATA HDD und idefat


von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

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
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

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???

von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

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...

von Svenska (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.