Forum: Mikrocontroller und Digitale Elektronik P-ATA verschluckt worte. Reflexionen? Übersprechen?


von Sebastian .. (zahlenfreak)


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

von oszi40 (Gast)


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.

von Sebastian .. (zahlenfreak)


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

von Sebastian .. (zahlenfreak)


Lesenswert?

Hab grad noch festgestellt, dass wenn ich am Stecker bei Festplatte auf 
die Read-leitung mim Multimeter hingehe, dann funktioniert das lesen ein 
ganzes Stück zuverlässiger. Zwar nicht hundertprozentig, aber doch ein 
bischen.

Kannst du dir daraus was zusammenreimen?

Sebastian

von Benedikt K. (benedikt)


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.

von Sebastian .. (zahlenfreak)


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

von Sebastian .. (zahlenfreak)


Lesenswert?

Hilft leider auch nicht. Hab jetzt 82Ohm in Reihe direkt am Host in die 
RD und WR leitungen gehängt. Aber zuverlässig laufen tut's immernoch 
nicht.

Ich denke, ich komme nicht drum rum, das ganze ding nochmal sauber neu 
aufzubauen. Aber Danke für die Hilfe.

Sebastian

von gast (Gast)


Lesenswert?

PATA ist für eine Kabellänge designt. Die Echounterdrückung arbeitet da 
am besten. Schau in der Spec nach wie viel das ist.

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.