P-ATA verschluckt worte. Reflexionen? Übersprechen?

OP #1011485
Lesenswert?

Servus,

hab ein Problem mit einem P-ATA Interface: Wenn auf der Platte
0x0000, 0xFFFF, 0xFFFF
steht und ich das lesen will, wird ein 0xFFFF verschluckt.

In der ATA-Spezifikation wird beschrieben, dass aufgrund von Reflexionen 
auf der Read-Leitung einzelne Worte verschluckt werden können. Die 
Platte denkt es gäbe zwei reads, der Host liest aber nur einmal. Die 
Specs empfehlen dann Serienwiderstände beim Host. Die haben bei mir aber 
nichts gebracht.

Bei mir ist halt auffällig, dass es nur beim Wechsel von 0x0000 nach 
0xFFFF passiert, also wenn alle alle Leitungen schalten. Ungefähr bei 
jedem dritten solchen Wechsel wird ein Wort verschluckt. Klingt für mich 
irgendwie mehr nach übersprechen als nach Reflexionen.

Andererseits stört ein Wechsel von 0x2020 nach 0xFFFF garnicht. Hab das 
durch Zufall bemerkt. Jedenfalls hatte ich bei über 100000 solchen 
Wechseln keinen einzigen Fehler, obwohl bei 0x2020 auch nur 2 Leitungen 
high sind.


Aber jetzt hab ich irgendwie keine Idee mehr, was das noch sein soll...

Hab ich vielleicht nur eine extrem Zickige Platte erwischt? Hab leider 
keine andere mit der ich testen könnte.

Würde mich sehr freuen, wenn ihr eine Idee habt.

Sebastian
Gast #1011513
Lesenswert?

Sollte evtl. zwischen Busleitungen was faul sein ? Achte auch auf 
Knicke. Wenn Du der Reihe nach alle Teile tauschen würdest, sollte der 
Fehler schneller zu finden sein.
Wenn es jedoch wirklich nur bei 0000 zu FFFF auffällt, würde ich auch 
mal nach der Masse + Spannung etwas genauer sehen.
OP #1011575
Lesenswert?

Hmmm, alle Teile Tauschen wäre ein gutes Stück Lötarbeit...
Zugegeben, ideal ists nicht, wies im Moment ist. Vom Controller über 
Kupferlack auf einen Stecker und von dort wird nochmal gut gemischt zur 
Festplatte hin. Ist historisch bedingt. Aber die Leitung ist gesamt 
gerade mal 10 cm lang. Extreme Knicke gibts eigentlich auch nicht.
Masse ist aber leider auch nicht unbedingt vorbildlich...

Hab jetzt mal die beiden Leitungen die bei 0x2020 high sind 
überarbeitet. Hat aber nichts geholfen.

Ich denke ich werde das ganze jetzt wohl doch komplett neu aufbauen.

Dankeschön schonmal.

Sebastian
#1011655
Lesenswert?

Wo hast du die Widerstände dran? Direkt am Ausgang der RD, WR Leitungen 
oder am Eingang der HDD?
Ich hatte ein ähnliches Problem mit einem dsPIC der eine HDD angesteuert 
hat.  Auf den RD, WR Leitungen konnte ich deutlich ein "Prellen" der 
Impulse sehen, was zu einem mehrfachen Lese/Schreibimpuls geführt hat. 
Mit 50-100 Ohm direkt an den Ausgängen läuft es seitdem problemlos.
OP #1011743
Lesenswert?

Naja, sagen wir mal ziemlich nah am Host. Es waren etwa 5cm vom Host zum 
Widerstand. Damals hatte ich noch ein normales ATA-Kabel mit drin. Jetzt 
geh ich ohne langes Kabel auf die Platte. Dabei sind auch die 
Widerstände rausgeflogen. Werde mal probieren, direkt am Host (ist 
übrigens ein AtMega) Serienwiderstände auf RD und WR einzufügen.

Sebastian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren